diff options
author | Magnus Granberg (Zorry) <zorry@gentoo.org> | 2010-04-23 16:49:23 +0200 |
---|---|---|
committer | Magnus Granberg (Zorry) <zorry@gentoo.org> | 2010-04-23 16:49:23 +0200 |
commit | 5bdbcd5ba754af65a96cf77210d5a8e5674005ef (patch) | |
tree | 3f0b1057361474c78ca9bd4240e26228b4f2f769 /gcc-4.4.3/piepatch | |
parent | fix some typos in gcc-4.4.3/piepatch (diff) | |
download | hardened-gccpatchset-5bdbcd5ba754af65a96cf77210d5a8e5674005ef.tar.gz hardened-gccpatchset-5bdbcd5ba754af65a96cf77210d5a8e5674005ef.tar.bz2 hardened-gccpatchset-5bdbcd5ba754af65a96cf77210d5a8e5674005ef.zip |
Updated pipatches to 0.4.1 in gcc 4.4.3
Diffstat (limited to 'gcc-4.4.3/piepatch')
-rw-r--r-- | gcc-4.4.3/piepatch/10_all_gcc44_configure.patch | 197 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/11_all_gcc44_config.in.patch | 18 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/12_all_gcc44_Makefile.in.patch | 38 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/20_all_gcc44_gcc.c.patch | 8 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/21_all_gcc44_decl-tls-model.patch | 6 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/30_all_gcc44_esp.h.patch | 32 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/33_all_gcc44_config_rs6000_linux64.h.patch | 4 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/35_all_gcc44_config_crtbegints.patch | 6 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/40_all_gcc44_cp_lang-specs.h.patch | 4 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/41_all_gcc44_objc_lang-specs.h.patch | 4 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/42_all_gcc44_objcp_lang-specs.h.patch | 4 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/60_all_gcc44_invoke.texi.patch | 6 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/README.Changelog | 18 | ||||
-rw-r--r-- | gcc-4.4.3/piepatch/README.history | 115 |
14 files changed, 314 insertions, 146 deletions
diff --git a/gcc-4.4.3/piepatch/10_all_gcc44_configure.patch b/gcc-4.4.3/piepatch/10_all_gcc44_configure.patch index 722a284..1cf7bd1 100644 --- a/gcc-4.4.3/piepatch/10_all_gcc44_configure.patch +++ b/gcc-4.4.3/piepatch/10_all_gcc44_configure.patch @@ -1,37 +1,41 @@ -2010-04-19 Magnus Granberg <zorry@gentoo.org> +2010-04-22 Magnus Granberg <zorry@gentoo.org> * configure Add --enable-esp. Add-fno-stack-protector to stage1_cflags. - * gcc/configure Check -z now and -z relro. + * gcc/configure Add --enable-esp. Check -z now and -z relro. Check if we support -fstack-protector and define HAVE_GCC_SSP. + Check if we support -fPIE and -pie and define HAVE_GCC_LD_PIE. Define ENABLE_ESP. Check if we support crtbeginTS and define ENABLE_CRTBEGINTS. * libmudflap/configure Add AC_SUBST enable_esp. ---- configure 2009-04-29 01:16:59.000000000 +0200 -+++ configure 2009-07-21 18:45:41.000000000 +0200 +--- a/configure 2009-04-29 01:16:59.000000000 +0200 ++++ b/configure 2009-07-21 18:45:41.000000000 +0200 @@ -272,7 +272,7 @@ PACKAGE_BUGREPORT= ac_unique_file="move-if-change" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc extra_mpfr_configure_flags ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS' -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir enable_esp CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc extra_mpfr_configure_flags ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir enable_esp_set CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc extra_mpfr_configure_flags ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS' ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag' ac_pwd=`pwd` -@@ -934,6 +934,11 @@ +@@ -934,6 +934,14 @@ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-gold use gold instead of ld --enable-libada build libada directory -+ --enable-esp -+ Enable Stack protector and Position independent executable -+ as default if we have suppot for it when compiling ++ --enable-esp[=all] ++ Enable Stack protector, Position independent executable as ++ default if we have suppot for it when compiling + and link with -z relro and -z now as default. -+ Linux targets supported i*86, x86_64, powerpc*, ia64 and arm* ++ --enable-esp=all will enable SSP and PIE ++ --enable-esp=nossp will disable SSP ++ --enable-esp=nopie will disable PIE ++ Linux targets supported i*86, x86_64, ppc*, sparc* and arm* --enable-libssp build libssp directory --disable-ppl-version-check disable check for PPL version --disable-cloog-version-check disable check for CLooG version -@@ -2145,6 +2150,25 @@ +@@ -2145,6 +2153,30 @@ noconfigdirs="$noconfigdirs gnattools" fi @@ -41,8 +45,13 @@ + enableval="$enable_esp" + + case $target in -+ i?86*-*-linux* | x86_64*-*-linux* | powerpc-*-linux* | powerpc64-*-linux* | arm*-*-linux* | ia64-*-linux*) -+ enable_esp=yes ++ i?86*-*-linux* | x86_64*-*-linux* | ppc*-*-linux* | sparc*-*-linux* | arm*-*-linux*) ++ case ,${enable_esp}, in ++ ,,) ++ enable_esp_set=no ;; ++ ,nopie,|,nossp,|,all,) ++ enable_esp_set=yes ;; ++ esac + ;; + *) + { { echo "$as_me:$LINENO: error: *** --enable-esp is not supported on this $target target." >&5 @@ -61,31 +70,46 @@ *) stage1_cflags="-g -J" ;; esac ;; esac -+if test x$enable_esp = xyes; then ++if test x$enable_esp_set = xyes; then + stage1_cflags="$stage1_cflags -fno-stack-protector" +fi # This is aimed to mimic bootstrap with a non-GCC compiler to catch problems. if test "$GCC" = yes; then -@@ -13234,6 +13262,7 @@ +@@ -13236,6 +13268,7 @@ s,@build_subdir@,$build_subdir,;t t s,@host_subdir@,$host_subdir,;t t s,@target_subdir@,$target_subdir,;t t -+s,@enable_esp@,$enable_esp,;t t ++s,@enable_esp_set@,$enable_esp_set,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t ---- gcc/configure 2009-04-29 01:16:54.000000000 +0200 -+++ gcc/configure 2009-06-08 01:03:01.000000000 +0200 +--- a/gcc/configure 2009-04-29 01:16:54.000000000 +0200 ++++ b/gcc/configure 2009-06-08 01:03:01.000000000 +0200 @@ -458,7 +458,7 @@ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS BUILD_LDFLAGS STMP_FIXINC STMP_FIXPROTO collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN OBJDUMP ac_ct_OBJDUMP ac_ct_AR STRIP ac_ct_STRIP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump gcc_cv_readelf libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs fortran_target_objs target_cpu_default GMPLIBS GMPINC PPLLIBS PPLINC CLOOGLIBS CLOOGINC LIBOBJS LTLIBOBJS' -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS BUILD_LDFLAGS STMP_FIXINC STMP_FIXPROTO collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN OBJDUMP ac_ct_OBJDUMP ac_ct_AR STRIP ac_ct_STRIP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump gcc_cv_readelf libgcc_visibility enable_esp enable_crtbeginTS GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs fortran_target_objs target_cpu_default GMPLIBS GMPINC PPLLIBS PPLINC CLOOGLIBS CLOOGINC LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS BUILD_LDFLAGS STMP_FIXINC STMP_FIXPROTO collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN OBJDUMP ac_ct_OBJDUMP ac_ct_AR STRIP ac_ct_STRIP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump gcc_cv_readelf libgcc_visibility enable_esp_set enable_crtbeginTS GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs fortran_target_objs target_cpu_default GMPLIBS GMPINC PPLLIBS PPLINC CLOOGLIBS CLOOGINC LIBOBJS LTLIBOBJS' ac_subst_files='language_hooks' ac_pwd=`pwd` +@@ -1078,6 +1076,14 @@ + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) ++ --enable-esp[=all] ++ Enable Stack protector, Position independent executable as ++ default if we have suppot for it when compiling ++ and link with -z relro and -z now as default. ++ --enable-esp=all will enable SSP and PIE ++ --enable-esp=nossp will disable SSP ++ --enable-esp=nopie will disable PIE ++ Linux targets supported i*86, x86_64, ppc*, sparc* and arm* + --enable-maintainer-mode + enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer @@ -24177,6 +24182,50 @@ ;; esac @@ -137,10 +161,41 @@ echo "$as_me:$LINENO: checking linker --sysroot support" >&5 echo $ECHO_N "checking linker --sysroot support... $ECHO_C" >&6 if test "${gcc_cv_ld_sysroot+set}" = set; then -@@ -24411,6 +23737,146 @@ +@@ -24411,6 +23745,253 @@ fi ++# Check whether --enable-esp=(no|nopie|nossp|all) was given. ++# Check whether --enable-esp or --disable-esp was given. ++if test "${enable_esp+set}" = set; then ++ enableval="$enable_esp" ++ ++ case ,${enable_esp}, in ++ ,no,|,,) ++ enable_esp_set=no ++ enable_esp_pie=no ++ enable_esp_ssp=no ++ ;; ++ ,nopie,) ++ enable_esp_set=yes ++ enable_esp_pie=no ++ enable_esp_ssp=yes ++ ;; ++ ,nossp,) ++ enable_esp_set=yes ++ enable_esp_pie=yes ++ enable_esp_ssp=no ++ ;; ++ ,all,) ++ enable_esp_set=yes ++ enable_esp_pie=yes ++ enable_esp_ssp=yes ++ ;; ++ esac ++ ++fi; ++ ++ +if test x$gcc_cv_libc_provides_ssp = xyes; then + echo "$as_me:$LINENO: checking whether $CC support -fstack-protector" >&5 +echo $ECHO_N "checking whether $CC support -fstack-protector... $ECHO_C" >&6 @@ -154,11 +209,15 @@ +#ifndef __SSP__ +#error +#endif ++int ++main() { ++return 0 ; ++} + +_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 @@ -172,7 +231,7 @@ + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' ++ { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? @@ -198,23 +257,92 @@ + +gcc_cv_cc_stack_protector=no +fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext + CFLAGS="$saved_CFLAGS" + +fi +echo "$as_me:$LINENO: result: $gcc_cv_cc_stack_protector" >&5 +echo "${ECHO_T}$gcc_cv_cc_stack_protector" >&6 +fi -+if test x$gcc_cv_cc_stack_protector = xyes; then ++if test x$gcc_cv_cc_stack_protector = xyes && test x$enable_esp_ssp = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GCC_SSP 1 +_ACEOF + ++ enable_esp_default_ssp=yes ++ echo "$as_me:$LINENO: result: Adding -fstack-protector as default compiler options... $enable_esp_default_ssp" >&5 ++echo "${ECHO_T}Adding -fstack-protector as default compiler options... $enable_esp_default_ssp" >&6 +fi + ++if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_pic_works = xyes; then ++ echo "$as_me:$LINENO: checking whether $CC support -fPIE and link with -pie" >&5 ++echo $ECHO_N "checking whether $CC support -fPIE and and link with -pie... $ECHO_C" >&6 ++if test "${gcc_cv_cc_ld_pie+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ++ saved_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -fPIE -pie" ++ cat >conftest.$ac_ext <<_ACEOF ++#ifndef __PIE__ ++#error ++#endif ++int ++main() { ++ return 0; ++} + -+if test x$enable_esp = xyes ; then ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" ++ || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ gcc_cv_cc_ld_pie=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++gcc_cv_cc_ld_pie=no ++fi ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ CFLAGS="$saved_CFLAGS" ++ ++fi ++echo "$as_me:$LINENO: result: $gcc_cv_cc_ld_pie" >&5 ++echo "${ECHO_T}$gcc_cv_cc_ld_pie" >&6 ++fi ++if test x$gcc_cv_cc_ld_pie = xyes && test x$enable_esp_pie = xyes; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_GCC_LD_PIE 1 ++_ACEOF ++ ++ enable_esp_default_pie=yes ++ echo "$as_me:$LINENO: result: Adding -fPIE as default compiler options and -pie as default linking options... $enable_esp_default_pie" >&5 ++echo "${ECHO_T}Adding -fPIE as default compiler options and -pie as default linking options... $enable_esp_default_pie" >&6 ++fi ++if test x$enable_esp_set = xyes ; then +case $target in + ia64*-*-linux*) + if test x$gcc_cv_ld_now = xyes; then @@ -235,7 +363,7 @@ + ;; + esac +else -+ enable_esp_ld=no ++ enable_espf_ld=no +fi +if test x$enable_esp_ld = xyes; then + @@ -243,6 +371,9 @@ +#define ENABLE_ESP 1 +_ACEOF + ++ enable_esp_default_nowrelro=yes ++ echo "$as_me:$LINENO: result: Adding -z now and -z relro as default linking options... $enable_esp_default_nowrelro" >&5 ++echo "${ECHO_T}Adding -z now and -z relro as default linking options... $enable_esp_default_nowrelro" >&6 +fi +if test x$enable_esp = xyes && test x$enable_esp_ld = xno; then + { { echo "$as_me:$LINENO: error: *** --enable-esp is not supported. You don't have -z,relro or -z,now support in the linker." >&5 @@ -256,12 +387,12 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + -+if test x$enable_esp = xyes ; then ++if test x$enable_esp_set = xyes ; then + case "$target" in + ia64*-*-linux*) + enable_crtbeginTS=no ;; + *-*-linux*) -+ if test x$gcc_cv_ld_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then ++ if test x$enable_esp_default_pie = xyes && test x$lt_cv_prog_compiler_static_works = xyes; then + enable_crtbeginTS=yes + fi + ;; @@ -288,13 +419,13 @@ s,@gcc_cv_objdump@,$gcc_cv_objdump,;t t s,@gcc_cv_readelf@,$gcc_cv_readelf,;t t s,@libgcc_visibility@,$libgcc_visibility,;t t -+s,@enable_esp@,$enable_esp,;t t ++s,@enable_esp_set@,$enable_esp_set,;t t +s,@enable_crtbeginTS@,$enable_crtbeginTS,;t t s,@GGC@,$GGC,;t t s,@zlibdir@,$zlibdir,;t t s,@zlibinc@,$zlibinc,;t t ---- libmudflap/configure 2009-04-29 01:16:55.000000000 +0200 -+++ libmudflap/configure 2009-07-21 18:28:52.000000000 +0200 +--- a/libmudflap/configure 2009-04-29 01:16:55.000000000 +0200 ++++ b/libmudflap/configure 2009-07-21 18:28:52.000000000 +0200 @@ -458,7 +458,7 @@ # include <unistd.h> #endif" diff --git a/gcc-4.4.3/piepatch/11_all_gcc44_config.in.patch b/gcc-4.4.3/piepatch/11_all_gcc44_config.in.patch index bbdd2f0..090cd44 100644 --- a/gcc-4.4.3/piepatch/11_all_gcc44_config.in.patch +++ b/gcc-4.4.3/piepatch/11_all_gcc44_config.in.patch @@ -1,10 +1,10 @@ -2010-04-19 Magnus Granberg <zorry@ume.nu> +2010-04-22 Magnus Granberg <zorry@gentoo.org> * gcc/config.in Add ENABLE_CRTBEGINTS ENABLE_ESP and - HAVE_GCC_SSP + HAVE_GCC_SSP HAVE_GCC_LD_PIE ---- gcc/config.in 2009-04-21 11:08:08.000000000 +0200 -+++ gcc/config.in 2009-05-12 00:10:08.000000000 +0200 +--- a/gcc/config.in 2009-04-21 11:08:08.000000000 +0200 ++++ b/gcc/config.in 2009-05-12 00:10:08.000000000 +0200 @@ -46,6 +46,12 @@ #endif @@ -31,16 +31,22 @@ /* Define to 1 to enable fixed-point arithmetic extension to C. */ #ifndef USED_FOR_TARGET #undef ENABLE_FIXED_POINT -@@ -912,6 +924,12 @@ +@@ -912,6 +924,18 @@ #endif -+/* Define to 1 if your compiler supports -fstack-protector */ ++/* Define if your compiler supports SSP */ +#ifndef USED_FOR_TARGET +#undef HAVE_GCC_SSP +#endif + + ++/* Define if your compiler and linker supports PIE */ ++#ifndef USED_FOR_TARGET ++#undef HAVE_GCC_LD_PIE ++#endif ++ ++ /* Define to 1 if you have the `getchar_unlocked' function. */ #ifndef USED_FOR_TARGET #undef HAVE_GETCHAR_UNLOCKED diff --git a/gcc-4.4.3/piepatch/12_all_gcc44_Makefile.in.patch b/gcc-4.4.3/piepatch/12_all_gcc44_Makefile.in.patch index 9c43a4f..250ab51 100644 --- a/gcc-4.4.3/piepatch/12_all_gcc44_Makefile.in.patch +++ b/gcc-4.4.3/piepatch/12_all_gcc44_Makefile.in.patch @@ -1,4 +1,4 @@ -2009-09-20 Magnus Granberg <zorry@ume.nu> +2010-04-22 Magnus Granberg <zorry@gentoo.org> * Makefile.in We add -fno-stack-protector to BOOT_CFLAGS, LIBCFLAGS and LIBCXXFLAGS if enable_esp yes. @@ -11,20 +11,20 @@ * libgcc/Makefile.in Add crtbeginTS.o to EXTRA_PARTS if enable_crtbeginTS yes We add new file crtbeginTS.o if enable_crtbeginTS yes -2009-07-21 Magnus Granberg <zorry@ume.nu>, Kees Cook <kees@outflux.net> +2010-04-23 Magnus Granberg <zorry@gentoo.org>, Kees Cook <kees@outflux.net> LP #344502 * libmudflap/Makefiles.in Add -fno-stack-protector -U_FORTIFY_SOURCE - to AM_CFLAGS if enable_esp yes. + to AM_CFLAGS ifdef enable_esp. ---- Makefile.in 2009-04-14 10:57:33.000000000 +0200 -+++ Makefile.in 2009-07-21 05:29:54.000000000 +0200 +--- a/Makefile.in 2009-04-14 10:57:33.000000000 +0200 ++++ b/Makefile.in 2009-07-21 05:29:54.000000000 +0200 @@ -305,9 +305,17 @@ BUILD_PREFIX = @BUILD_PREFIX@ BUILD_PREFIX_1 = @BUILD_PREFIX_1@ +# Some stuff don't compile with SSP -+enable_esp = @enable_esp@ ++enable_esp = @enable_esp_set@ +ifeq ($(enable_esp),yes) +ESP_NOSSP_CFLAGS = -fno-stack-protector +else @@ -58,7 +58,7 @@ +# We don't want __stack_chk_fail in crt* and libgcc2.a. +# We don't want to compile crtbegin, crtend and crtbeginT with -fPIE. -+enable_esp = @enable_esp@ ++enable_esp = @enable_esp_set@ +ifeq ($(enable_esp),yes) +ESP_NOPIE_CFLAGS = -fno-PIE +ESP_NOSSP_CFLAGS = -fno-stack-protector @@ -134,7 +134,7 @@ -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O \ -o $(T)crtbeginT$(objext) -+# This is a version of crtbegin for -static -fPIE links if esp is enable. ++# This is a version of crtbegin for -static -fPIE links if espf is enable. +ifeq ($(enable_crtbeginTS),yes) +$(T)crtbeginTS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ + gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) @@ -155,8 +155,8 @@ $(out_file) $(OUTPUT_OPTION) # Build auxiliary files that support ecoff format. ---- libgcc/Makefile.in 2009-04-10 01:23:07.000000000 +0200 -+++ libgcc/Makefile.in 2009-09-08 03:42:47.000000000 +0200 +--- a/libgcc/Makefile.in 2009-04-10 01:23:07.000000000 +0200 ++++ b/libgcc/Makefile.in 2009-09-08 03:42:47.000000000 +0200 @@ -280,6 +280,12 @@ gen-hide-list = echo > \$@ endif @@ -184,26 +184,24 @@ endif # Build extra startfiles in the libgcc directory. ---- libmudflap/Makefile.in 2009-04-29 01:16:56.000000000 +0200 -+++ libmudflap/Makefile.in 2009-07-21 05:41:56.000000000 +0200 -@@ -253,10 +253,18 @@ +--- a/libmudflap/Makefile.in 2009-04-29 01:16:56.000000000 +0200 ++++ b/libmudflap/Makefile.in 2009-07-21 05:41:56.000000000 +0200 +@@ -253,9 +253,17 @@ MAINT_CHARSET = latin1 SUBDIRS = testsuite -+# Some stuff don't compile with PIE or SSP ++# Some stuff don't compile with SSP and FORTIFY_SOURCE +enable_esp = @enable_esp@ -+ifeq ($(enable_esp),yes) -+NO_ESP_CFLAGS = -fno-stack-protector -U_FORTIFY_SOURCE ++ifdef enable_esp ++ NO_ESP_CFLAGS = -fno-stack-protector -U_FORTIFY_SOURCE +else -+NO_ESP_CFLAGS = ++ NO_ESP_CFLAGS = +endif + # May be used by various substitution variables. gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) -AM_CFLAGS = -Wall $(SECTION_FLAGS) --@LIBMUDFLAPTH_FALSE@libmudflapth = +AM_CFLAGS = -Wall $(SECTION_FLAGS) $(NO_ESP_CFLAGS) -+@LIBMUDFLAPTH_FALSE@libmudflapth = + @LIBMUDFLAPTH_FALSE@libmudflapth = @LIBMUDFLAPTH_TRUE@libmudflapth = libmudflapth.la toolexeclib_LTLIBRARIES = libmudflap.la $(libmudflapth) - libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include diff --git a/gcc-4.4.3/piepatch/20_all_gcc44_gcc.c.patch b/gcc-4.4.3/piepatch/20_all_gcc44_gcc.c.patch index a4a0ce2..8b73fc8 100644 --- a/gcc-4.4.3/piepatch/20_all_gcc44_gcc.c.patch +++ b/gcc-4.4.3/piepatch/20_all_gcc44_gcc.c.patch @@ -2,7 +2,7 @@ * gcc/gcc.c include esp.h static const char *cc1_spec We set that in esp.h if ENABLE_ESP. - *cc1_options Add esp_options_pie_check if ENABLE_ESP. + *cc1_options Add espf_options_pie_check if ENABLE_ESP. #ifdef EXTRA_SPECS: Add ESP_EXTRA_SPECS main(): Add do_self_spec esp_command_options_spec() @@ -14,8 +14,8 @@ * gcc/gcc.c default_compilers[] Add %(esp_options) *cpp_unique_options Add %(esp_cpp_unique_options) ---- gcc/gcc.c.zorry 2009-04-29 01:17:00.000000000 +0200 -+++ gcc/gcc.c 2009-07-22 20:18:10.000000000 +0200 +--- a/gcc/gcc.c 2009-04-29 01:17:00.000000000 +0200 ++++ b/gcc/gcc.c 2009-07-22 20:18:10.000000000 +0200 @@ -83,6 +83,7 @@ #include "gcc.h" #include "flags.h" @@ -58,7 +58,7 @@ %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\ cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \ - %(cc1_options)}\ -+ %(cc1_options) %(esp_options)}\ ++ %(cc1_options) %(espf_options)}\ %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\ - cc1 %(cpp_unique_options) %(cc1_options)}}}\ + cc1 %(cpp_unique_options) %(cc1_options) %(esp_options)}}}\ diff --git a/gcc-4.4.3/piepatch/21_all_gcc44_decl-tls-model.patch b/gcc-4.4.3/piepatch/21_all_gcc44_decl-tls-model.patch index 09438a0..f483849 100644 --- a/gcc-4.4.3/piepatch/21_all_gcc44_decl-tls-model.patch +++ b/gcc-4.4.3/piepatch/21_all_gcc44_decl-tls-model.patch @@ -1,10 +1,10 @@ -2009-06-13 Magnus Granberg <zorry@ume.nu> +2009-06-13 Magnus Granberg <zorry@gentoo.org> b.g.o #232601 * gcc/varasm.c (decl_tls_model): Check flag_pic instead of flag_shlib. ---- gcc/varasm.c 2009-03-17 21:18:21.000000000 +0100 -+++ gcc/varasm.c 2009-04-29 03:10:09.000000000 +0200 +--- a/gcc/varasm.c 2009-03-17 21:18:21.000000000 +0100 ++++ b/gcc/varasm.c 2009-04-29 03:10:09.000000000 +0200 @@ -5607,7 +5607,11 @@ bool is_local; diff --git a/gcc-4.4.3/piepatch/30_all_gcc44_esp.h.patch b/gcc-4.4.3/piepatch/30_all_gcc44_esp.h.patch index bb32fba..6634a33 100644 --- a/gcc-4.4.3/piepatch/30_all_gcc44_esp.h.patch +++ b/gcc-4.4.3/piepatch/30_all_gcc44_esp.h.patch @@ -1,25 +1,25 @@ -2010-04-20 Magnus Granberg <zorry@gentoo.org> +2010-04-22 Magnus Granberg <zorry@gentoo.org> * gcc/esp.h New file to support --enable-esp - Version 20100420.3 + Version 20100422.1 ---- gcc/esp.h 2010-04-09 16:14:00.000000000 +0200 -+++ gcc/esp.h 2010-04-20 00:35:27.000000000 +0200 -@@ -0,0 +1,143 @@ +--- a/gcc/esp.h 2010-04-09 16:14:00.000000000 +0200 ++++ b/gcc/esp.h 2010-04-22 13:48:18.000000000 +0200 +@@ -0,0 +1,147 @@ +/* License terms see GNU GENERAL PUBLIC LICENSE Version 3. -+ * Version 20100420.3 ++ * Version 20100422.1 + * Magnus Granberg (Zorry) <zorry@gentoo.org> */ +#ifndef GCC_ESP_H +#define GCC_ESP_H + -+/* This file will add -fstack-protector-all, -fPIE, -pie and -z now ++/* This file will add -fstack-protector-all, -fPIE, -pie and -z now + as default if the defines and the spec allow it. + Added a hack for gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass + to support older hardened GCC patches and we don't need to change the code on gcc-specs-* and _filter-hardened. -+ This will add some unsupported upstream commands options as -nopie. -+ -D__KERNEL__ is added so we don't have -fPIE and -fstack-protector-all when building kernels. ++ This will add some unsupported upstream commands options as -nopie and -nonow. ++ -D__KERNEL__ is added so we don't have -fPIE, -pie and -fstack-protector-all when building kernels. + ESP_CC1_SPEC is added to CC1_SPEC. -+ ESP_CC1_STRICT_SPEC is added so the compiler don't use -fstrict-overflow. ++ ESP_CC1_STRICT_SPEC is added so we don't disable the strict-overflow check. + ESP_OPTIONS_PIE_CHECK_SPEC check for -pie, -p, -pg, -profile, -static and -shared. + ENABLE_CRTBEGINTS add support for crtbeginTS.o, build -static with -fPIE or -fpie. +*/ @@ -32,13 +32,17 @@ + #else + #define ESP_CC1_SSP_SPEC "" + #endif -+ #define ESP_CC1_PIE_SPEC "%{!nopie: }" ++ #ifdef HAVE_GCC_LD_PIE ++ #define ESP_CC1_PIE_SPEC "%{!nopie: }" ++ #else ++ #define ESP_CC1_PIE_SPEC "" ++ #endif + #define ESP_CC1_STRICT_SPEC "%{!fstrict-overflow:%{!fno-strict-overflow: -fno-strict-overflow}}" + + /* ESP_LINK_SPEC is added to LINK_PIE_SPEC if esp is enable + -z now will be added if we don't have -vanilla spec */ + #define ESP_LINK_SPEC "%(esp_link_now)" -+ #define ESP_LINK_NOW_SPEC "%{!now:-z now}" ++ #define ESP_LINK_NOW_SPEC "%{!nonow:-z now}" + + /* ESP_OPTIONS_SPEC is added to the compiler spec in gcc/gcc.c */ + #define ESP_OPTIONS_SPEC "%(esp_options_ssp)" @@ -57,8 +61,8 @@ + #define ESP_OPTIONS_SSP_SPEC "" + #endif + -+ /* If HAVE_LD_PIE not defined we will not add any -fPIE -pie */ -+ #ifdef HAVE_LD_PIE ++ /* If HAVE_GCC_LD_PIE not defined we will not add any -fPIE -pie */ ++ #ifdef HAVE_GCC_LD_PIE + + /* We use ESP_COMMAND_OPTIONS_SPEC to add pie command-line options. */ + #define ESP_COMMAND_OPTIONS_SPEC "%{!D__KERNEL__:%{!nopie:%(esp_options_pie) %(esp_link_pie)}}" diff --git a/gcc-4.4.3/piepatch/33_all_gcc44_config_rs6000_linux64.h.patch b/gcc-4.4.3/piepatch/33_all_gcc44_config_rs6000_linux64.h.patch index b9fed34..5a88bf6 100644 --- a/gcc-4.4.3/piepatch/33_all_gcc44_config_rs6000_linux64.h.patch +++ b/gcc-4.4.3/piepatch/33_all_gcc44_config_rs6000_linux64.h.patch @@ -3,8 +3,8 @@ * gcc/config/rs6000/linux64.h ASM_SPEC32 Change %{fpic:-K PIC} %{fPIC:-K PIC} to %{fpic|fPIC|fpie|fPIE:-K PIC} ---- gcc/config/rs6000/linux64.h.psm 2009-04-10 01:23:07.000000000 +0200 -+++ gcc/config/rs6000/linux64.h 2009-09-23 12:34:26.000000000 +0200 +--- a/gcc/config/rs6000/linux64.h.psm 2009-04-10 01:23:07.000000000 +0200 ++++ b/gcc/config/rs6000/linux64.h 2009-09-23 12:34:26.000000000 +0200 @@ -156,7 +156,7 @@ #endif diff --git a/gcc-4.4.3/piepatch/35_all_gcc44_config_crtbegints.patch b/gcc-4.4.3/piepatch/35_all_gcc44_config_crtbegints.patch index f1e6532..7f3d7bd 100644 --- a/gcc-4.4.3/piepatch/35_all_gcc44_config_crtbegints.patch +++ b/gcc-4.4.3/piepatch/35_all_gcc44_config_crtbegints.patch @@ -1,10 +1,10 @@ -2009-09-25 Magnus Granberg <zorry@ume.nu> +2009-09-25 Magnus Granberg <zorry@gentoo.org> * gcc/config/linux.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. * gcc/config/rs6000/sysv4.h If ENABLE_CRTBEGINTS, -static and -pie use crtbegineTS.o. ---- gcc/config/linux.h 2009-04-10 01:23:07.000000000 +0200 -+++ gcc/config/linux.h 2009-09-08 04:08:06.000000000 +0200 +--- a/gcc/config/linux.h 2009-04-10 01:23:07.000000000 +0200 ++++ b/gcc/config/linux.h 2009-09-08 04:08:06.000000000 +0200 @@ -43,7 +43,11 @@ object constructed before entering `main'. */ diff --git a/gcc-4.4.3/piepatch/40_all_gcc44_cp_lang-specs.h.patch b/gcc-4.4.3/piepatch/40_all_gcc44_cp_lang-specs.h.patch index 091f443..99175da 100644 --- a/gcc-4.4.3/piepatch/40_all_gcc44_cp_lang-specs.h.patch +++ b/gcc-4.4.3/piepatch/40_all_gcc44_cp_lang-specs.h.patch @@ -3,8 +3,8 @@ LP #346126 * gcc/cp/lang-specs.h compiler spec Add %(esp_options). ---- gcc/cp/lang-specs.h.orig 2009-03-23 01:21:54.000000000 +0100 -+++ gcc/cp/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 +--- a/gcc/cp/lang-specs.h 2009-03-23 01:21:54.000000000 +0100 ++++ b/gcc/cp/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 @@ -47,7 +47,7 @@ %(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\ cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\ diff --git a/gcc-4.4.3/piepatch/41_all_gcc44_objc_lang-specs.h.patch b/gcc-4.4.3/piepatch/41_all_gcc44_objc_lang-specs.h.patch index 418217e..181fae0 100644 --- a/gcc-4.4.3/piepatch/41_all_gcc44_objc_lang-specs.h.patch +++ b/gcc-4.4.3/piepatch/41_all_gcc44_objc_lang-specs.h.patch @@ -3,8 +3,8 @@ LP #346126 * gcc/objc/lang-specs.h compiler spec Add %(esp_options). ---- gcc/objc/lang-specs.h 2009-03-23 01:21:54.000000000 +0100 -+++ gcc/objc/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 +--- a/gcc/objc/lang-specs.h 2009-03-23 01:21:54.000000000 +0100 ++++ b/gcc/objc/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 @@ -30,13 +30,13 @@ %{traditional|ftraditional|traditional-cpp:\ %eGNU Objective C no longer supports traditional compilation}\ diff --git a/gcc-4.4.3/piepatch/42_all_gcc44_objcp_lang-specs.h.patch b/gcc-4.4.3/piepatch/42_all_gcc44_objcp_lang-specs.h.patch index 50ab607..c0e48c4 100644 --- a/gcc-4.4.3/piepatch/42_all_gcc44_objcp_lang-specs.h.patch +++ b/gcc-4.4.3/piepatch/42_all_gcc44_objcp_lang-specs.h.patch @@ -3,8 +3,8 @@ LP #346126 * gcc/objcp/lang-specs.h compiler spec Add %(esp_options). ---- gcc/objcp/lang-specs.h 2009-03-23 01:21:54.000000000 +0100 -+++ gcc/objcp/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 +--- a/gcc/objcp/lang-specs.h 2009-03-23 01:21:54.000000000 +0100 ++++ b/gcc/objcp/lang-specs.h 2009-03-23 01:22:16.000000000 +0100 @@ -36,7 +36,7 @@ %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\ cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\ diff --git a/gcc-4.4.3/piepatch/60_all_gcc44_invoke.texi.patch b/gcc-4.4.3/piepatch/60_all_gcc44_invoke.texi.patch index 16eab7e..899e2d5 100644 --- a/gcc-4.4.3/piepatch/60_all_gcc44_invoke.texi.patch +++ b/gcc-4.4.3/piepatch/60_all_gcc44_invoke.texi.patch @@ -1,10 +1,10 @@ -2009-09-11 Magnus Granberg <zorry@ume.nu> +2009-09-11 Magnus Granberg <zorry@gentoo.org> * gcc/doc/invoke.texi Add NOTES about -fstack-protector-all, -pie and -fPIE/-fpie when --enable-esp is enable, this options is on by default. ---- gcc/doc/invoke.texi 2009-04-01 09:18:47.000000000 +0200 -+++ gcc/doc/invoke.texi 2009-06-18 14:08:38.000000000 +0200 +--- a/gcc/doc/invoke.texi 2009-04-01 09:18:47.000000000 +0200 ++++ b/gcc/doc/invoke.texi 2009-06-18 14:08:38.000000000 +0200 @@ -7134,6 +7134,11 @@ @opindex fstack-protector-all Like @option{-fstack-protector} except that all functions are protected. diff --git a/gcc-4.4.3/piepatch/README.Changelog b/gcc-4.4.3/piepatch/README.Changelog index 54e25b2..2d63248 100644 --- a/gcc-4.4.3/piepatch/README.Changelog +++ b/gcc-4.4.3/piepatch/README.Changelog @@ -1,3 +1,21 @@ +0.4.1 Magnus Granberg <zorry@gentoo.org> + + *configure removed check for --enable-esp removed enable_esp + added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set + *Makefile.in renamed enable_esp to enable_esp_set + *gcc/configure removed check for --enable-esp removed enable_esp + added check for --enable-esp=(no|all|nopie|nossp). added enable_esp_set + added a -fPIE -pie check. change AC_COMPILE_IFELSE to AC_LINK_IFELSE in the + -fstack-protector check. + * gcc/config.in Added HAVE_GCC_LD_PIE + *gcc/Makefile.in renamed enable_esp to enable_esp_set + *gcc/esp Renamed HAVE_LD_PIE to HAVE_GCC_LD_PIE + Added HAVE_GCC_LD_PIE to #define ESP_CC1_PIE_SPEC. + * libmudflap/Makefiles.in In enable_esp change ifeq to ifdef. + + #293843 b.g.o + *gcc/esp.h Added -nonow to the -z now specs. + 0.4.0 Magnus Granberg <zorry@gentoo.org> rename espf to esp and change espf-patchset to piepatchset diff --git a/gcc-4.4.3/piepatch/README.history b/gcc-4.4.3/piepatch/README.history index 72fe90e..86339a8 100644 --- a/gcc-4.4.3/piepatch/README.history +++ b/gcc-4.4.3/piepatch/README.history @@ -1,108 +1,119 @@ -0.4.0 19-04-2010 - rename espf to esp and change espf-patchset to piepatchset - -0.3.9 14-04-2010 - 10_all_gcc44_configure.patch +0.4.1 23-04-2010 + U 10_all_gcc44_configure.patch + U 12_all_gcc44_Makefile.in.patch + U 11_all_gcc44_config.in.patch + U 30_all_gcc44_esp.h.patch + +0.4.0 19-04-2010 + U 10_all_gcc44_configure.patch + U 12_all_gcc44_Makefile.in.patch + U 11_all_gcc44_config.in.patch + U 20_all_gcc44_gcc.c.patch + - 30_all_gcc44_espf.h.patch + + 30_all_gcc44_esp.h.patch + +0.3.9 14-04-2010 + U 10_all_gcc44_configure.patch - 50_all_gcc44_no_ssp_tls_uclibc.patch -0.3.8 10-04-2010 - 10_all_gcc44_configure.patch - 11_all_gcc44_config.in.patch - 20_all_gcc44_gcc.c.patch - 30_all_gcc44_espf.h.patch +0.3.8 10-04-2010 + U 10_all_gcc44_configure.patch + U 11_all_gcc44_config.in.patch + U 20_all_gcc44_gcc.c.patch + U 30_all_gcc44_espf.h.patch -0.3.7 10-02-2010 - 20_all_gcc44_gcc.c.patch - 30_all_gcc44_espf.h.patch +0.3.7 10-02-2010 + U 20_all_gcc44_gcc.c.patch + U 30_all_gcc44_espf.h.patch 0.3.6 23-12-2009 - 10_all_gcc44_configure.patch - 30_all_gcc44_espf.h.patch - README + U 10_all_gcc44_configure.patch + U 30_all_gcc44_espf.h.patch + U README 0.3.5 24-09-2009 - 30_all_gcc44_espf.h.patch - 35_all_gcc44_config_crtbegints.patch + U 30_all_gcc44_espf.h.patch + U 35_all_gcc44_config_crtbegints.patch + 33_all_gcc44_config_rs6000_linux64.h.patch + README.Gentoo.patches 0.3.4 11-09-2009 - 10_all_gcc44_configure.patch - 11_all_gcc44_config.in.patch - 12_all_gcc44_Makefile.in.patch - 20_all_gcc44_gcc.c.patch + U 10_all_gcc44_configure.patch + U 11_all_gcc44_config.in.patch + U 12_all_gcc44_Makefile.in.patch + U 20_all_gcc44_gcc.c.patch - 23_all_gcc44_opts.c.patch - 30_all_gcc44_espf.h.patch - 35_all_gcc44_config_crtbegints.patch + U 30_all_gcc44_espf.h.patch + U 35_all_gcc44_config_crtbegints.patch + 60_all_gcc44_invoke.texi.patch + README 0.3.3 14-08-2009 - 23_all_gcc44_opts.c.patch + U 23_all_gcc44_opts.c.patch 0.3.2 09-08-2009 - 50_all_gcc44_no_ssp_tls_uclibc.patch + U 50_all_gcc44_no_ssp_tls_uclibc.patch + README.Changelog + README.history + 23_all_gcc44_opts.c.patch - 30_all_gcc44-espf.h.patch + U 30_all_gcc44-espf.h.patch 0.3.1 23-07-2009 - 10_all_gcc44_configure.patch + U 10_all_gcc44_configure.patch 0.3.0 23-07-2009 - 10_all_gcc44_configure.patch - 11_all_gcc44_config.in.patch - 12_all_gcc44_Makefile.in.patch - 20_all_gcc44_gcc.c.patch + U 10_all_gcc44_configure.patch + U 11_all_gcc44_config.in.patch + U 12_all_gcc44_Makefile.in.patch + U20_all_gcc44_gcc.c.patch + 40_all_gcc44_obj_lang-specs.h.patch + 40_all_gcc44_objp_lang-specs.h.patch + 40_all_gcc44_cp_lang-specs.h.patch - 50_all_gcc44_gentoo_v20090614.1.patch - 30_all_gcc44-espf.h.patch + U 30_all_gcc44-espf.h.patch 0.2.9 14-06-2009 - 12_all_gcc44_Makefile.in.patch - 30_all_gcc44-espf.h.patch + U 12_all_gcc44_Makefile.in.patch + U 30_all_gcc44-espf.h.patch + 50_all_gcc44_gentoo_v20090614.1.patch - 50_all_gcc44_gentoo_v20090612.2.patch 0.2.8 12-06-2009 - 10_all_gcc44_configure.patch - 11_all_gcc44_config.in.patch - 12_all_gcc44_Makefile.in.patch + U 10_all_gcc44_configure.patch + U 11_all_gcc44_config.in.patch + U 12_all_gcc44_Makefile.in.patch - 22_all_gcc44-toplev.c.patch + 30_all_gcc44-espf.h.patch - 25_all_gcc44-espf.h.patch + 50_all_gcc44_gentoo_v20090612.2.patch 0.2.7 29-05-2009 - 11_all_gcc44_config.in.patch - 12_all_gcc44_Makefile.in.patch - 20_all_gcc44_gcc.c.patch + U 11_all_gcc44_config.in.patch + U 12_all_gcc44_Makefile.in.patch + U 20_all_gcc44_gcc.c.patch + 23_all_gcc44_opts.c.patch - 25_all_gcc44-espf.h.patch + U 25_all_gcc44-espf.h.patch - 30_all_gcc44-config-defaul-linux.patch 0.2.6 28-05-2009 + 22_all_gcc44-toplev.c.patch - 25_all_gcc44-espf.h.patch - 30_all_gcc44-config-defaul-linux.patch + U 25_all_gcc44-espf.h.patch + U 30_all_gcc44-config-defaul-linux.patch 0.2.5 27-05-2009 - 10_all_gcc44_configure.patch - 12_all_gcc44_Makefile.in.patch - 20_all_gcc44_gcc.c.patch - 25_all_gcc44-espf.h.patch - 30_all_gcc44-config-defaul-linux.patch + U 10_all_gcc44_configure.patch + U 12_all_gcc44_Makefile.in.patch + U 20_all_gcc44_gcc.c.patch + U 25_all_gcc44-espf.h.patch + U 30_all_gcc44-config-defaul-linux.patch - 40_all_gcc44-gentoo.patch 0.2.4 08-05-2009 - 12_all_gcc44_Makefile.in.patch + U 12_all_gcc44_Makefile.in.patch 0.2.3 08-05-2009 - 20_all_gcc44_gcc.c.patch - 40_all_gcc44-gentoo.patch + U 20_all_gcc44_gcc.c.patch + U 40_all_gcc44-gentoo.patch 0.2.2 04-05-2009 + 10_all_gcc44_configure.patch |