aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch')
-rw-r--r--recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch b/recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch
new file mode 100644
index 0000000000..3d5dd5f9ab
--- /dev/null
+++ b/recipes/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99315.patch
@@ -0,0 +1,57 @@
+2010-08-03 Chung-Lin Tang <cltang@codesourcery.com>
+
+ Backport from mainline:
+
+ gcc/
+ 2010-07-28 Chung-Lin Tang <cltang@codesourcery.com>
+ * config/arm/arm.c (arm_pcs_default): Remove static.
+ * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
+ __ARM_PCS_VFP to indicate soft/hard-float calling convention.
+ (arm_pcs_default): Declare.
+
+ 2010-07-16 Jie Zhang <jie@codesourcery.com>
+
+ Issue #7688
+
+=== modified file 'gcc/config/arm/arm.c'
+--- old/gcc/config/arm/arm.c 2010-08-02 13:42:24 +0000
++++ new/gcc/config/arm/arm.c 2010-08-03 13:55:46 +0000
+@@ -704,7 +704,7 @@
+ /* The maximum number of insns to be used when loading a constant. */
+ static int arm_constant_limit = 3;
+
+-static enum arm_pcs arm_pcs_default;
++enum arm_pcs arm_pcs_default;
+
+ /* For an explanation of these variables, see final_prescan_insn below. */
+ int arm_ccfsm_state;
+
+=== modified file 'gcc/config/arm/arm.h'
+--- old/gcc/config/arm/arm.h 2010-07-29 16:58:56 +0000
++++ new/gcc/config/arm/arm.h 2010-08-03 10:40:56 +0000
+@@ -94,7 +94,13 @@
+ if (arm_arch_iwmmxt) \
+ builtin_define ("__IWMMXT__"); \
+ if (TARGET_AAPCS_BASED) \
+- builtin_define ("__ARM_EABI__"); \
++ { \
++ if (arm_pcs_default == ARM_PCS_AAPCS_VFP) \
++ builtin_define ("__ARM_PCS_VFP"); \
++ else if (arm_pcs_default == ARM_PCS_AAPCS) \
++ builtin_define ("__ARM_PCS"); \
++ builtin_define ("__ARM_EABI__"); \
++ } \
+ } while (0)
+
+ /* The various ARM cores. */
+@@ -1648,6 +1654,9 @@
+ ARM_PCS_UNKNOWN
+ };
+
++/* Default procedure calling standard of current compilation unit. */
++extern enum arm_pcs arm_pcs_default;
++
+ /* A C type for declaring a variable that is used as the first argument of
+ `FUNCTION_ARG' and other related values. */
+ typedef struct
+