diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-12-07 08:30:30 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-12-07 08:30:43 -0800 |
commit | d2ef37ebd9f771d06edf1fdea37970f60b242b2d (patch) | |
tree | b832c9a33523fbbf2b08af67fa0aceba8253d709 /include | |
parent | 4a8110007bf58be329f108374e00ef8ddc1fe3ec (diff) | |
download | gdb-d2ef37ebd9f771d06edf1fdea37970f60b242b2d.zip gdb-d2ef37ebd9f771d06edf1fdea37970f60b242b2d.tar.gz gdb-d2ef37ebd9f771d06edf1fdea37970f60b242b2d.tar.bz2 |
elf: Report property change when merging properties
With merging properties, report property change in linker map file, like
Merging program properties
Removed property 0xc0010000 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (0x0) and /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o (0x0)
Removed property 0xc0000002 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (0x3) and x.o (not found)
Removed property 0xc0000000 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (not found) and /usr/lib64/libc_nonshared.a(elf-init.oS) (0x0)
Removed property 0xc0000001 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (not found) and /usr/lib64/libc_nonshared.a(elf-init.oS) (0x0)
bfd/
* elf-properties.c (elf_find_and_remove_property): Add a
bfd_boolean argument to indicate if the property should be
removed.
(elf_merge_gnu_property_list): Updated. Report
property change in linker map file.
(elf_get_gnu_property_section_size): Skip property_remove
properties.
(elf_write_gnu_properties): Likewise.
(_bfd_elf_link_setup_gnu_properties): Report property merge
in linker map file. Pass abfd to elf_merge_gnu_property_list.
include/
* bfdlink.h (bfd_link_info): Add has_map_file.
ld/
* NEWS: Updated for property change report.
* ld.texi: Document property change report.
* ldmain.c (main): Set link_info.has_map_file to TRUE when
linker map file is used.
* testsuite/ld-scripts/rgn-over1.d: Updated.
* testsuite/ld-scripts/rgn-over2.d: Likewise.
* testsuite/ld-scripts/rgn-over3.d: Likewise.
* testsuite/ld-scripts/rgn-over4.d: Likewise.
* testsuite/ld-scripts/rgn-over5.d: Likewise.
* testsuite/ld-scripts/rgn-over6.d: Likewise.
* testsuite/ld-scripts/rgn-over7.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Check linker map
file.
* testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1a.map: New file.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/bfdlink.h | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 69f7357..7cae698 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2018-12-07 H.J. Lu <hongjiu.lu@intel.com> + + * bfdlink.h (bfd_link_info): Add has_map_file. + 2018-12-07 Nick Clifton <nickc@redhat.com> * demangle.h (DMGL_NO_RECURSE_LIMIT): Define. diff --git a/include/bfdlink.h b/include/bfdlink.h index 630f734..d66188e 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -506,6 +506,9 @@ struct bfd_link_info /* TRUE if common symbols should be treated as undefined. */ unsigned int inhibit_common_definition : 1; + /* TRUE if "-Map map" is passed to linker. */ + unsigned int has_map_file : 1; + /* The 1-byte NOP for x86 call instruction. */ char call_nop_byte; |