diff options
author | Koen Kooi <koen@openembedded.org> | 2008-07-12 19:52:29 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2008-07-12 19:52:29 +0000 |
commit | f458615859f8ce14c0d42a70fb06c628a54b9e96 (patch) | |
tree | 343bbb0a5a14a0df82a83eb6cf08335cc8f3e3fb /packages/gcc | |
parent | 500773fabd0af9c1e1a7fd358a20cfadbf3e6bc4 (diff) |
gcc csl 2007q3: add patch to fix segfaults when using -Os
Diffstat (limited to 'packages/gcc')
-rw-r--r-- | packages/gcc/gcc-cross_csl-arm-2007q3.bb | 2 | ||||
-rw-r--r-- | packages/gcc/gcc-csl-arm-2007q3.inc | 1 | ||||
-rw-r--r-- | packages/gcc/gcc-csl-arm-2007q3/gcc-Os-fix.diff | 12 | ||||
-rw-r--r-- | packages/gcc/gcc_csl-arm-2007q3.bb | 2 |
4 files changed, 15 insertions, 2 deletions
diff --git a/packages/gcc/gcc-cross_csl-arm-2007q3.bb b/packages/gcc/gcc-cross_csl-arm-2007q3.bb index cd10cfbdef..295353a0f8 100644 --- a/packages/gcc/gcc-cross_csl-arm-2007q3.bb +++ b/packages/gcc/gcc-cross_csl-arm-2007q3.bb @@ -1,4 +1,4 @@ -PR = "r1" +PR = "r2" require gcc-csl-arm-2007q3.inc require gcc-cross4.inc diff --git a/packages/gcc/gcc-csl-arm-2007q3.inc b/packages/gcc/gcc-csl-arm-2007q3.inc index 601b4f0110..a3da6c9ca3 100644 --- a/packages/gcc/gcc-csl-arm-2007q3.inc +++ b/packages/gcc/gcc-csl-arm-2007q3.inc @@ -30,6 +30,7 @@ SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-20 # file://fortran-static-linking.patch;patch=1 \ # file://gcc-configure-no-fortran.patch;patch=1;pnum=1 \ # file://gcc-new-makeinfo.patch;patch=1 \ + file://gcc-Os-fix.diff;patch=1 \ " diff --git a/packages/gcc/gcc-csl-arm-2007q3/gcc-Os-fix.diff b/packages/gcc/gcc-csl-arm-2007q3/gcc-Os-fix.diff new file mode 100644 index 0000000000..422091f2e7 --- /dev/null +++ b/packages/gcc/gcc-csl-arm-2007q3/gcc-Os-fix.diff @@ -0,0 +1,12 @@ +--- /tmp/arm.c 2008-07-12 21:44:16.000000000 +0200 ++++ gcc-4.2/gcc/config/arm/arm.c 2008-07-12 21:45:48.393198000 +0200 +@@ -11591,7 +11591,8 @@ + && count != 0 + && !current_function_calls_eh_return + && bit_count(saved_regs_mask) * 4 == count +- && !IS_INTERRUPT (func_type)) ++ && !IS_INTERRUPT (func_type) ++ && !cfun->tail_call_emit) + { + unsigned long mask; + mask = (1 << (arm_size_return_regs() / 4)) - 1; diff --git a/packages/gcc/gcc_csl-arm-2007q3.bb b/packages/gcc/gcc_csl-arm-2007q3.bb index 832167ca4e..4999c6a53e 100644 --- a/packages/gcc/gcc_csl-arm-2007q3.bb +++ b/packages/gcc/gcc_csl-arm-2007q3.bb @@ -1,4 +1,4 @@ -PR = "r1" +PR = "r2" require gcc-${PV}.inc require gcc-configure-target.inc |