diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e12c14d76df..e7b4a592b07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-07-11 Rainer Orth + + * config/i386/sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define. + (DTORS_SECTION_ASM_OP): Define. + 2011-07-11 Rainer Orth * config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc. 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