summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRobert Bragg <bob@openedhand.com>2008-06-06 17:20:20 +0000
committerRobert Bragg <bob@openedhand.com>2008-06-06 17:20:20 +0000
commitdd5ed4b3ada9581b72f493b5d3e9b774d9b4e7bc (patch)
treeb0cc7955b691955eabbfe3f216626ec22b1ba56a /meta
parent94d87fa9620391082284309bad0021bff3111c60 (diff)
downloadpoky-dd5ed4b3ada9581b72f493b5d3e9b774d9b4e7bc.tar.gz
Adds a patch for glibc-2.5 so as to no longer reference linux's private
asm/procinfo.h and instead use a glibc internal definition for HWCAP_VFP. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4611 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta')
-rw-r--r--meta/packages/glibc/glibc-2.4/glibc-arm-no-procinfo_h.patch325
-rw-r--r--meta/packages/glibc/glibc_2.5.bb3
2 files changed, 327 insertions, 1 deletions
diff --git a/meta/packages/glibc/glibc-2.4/glibc-arm-no-procinfo_h.patch b/meta/packages/glibc/glibc-2.4/glibc-arm-no-procinfo_h.patch
new file mode 100644
index 0000000000..6486fc0eab
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/glibc-arm-no-procinfo_h.patch
@@ -0,0 +1,325 @@
1http://sources.redhat.com/ml/libc-ports/2006-10/msg00040.html
2Avoid using asm/procinfo.h
3
4 * From: "Joseph S. Myers" <joseph at codesourcery dot com>
5 * To: libc-ports at sourceware dot org
6 * Date: Tue, 24 Oct 2006 19:25:12 +0000 (UTC)
7 * Subject: Avoid using asm/procinfo.h
8
9I previously noted
10<http://sourceware.org/ml/libc-ports/2006-08/msg00023.html> that the
11use of <asm/procinfo.h>, a Linux-specific kernel header, in
12sysdeps/arm/eabi, is an abstraction violation, and that in principle
13all the files in sysdeps/arm/eabi should use sysdep.h not
14asm/procinfo.h for HWCAP_VFP.
15
16The ARM kernel maintainers have now declared that <asm/procinfo.h>
17should not be used outside the kernel at all (and in particular that
18headers_install is correct in not exporting it), and that these
19definitions will move to a different kernel header. This gives a
20concrete reason for making the change to use glibc's internal
21definitions, which this patch does, thereby allowing glibc to build
22with the exported headers.
23
242006-10-24 Joseph S. Myers <joseph@codesourcery.com>
25
26 * sysdeps/arm/eabi/fclrexcpt.c: Include <sysdep.h> instead of
27 <asm/procinfo.h>. Use HWCAP_ARM_VFP instead of HWCAP_VFP.
28 * sysdeps/arm/eabi/fedisblxcpt.c: Likewise.
29 * sysdeps/arm/eabi/feenablxcpt.c: Likewise.
30 * sysdeps/arm/eabi/fegetenv.c: Likewise.
31 * sysdeps/arm/eabi/fegetexcept.c: Likewise.
32 * sysdeps/arm/eabi/fegetround.c: Likewise.
33 * sysdeps/arm/eabi/feholdexcpt.c: Likewise.
34 * sysdeps/arm/eabi/fesetenv.c: Likewise.
35 * sysdeps/arm/eabi/fesetround.c: Likewise.
36 * sysdeps/arm/eabi/fraiseexcpt.c: Likewise.
37 * sysdeps/arm/eabi/fsetexcptflg.c: Likewise.
38 * sysdeps/arm/eabi/ftestexcept.c: Likewise.
39 * sysdeps/arm/eabi/setfpucw.c: Likewise.
40
41Index: libc/ports/sysdeps/arm/eabi/fclrexcpt.c
42===================================================================
43RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fclrexcpt.c,v
44retrieving revision 1.1
45diff -u -r1.1 fclrexcpt.c
46--- libc/ports/sysdeps/arm/eabi/fclrexcpt.c 10 Oct 2005 15:29:32 -0000 1.1
47+++ libc/ports/sysdeps/arm/eabi/fclrexcpt.c 24 Oct 2006 19:17:51 -0000
48@@ -23,12 +23,12 @@
49 #include <unistd.h>
50 #include <ldsodefs.h>
51 #include <dl-procinfo.h>
52-#include <asm/procinfo.h>
53+#include <sysdep.h>
54
55 int
56 __feclearexcept (int excepts)
57 {
58- if (GLRO (dl_hwcap) & HWCAP_VFP)
59+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
60 {
61 unsigned long int temp;
62
63Index: libc/ports/sysdeps/arm/eabi/fedisblxcpt.c
64===================================================================
65RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fedisblxcpt.c,v
66retrieving revision 1.1
67diff -u -r1.1 fedisblxcpt.c
68--- libc/ports/sysdeps/arm/eabi/fedisblxcpt.c 10 Oct 2005 15:29:32 -0000 1.1
69+++ libc/ports/sysdeps/arm/eabi/fedisblxcpt.c 24 Oct 2006 19:17:51 -0000
70@@ -24,12 +24,12 @@
71 #include <unistd.h>
72 #include <ldsodefs.h>
73 #include <dl-procinfo.h>
74-#include <asm/procinfo.h>
75+#include <sysdep.h>
76
77 int
78 fedisableexcept (int excepts)
79 {
80- if (GLRO (dl_hwcap) & HWCAP_VFP)
81+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
82 {
83 unsigned long int new_exc, old_exc;
84
85Index: libc/ports/sysdeps/arm/eabi/feenablxcpt.c
86===================================================================
87RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/feenablxcpt.c,v
88retrieving revision 1.1
89diff -u -r1.1 feenablxcpt.c
90--- libc/ports/sysdeps/arm/eabi/feenablxcpt.c 10 Oct 2005 15:29:32 -0000 1.1
91+++ libc/ports/sysdeps/arm/eabi/feenablxcpt.c 24 Oct 2006 19:17:51 -0000
92@@ -24,12 +24,12 @@
93 #include <unistd.h>
94 #include <ldsodefs.h>
95 #include <dl-procinfo.h>
96-#include <asm/procinfo.h>
97+#include <sysdep.h>
98
99 int
100 feenableexcept (int excepts)
101 {
102- if (GLRO (dl_hwcap) & HWCAP_VFP)
103+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
104 {
105 unsigned long int new_exc, old_exc;
106
107Index: libc/ports/sysdeps/arm/eabi/fegetenv.c
108===================================================================
109RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fegetenv.c,v
110retrieving revision 1.1
111diff -u -r1.1 fegetenv.c
112--- libc/ports/sysdeps/arm/eabi/fegetenv.c 10 Oct 2005 15:29:32 -0000 1.1
113+++ libc/ports/sysdeps/arm/eabi/fegetenv.c 24 Oct 2006 19:17:51 -0000
114@@ -23,12 +23,12 @@
115 #include <unistd.h>
116 #include <ldsodefs.h>
117 #include <dl-procinfo.h>
118-#include <asm/procinfo.h>
119+#include <sysdep.h>
120
121 int
122 __fegetenv (fenv_t *envp)
123 {
124- if (GLRO (dl_hwcap) & HWCAP_VFP)
125+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
126 {
127 unsigned long int temp;
128 _FPU_GETCW (temp);
129Index: libc/ports/sysdeps/arm/eabi/fegetexcept.c
130===================================================================
131RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fegetexcept.c,v
132retrieving revision 1.1
133diff -u -r1.1 fegetexcept.c
134--- libc/ports/sysdeps/arm/eabi/fegetexcept.c 10 Oct 2005 15:29:32 -0000 1.1
135+++ libc/ports/sysdeps/arm/eabi/fegetexcept.c 24 Oct 2006 19:17:51 -0000
136@@ -24,12 +24,12 @@
137 #include <unistd.h>
138 #include <ldsodefs.h>
139 #include <dl-procinfo.h>
140-#include <asm/procinfo.h>
141+#include <sysdep.h>
142
143 int
144 fegetexcept (void)
145 {
146- if (GLRO (dl_hwcap) & HWCAP_VFP)
147+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
148 {
149 unsigned long temp;
150
151Index: libc/ports/sysdeps/arm/eabi/fegetround.c
152===================================================================
153RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fegetround.c,v
154retrieving revision 1.1
155diff -u -r1.1 fegetround.c
156--- libc/ports/sysdeps/arm/eabi/fegetround.c 10 Oct 2005 15:29:32 -0000 1.1
157+++ libc/ports/sysdeps/arm/eabi/fegetround.c 24 Oct 2006 19:17:51 -0000
158@@ -23,12 +23,12 @@
159 #include <unistd.h>
160 #include <ldsodefs.h>
161 #include <dl-procinfo.h>
162-#include <asm/procinfo.h>
163+#include <sysdep.h>
164
165 int
166 fegetround (void)
167 {
168- if (GLRO (dl_hwcap) & HWCAP_VFP)
169+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
170 {
171 unsigned int temp;
172
173Index: libc/ports/sysdeps/arm/eabi/feholdexcpt.c
174===================================================================
175RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/feholdexcpt.c,v
176retrieving revision 1.1
177diff -u -r1.1 feholdexcpt.c
178--- libc/ports/sysdeps/arm/eabi/feholdexcpt.c 10 Oct 2005 15:29:32 -0000 1.1
179+++ libc/ports/sysdeps/arm/eabi/feholdexcpt.c 24 Oct 2006 19:17:51 -0000
180@@ -23,12 +23,12 @@
181 #include <unistd.h>
182 #include <ldsodefs.h>
183 #include <dl-procinfo.h>
184-#include <asm/procinfo.h>
185+#include <sysdep.h>
186
187 int
188 feholdexcept (fenv_t *envp)
189 {
190- if (GLRO (dl_hwcap) & HWCAP_VFP)
191+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
192 {
193 unsigned long int temp;
194
195Index: libc/ports/sysdeps/arm/eabi/fesetenv.c
196===================================================================
197RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fesetenv.c,v
198retrieving revision 1.1
199diff -u -r1.1 fesetenv.c
200--- libc/ports/sysdeps/arm/eabi/fesetenv.c 10 Oct 2005 15:29:32 -0000 1.1
201+++ libc/ports/sysdeps/arm/eabi/fesetenv.c 24 Oct 2006 19:17:51 -0000
202@@ -23,12 +23,12 @@
203 #include <unistd.h>
204 #include <ldsodefs.h>
205 #include <dl-procinfo.h>
206-#include <asm/procinfo.h>
207+#include <sysdep.h>
208
209 int
210 __fesetenv (const fenv_t *envp)
211 {
212- if (GLRO (dl_hwcap) & HWCAP_VFP)
213+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
214 {
215 unsigned int temp;
216
217Index: libc/ports/sysdeps/arm/eabi/fesetround.c
218===================================================================
219RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fesetround.c,v
220retrieving revision 1.1
221diff -u -r1.1 fesetround.c
222--- libc/ports/sysdeps/arm/eabi/fesetround.c 10 Oct 2005 15:29:32 -0000 1.1
223+++ libc/ports/sysdeps/arm/eabi/fesetround.c 24 Oct 2006 19:17:51 -0000
224@@ -23,12 +23,12 @@
225 #include <unistd.h>
226 #include <ldsodefs.h>
227 #include <dl-procinfo.h>
228-#include <asm/procinfo.h>
229+#include <sysdep.h>
230
231 int
232 fesetround (int round)
233 {
234- if (GLRO (dl_hwcap) & HWCAP_VFP)
235+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
236 {
237 fpu_control_t temp;
238
239Index: libc/ports/sysdeps/arm/eabi/fraiseexcpt.c
240===================================================================
241RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fraiseexcpt.c,v
242retrieving revision 1.1
243diff -u -r1.1 fraiseexcpt.c
244--- libc/ports/sysdeps/arm/eabi/fraiseexcpt.c 10 Oct 2005 15:29:32 -0000 1.1
245+++ libc/ports/sysdeps/arm/eabi/fraiseexcpt.c 24 Oct 2006 19:17:51 -0000
246@@ -24,12 +24,12 @@
247 #include <unistd.h>
248 #include <ldsodefs.h>
249 #include <dl-procinfo.h>
250-#include <asm/procinfo.h>
251+#include <sysdep.h>
252
253 int
254 feraiseexcept (int excepts)
255 {
256- if (GLRO (dl_hwcap) & HWCAP_VFP)
257+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
258 {
259 int fpscr;
260 const float fp_zero = 0.0, fp_one = 1.0, fp_max = FLT_MAX,
261Index: libc/ports/sysdeps/arm/eabi/fsetexcptflg.c
262===================================================================
263RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fsetexcptflg.c,v
264retrieving revision 1.1
265diff -u -r1.1 fsetexcptflg.c
266--- libc/ports/sysdeps/arm/eabi/fsetexcptflg.c 10 Oct 2005 15:29:32 -0000 1.1
267+++ libc/ports/sysdeps/arm/eabi/fsetexcptflg.c 24 Oct 2006 19:17:51 -0000
268@@ -24,12 +24,12 @@
269 #include <unistd.h>
270 #include <ldsodefs.h>
271 #include <dl-procinfo.h>
272-#include <asm/procinfo.h>
273+#include <sysdep.h>
274
275 int
276 __fesetexceptflag (const fexcept_t *flagp, int excepts)
277 {
278- if (GLRO (dl_hwcap) & HWCAP_VFP)
279+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
280 {
281 fexcept_t temp;
282
283Index: libc/ports/sysdeps/arm/eabi/ftestexcept.c
284===================================================================
285RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/ftestexcept.c,v
286retrieving revision 1.1
287diff -u -r1.1 ftestexcept.c
288--- libc/ports/sysdeps/arm/eabi/ftestexcept.c 10 Oct 2005 15:29:32 -0000 1.1
289+++ libc/ports/sysdeps/arm/eabi/ftestexcept.c 24 Oct 2006 19:17:51 -0000
290@@ -23,12 +23,12 @@
291 #include <unistd.h>
292 #include <ldsodefs.h>
293 #include <dl-procinfo.h>
294-#include <asm/procinfo.h>
295+#include <sysdep.h>
296
297 int
298 fetestexcept (int excepts)
299 {
300- if (GLRO (dl_hwcap) & HWCAP_VFP)
301+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
302 {
303 fexcept_t temp;
304
305Index: libc/ports/sysdeps/arm/eabi/setfpucw.c
306===================================================================
307RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/setfpucw.c,v
308retrieving revision 1.1
309diff -u -r1.1 setfpucw.c
310--- libc/ports/sysdeps/arm/eabi/setfpucw.c 10 Oct 2005 15:29:32 -0000 1.1
311+++ libc/ports/sysdeps/arm/eabi/setfpucw.c 24 Oct 2006 19:17:51 -0000
312@@ -23,12 +23,12 @@
313 #include <unistd.h>
314 #include <ldsodefs.h>
315 #include <dl-procinfo.h>
316-#include <asm/procinfo.h>
317+#include <sysdep.h>
318
319 void
320 __setfpucw (fpu_control_t set)
321 {
322- if (GLRO (dl_hwcap) & HWCAP_VFP)
323+ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
324 {
325 fpu_control_t cw;
diff --git a/meta/packages/glibc/glibc_2.5.bb b/meta/packages/glibc/glibc_2.5.bb
index b3d4f16143..cfb1974b2d 100644
--- a/meta/packages/glibc/glibc_2.5.bb
+++ b/meta/packages/glibc/glibc_2.5.bb
@@ -53,7 +53,8 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \
53 file://generic-bits_typesizes.h \ 53 file://generic-bits_typesizes.h \
54 file://generic-bits_time.h \ 54 file://generic-bits_time.h \
55 file://etc/ld.so.conf \ 55 file://etc/ld.so.conf \
56 file://generate-supported.mk" 56 file://generate-supported.mk \
57 file://glibc-arm-no-procinfo_h.patch;patch=1"
57 58
58 59
59# Build fails on sh3 and sh4 without additional patches 60# Build fails on sh3 and sh4 without additional patches