summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 e12c14d76df..e7b4a592b07 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 5b4e3d78f58..f620de5fa44 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