aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-03-01 18:36:08 +0000
committerJakub Jelinek <jakub@redhat.com>2002-03-01 18:36:08 +0000
commit26eb409359779b56ee1573b5a62ee95a55fa2106 (patch)
tree731a5428c4c6cf0046a1df8ce2716086a6d88c1a /gas/config
parent54394ac39e5a63fdc187357260e22003e601e4f6 (diff)
downloadgdb-26eb409359779b56ee1573b5a62ee95a55fa2106.zip
gdb-26eb409359779b56ee1573b5a62ee95a55fa2106.tar.gz
gdb-26eb409359779b56ee1573b5a62ee95a55fa2106.tar.bz2
* config/obj-elf.c (elf_copy_symbol_attributes): Don't copy
visibility. (obj_frob_symbol): Copy visibility.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/obj-elf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 13c7482..dcbff5d 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -1408,7 +1408,9 @@ elf_copy_symbol_attributes (dest, src)
destelf->size = NULL;
}
S_SET_SIZE (dest, S_GET_SIZE (src));
- S_SET_OTHER (dest, S_GET_OTHER (src));
+ /* Don't copy visibility. */
+ S_SET_OTHER (dest, (ELF_ST_VISIBILITY (S_GET_OTHER (dest))
+ | (S_GET_OTHER (src) & ~ELF_ST_VISIBILITY (-1))));
}
void
@@ -1839,6 +1841,8 @@ elf_frob_symbol (symp, puntp)
/* This will copy over the size information. */
copy_symbol_attributes (symp2, symp);
+ S_SET_OTHER (symp2, S_GET_OTHER (symp));
+
if (S_IS_WEAK (symp))
S_SET_WEAK (symp2);