USDT support [1] requires architecture-specific handling for translating from argument strings describing each probe argument to appropriate values that can be made available to the BPF program. Determining value size, whether it refers to a dereference (and if there is an offset from the register value), a register value or a constant all have to be parsed slightly differently for different architectures. Details of format handling for the aarch64 case are in patch 1. Changes since v1: - dropped patch refactoring all arch-specific parsing (Andrii) - reworked sscanf()s to separate the two register dereference cases, made register parsing match [a-z0-9] in all cases (Andrii) [1] https://lore.kernel.org/bpf/20220404234202.331384-1-andrii@xxxxxxxxxx/ Alan Maguire (1): libbpf: usdt aarch64 arg parsing support tools/lib/bpf/usdt.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) -- 1.8.3.1