aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2005-03-08 15:48:20 +0000
committerJulian Brown <jules@gcc.gnu.org>2005-03-08 15:48:20 +0000
commit323f0b8f5d9f561baa507eedbdf721923513bac0 (patch)
tree5426d93b23364bf344f73c6edbdaac2f19d2c39b /gcc
parent9148ab01d166fe2ffb39292ba630074ad45cd3ce (diff)
downloadgcc-323f0b8f5d9f561baa507eedbdf721923513bac0.zip
gcc-323f0b8f5d9f561baa507eedbdf721923513bac0.tar.gz
gcc-323f0b8f5d9f561baa507eedbdf721923513bac0.tar.bz2
elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from being used for symbols with vague linkage when...
* 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. From-SVN: r96107
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/elfos.h10
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9d30cd3..0b8fd43 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-08 Julian Brown <julian@codesourcery.com>
+
+ * 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.
+
2005-03-08 J"orn Rennecke <joern.rennecke@st.com>
* jump.c (invert_jump_1): Don't call redirect_jump_1 with
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 9eed0d1..6e41bb2 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