summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc-2.10.1
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/glibc/glibc-2.10.1')
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/arm-longlong.patch60
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/arm-memcpy.patch760
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/dl-cache-libcmp.patch12
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/etc/ld.so.conf2
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/fhs-linux-paths.patch13
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/generate-supported.mk11
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/generic-bits_select.h35
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/generic-bits_time.h75
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/generic-bits_types.h200
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/generic-bits_typesizes.h66
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/glibc-2.9-enable-binutils-2.2.patch37
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/glibc-arm-IO-acquire-lock-fix.diff15
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/glibc-arm-no-asm-page.patch17
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/glibc-check_pf.patch345
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/ldd-unbash.patch13
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/ldsocache-varrun.patch20
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/march-i686.patch39
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/mips-rld-map-check.patch23
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/nptl-crosscompile.patch28
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/nscd-init.patch41
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/powerpc-sqrt-hack.diff27
-rw-r--r--meta/recipes-core/glibc/glibc-2.10.1/rulesfix.patch15
22 files changed, 0 insertions, 1854 deletions
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/arm-longlong.patch b/meta/recipes-core/glibc/glibc-2.10.1/arm-longlong.patch
deleted file mode 100644
index ce67d7e0a8..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/arm-longlong.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3--- glibc-2.4/stdlib/longlong.h.ark 2006-03-11 22:49:27.000000000 +0100
4+++ glibc-2.4/stdlib/longlong.h 2006-03-11 22:55:12.000000000 +0100
5@@ -206,6 +206,14 @@
6 "rI" ((USItype) (bh)), \
7 "r" ((USItype) (al)), \
8 "rI" ((USItype) (bl)) __CLOBBER_CC)
9+/* v3m and all higher arches have long multiply support. */
10+#if !defined(__ARM_ARCH_2__) && !defined(__ARM_ARCH_3__)
11+#define umul_ppmm(xh, xl, a, b) \
12+ __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
13+#define UMUL_TIME 5
14+#define smul_ppmm(xh, xl, a, b) \
15+ __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
16+#else
17 #define umul_ppmm(xh, xl, a, b) \
18 {register USItype __t0, __t1, __t2; \
19 __asm__ ("%@ Inlined umul_ppmm\n" \
20@@ -227,7 +235,13 @@
21 : "r" ((USItype) (a)), \
22 "r" ((USItype) (b)) __CLOBBER_CC );}
23 #define UMUL_TIME 20
24+#endif
25 #define UDIV_TIME 100
26+#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
27+#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X))
28+#define COUNT_LEADING_ZEROS_0 32
29+#endif
30+
31 #endif /* __arm__ */
32
33 #if defined (__hppa) && W_TYPE_SIZE == 32
34--- glibc-2.4/ports/sysdeps/arm/mp_clz_tab.c.ark 2006-03-11 22:56:43.000000000 +0100
35+++ glibc-2.4/ports/sysdeps/arm/mp_clz_tab.c 2006-03-11 22:58:19.000000000 +0100
36@@ -0,0 +1,24 @@
37+/* __clz_tab -- support for longlong.h
38+ Copyright (C) 2004 Free Software Foundation, Inc.
39+ This file is part of the GNU C Library.
40+
41+ The GNU C Library is free software; you can redistribute it and/or
42+ modify it under the terms of the GNU Lesser General Public
43+ License as published by the Free Software Foundation; either
44+ version 2.1 of the License, or (at your option) any later version.
45+
46+ The GNU C Library is distributed in the hope that it will be useful,
47+ but WITHOUT ANY WARRANTY; without even the implied warranty of
48+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
49+ Lesser General Public License for more details.
50+
51+ You should have received a copy of the GNU Lesser General Public
52+ License along with the GNU C Library; if not, write to the Free
53+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
54+ 02111-1307 USA. */
55+
56+#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
57+/* Nothing required. */
58+#else
59+#include <stdlib/mp_clz_tab.c>
60+#endif
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/arm-memcpy.patch b/meta/recipes-core/glibc/glibc-2.10.1/arm-memcpy.patch
deleted file mode 100644
index f50d481aff..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/arm-memcpy.patch
+++ /dev/null
@@ -1,760 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3--- /dev/null 2004-02-02 20:32:13.000000000 +0000
4+++ sysdeps/arm/memmove.S 2004-03-20 18:37:23.000000000 +0000
5@@ -0,0 +1,251 @@
6+/*
7+ * Optimized memmove implementation for ARM processors
8+ *
9+ * Author: Nicolas Pitre
10+ * Created: Dec 23, 2003
11+ * Copyright: (C) MontaVista Software, Inc.
12+ *
13+ * This file is free software; you can redistribute it and/or
14+ * modify it under the terms of the GNU Lesser General Public
15+ * License as published by the Free Software Foundation; either
16+ * version 2.1 of the License, or (at your option) any later version.
17+ *
18+ * This file is distributed in the hope that it will be useful,
19+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
20+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21+ * Lesser General Public License for more details.
22+ */
23+
24+#include <sysdep.h>
25+
26+
27+/*
28+ * Endian independent macros for shifting bytes within registers.
29+ */
30+#ifndef __ARMEB__
31+#define pull lsr
32+#define push lsl
33+#else
34+#define pull lsl
35+#define push lsr
36+#endif
37+
38+/*
39+ * Enable data preload for architectures that support it (ARMv5 and above)
40+ */
41+#if defined(__ARM_ARCH_5__) || \
42+ defined(__ARM_ARCH_5T__) || \
43+ defined(__ARM_ARCH_5TE__)
44+#define PLD(code...) code
45+#else
46+#define PLD(code...)
47+#endif
48+
49+
50+/* char * memmove (char *dst, const char *src) */
51+ENTRY(memmove)
52+ subs ip, r0, r1
53+ cmphi r2, ip
54+ bls memcpy(PLT)
55+
56+ stmfd sp!, {r0, r4, lr}
57+ add r1, r1, r2
58+ add r0, r0, r2
59+ subs r2, r2, #4
60+ blt 25f
61+ ands ip, r0, #3
62+ PLD( pld [r1, #-4] )
63+ bne 26f
64+ ands ip, r1, #3
65+ bne 27f
66+
67+19: subs r2, r2, #4
68+ blt 24f
69+ subs r2, r2, #8
70+ blt 23f
71+ subs r2, r2, #16
72+ blt 22f
73+
74+ PLD( pld [r1, #-32] )
75+ PLD( subs r2, r2, #96 )
76+ stmfd sp!, {r5 - r8}
77+ PLD( blt 21f )
78+
79+ PLD( @ cache alignment )
80+ PLD( ands ip, r1, #31 )
81+ PLD( pld [r1, #-64] )
82+ PLD( beq 20f )
83+ PLD( cmp r2, ip )
84+ PLD( pld [r1, #-96] )
85+ PLD( blt 20f )
86+ PLD( cmp ip, #16 )
87+ PLD( sub r2, r2, ip )
88+ PLD( ldmgedb r1!, {r3 - r6} )
89+ PLD( stmgedb r0!, {r3 - r6} )
90+ PLD( beq 20f )
91+ PLD( and ip, ip, #15 )
92+ PLD( cmp ip, #8 )
93+ PLD( ldr r3, [r1, #-4]! )
94+ PLD( ldrge r4, [r1, #-4]! )
95+ PLD( ldrgt r5, [r1, #-4]! )
96+ PLD( str r3, [r0, #-4]! )
97+ PLD( strge r4, [r0, #-4]! )
98+ PLD( strgt r5, [r0, #-4]! )
99+
100+20: PLD( pld [r1, #-96] )
101+ PLD( pld [r1, #-128] )
102+21: ldmdb r1!, {r3, r4, ip, lr}
103+ subs r2, r2, #32
104+ stmdb r0!, {r3, r4, ip, lr}
105+ ldmdb r1!, {r3, r4, ip, lr}
106+ stmgedb r0!, {r3, r4, ip, lr}
107+ ldmgedb r1!, {r3, r4, ip, lr}
108+ stmgedb r0!, {r3, r4, ip, lr}
109+ ldmgedb r1!, {r3, r4, ip, lr}
110+ subges r2, r2, #32
111+ stmdb r0!, {r3, r4, ip, lr}
112+ bge 20b
113+ PLD( cmn r2, #96 )
114+ PLD( bge 21b )
115+ PLD( add r2, r2, #96 )
116+ tst r2, #31
117+ ldmfd sp!, {r5 - r8}
118+ ldmeqfd sp!, {r0, r4, pc}
119+
120+ tst r2, #16
121+22: ldmnedb r1!, {r3, r4, ip, lr}
122+ stmnedb r0!, {r3, r4, ip, lr}
123+
124+ tst r2, #8
125+23: ldmnedb r1!, {r3, r4}
126+ stmnedb r0!, {r3, r4}
127+
128+ tst r2, #4
129+24: ldrne r3, [r1, #-4]!
130+ strne r3, [r0, #-4]!
131+
132+25: ands r2, r2, #3
133+ ldmeqfd sp!, {r0, r4, pc}
134+
135+ cmp r2, #2
136+ ldrb r3, [r1, #-1]
137+ ldrgeb r4, [r1, #-2]
138+ ldrgtb ip, [r1, #-3]
139+ strb r3, [r0, #-1]
140+ strgeb r4, [r0, #-2]
141+ strgtb ip, [r0, #-3]
142+ ldmfd sp!, {r0, r4, pc}
143+
144+26: cmp ip, #2
145+ ldrb r3, [r1, #-1]!
146+ ldrgeb r4, [r1, #-1]!
147+ ldrgtb lr, [r1, #-1]!
148+ strb r3, [r0, #-1]!
149+ strgeb r4, [r0, #-1]!
150+ strgtb lr, [r0, #-1]!
151+ subs r2, r2, ip
152+ blt 25b
153+ ands ip, r1, #3
154+ beq 19b
155+
156+27: bic r1, r1, #3
157+ cmp ip, #2
158+ ldr r3, [r1]
159+ beq 35f
160+ blt 36f
161+
162+
163+ .macro backward_copy_shift push pull
164+
165+ cmp r2, #12
166+ PLD( pld [r1, #-4] )
167+ blt 33f
168+ subs r2, r2, #28
169+ stmfd sp!, {r5 - r9}
170+ blt 31f
171+
172+ PLD( subs r2, r2, #96 )
173+ PLD( pld [r1, #-32] )
174+ PLD( blt 30f )
175+ PLD( pld [r1, #-64] )
176+
177+ PLD( @ cache alignment )
178+ PLD( ands ip, r1, #31 )
179+ PLD( pld [r1, #-96] )
180+ PLD( beq 29f )
181+ PLD( cmp r2, ip )
182+ PLD( pld [r1, #-128] )
183+ PLD( blt 29f )
184+ PLD( sub r2, r2, ip )
185+28: PLD( mov r4, r3, push #\push )
186+ PLD( ldr r3, [r1, #-4]! )
187+ PLD( subs ip, ip, #4 )
188+ PLD( orr r4, r4, r3, pull #\pull )
189+ PLD( str r4, [r0, #-4]! )
190+ PLD( bgt 28b )
191+
192+29: PLD( pld [r1, #-128] )
193+30: mov lr, r3, push #\push
194+ ldmdb r1!, {r3 - r9, ip}
195+ subs r2, r2, #32
196+ orr lr, lr, ip, pull #\pull
197+ mov ip, ip, push #\push
198+ orr ip, ip, r9, pull #\pull
199+ mov r9, r9, push #\push
200+ orr r9, r9, r8, pull #\pull
201+ mov r8, r8, push #\push
202+ orr r8, r8, r7, pull #\pull
203+ mov r7, r7, push #\push
204+ orr r7, r7, r6, pull #\pull
205+ mov r6, r6, push #\push
206+ orr r6, r6, r5, pull #\pull
207+ mov r5, r5, push #\push
208+ orr r5, r5, r4, pull #\pull
209+ mov r4, r4, push #\push
210+ orr r4, r4, r3, pull #\pull
211+ stmdb r0!, {r4 - r9, ip, lr}
212+ bge 29b
213+ PLD( cmn r2, #96 )
214+ PLD( bge 30b )
215+ PLD( add r2, r2, #96 )
216+ cmn r2, #16
217+ blt 32f
218+31: mov r7, r3, push #\push
219+ ldmdb r1!, {r3 - r6}
220+ sub r2, r2, #16
221+ orr r7, r7, r6, pull #\pull
222+ mov r6, r6, push #\push
223+ orr r6, r6, r5, pull #\pull
224+ mov r5, r5, push #\push
225+ orr r5, r5, r4, pull #\pull
226+ mov r4, r4, push #\push
227+ orr r4, r4, r3, pull #\pull
228+ stmdb r0!, {r4 - r7}
229+32: adds r2, r2, #28
230+ ldmfd sp!, {r5 - r9}
231+ blt 34f
232+33: mov r4, r3, push #\push
233+ ldr r3, [r1, #-4]!
234+ subs r2, r2, #4
235+ orr r4, r4, r3, pull #\pull
236+ str r4, [r0, #-4]!
237+ bge 33b
238+34:
239+ .endm
240+
241+
242+ backward_copy_shift push=8 pull=24
243+ add r1, r1, #3
244+ b 25b
245+
246+35: backward_copy_shift push=16 pull=16
247+ add r1, r1, #2
248+ b 25b
249+
250+36: backward_copy_shift push=24 pull=8
251+ add r1, r1, #1
252+ b 25b
253+
254+ .size memmove, . - memmove
255+END(memmove)
256+libc_hidden_builtin_def (memmove)
257--- /dev/null 2004-02-02 20:32:13.000000000 +0000
258+++ sysdeps/arm/bcopy.S 2004-03-20 18:37:48.000000000 +0000
259@@ -0,0 +1,255 @@
260+/*
261+ * Optimized memmove implementation for ARM processors
262+ *
263+ * Author: Nicolas Pitre
264+ * Created: Dec 23, 2003
265+ * Copyright: (C) MontaVista Software, Inc.
266+ *
267+ * This file is free software; you can redistribute it and/or
268+ * modify it under the terms of the GNU Lesser General Public
269+ * License as published by the Free Software Foundation; either
270+ * version 2.1 of the License, or (at your option) any later version.
271+ *
272+ * This file is distributed in the hope that it will be useful,
273+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
274+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
275+ * Lesser General Public License for more details.
276+ */
277+
278+#include <sysdep.h>
279+
280+
281+/*
282+ * Endian independent macros for shifting bytes within registers.
283+ */
284+#ifndef __ARMEB__
285+#define pull lsr
286+#define push lsl
287+#else
288+#define pull lsl
289+#define push lsr
290+#endif
291+
292+/*
293+ * Enable data preload for architectures that support it (ARMv5 and above)
294+ */
295+#if defined(__ARM_ARCH_5__) || \
296+ defined(__ARM_ARCH_5T__) || \
297+ defined(__ARM_ARCH_5TE__)
298+#define PLD(code...) code
299+#else
300+#define PLD(code...)
301+#endif
302+
303+dst .req r1
304+src .req r0
305+
306+/* void *bcopy (const char *src, char *dst, size_t size) */
307+ENTRY(bcopy)
308+ subs ip, dst, src
309+ cmphi r2, ip
310+ movls r3, r0
311+ movls r0, r1
312+ movls r1, r3
313+ bls memcpy(PLT)
314+
315+ stmfd sp!, {r4, lr}
316+ add src, src, r2
317+ add dst, dst, r2
318+ subs r2, r2, #4
319+ blt 25f
320+ ands ip, dst, #3
321+ PLD( pld [src, #-4] )
322+ bne 26f
323+ ands ip, src, #3
324+ bne 27f
325+
326+19: subs r2, r2, #4
327+ blt 24f
328+ subs r2, r2, #8
329+ blt 23f
330+ subs r2, r2, #16
331+ blt 22f
332+
333+ PLD( pld [src, #-32] )
334+ PLD( subs r2, r2, #96 )
335+ stmfd sp!, {r5 - r8}
336+ PLD( blt 21f )
337+
338+ PLD( @ cache alignment )
339+ PLD( ands ip, src, #31 )
340+ PLD( pld [src, #-64] )
341+ PLD( beq 20f )
342+ PLD( cmp r2, ip )
343+ PLD( pld [src, #-96] )
344+ PLD( blt 20f )
345+ PLD( cmp ip, #16 )
346+ PLD( sub r2, r2, ip )
347+ PLD( ldmgedb src!, {r3 - r6} )
348+ PLD( stmgedb dst!, {r3 - r6} )
349+ PLD( beq 20f )
350+ PLD( and ip, ip, #15 )
351+ PLD( cmp ip, #8 )
352+ PLD( ldr r3, [src, #-4]! )
353+ PLD( ldrge r4, [src, #-4]! )
354+ PLD( ldrgt r5, [src, #-4]! )
355+ PLD( str r3, [dst, #-4]! )
356+ PLD( strge r4, [dst, #-4]! )
357+ PLD( strgt r5, [dst, #-4]! )
358+
359+20: PLD( pld [src, #-96] )
360+ PLD( pld [src, #-128] )
361+21: ldmdb src!, {r3, r4, ip, lr}
362+ subs r2, r2, #32
363+ stmdb dst!, {r3, r4, ip, lr}
364+ ldmdb src!, {r3, r4, ip, lr}
365+ stmgedb dst!, {r3, r4, ip, lr}
366+ ldmgedb src!, {r3, r4, ip, lr}
367+ stmgedb dst!, {r3, r4, ip, lr}
368+ ldmgedb src!, {r3, r4, ip, lr}
369+ subges r2, r2, #32
370+ stmdb dst!, {r3, r4, ip, lr}
371+ bge 20b
372+ PLD( cmn r2, #96 )
373+ PLD( bge 21b )
374+ PLD( add r2, r2, #96 )
375+ tst r2, #31
376+ ldmfd sp!, {r5 - r8}
377+ ldmeqfd sp!, {r4, pc}
378+
379+ tst r2, #16
380+22: ldmnedb src!, {r3, r4, ip, lr}
381+ stmnedb dst!, {r3, r4, ip, lr}
382+
383+ tst r2, #8
384+23: ldmnedb src!, {r3, r4}
385+ stmnedb dst!, {r3, r4}
386+
387+ tst r2, #4
388+24: ldrne r3, [src, #-4]!
389+ strne r3, [dst, #-4]!
390+
391+25: ands r2, r2, #3
392+ ldmeqfd sp!, {dst, r4, pc}
393+
394+ cmp r2, #2
395+ ldrb r3, [src, #-1]
396+ ldrgeb r4, [src, #-2]
397+ ldrgtb ip, [src, #-3]
398+ strb r3, [dst, #-1]
399+ strgeb r4, [dst, #-2]
400+ strgtb ip, [dst, #-3]
401+ ldmfd sp!, {dst, r4, pc}
402+
403+26: cmp ip, #2
404+ ldrb r3, [src, #-1]!
405+ ldrgeb r4, [src, #-1]!
406+ ldrgtb lr, [src, #-1]!
407+ strb r3, [dst, #-1]!
408+ strgeb r4, [dst, #-1]!
409+ strgtb lr, [dst, #-1]!
410+ subs r2, r2, ip
411+ blt 25b
412+ ands ip, src, #3
413+ beq 19b
414+
415+27: bic src, src, #3
416+ cmp ip, #2
417+ ldr r3, [src]
418+ beq 35f
419+ blt 36f
420+
421+
422+ .macro backward_copy_shift push pull
423+
424+ cmp r2, #12
425+ PLD( pld [src, #-4] )
426+ blt 33f
427+ subs r2, r2, #28
428+ stmfd sp!, {r5 - r9}
429+ blt 31f
430+
431+ PLD( subs r2, r2, #96 )
432+ PLD( pld [src, #-32] )
433+ PLD( blt 30f )
434+ PLD( pld [src, #-64] )
435+
436+ PLD( @ cache alignment )
437+ PLD( ands ip, src, #31 )
438+ PLD( pld [src, #-96] )
439+ PLD( beq 29f )
440+ PLD( cmp r2, ip )
441+ PLD( pld [src, #-128] )
442+ PLD( blt 29f )
443+ PLD( sub r2, r2, ip )
444+28: PLD( mov r4, r3, push #\push )
445+ PLD( ldr r3, [src, #-4]! )
446+ PLD( subs ip, ip, #4 )
447+ PLD( orr r4, r4, r3, pull #\pull )
448+ PLD( str r4, [dst, #-4]! )
449+ PLD( bgt 28b )
450+
451+29: PLD( pld [src, #-128] )
452+30: mov lr, r3, push #\push
453+ ldmdb src!, {r3 - r9, ip}
454+ subs r2, r2, #32
455+ orr lr, lr, ip, pull #\pull
456+ mov ip, ip, push #\push
457+ orr ip, ip, r9, pull #\pull
458+ mov r9, r9, push #\push
459+ orr r9, r9, r8, pull #\pull
460+ mov r8, r8, push #\push
461+ orr r8, r8, r7, pull #\pull
462+ mov r7, r7, push #\push
463+ orr r7, r7, r6, pull #\pull
464+ mov r6, r6, push #\push
465+ orr r6, r6, r5, pull #\pull
466+ mov r5, r5, push #\push
467+ orr r5, r5, r4, pull #\pull
468+ mov r4, r4, push #\push
469+ orr r4, r4, r3, pull #\pull
470+ stmdb dst!, {r4 - r9, ip, lr}
471+ bge 29b
472+ PLD( cmn r2, #96 )
473+ PLD( bge 30b )
474+ PLD( add r2, r2, #96 )
475+ cmn r2, #16
476+ blt 32f
477+31: mov r7, r3, push #\push
478+ ldmdb src!, {r3 - r6}
479+ sub r2, r2, #16
480+ orr r7, r7, r6, pull #\pull
481+ mov r6, r6, push #\push
482+ orr r6, r6, r5, pull #\pull
483+ mov r5, r5, push #\push
484+ orr r5, r5, r4, pull #\pull
485+ mov r4, r4, push #\push
486+ orr r4, r4, r3, pull #\pull
487+ stmdb dst!, {r4 - r7}
488+32: adds r2, r2, #28
489+ ldmfd sp!, {r5 - r9}
490+ blt 34f
491+33: mov r4, r3, push #\push
492+ ldr r3, [src, #-4]!
493+ subs r2, r2, #4
494+ orr r4, r4, r3, pull #\pull
495+ str r4, [dst, #-4]!
496+ bge 33b
497+34:
498+ .endm
499+
500+
501+ backward_copy_shift push=8 pull=24
502+ add src, src, #3
503+ b 25b
504+
505+35: backward_copy_shift push=16 pull=16
506+ add src, src, #2
507+ b 25b
508+
509+36: backward_copy_shift push=24 pull=8
510+ add src, src, #1
511+ b 25b
512+
513+ .size bcopy, . - bcopy
514+END(bcopy)
515
516--- /dev/null 2004-02-02 20:32:13.000000000 +0000
517+++ sysdeps/arm/memcpy.S 2004-05-02 14:33:22.000000000 +0100
518@@ -0,0 +1,242 @@
519+/*
520+ * Optimized memcpy implementation for ARM processors
521+ *
522+ * Author: Nicolas Pitre
523+ * Created: Dec 23, 2003
524+ * Copyright: (C) MontaVista Software, Inc.
525+ *
526+ * This file is free software; you can redistribute it and/or
527+ * modify it under the terms of the GNU Lesser General Public
528+ * License as published by the Free Software Foundation; either
529+ * version 2.1 of the License, or (at your option) any later version.
530+ *
531+ * This file is distributed in the hope that it will be useful,
532+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
533+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
534+ * Lesser General Public License for more details.
535+ */
536+
537+#include <sysdep.h>
538+
539+
540+/*
541+ * Endian independent macros for shifting bytes within registers.
542+ */
543+#ifndef __ARMEB__
544+#define pull lsr
545+#define push lsl
546+#else
547+#define pull lsl
548+#define push lsr
549+#endif
550+
551+/*
552+ * Enable data preload for architectures that support it (ARMv5 and above)
553+ */
554+#if defined(__ARM_ARCH_5__) || \
555+ defined(__ARM_ARCH_5T__) || \
556+ defined(__ARM_ARCH_5TE__)
557+#define PLD(code...) code
558+#else
559+#define PLD(code...)
560+#endif
561+
562+
563+/* char * memcpy (char *dst, const char *src) */
564+
565+ENTRY(memcpy)
566+ subs r2, r2, #4
567+ stmfd sp!, {r0, r4, lr}
568+ blt 7f
569+ ands ip, r0, #3
570+ PLD( pld [r1, #0] )
571+ bne 8f
572+ ands ip, r1, #3
573+ bne 9f
574+
575+1: subs r2, r2, #4
576+ blt 6f
577+ subs r2, r2, #8
578+ blt 5f
579+ subs r2, r2, #16
580+ blt 4f
581+
582+ PLD( subs r2, r2, #65 )
583+ stmfd sp!, {r5 - r8}
584+ PLD( blt 3f )
585+ PLD( pld [r1, #32] )
586+
587+ PLD( @ cache alignment )
588+ PLD( ands ip, r1, #31 )
589+ PLD( pld [r1, #64] )
590+ PLD( beq 2f )
591+ PLD( rsb ip, ip, #32 )
592+ PLD( cmp r2, ip )
593+ PLD( pld [r1, #96] )
594+ PLD( blt 2f )
595+ PLD( cmp ip, #16 )
596+ PLD( sub r2, r2, ip )
597+ PLD( ldmgeia r1!, {r3 - r6} )
598+ PLD( stmgeia r0!, {r3 - r6} )
599+ PLD( beq 2f )
600+ PLD( and ip, ip, #15 )
601+ PLD( cmp ip, #8 )
602+ PLD( ldr r3, [r1], #4 )
603+ PLD( ldrge r4, [r1], #4 )
604+ PLD( ldrgt r5, [r1], #4 )
605+ PLD( str r3, [r0], #4 )
606+ PLD( strge r4, [r0], #4 )
607+ PLD( strgt r5, [r0], #4 )
608+
609+2: PLD( pld [r1, #96] )
610+3: ldmia r1!, {r3 - r8, ip, lr}
611+ subs r2, r2, #32
612+ stmia r0!, {r3 - r8, ip, lr}
613+ bge 2b
614+ PLD( cmn r2, #65 )
615+ PLD( bge 3b )
616+ PLD( add r2, r2, #65 )
617+ tst r2, #31
618+ ldmfd sp!, {r5 - r8}
619+ ldmeqfd sp!, {r0, r4, pc}
620+
621+ tst r2, #16
622+4: ldmneia r1!, {r3, r4, ip, lr}
623+ stmneia r0!, {r3, r4, ip, lr}
624+
625+ tst r2, #8
626+5: ldmneia r1!, {r3, r4}
627+ stmneia r0!, {r3, r4}
628+
629+ tst r2, #4
630+6: ldrne r3, [r1], #4
631+ strne r3, [r0], #4
632+
633+7: ands r2, r2, #3
634+ ldmeqfd sp!, {r0, r4, pc}
635+
636+ cmp r2, #2
637+ ldrb r3, [r1], #1
638+ ldrgeb r4, [r1], #1
639+ ldrgtb ip, [r1]
640+ strb r3, [r0], #1
641+ strgeb r4, [r0], #1
642+ strgtb ip, [r0]
643+ ldmfd sp!, {r0, r4, pc}
644+
645+8: rsb ip, ip, #4
646+ cmp ip, #2
647+ ldrb r3, [r1], #1
648+ ldrgeb r4, [r1], #1
649+ ldrgtb lr, [r1], #1
650+ strb r3, [r0], #1
651+ strgeb r4, [r0], #1
652+ strgtb lr, [r0], #1
653+ subs r2, r2, ip
654+ blt 7b
655+ ands ip, r1, #3
656+ beq 1b
657+
658+9: bic r1, r1, #3
659+ cmp ip, #2
660+ ldr lr, [r1], #4
661+ beq 17f
662+ bgt 18f
663+
664+
665+ .macro forward_copy_shift pull push
666+
667+ cmp r2, #12
668+ PLD( pld [r1, #0] )
669+ blt 15f
670+ subs r2, r2, #28
671+ stmfd sp!, {r5 - r9}
672+ blt 13f
673+
674+ PLD( subs r2, r2, #97 )
675+ PLD( blt 12f )
676+ PLD( pld [r1, #32] )
677+
678+ PLD( @ cache alignment )
679+ PLD( rsb ip, r1, #36 )
680+ PLD( pld [r1, #64] )
681+ PLD( ands ip, ip, #31 )
682+ PLD( pld [r1, #96] )
683+ PLD( beq 11f )
684+ PLD( cmp r2, ip )
685+ PLD( pld [r1, #128] )
686+ PLD( blt 11f )
687+ PLD( sub r2, r2, ip )
688+10: PLD( mov r3, lr, pull #\pull )
689+ PLD( ldr lr, [r1], #4 )
690+ PLD( subs ip, ip, #4 )
691+ PLD( orr r3, r3, lr, push #\push )
692+ PLD( str r3, [r0], #4 )
693+ PLD( bgt 10b )
694+
695+11: PLD( pld [r1, #128] )
696+12: mov r3, lr, pull #\pull
697+ ldmia r1!, {r4 - r9, ip, lr}
698+ subs r2, r2, #32
699+ orr r3, r3, r4, push #\push
700+ mov r4, r4, pull #\pull
701+ orr r4, r4, r5, push #\push
702+ mov r5, r5, pull #\pull
703+ orr r5, r5, r6, push #\push
704+ mov r6, r6, pull #\pull
705+ orr r6, r6, r7, push #\push
706+ mov r7, r7, pull #\pull
707+ orr r7, r7, r8, push #\push
708+ mov r8, r8, pull #\pull
709+ orr r8, r8, r9, push #\push
710+ mov r9, r9, pull #\pull
711+ orr r9, r9, ip, push #\push
712+ mov ip, ip, pull #\pull
713+ orr ip, ip, lr, push #\push
714+ stmia r0!, {r3 - r9, ip}
715+ bge 11b
716+ PLD( cmn r2, #97 )
717+ PLD( bge 12b )
718+ PLD( add r2, r2, #97 )
719+ cmn r2, #16
720+ blt 14f
721+13: mov r3, lr, pull #\pull
722+ ldmia r1!, {r4 - r6, lr}
723+ sub r2, r2, #16
724+ orr r3, r3, r4, push #\push
725+ mov r4, r4, pull #\pull
726+ orr r4, r4, r5, push #\push
727+ mov r5, r5, pull #\pull
728+ orr r5, r5, r6, push #\push
729+ mov r6, r6, pull #\pull
730+ orr r6, r6, lr, push #\push
731+ stmia r0!, {r3 - r6}
732+14: adds r2, r2, #28
733+ ldmfd sp!, {r5 - r9}
734+ blt 16f
735+15: mov r3, lr, pull #\pull
736+ ldr lr, [r1], #4
737+ subs r2, r2, #4
738+ orr r3, r3, lr, push #\push
739+ str r3, [r0], #4
740+ bge 15b
741+16:
742+ .endm
743+
744+
745+ forward_copy_shift pull=8 push=24
746+ sub r1, r1, #3
747+ b 7b
748+
749+17: forward_copy_shift pull=16 push=16
750+ sub r1, r1, #2
751+ b 7b
752+
753+18: forward_copy_shift pull=24 push=8
754+ sub r1, r1, #1
755+ b 7b
756+
757+ .size memcpy, . - memcpy
758+END(memcpy)
759+libc_hidden_builtin_def (memcpy)
760+
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/dl-cache-libcmp.patch b/meta/recipes-core/glibc/glibc-2.10.1/dl-cache-libcmp.patch
deleted file mode 100644
index 199aaa6a05..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/dl-cache-libcmp.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3--- glibc-2.4/elf/Versions.ark 2006-03-11 23:30:09.000000000 +0100
4+++ glibc-2.4/elf/Versions 2006-03-11 23:31:44.000000000 +0100
5@@ -63,5 +63,7 @@
6 _dl_debug_state;
7 # Pointer protection.
8 __pointer_chk_guard;
9+ # for ldconfig
10+ _dl_cache_libcmp;
11 }
12 }
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/etc/ld.so.conf b/meta/recipes-core/glibc/glibc-2.10.1/etc/ld.so.conf
deleted file mode 100644
index ddd777db2a..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/etc/ld.so.conf
+++ /dev/null
@@ -1,2 +0,0 @@
1/usr/local/lib
2include /etc/ld.so.conf.d/*
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/fhs-linux-paths.patch b/meta/recipes-core/glibc/glibc-2.10.1/fhs-linux-paths.patch
deleted file mode 100644
index 91c6781e12..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/fhs-linux-paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3--- glibc-2.1.1/sysdeps/unix/sysv/linux/paths.h~ Thu May 27 13:16:33 1999
4+++ glibc-2.1.1/sysdeps/unix/sysv/linux/paths.h Thu May 27 13:17:55 1999
5@@ -71,7 +71,7 @@
6 /* Provide trailing slash, since mostly used for building pathnames. */
7 #define _PATH_DEV "/dev/"
8 #define _PATH_TMP "/tmp/"
9-#define _PATH_VARDB "/var/db/"
10+#define _PATH_VARDB "/var/lib/misc/"
11 #define _PATH_VARRUN "/var/run/"
12 #define _PATH_VARTMP "/var/tmp/"
13
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/generate-supported.mk b/meta/recipes-core/glibc/glibc-2.10.1/generate-supported.mk
deleted file mode 100644
index d2a28c2dc6..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/generate-supported.mk
+++ /dev/null
@@ -1,11 +0,0 @@
1#!/usr/bin/make
2
3include $(IN)
4
5all:
6 rm -f $(OUT)
7 touch $(OUT)
8 for locale in $(SUPPORTED-LOCALES); do \
9 [ $$locale = true ] && continue; \
10 echo $$locale | sed 's,/, ,' >> $(OUT); \
11 done
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_select.h b/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_select.h
deleted file mode 100644
index 47e7dedc30..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_select.h
+++ /dev/null
@@ -1,35 +0,0 @@
1/* Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, write to the Free
16 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17 02111-1307 USA. */
18
19#ifndef _SYS_SELECT_H
20# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
21#endif
22
23
24/* We don't use `memset' because this would require a prototype and
25 the array isn't too big. */
26#define __FD_ZERO(s) \
27 do { \
28 unsigned int __i; \
29 fd_set *__arr = (s); \
30 for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
31 __FDS_BITS (__arr)[__i] = 0; \
32 } while (0)
33#define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
34#define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
35#define __FD_ISSET(d, s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0)
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_time.h b/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_time.h
deleted file mode 100644
index b3184d1de9..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_time.h
+++ /dev/null
@@ -1,75 +0,0 @@
1/* System-dependent timing definitions. Generic version.
2 Copyright (C) 1996,1997,1999-2002,2003 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA. */
19
20/*
21 * Never include this file directly; use <time.h> instead.
22 */
23
24#ifndef __need_timeval
25# ifndef _BITS_TIME_H
26# define _BITS_TIME_H 1
27
28/* ISO/IEC 9899:1990 7.12.1: <time.h>
29 The macro `CLOCKS_PER_SEC' is the number per second of the value
30 returned by the `clock' function. */
31/* CAE XSH, Issue 4, Version 2: <time.h>
32 The value of CLOCKS_PER_SEC is required to be 1 million on all
33 XSI-conformant systems. */
34# define CLOCKS_PER_SEC 1000000l
35
36# if !defined __STRICT_ANSI__ && !defined __USE_XOPEN2K
37/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK
38 presents the real value for clock ticks per second for the system. */
39# include <bits/types.h>
40extern long int __sysconf (int);
41# define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */
42# endif
43
44# ifdef __USE_POSIX199309
45/* Identifier for system-wide realtime clock. */
46# define CLOCK_REALTIME 0
47/* Monotonic system-wide clock. */
48# define CLOCK_MONOTONIC 1
49/* High-resolution timer from the CPU. */
50# define CLOCK_PROCESS_CPUTIME_ID 2
51/* Thread-specific CPU-time clock. */
52# define CLOCK_THREAD_CPUTIME_ID 3
53
54/* Flag to indicate time is absolute. */
55# define TIMER_ABSTIME 1
56# endif
57
58# endif /* bits/time.h */
59#endif
60
61#ifdef __need_timeval
62# undef __need_timeval
63# ifndef _STRUCT_TIMEVAL
64# define _STRUCT_TIMEVAL 1
65# include <bits/types.h>
66
67/* A time value that is accurate to the nearest
68 microsecond but also has a range of years. */
69struct timeval
70 {
71 __time_t tv_sec; /* Seconds. */
72 __suseconds_t tv_usec; /* Microseconds. */
73 };
74# endif /* struct timeval */
75#endif /* need timeval */
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_types.h b/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_types.h
deleted file mode 100644
index 65c8a9fe90..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_types.h
+++ /dev/null
@@ -1,200 +0,0 @@
1/* bits/types.h -- definitions of __*_t types underlying *_t types.
2 Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA. */
19
20/*
21 * Never include this file directly; use <sys/types.h> instead.
22 */
23
24#ifndef _BITS_TYPES_H
25#define _BITS_TYPES_H 1
26
27#include <features.h>
28#include <bits/wordsize.h>
29
30#define __need_size_t
31#include <stddef.h>
32
33/* Convenience types. */
34typedef unsigned char __u_char;
35typedef unsigned short int __u_short;
36typedef unsigned int __u_int;
37typedef unsigned long int __u_long;
38
39/* Fixed-size types, underlying types depend on word size and compiler. */
40typedef signed char __int8_t;
41typedef unsigned char __uint8_t;
42typedef signed short int __int16_t;
43typedef unsigned short int __uint16_t;
44typedef signed int __int32_t;
45typedef unsigned int __uint32_t;
46#if __WORDSIZE == 64
47typedef signed long int __int64_t;
48typedef unsigned long int __uint64_t;
49#elif defined __GLIBC_HAVE_LONG_LONG
50__extension__ typedef signed long long int __int64_t;
51__extension__ typedef unsigned long long int __uint64_t;
52#endif
53
54/* quad_t is also 64 bits. */
55#if __WORDSIZE == 64
56typedef long int __quad_t;
57typedef unsigned long int __u_quad_t;
58#elif defined __GLIBC_HAVE_LONG_LONG
59__extension__ typedef long long int __quad_t;
60__extension__ typedef unsigned long long int __u_quad_t;
61#else
62typedef struct
63{
64 long __val[2];
65} __quad_t;
66typedef struct
67{
68 __u_long __val[2];
69} __u_quad_t;
70#endif
71
72
73/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
74 macros for each of the OS types we define below. The definitions
75 of those macros must use the following macros for underlying types.
76 We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
77 variants of each of the following integer types on this machine.
78
79 16 -- "natural" 16-bit type (always short)
80 32 -- "natural" 32-bit type (always int)
81 64 -- "natural" 64-bit type (long or long long)
82 LONG32 -- 32-bit type, traditionally long
83 QUAD -- 64-bit type, always long long
84 WORD -- natural type of __WORDSIZE bits (int or long)
85 LONGWORD -- type of __WORDSIZE bits, traditionally long
86
87 We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
88 conventional uses of `long' or `long long' type modifiers match the
89 types we define, even when a less-adorned type would be the same size.
90 This matters for (somewhat) portably writing printf/scanf formats for
91 these types, where using the appropriate l or ll format modifiers can
92 make the typedefs and the formats match up across all GNU platforms. If
93 we used `long' when it's 64 bits where `long long' is expected, then the
94 compiler would warn about the formats not matching the argument types,
95 and the programmer changing them to shut up the compiler would break the
96 program's portability.
97
98 Here we assume what is presently the case in all the GCC configurations
99 we support: long long is always 64 bits, long is always word/address size,
100 and int is always 32 bits. */
101
102#define __S16_TYPE short int
103#define __U16_TYPE unsigned short int
104#define __S32_TYPE int
105#define __U32_TYPE unsigned int
106#define __SLONGWORD_TYPE long int
107#define __ULONGWORD_TYPE unsigned long int
108#if __WORDSIZE == 32
109# define __SQUAD_TYPE __quad_t
110# define __UQUAD_TYPE __u_quad_t
111# define __SWORD_TYPE int
112# define __UWORD_TYPE unsigned int
113# define __SLONG32_TYPE long int
114# define __ULONG32_TYPE unsigned long int
115# define __S64_TYPE __quad_t
116# define __U64_TYPE __u_quad_t
117/* We want __extension__ before typedef's that use nonstandard base types
118 such as `long long' in C89 mode. */
119# define __STD_TYPE __extension__ typedef
120#elif __WORDSIZE == 64
121# define __SQUAD_TYPE long int
122# define __UQUAD_TYPE unsigned long int
123# define __SWORD_TYPE long int
124# define __UWORD_TYPE unsigned long int
125# define __SLONG32_TYPE int
126# define __ULONG32_TYPE unsigned int
127# define __S64_TYPE long int
128# define __U64_TYPE unsigned long int
129/* No need to mark the typedef with __extension__. */
130# define __STD_TYPE typedef
131#else
132# error
133#endif
134#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */
135
136
137__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
138__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */
139__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */
140__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */
141__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/
142__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */
143__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */
144__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */
145__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */
146__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */
147__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */
148__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */
149__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */
150__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */
151__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
152__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
153__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
154__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
155
156__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
157__STD_TYPE __SWBLK_T_TYPE __swblk_t; /* Type of a swap block maybe? */
158__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
159
160/* Clock ID used in clock and timer functions. */
161__STD_TYPE __CLOCKID_T_TYPE __clockid_t;
162
163/* Timer ID returned by `timer_create'. */
164__STD_TYPE __TIMER_T_TYPE __timer_t;
165
166/* Type to represent block size. */
167__STD_TYPE __BLKSIZE_T_TYPE __blksize_t;
168
169/* Types from the Large File Support interface. */
170
171/* Type to count number of disk blocks. */
172__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t;
173__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t;
174
175/* Type to count file system blocks. */
176__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t;
177__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
178
179/* Type to count file system nodes. */
180__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
181__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
182
183__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */
184
185/* These few don't really vary by system, they always correspond
186 to one of the other defined types. */
187typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */
188typedef __quad_t *__qaddr_t;
189typedef char *__caddr_t;
190
191/* Duplicates info from stdint.h but this is used in unistd.h. */
192__STD_TYPE __SWORD_TYPE __intptr_t;
193
194/* Duplicate info from sys/socket.h. */
195__STD_TYPE __U32_TYPE __socklen_t;
196
197
198#undef __STD_TYPE
199
200#endif /* bits/types.h */
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_typesizes.h b/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_typesizes.h
deleted file mode 100644
index e9226c4174..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/generic-bits_typesizes.h
+++ /dev/null
@@ -1,66 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. Generic version.
2 Copyright (C) 2002, 2003 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA. */
19
20#ifndef _BITS_TYPES_H
21# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
22#endif
23
24#ifndef _BITS_TYPESIZES_H
25#define _BITS_TYPESIZES_H 1
26
27/* See <bits/types.h> for the meaning of these macros. This file exists so
28 that <bits/types.h> need not vary across different GNU platforms. */
29
30#define __DEV_T_TYPE __UQUAD_TYPE
31#define __UID_T_TYPE __U32_TYPE
32#define __GID_T_TYPE __U32_TYPE
33#define __INO_T_TYPE __ULONGWORD_TYPE
34#define __INO64_T_TYPE __UQUAD_TYPE
35#define __MODE_T_TYPE __U32_TYPE
36#define __NLINK_T_TYPE __UWORD_TYPE
37#define __OFF_T_TYPE __SLONGWORD_TYPE
38#define __OFF64_T_TYPE __SQUAD_TYPE
39#define __PID_T_TYPE __S32_TYPE
40#define __RLIM_T_TYPE __ULONGWORD_TYPE
41#define __RLIM64_T_TYPE __UQUAD_TYPE
42#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
43#define __BLKCNT64_T_TYPE __SQUAD_TYPE
44#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
45#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
46#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
47#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __DADDR_T_TYPE __S32_TYPE
54#define __SWBLK_T_TYPE __SLONGWORD_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61
62/* Number of descriptors that can fit in an `fd_set'. */
63#define __FD_SETSIZE 1024
64
65
66#endif /* bits/typesizes.h */
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/glibc-2.9-enable-binutils-2.2.patch b/meta/recipes-core/glibc/glibc-2.10.1/glibc-2.9-enable-binutils-2.2.patch
deleted file mode 100644
index 07e4758601..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/glibc-2.9-enable-binutils-2.2.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1Upstream-Status: Inappropriate [configuration]
2
3--- glibc-2.9.orig/configure.in 2009-10-22 15:38:13.000000000 +0200
4+++ glibc-2.9/configure.in 2009-10-22 15:37:33.000000000 +0200
5@@ -844,10 +844,10 @@
6 # Accept binutils 2.13 or newer.
7 AC_CHECK_PROG_VER(AS, $AS, --version,
8 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
9- [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
10+ [2.1[3-9]* | 2.2* ], AS=: critic_missing="$critic_missing as")
11 AC_CHECK_PROG_VER(LD, $LD, --version,
12 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
13- [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
14+ [2.1[3-9]* | 2.2* ], LD=: critic_missing="$critic_missing ld")
15
16 # We need the physical current working directory. We cannot use the
17 # "pwd -P" shell builtin since that's not portable. Instead we try to
18--- glibc-2.9.orig/configure 2009-02-26 22:28:17.000000000 +0100
19+++ glibc-2.9/configure 2009-10-22 15:43:11.000000000 +0200
20@@ -4531,7 +4531,7 @@
21 ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
22 case $ac_prog_version in
23 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
24- 2.1[3-9]*)
25+ 2.1[3-9]* | 2.2*)
26 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
27 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
28
29@@ -4594,7 +4594,7 @@
30 ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
31 case $ac_prog_version in
32 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
33- 2.1[3-9]*)
34+ 2.1[3-9]* | 2.2*)
35 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
36 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
37
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/glibc-arm-IO-acquire-lock-fix.diff b/meta/recipes-core/glibc/glibc-2.10.1/glibc-arm-IO-acquire-lock-fix.diff
deleted file mode 100644
index 843c5e8b17..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/glibc-arm-IO-acquire-lock-fix.diff
+++ /dev/null
@@ -1,15 +0,0 @@
1Arm needs a similar fix as http://sourceware.org/ml/libc-ports/2007-12/msg00000.html
2
3Upstream-Status: Inappropriate [not used]
4
5--- /tmp/stdio-lock.h 2008-03-04 18:51:15.555038993 +0100
6+++ glibc-2.7/ports/sysdeps/unix/sysv/linux/arm/bits/stdio-lock.h 2008-03-04 18:51:28.445035052 +0100
7@@ -50,6 +50,8 @@
8 _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \
9 _IO_flockfile (_fp)
10
11+# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
12+
13 # define _IO_release_lock(_fp) \
14 _IO_funlockfile (_fp); \
15 _IO_cleanup_region_end (0)
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/glibc-arm-no-asm-page.patch b/meta/recipes-core/glibc/glibc-2.10.1/glibc-arm-no-asm-page.patch
deleted file mode 100644
index 9dba9d295e..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/glibc-arm-no-asm-page.patch
+++ /dev/null
@@ -1,17 +0,0 @@
1http://sourceware.org/ml/libc-ports/2008-04/msg00005.html
2
3Upstream-Status: Inappropriate [not used]
4
5
6Index: glibc-2.6.1/ports/sysdeps/unix/sysv/linux/arm/ioperm.c
7===================================================================
8--- glibc-2.6.1.orig/ports/sysdeps/unix/sysv/linux/arm/ioperm.c 2008-09-12 18:08:18.000000000 -0700
9+++ glibc-2.6.1/ports/sysdeps/unix/sysv/linux/arm/ioperm.c 2008-09-12 18:08:28.000000000 -0700
10@@ -45,7 +45,6 @@
11 #include <sys/mman.h>
12
13 #include <linux/version.h>
14-#include <asm/page.h>
15 #include <sys/sysctl.h>
16
17 #define PATH_ARM_SYSTYPE "/etc/arm_systype"
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/glibc-check_pf.patch b/meta/recipes-core/glibc/glibc-2.10.1/glibc-check_pf.patch
deleted file mode 100644
index a0e55bfaec..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/glibc-check_pf.patch
+++ /dev/null
@@ -1,345 +0,0 @@
1From libc-ports-return-550-listarch-libc-ports=sources dot redhat dot com at sourceware dot org Tue Oct 31 17:37:21 2006
2Return-Path: <libc-ports-return-550-listarch-libc-ports=sources dot redhat dot com at sourceware dot org>
3Delivered-To: listarch-libc-ports at sources dot redhat dot com
4Received: (qmail 17273 invoked by alias); 31 Oct 2006 17:37:20 -0000
5Received: (qmail 17262 invoked by uid 22791); 31 Oct 2006 17:37:19 -0000
6X-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,TW_CP
7X-Spam-Check-By: sourceware.org
8Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Tue, 31 Oct 2006 17:37:11 +0000
9Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GexXw-0007Dj-30; Tue, 31 Oct 2006 12:37:08 -0500
10Date: Tue, 31 Oct 2006 12:37:08 -0500
11From: Daniel Jacobowitz <drow at false dot org>
12To: Mike Frysinger <vapier at gentoo dot org>
13Cc: libc-ports at sourceware dot org, Philip Balister <philip dot balister at gmail dot com>
14Subject: Re: Problem with glibc-2.5 on ARM
15Message-ID: <20061031173708.GJ20468@nevyn.them.org>
16References: <499146270610241149ibe030e0nd9d6b177a95b346e@mail.gmail.com> <499146270610241254u7cadf63ej2edf05cedbc5266f@mail.gmail.com> <20061024195837.GA20181@nevyn.them.org> <200610291954.27022.vapier@gentoo.org>
17MIME-Version: 1.0
18Content-Type: text/plain; charset=us-ascii
19Content-Disposition: inline
20In-Reply-To: <200610291954 dot 27022 dot vapier at gentoo dot org>
21User-Agent: Mutt/1.5.13 (2006-08-11)
22X-IsSubscribed: yes
23Mailing-List: contact libc-ports-help at sourceware dot org; run by ezmlm
24Precedence: bulk
25List-Subscribe: <mailto:libc-ports-subscribe at sourceware dot org>
26List-Post: <mailto:libc-ports at sourceware dot org>
27List-Help: <mailto:libc-ports-help at sourceware dot org>, <http://sourceware dot org/lists dot html#faqs>
28Sender: libc-ports-owner at sourceware dot org
29Delivered-To: mailing list libc-ports at sourceware dot org
30
31On Sun, Oct 29, 2006 at 07:54:25PM -0500, Mike Frysinger wrote:
32> On Tuesday 24 October 2006 15:58, Daniel Jacobowitz wrote:
33> > ARM is going to need a slightly different version of that file, I
34> > guess.
35>
36> would declaring req with attribute packed not help ?
37> -mike
38
39Nope. "struct rtgenmsg" would still have size 4.
40
41Philip, are you still at all interested in this for the old ABI?
42I don't have time to test this patch right now, but I think it
43will work.
44
45--
46Daniel Jacobowitz
47CodeSourcery
48
492006-10-31 Daniel Jacobowitz <dan@codesourcery.com>
50
51 * sysdeps/unix/sysv/linux/arm/check_pf.c: New file.
52 * sysdeps/unix/sysv/linux/arm/eabi/check_pf.c: New file.
53
54Upstream-Status: Inappropriate [not used]
55
56Index: sysdeps/unix/sysv/linux/arm/check_pf.c
57===================================================================
58RCS file: sysdeps/unix/sysv/linux/arm/check_pf.c
59diff -N sysdeps/unix/sysv/linux/arm/check_pf.c
60--- /dev/null 1 Jan 1970 00:00:00 -0000
61+++ sysdeps/unix/sysv/linux/arm/check_pf.c 31 Oct 2006 17:29:58 -0000
62@@ -0,0 +1,274 @@
63+/* Determine protocol families for which interfaces exist. ARM Linux version.
64+ Copyright (C) 2003, 2006 Free Software Foundation, Inc.
65+ This file is part of the GNU C Library.
66+
67+ The GNU C Library is free software; you can redistribute it and/or
68+ modify it under the terms of the GNU Lesser General Public
69+ License as published by the Free Software Foundation; either
70+ version 2.1 of the License, or (at your option) any later version.
71+
72+ The GNU C Library is distributed in the hope that it will be useful,
73+ but WITHOUT ANY WARRANTY; without even the implied warranty of
74+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
75+ Lesser General Public License for more details.
76+
77+ You should have received a copy of the GNU Lesser General Public
78+ License along with the GNU C Library; if not, write to the Free
79+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
80+ 02111-1307 USA. */
81+
82+#include <assert.h>
83+#include <errno.h>
84+#include <ifaddrs.h>
85+#include <netdb.h>
86+#include <stddef.h>
87+#include <string.h>
88+#include <time.h>
89+#include <unistd.h>
90+#include <sys/socket.h>
91+
92+#include <asm/types.h>
93+#include <linux/netlink.h>
94+#include <linux/rtnetlink.h>
95+
96+#include <not-cancel.h>
97+#include <kernel-features.h>
98+
99+
100+#ifndef IFA_F_TEMPORARY
101+# define IFA_F_TEMPORARY IFA_F_SECONDARY
102+#endif
103+#ifndef IFA_F_HOMEADDRESS
104+# define IFA_F_HOMEADDRESS 0
105+#endif
106+
107+
108+static int
109+make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6,
110+ struct in6addrinfo **in6ai, size_t *in6ailen)
111+{
112+ struct req
113+ {
114+ struct nlmsghdr nlh;
115+ struct rtgenmsg g;
116+ } req;
117+ struct sockaddr_nl nladdr;
118+
119+ /* struct rtgenmsg consists of a single byte but the ARM ABI rounds
120+ it up to a word. Clear the padding explicitly here. */
121+ assert (sizeof (req.g) == 4);
122+ memset (&req.g, '\0', sizeof (req.g));
123+
124+ req.nlh.nlmsg_len = sizeof (req);
125+ req.nlh.nlmsg_type = RTM_GETADDR;
126+ req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST;
127+ req.nlh.nlmsg_pid = 0;
128+ req.nlh.nlmsg_seq = time (NULL);
129+ req.g.rtgen_family = AF_UNSPEC;
130+
131+ memset (&nladdr, '\0', sizeof (nladdr));
132+ nladdr.nl_family = AF_NETLINK;
133+
134+ if (TEMP_FAILURE_RETRY (__sendto (fd, (void *) &req, sizeof (req), 0,
135+ (struct sockaddr *) &nladdr,
136+ sizeof (nladdr))) < 0)
137+ return -1;
138+
139+ *seen_ipv4 = false;
140+ *seen_ipv6 = false;
141+
142+ bool done = false;
143+ char buf[4096];
144+ struct iovec iov = { buf, sizeof (buf) };
145+ struct in6ailist
146+ {
147+ struct in6addrinfo info;
148+ struct in6ailist *next;
149+ } *in6ailist = NULL;
150+ size_t in6ailistlen = 0;
151+
152+ do
153+ {
154+ struct msghdr msg =
155+ {
156+ (void *) &nladdr, sizeof (nladdr),
157+ &iov, 1,
158+ NULL, 0,
159+ 0
160+ };
161+
162+ ssize_t read_len = TEMP_FAILURE_RETRY (__recvmsg (fd, &msg, 0));
163+ if (read_len < 0)
164+ return -1;
165+
166+ if (msg.msg_flags & MSG_TRUNC)
167+ return -1;
168+
169+ struct nlmsghdr *nlmh;
170+ for (nlmh = (struct nlmsghdr *) buf;
171+ NLMSG_OK (nlmh, (size_t) read_len);
172+ nlmh = (struct nlmsghdr *) NLMSG_NEXT (nlmh, read_len))
173+ {
174+ if (nladdr.nl_pid != 0 || (pid_t) nlmh->nlmsg_pid != pid
175+ || nlmh->nlmsg_seq != req.nlh.nlmsg_seq)
176+ continue;
177+
178+ if (nlmh->nlmsg_type == RTM_NEWADDR)
179+ {
180+ struct ifaddrmsg *ifam = (struct ifaddrmsg *) NLMSG_DATA (nlmh);
181+
182+ switch (ifam->ifa_family)
183+ {
184+ case AF_INET:
185+ *seen_ipv4 = true;
186+ break;
187+ case AF_INET6:
188+ *seen_ipv6 = true;
189+
190+ if (ifam->ifa_flags & (IFA_F_DEPRECATED
191+ | IFA_F_TEMPORARY
192+ | IFA_F_HOMEADDRESS))
193+ {
194+ struct rtattr *rta = IFA_RTA (ifam);
195+ size_t len = (nlmh->nlmsg_len
196+ - NLMSG_LENGTH (sizeof (*ifam)));
197+ void *local = NULL;
198+ void *address = NULL;
199+ while (RTA_OK (rta, len))
200+ {
201+ switch (rta->rta_type)
202+ {
203+ case IFA_LOCAL:
204+ local = RTA_DATA (rta);
205+ break;
206+
207+ case IFA_ADDRESS:
208+ address = RTA_DATA (rta);
209+ break;
210+ }
211+
212+ rta = RTA_NEXT (rta, len);
213+ }
214+
215+ struct in6ailist *newp = alloca (sizeof (*newp));
216+ newp->info.flags = (((ifam->ifa_flags & IFA_F_DEPRECATED)
217+ ? in6ai_deprecated : 0)
218+ | ((ifam->ifa_flags
219+ & IFA_F_TEMPORARY)
220+ ? in6ai_temporary : 0)
221+ | ((ifam->ifa_flags
222+ & IFA_F_HOMEADDRESS)
223+ ? in6ai_homeaddress : 0));
224+ memcpy (newp->info.addr, address ?: local,
225+ sizeof (newp->info.addr));
226+ newp->next = in6ailist;
227+ in6ailist = newp;
228+ ++in6ailistlen;
229+ }
230+ break;
231+ default:
232+ /* Ignore. */
233+ break;
234+ }
235+ }
236+ else if (nlmh->nlmsg_type == NLMSG_DONE)
237+ /* We found the end, leave the loop. */
238+ done = true;
239+ }
240+ }
241+ while (! done);
242+
243+ close_not_cancel_no_status (fd);
244+
245+ if (in6ailist != NULL)
246+ {
247+ *in6ai = malloc (in6ailistlen * sizeof (**in6ai));
248+ if (*in6ai == NULL)
249+ return -1;
250+
251+ *in6ailen = in6ailistlen;
252+
253+ do
254+ {
255+ (*in6ai)[--in6ailistlen] = in6ailist->info;
256+ in6ailist = in6ailist->next;
257+ }
258+ while (in6ailist != NULL);
259+ }
260+
261+ return 0;
262+}
263+
264+
265+/* We don't know if we have NETLINK support compiled in in our
266+ Kernel. */
267+#if __ASSUME_NETLINK_SUPPORT == 0
268+/* Define in ifaddrs.h. */
269+extern int __no_netlink_support attribute_hidden;
270+#else
271+# define __no_netlink_support 0
272+#endif
273+
274+
275+void
276+attribute_hidden
277+__check_pf (bool *seen_ipv4, bool *seen_ipv6,
278+ struct in6addrinfo **in6ai, size_t *in6ailen)
279+{
280+ *in6ai = NULL;
281+ *in6ailen = 0;
282+
283+ if (! __no_netlink_support)
284+ {
285+ int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
286+
287+ struct sockaddr_nl nladdr;
288+ memset (&nladdr, '\0', sizeof (nladdr));
289+ nladdr.nl_family = AF_NETLINK;
290+
291+ socklen_t addr_len = sizeof (nladdr);
292+
293+ if (fd >= 0
294+ && __bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0
295+ && __getsockname (fd, (struct sockaddr *) &nladdr, &addr_len) == 0
296+ && make_request (fd, nladdr.nl_pid, seen_ipv4, seen_ipv6,
297+ in6ai, in6ailen) == 0)
298+ /* It worked. */
299+ return;
300+
301+ if (fd >= 0)
302+ __close (fd);
303+
304+#if __ASSUME_NETLINK_SUPPORT == 0
305+ /* Remember that there is no netlink support. */
306+ __no_netlink_support = 1;
307+#else
308+ /* We cannot determine what interfaces are available. Be
309+ pessimistic. */
310+ *seen_ipv4 = true;
311+ *seen_ipv6 = true;
312+#endif
313+ }
314+
315+#if __ASSUME_NETLINK_SUPPORT == 0
316+ /* No netlink. Get the interface list via getifaddrs. */
317+ struct ifaddrs *ifa = NULL;
318+ if (getifaddrs (&ifa) != 0)
319+ {
320+ /* We cannot determine what interfaces are available. Be
321+ pessimistic. */
322+ *seen_ipv4 = true;
323+ *seen_ipv6 = true;
324+ return;
325+ }
326+
327+ struct ifaddrs *runp;
328+ for (runp = ifa; runp != NULL; runp = runp->ifa_next)
329+ if (runp->ifa_addr->sa_family == PF_INET)
330+ *seen_ipv4 = true;
331+ else if (runp->ifa_addr->sa_family == PF_INET6)
332+ *seen_ipv6 = true;
333+
334+ (void) freeifaddrs (ifa);
335+#endif
336+}
337Index: sysdeps/unix/sysv/linux/arm/eabi/check_pf.c
338===================================================================
339RCS file: sysdeps/unix/sysv/linux/arm/eabi/check_pf.c
340diff -N sysdeps/unix/sysv/linux/arm/eabi/check_pf.c
341--- /dev/null 1 Jan 1970 00:00:00 -0000
342+++ sysdeps/unix/sysv/linux/arm/eabi/check_pf.c 31 Oct 2006 17:29:58 -0000
343@@ -0,0 +1 @@
344+#include <sysdeps/unix/sysv/linux/check_pf.c>
345
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/ldd-unbash.patch b/meta/recipes-core/glibc/glibc-2.10.1/ldd-unbash.patch
deleted file mode 100644
index 1601310796..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/ldd-unbash.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3--- glibc-2.5/elf/ldd.bash.in.org 2006-04-30 16:06:20.000000000 +0000
4+++ glibc-2.5/elf/ldd.bash.in 2007-03-30 19:18:57.000000000 +0000
5@@ -110,7 +110,7 @@
6 # environments where the executed program might not have permissions
7 # to write to the console/tty. But only bash 3.x supports the pipefail
8 # option, and we don't bother to handle the case for older bash versions.
9-if set -o pipefail 2> /dev/null; then
10+if false; then
11 try_trace() {
12 eval $add_env '"$@"' | cat
13 }
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/ldsocache-varrun.patch b/meta/recipes-core/glibc/glibc-2.10.1/ldsocache-varrun.patch
deleted file mode 100644
index c303c64dff..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/ldsocache-varrun.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1This patch moves ld.so.cache from /etc to /var/run. This is for devices
2where /etc is JFFS2 or CRAMFS but /var is a ramdisk.
3
4#
5# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
6#
7
8Upstream-Status: Inappropriate [not used]
9
10--- libc/sysdeps/generic/dl-cache.h~ldsocache-varrun
11+++ libc/sysdeps/generic/dl-cache.h
12@@ -29,7 +29,7 @@
13 #endif
14
15 #ifndef LD_SO_CACHE
16-# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
17+# define LD_SO_CACHE "/var/run/ld.so.cache"
18 #endif
19
20 #ifndef add_system_dir
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/march-i686.patch b/meta/recipes-core/glibc/glibc-2.10.1/march-i686.patch
deleted file mode 100644
index 687235cfce..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/march-i686.patch
+++ /dev/null
@@ -1,39 +0,0 @@
12007-02-15 Khem Raj <kraj@xxxxxxxxxx>
2
3 * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
4 * nptl/sysdeps/pthread/pt-initfini.c: Ditto.
5
6
7Upstream-Status: Inappropriate [not used]
8
9Index: sysdeps/unix/sysv/linux/i386/sysdep.h
10===================================================================
11--- sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
12+++ sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
13@@ -29,6 +29,10 @@
14 #include <dl-sysdep.h>
15 #include <tls.h>
16
17+#if defined __i686 && defined __ASSEMBLER__
18+#undef __i686
19+#define __i686 __i686
20+#endif
21
22 /* For Linux we can use the system call table in the header file
23 /usr/include/asm/unistd.h
24Index: nptl/sysdeps/pthread/pt-initfini.c
25===================================================================
26--- nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
27+++ nptl/sysdeps/pthread/pt-initfini.c (working copy)
28@@ -45,6 +45,11 @@
29 /* Embed an #include to pull in the alignment and .end directives. */
30 asm ("\n#include \"defs.h\"");
31
32+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
33+asm ("\n#undef __i686");
34+asm ("\n#define __i686 __i686");
35+asm ("\n#endif");
36+
37 /* The initial common code ends here. */
38 asm ("\n/*@HEADER_ENDS*/");
39
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/mips-rld-map-check.patch b/meta/recipes-core/glibc/glibc-2.10.1/mips-rld-map-check.patch
deleted file mode 100644
index 2599e16fb3..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/mips-rld-map-check.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic
2section if a --version-script sets _RLD_MAP to local. This is apparently
3a binutils bug, but libc shouldn't segfault in this case.
4
5see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615
6
7Upstream-Status: Inappropriate [not used]
8
99/19/2010 - added by Qing He <qing.he@intel.com>
10---
11diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/ports/sysdeps/mips/dl-machine.h
12--- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800
13+++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h 2010-09-19 09:11:53.000000000 +0800
14@@ -70,7 +70,8 @@
15 /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in
16 with the run-time address of the r_debug structure */
17 #define ELF_MACHINE_DEBUG_SETUP(l,r) \
18-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \
19+do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \
20+ (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \
21 *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \
22 (ElfW(Addr)) (r); \
23 } while (0)
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/nptl-crosscompile.patch b/meta/recipes-core/glibc/glibc-2.10.1/nptl-crosscompile.patch
deleted file mode 100644
index 7e3d9bb759..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/nptl-crosscompile.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3--- glibc-2.4/nptl/sysdeps/pthread/configure.in.ark 2006-03-12 00:41:40.000000000 +0100
4+++ glibc-2.4/nptl/sysdeps/pthread/configure.in 2006-03-12 00:44:08.000000000 +0100
5@@ -45,5 +45,6 @@
6 AC_MSG_ERROR([the compiler must support C cleanup handling])
7 fi
8 else
9- AC_MSG_ERROR(forced unwind support is required)
10+ AC_MSG_WARN([forced unwind support is required, can't be verified while crosscompiling])
11+ AC_DEFINE(HAVE_FORCED_UNWIND)
12 fi
13--- glibc-2.4/nptl/sysdeps/pthread/configure.ark 2006-03-12 00:42:47.000000000 +0100
14+++ glibc-2.4/nptl/sysdeps/pthread/configure 2006-03-12 00:44:08.000000000 +0100
15@@ -153,7 +153,10 @@
16 { (exit 1); exit 1; }; }
17 fi
18 else
19- { { echo "$as_me:$LINENO: error: forced unwind support is required" >&5
20-echo "$as_me: error: forced unwind support is required" >&2;}
21- { (exit 1); exit 1; }; }
22+ { echo "$as_me:$LINENO: WARNING: forced unwind support is required, can't be verified while crosscompiling" >&5
23+echo "$as_me: WARNING: forced unwind support is required, can't be verified while crosscompiling" >&2;}
24+ cat >>confdefs.h <<\_ACEOF
25+#define HAVE_FORCED_UNWIND 1
26+_ACEOF
27+
28 fi
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/nscd-init.patch b/meta/recipes-core/glibc/glibc-2.10.1/nscd-init.patch
deleted file mode 100644
index 8017e49575..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/nscd-init.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3--- nscd/nscd.init
4+++ nscd/nscd.init
5@@ -48,9 +48,8 @@
6
7 start () {
8 [ -d /var/run/nscd ] || mkdir /var/run/nscd
9- [ -d /var/db/nscd ] || mkdir /var/db/nscd
10 echo -n $"Starting $prog: "
11- daemon /usr/sbin/nscd
12+ /usr/sbin/nscd
13 RETVAL=$?
14 echo
15 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd
16@@ -67,12 +66,10 @@
17 # a non-privileged user
18 rm -f /var/run/nscd/nscd.pid
19 rm -f /var/run/nscd/socket
20- success $"$prog shutdown"
21- else
22- failure $"$prog shutdown"
23 fi
24- echo
25- return $RETVAL
26+ echo "Done."
27+ # If nscd did not run, return 0 according to LSB.
28+ return 0
29 }
30
31 restart() {
32@@ -104,7 +101,8 @@
33 ;;
34 force-reload | reload)
35 echo -n $"Reloading $prog: "
36- killproc /usr/sbin/nscd -HUP
37+ # Use killall, initscripts-1.0-r115 don't support -HUP yet.
38+ killall -HUP /usr/sbin/nscd
39 RETVAL=$?
40 echo
41 ;;
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/powerpc-sqrt-hack.diff b/meta/recipes-core/glibc/glibc-2.10.1/powerpc-sqrt-hack.diff
deleted file mode 100644
index bbc75d126b..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/powerpc-sqrt-hack.diff
+++ /dev/null
@@ -1,27 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3diff -Nurd ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c
4--- ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c 2006-04-14 07:44:30.000000000 +0200
5+++ glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c 2006-12-08 12:53:32.202227000 +0100
6@@ -25,6 +25,9 @@
7 #include <sysdep.h>
8 #include <ldsodefs.h>
9
10+#define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0)
11+
12+
13 static const double almost_half = 0.5000000000000001; /* 0.5 + 2^-53 */
14 static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 };
15 static const ieee_float_shape_type a_inf = {.word = 0x7f800000 };
16diff -Nurd ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c
17--- ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c 2006-04-14 07:44:30.000000000 +0200
18+++ glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c 2006-12-08 12:53:36.992227000 +0100
19@@ -25,6 +25,8 @@
20 #include <sysdep.h>
21 #include <ldsodefs.h>
22
23+#define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0)
24+
25 static const float almost_half = 0.50000006; /* 0.5 + 2^-24 */
26 static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 };
27 static const ieee_float_shape_type a_inf = {.word = 0x7f800000 };
diff --git a/meta/recipes-core/glibc/glibc-2.10.1/rulesfix.patch b/meta/recipes-core/glibc/glibc-2.10.1/rulesfix.patch
deleted file mode 100644
index 585bb625b2..0000000000
--- a/meta/recipes-core/glibc/glibc-2.10.1/rulesfix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3Index: glibc-2.9/Makerules
4===================================================================
5--- glibc-2.9.orig/Makerules 2009-09-14 16:39:21.000000000 +0100
6+++ glibc-2.9/Makerules 2009-09-14 16:39:50.000000000 +0100
7@@ -173,6 +173,8 @@
8 # it's used in sysd-rules, below.
9 $(common-objpfx)%.h $(common-objpfx)%.h.d: $(..)scripts/gen-as-const.awk \
10 %.sym $(common-before-compile)
11+ rm -f $(@:.h=.h.d)
12+ rm -f $(@:.h.d=.h)
13 $(AWK) -f $< $(filter %.sym,$^) \
14 | $(CC) -S -o $(@:.h.d=.h)T3 $(CFLAGS) $(CPPFLAGS) -x c - \
15 -MD -MP -MF $(@:.h=.h.d)T -MT '$(@:.h=.h.d) $(@:.h.d=.h)'