https://sourceware.org/bugzilla/show_bug.cgi?id=32864
Bug ID: 32864 Summary: "eu-readelf: bad dynamic symbol" error on ELF without DT_VERSYM Product: elfutils Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: tools Assignee: unassigned at sourceware dot org Reporter: cbytensky at gmail dot com CC: elfutils-devel at sourceware dot org Target Milestone: --- Created attachment 16013 --> https://sourceware.org/bugzilla/attachment.cgi?id=16013&action=edit sample program without DT_VERSYM Overview: eu-readelf prints error message "eu-readelf: bad dynamic symbol" on trying to get symbol version info from ELF that doesn't have DT_VERSYM. Steps to Reproduce: 1) Run sample program from bug attachment "hello_libc": # eu-readelf -D --dyn-syms hello_libc Actual Results: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UNDEF eu-readelf: bad dynamic symbol 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF putseu-readelf: bad dynamic symbol Expected Results: Same, but without "eu-readelf: bad dynamic symbol" message: 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UNDEF 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF puts Build Date & Hardware: Linux localhost.localdomain 6.12.16-gentoo #2 SMP Fri Mar 14 14:18:41 IST 2025 x86_64 Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz GenuineIntel GNU/Linux Additional Information: In attachment there is quick-and-dirty patch that fixes this bug for me. I believe that "elf_getdata_rawchunk" function returns non-NULL result on NULL "offset" parameter and so if "offs[i_versym]" is "0" (there is no DT_VERSYM in PT_DYNAMIC) function returns non-NULL result. -- You are receiving this mail because: You are on the CC list for the bug.