aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2011-07-11 16:35:53 +0000
committerRainer Orth <ro@gcc.gnu.org>2011-07-11 16:35:53 +0000
commitfeffaec40fa025d6f55e4a12081772711706de87 (patch)
treed6f5b82d4d5d67c83f6a8af9c61143f5249255f8
parent699010bab1c44cef9aaa8d40f1efd2f4607a356b (diff)
downloadgcc-feffaec40fa025d6f55e4a12081772711706de87.zip
gcc-feffaec40fa025d6f55e4a12081772711706de87.tar.gz
gcc-feffaec40fa025d6f55e4a12081772711706de87.tar.bz2
sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define.
* config/i386/sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define. (DTORS_SECTION_ASM_OP): Define. From-SVN: r176162
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/sol2.h7
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e12c14d..e7b4a59 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ * config/i386/sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define.
+ (DTORS_SECTION_ASM_OP): Define.
+
+2011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
* config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc.
* config/t-dfprules: Move to ../libgcc/config.
* config.gcc (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h
index 5b4e3d7..f620de5 100644
--- a/gcc/config/i386/sol2.h
+++ b/gcc/config/i386/sol2.h
@@ -152,6 +152,13 @@ along with GCC; see the file COPYING3. If not see
#undef TARGET_ASM_NAMED_SECTION
#define TARGET_ASM_NAMED_SECTION i386_solaris_elf_named_section
+/* Unlike GNU ld, Sun ld doesn't coalesce .ctors.N/.dtors.N sections, so
+ inhibit their creation. Also cf. sparc/sysv4.h. */
+#ifndef USE_GLD
+#define CTORS_SECTION_ASM_OP "\t.section\t.ctors, \"aw\""
+#define DTORS_SECTION_ASM_OP "\t.section\t.dtors, \"aw\""
+#endif
+
/* We do not need NT_VERSION notes. */
#undef X86_FILE_START_VERSION_DIRECTIVE
#define X86_FILE_START_VERSION_DIRECTIVE false