]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit - binutils/readelf.c
Fix PR18374 by making readelf and objdump ignore end-of-list markers in the .debug_lo...
authorNick Clifton <nickc@redhat.com>
Fri, 15 May 2015 10:21:38 +0000 (11:21 +0100)
committerNick Clifton <nickc@redhat.com>
Fri, 15 May 2015 10:24:33 +0000 (11:24 +0100)
commitd1c4b12b9d48d9266b78e2c22d70aa25830b9f8f
tree3f096548d3838f9387b3b8b7175a6a231f335c76
parent4bc0608a8b693f033555aa5705fdd5fc44cb9a9a
Fix PR18374 by making readelf and objdump ignore end-of-list markers in the .debug_loc section if there are relocations against them.

PR binutils/18374
bin * dwarf.h (struct dwarf_section): Add reloc_info and num_relocs
fields.
(struct dwarf_section_display): Change bitfield to boolean.
(reloc_at): Add prototype.
* dwarf.c (display_loc_list): Ignore list terminators if there are
relocs against them.
(display_debug_loc): Issue a warning if there are relocs against
the .debug_loc section.
(display_displays): Initialise reloc_info and num_relocs fields.
* objdump.c (load_specific_debug_section): Initialise reloc_info
and num_relocs fields.
(reloc_at): New function.
* readelf.c (is_32bit_abs_reloc): Add IA64's R_IA64_DIS32LSB
reloc.
(reloc_at): New function.
(apply_relocations): Add relocs_return and num_relocs_return
parameters.  Fill them in with the loaded relocs if non-NULL.
(dump_section_as_bytes): Update call to apply_relocations.
(load_specific_debug_section): Initialise reloc_info and
num_relocs fields.

tests * binutils-all/pr18374.s: New test file.
* binutils-all/readelf.exp: Assemble and run the new test.
* binutils-all/readelf.pr18374: Expected output from readelf.
binutils/ChangeLog
binutils/dwarf.c
binutils/dwarf.h
binutils/objdump.c
binutils/readelf.c
binutils/testsuite/ChangeLog
binutils/testsuite/binutils-all/pr18374.s [new file with mode: 0644]
binutils/testsuite/binutils-all/readelf.exp
binutils/testsuite/binutils-all/readelf.pr18374 [new file with mode: 0644]