aboutsummaryrefslogtreecommitdiff
path: root/gas
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
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')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/obj-elf.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3651d2b..4eea491 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2002-03-01 Jakub Jelinek <jakub@redhat.com>
+
+ * config/obj-elf.c (elf_copy_symbol_attributes): Don't copy
+ visibility.
+ (obj_frob_symbol): Copy visibility.
+
2002-02-28 Jakub Jelinek <jakub@redhat.com>
* config/tc-alpha.c (s_alpha_text): Use obj_elf_text for OBJ_ELF, not
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);