summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch278
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.16.bb2
2 files changed, 261 insertions, 19 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch b/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
index 9a932ff0d7..60532cbd03 100644
--- a/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
+++ b/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
@@ -5,9 +5,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
5Upstream-Status: Pending 5Upstream-Status: Pending
6Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 6Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
7=================================================================== 7===================================================================
8--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-07-03 22:36:01.172386436 -0700 8--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
9+++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-07-03 23:04:37.396469515 -0700 9+++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
10@@ -40,7 +40,7 @@ 10@@ -40,7 +40,7 @@ static const float half = 0.5;
11 simultaneously. */ 11 simultaneously. */
12 12
13 double 13 double
@@ -16,7 +16,7 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
16 { 16 {
17 if (__builtin_expect (b > 0, 1)) 17 if (__builtin_expect (b > 0, 1))
18 { 18 {
19@@ -77,7 +77,7 @@ 19@@ -77,7 +77,7 @@ __ieee754_sqrt (double b)
20 20
21 /* Handle small numbers by scaling. */ 21 /* Handle small numbers by scaling. */
22 if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) 22 if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
@@ -25,7 +25,7 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
25 25
26 #define FMADD(a_, c_, b_) \ 26 #define FMADD(a_, c_, b_) \
27 ({ double __r; \ 27 ({ double __r; \
28@@ -126,4 +126,12 @@ 28@@ -126,4 +126,12 @@ __ieee754_sqrt (double b)
29 } 29 }
30 return f_wash (b); 30 return f_wash (b);
31 } 31 }
@@ -40,9 +40,9 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
40 strong_alias (__ieee754_sqrt, __sqrt_finite) 40 strong_alias (__ieee754_sqrt, __sqrt_finite)
41Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 41Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
42=================================================================== 42===================================================================
43--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-07-03 22:36:01.172386436 -0700 43--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
44+++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-07-03 23:07:06.260476775 -0700 44+++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
45@@ -38,7 +38,7 @@ 45@@ -38,7 +38,7 @@ static const float threehalf = 1.5;
46 square root. */ 46 square root. */
47 47
48 float 48 float
@@ -51,7 +51,7 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
51 { 51 {
52 if (__builtin_expect (b > 0, 1)) 52 if (__builtin_expect (b > 0, 1))
53 { 53 {
54@@ -93,4 +93,10 @@ 54@@ -93,4 +93,10 @@ __ieee754_sqrtf (float b)
55 } 55 }
56 return f_washf (b); 56 return f_washf (b);
57 } 57 }
@@ -64,9 +64,9 @@ Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
64 strong_alias (__ieee754_sqrtf, __sqrtf_finite) 64 strong_alias (__ieee754_sqrtf, __sqrtf_finite)
65Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 65Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
66=================================================================== 66===================================================================
67--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-07-03 22:36:01.176386435 -0700 67--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
68+++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-07-03 23:14:16.328497458 -0700 68+++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
69@@ -40,7 +40,7 @@ 69@@ -40,7 +40,7 @@ static const float half = 0.5;
70 simultaneously. */ 70 simultaneously. */
71 71
72 double 72 double
@@ -75,7 +75,7 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
75 { 75 {
76 if (__builtin_expect (b > 0, 1)) 76 if (__builtin_expect (b > 0, 1))
77 { 77 {
78@@ -77,7 +77,7 @@ 78@@ -77,7 +77,7 @@ __ieee754_sqrt (double b)
79 79
80 /* Handle small numbers by scaling. */ 80 /* Handle small numbers by scaling. */
81 if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) 81 if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
@@ -84,7 +84,7 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
84 84
85 #define FMADD(a_, c_, b_) \ 85 #define FMADD(a_, c_, b_) \
86 ({ double __r; \ 86 ({ double __r; \
87@@ -126,4 +126,12 @@ 87@@ -126,4 +126,12 @@ __ieee754_sqrt (double b)
88 } 88 }
89 return f_wash (b); 89 return f_wash (b);
90 } 90 }
@@ -99,9 +99,9 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
99 strong_alias (__ieee754_sqrt, __sqrt_finite) 99 strong_alias (__ieee754_sqrt, __sqrt_finite)
100Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 100Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
101=================================================================== 101===================================================================
102--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-07-03 22:36:01.176386435 -0700 102--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
103+++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-07-03 23:13:52.732496373 -0700 103+++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
104@@ -38,7 +38,7 @@ 104@@ -38,7 +38,7 @@ static const float threehalf = 1.5;
105 square root. */ 105 square root. */
106 106
107 float 107 float
@@ -110,7 +110,7 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
110 { 110 {
111 if (__builtin_expect (b > 0, 1)) 111 if (__builtin_expect (b > 0, 1))
112 { 112 {
113@@ -93,4 +93,10 @@ 113@@ -93,4 +93,11 @@ __ieee754_sqrtf (float b)
114 } 114 }
115 return f_washf (b); 115 return f_washf (b);
116 } 116 }
@@ -120,4 +120,246 @@ Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
120+{ 120+{
121+ return __slow_ieee754_sqrtf (x); 121+ return __slow_ieee754_sqrtf (x);
122+} 122+}
123+
124 strong_alias (__ieee754_sqrtf, __sqrtf_finite)
125Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
126===================================================================
127--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
128+++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c
129@@ -41,10 +41,10 @@ static const float half = 0.5;
130
131 #ifdef __STDC__
132 double
133-__ieee754_sqrt (double b)
134+__slow_ieee754_sqrt (double b)
135 #else
136 double
137-__ieee754_sqrt (b)
138+__slow_ieee754_sqrt (b)
139 double b;
140 #endif
141 {
142@@ -83,7 +83,7 @@ __ieee754_sqrt (b)
143
144 /* Handle small numbers by scaling. */
145 if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
146- return __ieee754_sqrt (b * two108) * twom54;
147+ return __slow_ieee754_sqrt (b * two108) * twom54;
148
149 #define FMADD(a_, c_, b_) \
150 ({ double __r; \
151@@ -132,4 +132,12 @@ __ieee754_sqrt (b)
152 }
153 return f_wash (b);
154 }
155+
156+#undef __ieee754_sqrt
157+double
158+__ieee754_sqrt (double x)
159+{
160+ return __slow_ieee754_sqrt (x);
161+}
162+
163 strong_alias (__ieee754_sqrt, __sqrt_finite)
164Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
165===================================================================
166--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
167+++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c
168@@ -39,10 +39,10 @@ static const float threehalf = 1.5;
169
170 #ifdef __STDC__
171 float
172-__ieee754_sqrtf (float b)
173+__slow_ieee754_sqrtf (float b)
174 #else
175 float
176-__ieee754_sqrtf (b)
177+__slow_ieee754_sqrtf (b)
178 float b;
179 #endif
180 {
181@@ -99,4 +99,12 @@ __ieee754_sqrtf (b)
182 }
183 return f_washf (b);
184 }
185+
186+#undef __ieee754_sqrtf
187+float
188+__ieee754_sqrtf (float x)
189+{
190+ return __slow_ieee754_sqrtf (x);
191+}
192+
193 strong_alias (__ieee754_sqrtf, __sqrtf_finite)
194Index: libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c
195===================================================================
196--- libc.orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c
197+++ libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c
198@@ -41,10 +41,10 @@ static const float half = 0.5;
199
200 #ifdef __STDC__
201 double
202-__ieee754_sqrt (double b)
203+__slow_ieee754_sqrt (double b)
204 #else
205 double
206-__ieee754_sqrt (b)
207+__slow_ieee754_sqrt (b)
208 double b;
209 #endif
210 {
211@@ -83,7 +83,7 @@ __ieee754_sqrt (b)
212
213 /* Handle small numbers by scaling. */
214 if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
215- return __ieee754_sqrt (b * two108) * twom54;
216+ return __slow_ieee754_sqrt (b * two108) * twom54;
217
218 #define FMADD(a_, c_, b_) \
219 ({ double __r; \
220@@ -132,4 +132,12 @@ __ieee754_sqrt (b)
221 }
222 return f_wash (b);
223 }
224+
225+#undef __ieee754_sqrt
226+double
227+__ieee754_sqrt (double x)
228+{
229+ return __slow_ieee754_sqrt (x);
230+}
231+
232 strong_alias (__ieee754_sqrt, __sqrt_finite)
233Index: libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c
234===================================================================
235--- libc.orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c
236+++ libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c
237@@ -39,10 +39,10 @@ static const float threehalf = 1.5;
238
239 #ifdef __STDC__
240 float
241-__ieee754_sqrtf (float b)
242+__slow_ieee754_sqrtf (float b)
243 #else
244 float
245-__ieee754_sqrtf (b)
246+__slow_ieee754_sqrtf (b)
247 float b;
248 #endif
249 {
250@@ -99,4 +99,12 @@ __ieee754_sqrtf (b)
251 }
252 return f_washf (b);
253 }
254+
255+#undef __ieee754_sqrtf
256+float
257+__ieee754_sqrtf (float x)
258+{
259+ return __slow_ieee754_sqrtf (x);
260+}
261+
262 strong_alias (__ieee754_sqrtf, __sqrtf_finite)
263Index: libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c
264===================================================================
265--- libc.orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c
266+++ libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c
267@@ -41,10 +41,10 @@ static const float half = 0.5;
268
269 #ifdef __STDC__
270 double
271-__ieee754_sqrt (double b)
272+__slow_ieee754_sqrt (double b)
273 #else
274 double
275-__ieee754_sqrt (b)
276+__slow_ieee754_sqrt (b)
277 double b;
278 #endif
279 {
280@@ -83,7 +83,7 @@ __ieee754_sqrt (b)
281
282 /* Handle small numbers by scaling. */
283 if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
284- return __ieee754_sqrt (b * two108) * twom54;
285+ return __slow_ieee754_sqrt (b * two108) * twom54;
286
287 #define FMADD(a_, c_, b_) \
288 ({ double __r; \
289@@ -132,4 +132,12 @@ __ieee754_sqrt (b)
290 }
291 return f_wash (b);
292 }
293+
294+#undef __ieee754_sqrt
295+double
296+__ieee754_sqrt (double x)
297+{
298+ return __slow_ieee754_sqrt (x);
299+}
300+
301 strong_alias (__ieee754_sqrt, __sqrt_finite)
302Index: libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c
303===================================================================
304--- libc.orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c
305+++ libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c
306@@ -39,10 +39,10 @@ static const float threehalf = 1.5;
307
308 #ifdef __STDC__
309 float
310-__ieee754_sqrtf (float b)
311+__slow_ieee754_sqrtf (float b)
312 #else
313 float
314-__ieee754_sqrtf (b)
315+__slow_ieee754_sqrtf (b)
316 float b;
317 #endif
318 {
319@@ -99,4 +99,12 @@ __ieee754_sqrtf (b)
320 }
321 return f_washf (b);
322 }
323+
324+#undef __ieee754_sqrtf
325+float
326+__ieee754_sqrtf (float x)
327+{
328+ return __slow_ieee754_sqrtf (x);
329+}
330+
331 strong_alias (__ieee754_sqrtf, __sqrtf_finite)
332Index: libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c
333===================================================================
334--- libc.orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c
335+++ libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c
336@@ -132,4 +132,12 @@ __ieee754_sqrt (b)
337 }
338 return f_wash (b);
339 }
340+
341+#undef __ieee754_sqrt
342+double
343+__ieee754_sqrt (double x)
344+{
345+ return __slow_ieee754_sqrt (x);
346+}
347+
348 strong_alias (__ieee754_sqrt, __sqrt_finite)
349Index: libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c
350===================================================================
351--- libc.orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c
352+++ libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c
353@@ -99,4 +99,12 @@ __ieee754_sqrtf (b)
354 }
355 return f_washf (b);
356 }
357+
358+#undef __ieee754_sqrtf
359+float
360+__ieee754_sqrtf (float x)
361+{
362+ return __slow_ieee754_sqrtf (x);
363+}
364+
123 strong_alias (__ieee754_sqrtf, __sqrtf_finite) 365 strong_alias (__ieee754_sqrtf, __sqrtf_finite)
diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
index 4f07c1c049..278108058b 100644
--- a/meta/recipes-core/eglibc/eglibc_2.16.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
@@ -3,7 +3,7 @@ require eglibc.inc
3SRCREV = "20393" 3SRCREV = "20393"
4 4
5DEPENDS += "gperf-native kconfig-frontends-native" 5DEPENDS += "gperf-native kconfig-frontends-native"
6PR = "r12" 6PR = "r13"
7PR_append = "+svnr${SRCPV}" 7PR_append = "+svnr${SRCPV}"
8 8
9EGLIBC_BRANCH="eglibc-2_16" 9EGLIBC_BRANCH="eglibc-2_16"