summaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.c
diff options
context:
space:
mode:
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2010-11-18 16:00:23 +0000
committerRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2010-11-18 16:00:23 +0000
commitf9db4104edf142ed72d71b9d2456386f958b1eec (patch)
treeedf597962d945ecb0f14d8c2b47f482c8e195384 /gas/config/obj-elf.c
parent867df9734188c7493284e3f1e1f08e2de837fb0b (diff)
downloadbinutils-redhat-f9db4104edf142ed72d71b9d2456386f958b1eec.tar.gz
PR gas/12181
* config/obj-elf.c (elf_adjust_symtab) [TE_SOLARIS]: Make sy weak hidden.
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 8eb66eda16..c6dc8d6e54 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);