summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
diff options
context:
space:
mode:
authorIlya Yanok <yanok@emcraft.com>2011-07-19 03:00:58 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-20 15:27:36 +0100
commitef2c0ef14cecc0962a7e3d7170aa252721ba88c0 (patch)
tree772c3459274337aa146c37c6fcd7c402bf6619cd /meta/recipes-devtools/gcc
parenteb83c447613005448af558603e151381b2d602b4 (diff)
downloadpoky-ef2c0ef14cecc0962a7e3d7170aa252721ba88c0.tar.gz
gcc_4.5.1: add pr45886.patch
Add fix for PR45886 as proposed in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45886 (From OE-Core rev: d639fad9ce510e0a1c64c66bbda48b4a2436327b) Signed-off-by: Ilya Yanok <yanok@emcraft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.5.1.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.5.1/pr45886.patch55
2 files changed, 56 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1.inc b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
index 03dca08189..1b21a75eb3 100644
--- a/meta/recipes-devtools/gcc/gcc-4.5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
@@ -63,6 +63,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
63 file://pr44606.patch \ 63 file://pr44606.patch \
64 file://pr45094.patch \ 64 file://pr45094.patch \
65 file://pr45052.patch \ 65 file://pr45052.patch \
66 file://pr45886.patch \
66 " 67 "
67 68
68SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " 69SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/pr45886.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/pr45886.patch
new file mode 100644
index 0000000000..36aa37e4ac
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1/pr45886.patch
@@ -0,0 +1,55 @@
1From d066d0682da4e60b811d9282b00128244caa5c29 Mon Sep 17 00:00:00 2001
2From: Ilya Yanok <yanok@emcraft.com>
3Date: Mon, 21 Mar 2011 00:55:25 +0100
4Subject: [PATCH 6/6] PR45886
5
6---
7 gcc/config/arm/arm.c | 2 +-
8 gcc/config/arm/arm.h | 11 ++++++++++-
9 2 files changed, 11 insertions(+), 2 deletions(-)
10
11diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
12index 0382b24..5634829 100644
13--- a/gcc/config/arm/arm.c
14+++ b/gcc/config/arm/arm.c
15@@ -700,7 +700,7 @@ static int after_arm_reorg = 0;
16 /* The maximum number of insns to be used when loading a constant. */
17 static int arm_constant_limit = 3;
18
19-static enum arm_pcs arm_pcs_default;
20+enum arm_pcs arm_pcs_default;
21
22 /* For an explanation of these variables, see final_prescan_insn below. */
23 int arm_ccfsm_state;
24diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
25index 26ffaf8..ac7bbb3 100644
26--- a/gcc/config/arm/arm.h
27+++ b/gcc/config/arm/arm.h
28@@ -94,7 +94,13 @@ extern char arm_arch_name[];
29 if (arm_arch_iwmmxt) \
30 builtin_define ("__IWMMXT__"); \
31 if (TARGET_AAPCS_BASED) \
32- builtin_define ("__ARM_EABI__"); \
33+ { \
34+ if (arm_pcs_default == ARM_PCS_AAPCS_VFP) \
35+ builtin_define ("__ARM_PCS_VFP"); \
36+ else if (arm_pcs_default == ARM_PCS_AAPCS) \
37+ builtin_define ("__ARM_PCS"); \
38+ builtin_define ("__ARM_EABI__"); \
39+ } \
40 } while (0)
41
42 /* The various ARM cores. */
43@@ -1648,6 +1654,9 @@ enum arm_pcs
44 ARM_PCS_UNKNOWN
45 };
46
47+/* Default procedure calling standard of current compilation unit. */
48+extern enum arm_pcs arm_pcs_default;
49+
50 /* A C type for declaring a variable that is used as the first argument of
51 `FUNCTION_ARG' and other related values. */
52 typedef struct
53--
541.7.4
55