PR gas/12181
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>
Thu, 18 Nov 2010 16:00:25 +0000 (16:00 +0000)
committerRainer Orth <ro@TechFak.Uni-Bielefeld.DE>
Thu, 18 Nov 2010 16:00:25 +0000 (16:00 +0000)
* config/obj-elf.c (elf_adjust_symtab) [TE_SOLARIS]: Make sy
weak hidden.

gas/ChangeLog
gas/config/obj-elf.c

index e3d35b68ac5b2143ff7ef7ebf182027ee15ea49f..cd8a7723f9611eaf15268b828b75bc2160d5e422 100644 (file)
@@ -1,3 +1,9 @@
+2010-11-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR gas/12181
+       * config/obj-elf.c (elf_adjust_symtab) [TE_SOLARIS]: Make sy
+       weak hidden.
+
 2010-11-17  Nick Clifton  <nickc@redhat.com>
 
        * input-file.c (input_file_open): Check for empty input files.
index 8eb66eda16c6635967863503399d9063a33ac9ff..c6dc8d6e54d19fd12a1c42c3a25c621cda65625f 100644 (file)
@@ -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);