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

--- Comment #5 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <[email protected]>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1dcfefd8dd49e32a9880a79c8fbb9276eaade23c

commit 1dcfefd8dd49e32a9880a79c8fbb9276eaade23c
Author: H.J. Lu <[email protected]>
Date:   Wed Jul 1 10:15:30 2026 +0800

    readelf: Update dynamic tag processing and validate section info

    Count DT_RELR relocations using dynamic tags when section header isn't
    used.  Ignore section sh_offset and sh_size if they are larger than file
    size.

    One side effect is that we now display

    readelf: Warning: Ignore the out of range sh_offset value of 2199023261148
for section 17
    readelf: Warning: Ignore the out of range sh_size value of 13 for section
17 with sh_offset value of 2199023261148
    ...
      [17] .fini             PROGBITS        00000000000015dc 000000 000000 00 
AX  0   0  4
    ...

    instead of

    ...
      [17] .fini             PROGBITS        00000000000015dc 200000015dc
00000d 00  AX  0   0  4
    ...

    and segfault.

    binutils/

            PR binutils/34326
            PR binutils/34339
            * readelf.c (update_all_relocations): Skip if nentries == 0.
            (validate_section_info): New.
            (get_32bit_section_headers): Call validate_section_info.
            (get_64bit_section_headers): Likewise.
            (process_relocs): Call count_relr_relocations for relocations
            from dynamic tags.  Skip if values in DT_RELENT/DT_RELAENT
            are larger than values in DT_RELSZ/DT_RELASZ.
            (process_got_section_contents): Skip if all_relocations_count
            == 0.

    ld/
            PR binutils/34339
            * testsuite/ld-x86-64/binutils.exp: Run PR binutils/34339 tests.
            * testsuite/ld-x86-64/got-2.s: New file.
            * testsuite/ld-x86-64/libgot-2.rd: Likewise.

    Signed-off-by: H.J. Lu <[email protected]>

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

Reply via email to