diff options
| author | Jiawei Zhao <phoenix500526@163.com> | 2025-08-27 05:31:27 +0000 |
|---|---|---|
| committer | Andrii Nakryiko <andrii@kernel.org> | 2025-08-27 15:44:25 -0700 |
| commit | 758acb9ccfdbf854b55abaceaf1f3f229cde3d19 (patch) | |
| tree | b44a050d506fa84513fb09457144b03e9f6f4f29 /rust/helpers/build_bug.c | |
| parent | d3abefe897408718799ae3bd06295b89b870a38e (diff) | |
libbpf: Fix USDT SIB argument handling causing unrecognized register error
On x86-64, USDT arguments can be specified using Scale-Index-Base (SIB)
addressing, e.g. "1@-96(%rbp,%rax,8)". The current USDT implementation
in libbpf cannot parse this format, causing `bpf_program__attach_usdt()`
to fail with -ENOENT (unrecognized register).
This patch fixes this by implementing the necessary changes:
- add correct handling for SIB-addressed arguments in `bpf_usdt_arg`.
- add adaptive support to `__bpf_usdt_arg_type` and
`__bpf_usdt_arg_spec` to represent SIB addressing parameters.
Signed-off-by: Jiawei Zhao <phoenix500526@163.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20250827053128.1301287-2-phoenix500526@163.com
Diffstat (limited to 'rust/helpers/build_bug.c')
0 files changed, 0 insertions, 0 deletions
