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.

Reply via email to