From dd5ed4b3ada9581b72f493b5d3e9b774d9b4e7bc Mon Sep 17 00:00:00 2001 From: Robert Bragg Date: Fri, 6 Jun 2008 17:20:20 +0000 Subject: 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 --- .../glibc/glibc-2.4/glibc-arm-no-procinfo_h.patch | 325 +++++++++++++++++++++ meta/packages/glibc/glibc_2.5.bb | 3 +- 2 files changed, 327 insertions(+), 1 deletion(-) create mode 100644 meta/packages/glibc/glibc-2.4/glibc-arm-no-procinfo_h.patch 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 000000000..6486fc0ea --- /dev/null +++ b/meta/packages/glibc/glibc-2.4/glibc-arm-no-procinfo_h.patch @@ -0,0 +1,325 @@ +http://sources.redhat.com/ml/libc-ports/2006-10/msg00040.html +Avoid using asm/procinfo.h + + * From: "Joseph S. Myers" + * To: libc-ports at sourceware dot org + * Date: Tue, 24 Oct 2006 19:25:12 +0000 (UTC) + * Subject: Avoid using asm/procinfo.h + +I previously noted + that the +use of , a Linux-specific kernel header, in +sysdeps/arm/eabi, is an abstraction violation, and that in principle +all the files in sysdeps/arm/eabi should use sysdep.h not +asm/procinfo.h for HWCAP_VFP. + +The ARM kernel maintainers have now declared that +should not be used outside the kernel at all (and in particular that +headers_install is correct in not exporting it), and that these +definitions will move to a different kernel header. This gives a +concrete reason for making the change to use glibc's internal +definitions, which this patch does, thereby allowing glibc to build +with the exported headers. + +2006-10-24 Joseph S. Myers + + * sysdeps/arm/eabi/fclrexcpt.c: Include instead of + . Use HWCAP_ARM_VFP instead of HWCAP_VFP. + * sysdeps/arm/eabi/fedisblxcpt.c: Likewise. + * sysdeps/arm/eabi/feenablxcpt.c: Likewise. + * sysdeps/arm/eabi/fegetenv.c: Likewise. + * sysdeps/arm/eabi/fegetexcept.c: Likewise. + * sysdeps/arm/eabi/fegetround.c: Likewise. + * sysdeps/arm/eabi/feholdexcpt.c: Likewise. + * sysdeps/arm/eabi/fesetenv.c: Likewise. + * sysdeps/arm/eabi/fesetround.c: Likewise. + * sysdeps/arm/eabi/fraiseexcpt.c: Likewise. + * sysdeps/arm/eabi/fsetexcptflg.c: Likewise. + * sysdeps/arm/eabi/ftestexcept.c: Likewise. + * sysdeps/arm/eabi/setfpucw.c: Likewise. + +Index: libc/ports/sysdeps/arm/eabi/fclrexcpt.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fclrexcpt.c,v +retrieving revision 1.1 +diff -u -r1.1 fclrexcpt.c +--- libc/ports/sysdeps/arm/eabi/fclrexcpt.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fclrexcpt.c 24 Oct 2006 19:17:51 -0000 +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include ++#include + + int + __feclearexcept (int excepts) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + unsigned long int temp; + +Index: libc/ports/sysdeps/arm/eabi/fedisblxcpt.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fedisblxcpt.c,v +retrieving revision 1.1 +diff -u -r1.1 fedisblxcpt.c +--- libc/ports/sysdeps/arm/eabi/fedisblxcpt.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fedisblxcpt.c 24 Oct 2006 19:17:51 -0000 +@@ -24,12 +24,12 @@ + #include + #include + #include +-#include ++#include + + int + fedisableexcept (int excepts) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + unsigned long int new_exc, old_exc; + +Index: libc/ports/sysdeps/arm/eabi/feenablxcpt.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/feenablxcpt.c,v +retrieving revision 1.1 +diff -u -r1.1 feenablxcpt.c +--- libc/ports/sysdeps/arm/eabi/feenablxcpt.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/feenablxcpt.c 24 Oct 2006 19:17:51 -0000 +@@ -24,12 +24,12 @@ + #include + #include + #include +-#include ++#include + + int + feenableexcept (int excepts) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + unsigned long int new_exc, old_exc; + +Index: libc/ports/sysdeps/arm/eabi/fegetenv.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fegetenv.c,v +retrieving revision 1.1 +diff -u -r1.1 fegetenv.c +--- libc/ports/sysdeps/arm/eabi/fegetenv.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fegetenv.c 24 Oct 2006 19:17:51 -0000 +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include ++#include + + int + __fegetenv (fenv_t *envp) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + unsigned long int temp; + _FPU_GETCW (temp); +Index: libc/ports/sysdeps/arm/eabi/fegetexcept.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fegetexcept.c,v +retrieving revision 1.1 +diff -u -r1.1 fegetexcept.c +--- libc/ports/sysdeps/arm/eabi/fegetexcept.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fegetexcept.c 24 Oct 2006 19:17:51 -0000 +@@ -24,12 +24,12 @@ + #include + #include + #include +-#include ++#include + + int + fegetexcept (void) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + unsigned long temp; + +Index: libc/ports/sysdeps/arm/eabi/fegetround.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fegetround.c,v +retrieving revision 1.1 +diff -u -r1.1 fegetround.c +--- libc/ports/sysdeps/arm/eabi/fegetround.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fegetround.c 24 Oct 2006 19:17:51 -0000 +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include ++#include + + int + fegetround (void) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + unsigned int temp; + +Index: libc/ports/sysdeps/arm/eabi/feholdexcpt.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/feholdexcpt.c,v +retrieving revision 1.1 +diff -u -r1.1 feholdexcpt.c +--- libc/ports/sysdeps/arm/eabi/feholdexcpt.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/feholdexcpt.c 24 Oct 2006 19:17:51 -0000 +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include ++#include + + int + feholdexcept (fenv_t *envp) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + unsigned long int temp; + +Index: libc/ports/sysdeps/arm/eabi/fesetenv.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fesetenv.c,v +retrieving revision 1.1 +diff -u -r1.1 fesetenv.c +--- libc/ports/sysdeps/arm/eabi/fesetenv.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fesetenv.c 24 Oct 2006 19:17:51 -0000 +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include ++#include + + int + __fesetenv (const fenv_t *envp) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + unsigned int temp; + +Index: libc/ports/sysdeps/arm/eabi/fesetround.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fesetround.c,v +retrieving revision 1.1 +diff -u -r1.1 fesetround.c +--- libc/ports/sysdeps/arm/eabi/fesetround.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fesetround.c 24 Oct 2006 19:17:51 -0000 +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include ++#include + + int + fesetround (int round) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + fpu_control_t temp; + +Index: libc/ports/sysdeps/arm/eabi/fraiseexcpt.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fraiseexcpt.c,v +retrieving revision 1.1 +diff -u -r1.1 fraiseexcpt.c +--- libc/ports/sysdeps/arm/eabi/fraiseexcpt.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fraiseexcpt.c 24 Oct 2006 19:17:51 -0000 +@@ -24,12 +24,12 @@ + #include + #include + #include +-#include ++#include + + int + feraiseexcept (int excepts) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + int fpscr; + const float fp_zero = 0.0, fp_one = 1.0, fp_max = FLT_MAX, +Index: libc/ports/sysdeps/arm/eabi/fsetexcptflg.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/fsetexcptflg.c,v +retrieving revision 1.1 +diff -u -r1.1 fsetexcptflg.c +--- libc/ports/sysdeps/arm/eabi/fsetexcptflg.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/fsetexcptflg.c 24 Oct 2006 19:17:51 -0000 +@@ -24,12 +24,12 @@ + #include + #include + #include +-#include ++#include + + int + __fesetexceptflag (const fexcept_t *flagp, int excepts) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + fexcept_t temp; + +Index: libc/ports/sysdeps/arm/eabi/ftestexcept.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/ftestexcept.c,v +retrieving revision 1.1 +diff -u -r1.1 ftestexcept.c +--- libc/ports/sysdeps/arm/eabi/ftestexcept.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/ftestexcept.c 24 Oct 2006 19:17:51 -0000 +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include ++#include + + int + fetestexcept (int excepts) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + fexcept_t temp; + +Index: libc/ports/sysdeps/arm/eabi/setfpucw.c +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/arm/eabi/setfpucw.c,v +retrieving revision 1.1 +diff -u -r1.1 setfpucw.c +--- libc/ports/sysdeps/arm/eabi/setfpucw.c 10 Oct 2005 15:29:32 -0000 1.1 ++++ libc/ports/sysdeps/arm/eabi/setfpucw.c 24 Oct 2006 19:17:51 -0000 +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include ++#include + + void + __setfpucw (fpu_control_t set) + { +- if (GLRO (dl_hwcap) & HWCAP_VFP) ++ if (GLRO (dl_hwcap) & HWCAP_ARM_VFP) + { + fpu_control_t cw; diff --git a/meta/packages/glibc/glibc_2.5.bb b/meta/packages/glibc/glibc_2.5.bb index b3d4f1614..cfb1974b2 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 \ file://generic-bits_typesizes.h \ file://generic-bits_time.h \ file://etc/ld.so.conf \ - file://generate-supported.mk" + file://generate-supported.mk \ + file://glibc-arm-no-procinfo_h.patch;patch=1" # Build fails on sh3 and sh4 without additional patches -- cgit v1.2.3