summaryrefslogtreecommitdiff
path: root/elfcpp
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-07-23 13:00:30 +0000
committerNick Clifton <nickc@redhat.com>2009-07-23 13:00:30 +0000
commit23c851466b0744bf01ca28ea243b5ccb53a70131 (patch)
tree7eed9c26959e664d153b97374f6a03200950abc2 /elfcpp
parent941c864c75ab3ba174c953be3a9c887676866f45 (diff)
downloadbinutils-redhat-23c851466b0744bf01ca28ea243b5ccb53a70131.tar.gz
* config/obj-elf.c (obj_elf_type): Add code to support a type of
gnu_unique_object. * doc/as.texinfo: Document new feature of .type directive. * NEWS: Mention support for gnu_unique_object symbol type. * common.h (STB_GNU_UNIQUE): Define. * NEWS: Mention the linker's support for symbols with a binding of STB_GNU_UNIQUE. * gas/elf/type.s: Add unique global symbol definition. * gas/elf/type.e: Add expected readelf output for global unique symbol. * elfcpp.h (enum STB): Add STB_GNU_UNIQUE. * readelf.c (get_symbol_binding): For Linux targeted files return UNIQUE for symbols with the STB_GNU_UNIQUE binding. * doc/binutils.texi: Document the meaning of the 'u' symbol binding in the output of nm and objdump --syms. * elf-bfd.h (struct elf_link_hash_entry): Add unique_global field. * elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbols with the BSF_GNU_UNIQUE flag bit set. * elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flag for symbols with STB_GNU_UNIQUE binding. * elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbols with the STB_GNU_UNIQUE binding. (elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag for symbols with STB_GNU_UNIQUE binding. Set STB_GNU_UNIQUE for symbols with the unique_global field set. (elf_link_output_extsym): Set unique_global field for symbols with the STB_GNU_UNIQUE binding. * syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit. (bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUE symbols. (bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUE symbols. * bfd-in2.h: Regenerate.
Diffstat (limited to 'elfcpp')
-rw-r--r--elfcpp/ChangeLog4
-rw-r--r--elfcpp/elfcpp.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog
index 2a8204f8ae..2a668a6744 100644
--- a/elfcpp/ChangeLog
+++ b/elfcpp/ChangeLog
@@ -1,3 +1,7 @@
+2009-07-23 Ulrich Drepper <drepper@redhat.com>
+
+ * elfcpp.h (enum STB): Add STB_GNU_UNIQUE.
+
2009-06-21 Ian Lance Taylor <iant@google.com>
* elfcpp.h (SHN_X86_64_LCOMMON): Define enum constant.
diff --git a/elfcpp/elfcpp.h b/elfcpp/elfcpp.h
index 1b1a875c3d..683cd9dceb 100644
--- a/elfcpp/elfcpp.h
+++ b/elfcpp/elfcpp.h
@@ -485,6 +485,7 @@ enum STB
STB_GLOBAL = 1,
STB_WEAK = 2,
STB_LOOS = 10,
+ STB_GNU_UNIQUE = 10,
STB_HIOS = 12,
STB_LOPROC = 13,
STB_HIPROC = 15