summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-4.2.2/arm-crunch-eabi-ieee754.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/gcc/gcc-4.2.2/arm-crunch-eabi-ieee754.patch')
-rw-r--r--meta/packages/gcc/gcc-4.2.2/arm-crunch-eabi-ieee754.patch100
1 files changed, 100 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-4.2.2/arm-crunch-eabi-ieee754.patch b/meta/packages/gcc/gcc-4.2.2/arm-crunch-eabi-ieee754.patch
new file mode 100644
index 0000000000..e4929fa20e
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.2.2/arm-crunch-eabi-ieee754.patch
@@ -0,0 +1,100 @@
1--- ../gcc-cross-4.1.2-r4-unpatched/gcc-4.1.2/gcc/config/arm/ieee754-df.S 2007-06-07 13:06:52.000000000 +1000
2+++ gcc-4.1.2/gcc/config/arm/ieee754-df.S 2007-06-07 13:15:49.000000000 +1000
3@@ -42,8 +42,9 @@
4
5
6 @ For FPA, float words are always big-endian.
7+@ For MAVERICK, float words are always little-endian.
8 @ For VFP, floats words follow the memory system mode.
9-#if defined(__VFP_FP__) && !defined(__ARMEB__)
10+#if ((defined(__VFP_FP__) && !defined(__ARMEB__)) || defined(__MAVERICK__))
11 #define xl r0
12 #define xh r1
13 #define yl r2
14@@ -451,8 +452,13 @@
15
16 orrs r2, r0, r1
17 #if !defined (__VFP_FP__) && !defined(__SOFTFP__)
18+#if defined (__FPA_FP__)
19 mvfeqd f0, #0.0
20 #endif
21+#if defined (__MAVERICK__)
22+ cfstrd mvd0, #0.0
23+#endif
24+#endif
25 RETc(eq)
26
27 #if !defined (__VFP_FP__) && !defined(__SOFTFP__)
28@@ -473,8 +479,13 @@
29
30 orrs r2, r0, r1
31 #if !defined (__VFP_FP__) && !defined(__SOFTFP__)
32+#if defined (__FPA_FP__)
33 mvfeqd f0, #0.0
34 #endif
35+#if defined (__MAVERICK__)
36+ cfstrd mvd0, #0.0
37+#endif
38+#endif
39 RETc(eq)
40
41 #if !defined (__VFP_FP__) && !defined(__SOFTFP__)
42@@ -526,8 +537,14 @@
43 @ Legacy code expects the result to be returned in f0. Copy it
44 @ there as well.
45 LSYM(f0_ret):
46+#if defined (__FPA_FP__)
47 stmfd sp!, {r0, r1}
48 ldfd f0, [sp], #8
49+#endif
50+#if defined (__MAVERICK__)
51+ cfmvdlr mvd0, xl
52+ cfmvdhr mvd0, xh
53+#endif
54 RETLDM
55
56 #endif
57--- ../gcc-cross-4.1.2-r4-unpatched/gcc-4.1.2/gcc/config/arm/ieee754-sf.S 2007-06-07 13:06:52.000000000 +1000
58+++ gcc-4.1.2/gcc/config/arm/ieee754-sf.S 2007-06-07 13:21:43.000000000 +1000
59@@ -302,8 +302,13 @@
60
61 orrs r2, r0, r1
62 #if !defined (__VFP_FP__) && !defined(__SOFTFP__)
63+#if defined (__FPA_FP__)
64 mvfeqs f0, #0.0
65 #endif
66+#if defined (__MAVERICK__)
67+ cfmvsr mvf0, #0.0
68+#endif
69+#endif
70 RETc(eq)
71
72 mov r3, #0
73@@ -314,8 +319,13 @@
74
75 orrs r2, r0, r1
76 #if !defined (__VFP_FP__) && !defined(__SOFTFP__)
77+#if defined (__FPA_FP__)
78 mvfeqs f0, #0.0
79 #endif
80+#if defined (__MAVERICK__)
81+ cfmvsr mvf0, #0.0
82+#endif
83+#endif
84 RETc(eq)
85
86 ands r3, ah, #0x80000000 @ sign bit in r3
87@@ -387,8 +397,13 @@
88 #if !defined (__VFP_FP__) && !defined(__SOFTFP__)
89
90 LSYM(f0_ret):
91+#if defined (__FPA_FP__)
92 str r0, [sp, #-4]!
93 ldfs f0, [sp], #4
94+#endif
95+#if defined (__MAVERICK__)
96+ cfmvsr mvf0, r0
97+#endif
98 RETLDM
99
100 #endif