diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/sol2.h | 7 |
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 |