summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-25 22:32:56 +0000
committerjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-25 22:32:56 +0000
commit7991b67cf788da76c30973bd7dbd5696a5de28f0 (patch)
tree6c869b0a11894639cba7ced5b53b9c0019b6f941 /gcc/config
parent7e9fadaa94463255634906e857da82b7c569e321 (diff)
downloadgcc-7991b67cf788da76c30973bd7dbd5696a5de28f0.tar.gz
* gcc/config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
from being used for symbols with vague linkage when HAVE_GAS_COMDAT_GROUP is true. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95553 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/elfos.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 9eed0d13fe3..6e41bb26936 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -212,7 +212,15 @@ Boston, MA 02111-1307, USA. */
fprintf ((FILE), "%s\n", ASM_SECTION_START_OP)
#endif
-#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
+/* Don't use weak for entities with vague linkage when HAVE_GAS_COMDAT_GROUP
+ is true. */
+#define MAKE_DECL_ONE_ONLY(DECL) \
+ do \
+ { \
+ if (!HAVE_GAS_COMDAT_GROUP) \
+ DECL_WEAK(DECL) = 1; \
+ } \
+ while (0)
/* Switch into a generic section. */
#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section