[Bug tools/31097] strip/unstrip on ET_REL binary might fail elflint on i386

amerey at redhat dot com sourceware-bugzilla@sourceware.org
Tue Feb 6 20:22:00 GMT 2024


https://sourceware.org/bugzilla/show_bug.cgi?id=31097

Aaron Merey <amerey at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #1 from Aaron Merey <amerey at redhat dot com> ---
Fixed in the following commit:

commit 2f9b180cc1057fb351332689886b2492b3711aad
Author: Aaron Merey <amerey@redhat.com>
Date:   Sun Jan 21 19:44:34 2024 -0500

    unstrip: Call adjust_relocs no more than once per section.

    During symtab merging, adjust_relocs might be called multiple times on
    some SHT_REL/SHT_RELA sections.  In these cases it is possible for a
    relocation's symbol index to be correctly mapped from X to Y during the
    first call to adjust_relocs but then wrongly remapped from Y to Z during
    the second call.

    Fix this by adjusting relocation symbol indices just once per section.

    Also add stable sorting for symbols during symtab merging so that the
    symbol order in the output file's symtab does not depend on undefined
    behaviour in qsort.

    Note that adjust_relocs still might be called a second time on a section
    during add_new_section_symbols.  However since add_new_section_symbols
    generates its own distinct symbol index map, this should not trigger the
    bug described above.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Elfutils-devel mailing list