From: Rainer Orth Date: Thu, 18 Nov 2010 16:00:25 +0000 (+0000) Subject: PR gas/12181 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=69b70cfe69b1d8ee430e1e50a20b4da9fe026d15;p=binutils-gdb.git PR gas/12181 * config/obj-elf.c (elf_adjust_symtab) [TE_SOLARIS]: Make sy weak hidden. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index e3d35b68ac5..cd8a7723f96 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2010-11-18 Rainer Orth + + PR gas/12181 + * config/obj-elf.c (elf_adjust_symtab) [TE_SOLARIS]: Make sy + weak hidden. + 2010-11-17 Nick Clifton * input-file.c (input_file_open): Check for empty input files. diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index 8eb66eda16c..c6dc8d6e54d 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -2142,7 +2142,14 @@ elf_adjust_symtab (void) { /* Create the symbol now. */ sy = symbol_new (group_name, now_seg, (valueT) 0, frag_now); +#ifdef TE_SOLARIS + /* Before Solaris 11 build 154, Sun ld rejects local group + signature symbols, so make them weak hidden instead. */ + symbol_get_bfdsym (sy)->flags |= BSF_WEAK; + S_SET_OTHER (sy, STV_HIDDEN); +#else symbol_get_obj (sy)->local = 1; +#endif symbol_table_insert (sy); } elf_group_id (s) = symbol_get_bfdsym (sy);