From 8e1eef82a09c14668a125c720cfcd354bbeb42cf Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 7 Oct 2010 12:45:36 -0700 Subject: gcc-4.5: Fix asm out of range errors seen on thumb when using -O1 Signed-off-by: Khem Raj --- recipes/gcc/gcc-4.5.inc | 3 ++- .../gcc-4.5/thumb-asm-out-of-range-pr43961.patch | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 recipes/gcc/gcc-4.5/thumb-asm-out-of-range-pr43961.patch (limited to 'recipes/gcc') diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc index 36d12ecd11..0fe53b4e75 100644 --- a/recipes/gcc/gcc-4.5.inc +++ b/recipes/gcc/gcc-4.5.inc @@ -8,7 +8,7 @@ DEPENDS = "mpfr gmp libmpc libelf" NATIVEDEPS = "mpfr-native gmp-native libmpc-native" -INC_PR = "r12" +INC_PR = "r13" SRCREV = "164562" PV = "4.5" @@ -119,6 +119,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \ file://linaro/gcc-4.5-linaro-r99398.patch \ file://gcc-vmovl-PR45805.patch \ file://gcc-scalar-widening-pr45847.patch \ + file://thumb-asm-out-of-range-pr43961.patch \ " SRC_URI_append_mips64 = " file://mips64-nomultilib.patch" diff --git a/recipes/gcc/gcc-4.5/thumb-asm-out-of-range-pr43961.patch b/recipes/gcc/gcc-4.5/thumb-asm-out-of-range-pr43961.patch new file mode 100644 index 0000000000..ec7e823758 --- /dev/null +++ b/recipes/gcc/gcc-4.5/thumb-asm-out-of-range-pr43961.patch @@ -0,0 +1,21 @@ +gcc/ + +2010-06-22 Mikael Pettersson + + PR target/43961 + * config/arm/arm.h (ADDR_VEC_ALIGN): Describe added + alignment for Thumb-1 compressed switch tables. + +--- gcc-4.6-20100619/gcc/config/arm/arm.h.~1~ 2010-06-16 20:02:58.000000000 +0200 ++++ gcc-4.6-20100619/gcc/config/arm/arm.h 2010-06-22 14:03:52.000000000 +0200 +@@ -2320,7 +2320,8 @@ extern int making_const_table; + } while (0) + + /* Jump table alignment is explicit in ASM_OUTPUT_CASE_LABEL. */ +-#define ADDR_VEC_ALIGN(JUMPTABLE) 0 ++#define ADDR_VEC_ALIGN(JUMPTABLE) \ ++ ((TARGET_THUMB && GET_MODE (PATTERN (JUMPTABLE)) == SImode) ? 2 : 0) + + /* This is how to output a label which precedes a jumptable. Since + Thumb instructions are 2 bytes, we may need explicit alignment here. */ + -- cgit 1.2.3-korg