summaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/obj-elf.c')
-rw-r--r--gas/config/obj-elf.c7
1 files changed, 7 insertions, 0 deletions
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);