aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.c
diff options
context:
space:
mode:
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2010-11-18 16:00:25 +0000
committerRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2010-11-18 16:00:25 +0000
commit69b70cfe69b1d8ee430e1e50a20b4da9fe026d15 (patch)
treee53136bef2d3be823932aa3d43e0b2591056026d /gas/config/obj-elf.c
parent3832723d11b381c5d2930834f2cc33dfae25819e (diff)
downloadgdb-69b70cfe69b1d8ee430e1e50a20b4da9fe026d15.zip
gdb-69b70cfe69b1d8ee430e1e50a20b4da9fe026d15.tar.gz
gdb-69b70cfe69b1d8ee430e1e50a20b4da9fe026d15.tar.bz2
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 8eb66ed..c6dc8d6 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);