From 26eb409359779b56ee1573b5a62ee95a55fa2106 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 1 Mar 2002 18:36:08 +0000 Subject: [PATCH] * config/obj-elf.c (elf_copy_symbol_attributes): Don't copy visibility. (obj_frob_symbol): Copy visibility. --- gas/ChangeLog | 6 ++++++ gas/config/obj-elf.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 3651d2b695..4eea4919e8 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2002-03-01 Jakub Jelinek + + * config/obj-elf.c (elf_copy_symbol_attributes): Don't copy + visibility. + (obj_frob_symbol): Copy visibility. + 2002-02-28 Jakub Jelinek * 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 13c748211c..dcbff5d8a2 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);