From df2a1cc48b45a5493646e14bcd81eff7d684e15b Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Thu, 24 Sep 2015 09:00:22 +0000 Subject: Support PIE on Solaris gcc/testsuite: * lib/target-supports.exp (check_effective_target_pie): Check for PIE support on Solaris 11.x and 12. libgcc: * config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file. Add crtbeginS.o, crtendS.o to extra_parts if libgcc_cv_solaris_crts. * config/sol2/gmon.c: (monstartup): Don't write trailing NUL of messages. (internal_mcount): Likewise. * config/sol2/t-sol2 (crtp.o, crtpg.o, gmon.o): Compile with crt_compile, add CRTSTUFF_T_CFLAGS_S. gcc: * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris. Check for ld -type pie on Solaris 11.x and 12. * configure: Regenerate. * config.in: Regenerate. * gcc.c (LD_PIE_SPEC): Allow redefinition. * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define. (STARTFILE_SPEC): Use it. (ENDFILE_CRTEND_SPEC): Define. (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC. (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC, ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC. [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define. (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define. * config/i386/sol2.h (ENDFILE_SPEC): Remove. (ENDFILE_ARCH_SPEC): Define. * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define. From-SVN: r228078 --- libgcc/ChangeLog | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libgcc/ChangeLog') diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 559f772..cc5c2c3 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,5 +1,15 @@ 2015-09-24 Rainer Orth + * config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file. + Add crtbeginS.o, crtendS.o to extra_parts if libgcc_cv_solaris_crts. + * config/sol2/gmon.c: (monstartup): Don't write trailing NUL of + messages. + (internal_mcount): Likewise. + * config/sol2/t-sol2 (crtp.o, crtpg.o, gmon.o): Compile with + crt_compile, add CRTSTUFF_T_CFLAGS_S. + +2015-09-24 Rainer Orth + * configure.ac (libgcc_cv_solaris_crts): New test. * configure: Regenerate. * config.in: Regenerate. -- cgit v1.1