diff options
| author | Khem Raj <raj.khem@gmail.com> | 2011-12-05 21:21:21 -0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-12-06 14:38:43 +0000 |
| commit | bf6be18e9f4f36e4fea67b40bd9851ace53fc9fb (patch) | |
| tree | f5b194b9bccb40c65d6c9bee7ad641a2e1662247 | |
| parent | c7a91dac2c8c3e66d42731c558fc3fdd89766b99 (diff) | |
| download | poky-bf6be18e9f4f36e4fea67b40bd9851ace53fc9fb.tar.gz | |
gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlib
This patch is a backport of http://patchwork.ozlabs.org/patch/110517/
(From OE-Core rev: 048c31c4e19d1bb060c79011cb25dfeff51c3ef1)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/conf/distro/include/tcmode-default.inc | 4 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.inc | 3 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch | 34 |
3 files changed, 36 insertions, 5 deletions
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index 997400c376..5bb253e9ce 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc | |||
| @@ -23,10 +23,6 @@ EGLIBCVERSION ?= "2.13" | |||
| 23 | UCLIBCVERSION ?= "0.9.32" | 23 | UCLIBCVERSION ?= "0.9.32" |
| 24 | LINUXLIBCVERSION ?= "3.1" | 24 | LINUXLIBCVERSION ?= "3.1" |
| 25 | 25 | ||
| 26 | # Temporary workaround for gcc 4.6.0 ICE with beagleboard | ||
| 27 | # gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47719 | ||
| 28 | TARGET_CC_ARCH_arm_pn-mesa-xlib := "${@'${TARGET_CC_ARCH}'.replace('armv7-a','armv5')}" | ||
| 29 | |||
| 30 | PREFERRED_VERSION_gcc ?= "${GCCVERSION}" | 26 | PREFERRED_VERSION_gcc ?= "${GCCVERSION}" |
| 31 | PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}" | 27 | PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}" |
| 32 | PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}" | 28 | PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}" |
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc index 7cd08500d1..18e05363f5 100644 --- a/meta/recipes-devtools/gcc/gcc-4.6.inc +++ b/meta/recipes-devtools/gcc/gcc-4.6.inc | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | require gcc-common.inc | 1 | require gcc-common.inc |
| 2 | 2 | ||
| 3 | PR = "r18" | 3 | PR = "r19" |
| 4 | 4 | ||
| 5 | # Third digit in PV should be incremented after a minor release | 5 | # Third digit in PV should be incremented after a minor release |
| 6 | # happens from this branch on gcc e.g. currently its 4.6.0 | 6 | # happens from this branch on gcc e.g. currently its 4.6.0 |
| @@ -72,6 +72,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \ | |||
| 72 | file://pr46934.patch \ | 72 | file://pr46934.patch \ |
| 73 | file://pr32219.patch \ | 73 | file://pr32219.patch \ |
| 74 | file://pr47551.patch \ | 74 | file://pr47551.patch \ |
| 75 | file://gcc-arm-set-cost.patch \ | ||
| 75 | " | 76 | " |
| 76 | 77 | ||
| 77 | SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " | 78 | SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " |
diff --git a/meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch b/meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch new file mode 100644 index 0000000000..04dabaf604 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | 2011-08-18 Richard Sandiford <richard.sandiford@linaro.org> | ||
| 2 | |||
| 3 | gcc/ | ||
| 4 | Backport from mainline: | ||
| 5 | |||
| 6 | 2011-08-18 Richard Sandiford <richard.sandiford@linaro.org> | ||
| 7 | |||
| 8 | * config/arm/arm.c (arm_rtx_costs_1): Don't modify the costs of SET. | ||
| 9 | (arm_size_rtx_costs): Likewise. | ||
| 10 | |||
| 11 | === modified file 'gcc/config/arm/arm.c' | ||
| 12 | --- old/gcc/config/arm/arm.c 2011-08-12 08:08:31 +0000 | ||
| 13 | +++ new/gcc/config/arm/arm.c 2011-08-18 13:53:37 +0000 | ||
| 14 | @@ -7464,6 +7464,9 @@ | ||
| 15 | *total = COSTS_N_INSNS (4); | ||
| 16 | return true; | ||
| 17 | |||
| 18 | + case SET: | ||
| 19 | + return false; | ||
| 20 | + | ||
| 21 | default: | ||
| 22 | *total = COSTS_N_INSNS (4); | ||
| 23 | return false; | ||
| 24 | @@ -7811,6 +7814,9 @@ | ||
| 25 | *total = COSTS_N_INSNS (1) + 1; | ||
| 26 | return true; | ||
| 27 | |||
| 28 | + case SET: | ||
| 29 | + return false; | ||
| 30 | + | ||
| 31 | default: | ||
| 32 | if (mode != VOIDmode) | ||
| 33 | *total = COSTS_N_INSNS (ARM_NUM_REGS (mode)); | ||
| 34 | |||
