summaryrefslogtreecommitdiff
path: root/gas
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
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')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/obj-elf.c7
2 files changed, 13 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e3d35b68ac..cd8a7723f9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
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);