Exception handing should not be the interest yet, let's skip it. BTW, I found this when building BPF with Zig compiler[1]. [1]: https://github.com/tw4452852/bb Signed-off-by: Tw Change-Id: I5ee6c05bd8a684261c53effe9c95d9f26a6a6964 --- tools/lib/bpf/libbpf.c | 3 ++- tools/lib/bpf/linker.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index b749c0174..05727c418 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -3867,7 +3867,8 @@ static Elf64_Rel *elf_rel_by_idx(Elf_Data *data, size_t idx) static bool is_sec_name_dwarf(const char *name) { /* approximation, but the actual list is too long */ - return str_has_pfx(name, ".debug_"); + return str_has_pfx(name, ".debug_") || + strcmp(name, ".eh_frame") == 0; } static bool ignore_elf_section(Elf64_Shdr *hdr, const char *name) diff --git a/tools/lib/bpf/linker.c b/tools/lib/bpf/linker.c index 78f92c392..1fb0efdbf 100644 --- a/tools/lib/bpf/linker.c +++ b/tools/lib/bpf/linker.c @@ -599,7 +599,8 @@ int bpf_linker__add_buf(struct bpf_linker *linker, void *buf, size_t buf_sz, static bool is_dwarf_sec_name(const char *name) { /* approximation, but the actual list is too long */ - return strncmp(name, ".debug_", sizeof(".debug_") - 1) == 0; + return strncmp(name, ".debug_", sizeof(".debug_") - 1) == 0 || + strcmp(name, ".eh_frame") == 0; } static bool is_ignored_sec(struct src_sec *sec) -- 2.54.0