From 81df7c9ae66f2c5101d05c1e6c9d1be1e1ee2114 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 30 Aug 2015 05:28:48 +0000 Subject: disable -fstack-check by default for arm targets since it miscompiles code #518598 --- 5.1.0/pie/35_all_gcc51_config_arm.patch | 4 +++- 5.1.0/pie/40_all_gcc49_config_esp.patch | 11 ++++++++--- 5.1.0/pie/README.Changelog | 7 +++++++ 5.1.0/pie/README.history | 3 +++ 4 files changed, 21 insertions(+), 4 deletions(-) (limited to '5.1.0') diff --git a/5.1.0/pie/35_all_gcc51_config_arm.patch b/5.1.0/pie/35_all_gcc51_config_arm.patch index dec7122..815d74a 100644 --- a/5.1.0/pie/35_all_gcc51_config_arm.patch +++ b/5.1.0/pie/35_all_gcc51_config_arm.patch @@ -5,7 +5,7 @@ --- a/gcc/config/arm/arm.h 2013-01-15 17:17:28.000000000 +0100 +++ b/gcc/config/arm/arm.h 2013-02-18 22:45:18.327284928 +0100 -@@ -2326,6 +2326,12 @@ extern const char *host_detect_local_cpu +@@ -2326,6 +2326,14 @@ extern const char *host_detect_local_cpu # define EXTRA_SPEC_FUNCTIONS BIG_LITTLE_CPU_SPEC_FUNCTIONS #endif @@ -14,6 +14,8 @@ +# define DRIVER_SELF_SPECS \ + MCPU_MTUNE_NATIVE_SPECS, \ + ESP_DRIVER_SELF_SPEC ++/* https://bugs.gentoo.org/518598 */ ++# define ESP_NO_STACK_CHECK 1 +#else +# define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS +#endif diff --git a/5.1.0/pie/40_all_gcc49_config_esp.patch b/5.1.0/pie/40_all_gcc49_config_esp.patch index ec3482e..16cc2b4 100644 --- a/5.1.0/pie/40_all_gcc49_config_esp.patch +++ b/5.1.0/pie/40_all_gcc49_config_esp.patch @@ -5,7 +5,7 @@ --- gcc/config/esp.h 2010-04-09 16:14:00.000000000 +0200 +++ gcc/config/esp.h 2012-06-23 01:00:31.248348491 +0200 -@@ -0,0 +1,127 @@ +@@ -0,0 +1,132 @@ +/* License terms see GNU GENERAL PUBLIC LICENSE Version 3. + * Version 20140512.1 + * Magnus Granberg (Zorry) */ @@ -52,10 +52,15 @@ + /* This will add -fstack-protector-all if we don't have -nostdlib -nodefaultlibs -fno-stack-protector -fstack-protector + -fstack-protector-all and we have EFAULT_SSP or EFAULT_PIE_SSP defined. */ + #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP ) ++ #ifdef ESP_NO_STACK_CHECK ++ #define ESP_OPTIONS_STACK_CHECK_SPEC ++ #else ++ #define ESP_OPTIONS_STACK_CHECK_SPEC "%{fstack-check|fstack-check=*:;: -fstack-check}" ++ #endif + #define ESP_OPTIONS_SSP_SPEC \ + "%{nostdlib|ffreestanding|fno-stack-protector|fstack-protector| \ -+ fstack-protector-all|fstack-protector-strong:;:-fstack-protector-all} \ -+ %{fstack-check|fstack-check=*:;: -fstack-check}" ++ fstack-protector-all|fstack-protector-strong:;:-fstack-protector-all} " \ ++ ESP_OPTIONS_STACK_CHECK_SPEC + #else + #define ESP_OPTIONS_SSP_SPEC "" + #endif diff --git a/5.1.0/pie/README.Changelog b/5.1.0/pie/README.Changelog index 1863371..2b99aa7 100644 --- a/5.1.0/pie/README.Changelog +++ b/5.1.0/pie/README.Changelog @@ -1,3 +1,10 @@ +0.6.4 Mike Frysinger + + #518598 + * gcc/config/arm/elf.h (ESP_NO_STACK_CHECK): Define. + * gcc/config/esp.h (ESP_OPTIONS_SSP_SPEC): Do not add -fstack-check + when ESP_NO_STACK_CHECK is defined. + 0.6.3 Magnus Granberg * gcc/configure Regenerated diff --git a/5.1.0/pie/README.history b/5.1.0/pie/README.history index e30f353..fff983a 100644 --- a/5.1.0/pie/README.history +++ b/5.1.0/pie/README.history @@ -1,3 +1,6 @@ +0.6.4 29 Aug 2015 + U 35_all_gcc51_config_arm.patch + U 40_all_gcc49_config_esp.patch 0.6.3 26 Apr 2015 + 01_all_gcc51_configure.patch - 01_all_gcc49_configure.patch -- cgit v1.2.3-65-gdbad