diff options
author | Vivek Das Mohapatra <vivek@collabora.com> | 2020-12-14 17:25:51 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-12-15 18:44:56 +1030 |
commit | 6a0a0dd0cc43765d8e5e277aeaaf169a863f2315 (patch) | |
tree | 776cc1a93737ca13d34c6f6c0c906134c7ddd46f /bfd | |
parent | ee0688c2339deba4bca7d57a96001183aa06a765 (diff) | |
download | gdb-6a0a0dd0cc43765d8e5e277aeaaf169a863f2315.zip gdb-6a0a0dd0cc43765d8e5e277aeaaf169a863f2315.tar.gz gdb-6a0a0dd0cc43765d8e5e277aeaaf169a863f2315.tar.bz2 |
Handle -z unique/-z nounique in ld
Add (or suppress) a DT_GNU_FLAGS_1 dynamic section
with a bit flag value of DF_GNU_1_UNIQUE.
bfd/
* elflink.c (bfd_elf_size_dynamic_sections): Call
_bfd_elf_add_dynamic_entry to add a DT_GNU_FLAGS_1 section.
include/
* bfdlink.h (struct bfd_link_info): New field gnu_flags_1.
ld/
* emultempl/elf.em (gld${EMULATION_NAME}_handle_option):
Parse -z unique / -z nounique options.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e3a5c8a..11b901a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2020-12-15 Vivek Das Mohapatra <vivek@collabora.com> + + * elflink.c (bfd_elf_size_dynamic_sections): Call + _bfd_elf_add_dynamic_entry to add a DT_GNU_FLAGS_1 section. + 2020-12-14 Alan Modra <amodra@gmail.com> * elf-bfd.h (struct elf_obj_tdata): Add being_created. diff --git a/bfd/elflink.c b/bfd/elflink.c index 29b46f1..37af3ef 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -7178,7 +7178,10 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, || !_bfd_elf_add_dynamic_entry (info, DT_SYMTAB, 0) || !_bfd_elf_add_dynamic_entry (info, DT_STRSZ, strsize) || !_bfd_elf_add_dynamic_entry (info, DT_SYMENT, - bed->s->sizeof_sym)) + bed->s->sizeof_sym) + || (info->gnu_flags_1 + && !_bfd_elf_add_dynamic_entry (info, DT_GNU_FLAGS_1, + info->gnu_flags_1))) return FALSE; } } |