aboutsummaryrefslogtreecommitdiffstats
path: root/packages/glibc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2008-04-07 00:01:06 +0000
committerKhem Raj <raj.khem@gmail.com>2008-04-07 00:01:06 +0000
commit5bf32077166ced5bb9d528ea15f4e0c8f8a73134 (patch)
treead577efa4342b123f845726a5d8b6c206ba90443 /packages/glibc
parentfbca01e0fc7d470346573de02b3f0e7dbf8dd6a4 (diff)
downloadopenembedded-5bf32077166ced5bb9d528ea15f4e0c8f8a73134.tar.gz
Fix eglibc to make it build using OABI.
Bring up to latest stable svn revision. Fix unused global variable problem in eglibc-package.bbclass.
Diffstat (limited to 'packages/glibc')
-rw-r--r--packages/glibc/eglibc-package.bbclass2
-rw-r--r--packages/glibc/eglibc-svn/.mtn2git_empty0
-rw-r--r--packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch12
-rw-r--r--packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch21
-rw-r--r--packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch19
-rw-r--r--packages/glibc/eglibc_svn.bb10
6 files changed, 62 insertions, 2 deletions
diff --git a/packages/glibc/eglibc-package.bbclass b/packages/glibc/eglibc-package.bbclass
index 702d354591..241d8d30a6 100644
--- a/packages/glibc/eglibc-package.bbclass
+++ b/packages/glibc/eglibc-package.bbclass
@@ -262,7 +262,7 @@ python package_do_split_gconvs () {
else:
eglibc_name = name
bb.data.setVar('RDEPENDS_%s' % pkgname, legitimize_package_name('eglibc-binary-localedata-%s' % eglibc_name), d)
- bb.data.setVar('RPROVIDES_%s' % pkgname, 'glibc-binary-localedata-%s' % group, d)
+ bb.data.setVar('RPROVIDES_%s' % pkgname, 'glibc-binary-localedata-%s' % eglibc_name, d)
rprovides = 'virtual-locale-%s' % legitimize_package_name(name)
m = re.match("(.*)_(.*)", name)
if m:
diff --git a/packages/glibc/eglibc-svn/.mtn2git_empty b/packages/glibc/eglibc-svn/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/glibc/eglibc-svn/.mtn2git_empty
diff --git a/packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch b/packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch
new file mode 100644
index 0000000000..ef9708faaa
--- /dev/null
+++ b/packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch
@@ -0,0 +1,12 @@
+--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h.org 2008-04-04 18:44:53.000000000 -0700
++++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2008-04-04 18:45:27.000000000 -0700
+@@ -73,6 +73,9 @@
+ # define DOCARGS_5 DOCARGS_4
+ # define UNDOCARGS_5 UNDOCARGS_4
+
++# define DOCARGS_6 DOCARGS_5
++# define UNDOCARGS_6 UNDOCARGS_5
++
+ # ifdef IS_IN_libpthread
+ # define CENABLE bl PLTJMP(__pthread_enable_asynccancel)
+ # define CDISABLE bl PLTJMP(__pthread_disable_asynccancel)
diff --git a/packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch b/packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch
new file mode 100644
index 0000000000..cf45035f99
--- /dev/null
+++ b/packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch
@@ -0,0 +1,21 @@
+Index: eglibc/ports/sysdeps/unix/sysv/linux/arm/check_pf.c
+===================================================================
+--- eglibc/ports/sysdeps/unix/sysv/linux/arm/check_pf.c (revision 5790)
++++ eglibc/ports/sysdeps/unix/sysv/linux/arm/check_pf.c (working copy)
+@@ -200,16 +200,12 @@
+ }
+
+ if (ifam->ifa_flags & (IFA_F_DEPRECATED
+- | IFA_F_TEMPORARY
+ | IFA_F_HOMEADDRESS))
+ {
+ struct in6ailist *newp = alloca (sizeof (*newp));
+ newp->info.flags = (((ifam->ifa_flags & IFA_F_DEPRECATED)
+ ? in6ai_deprecated : 0)
+ | ((ifam->ifa_flags
+- & IFA_F_TEMPORARY)
+- ? in6ai_temporary : 0)
+- | ((ifam->ifa_flags
+ & IFA_F_HOMEADDRESS)
+ ? in6ai_homeaddress : 0));
+ memcpy (newp->info.addr, address ?: local,
diff --git a/packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch b/packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch
new file mode 100644
index 0000000000..99c3fef802
--- /dev/null
+++ b/packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch
@@ -0,0 +1,19 @@
+In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM'
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function)
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.)
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function)
+make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1
+
+--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig
++++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
+@@ -25,6 +25,7 @@
+ #include <atomic.h>
+ #include <sysdep.h>
+ #include <kernel-features.h>
++#include <tls.h>
+
+ #define FUTEX_WAIT 0
+ #define FUTEX_WAKE 1
diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb
index 6646604dae..3c2251878a 100644
--- a/packages/glibc/eglibc_svn.bb
+++ b/packages/glibc/eglibc_svn.bb
@@ -5,6 +5,9 @@ FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn"
PV = "2.7+svnr${SRCREV}"
PR = "r4"
SRC_URI = "svn://svn.eglibc.org;module=trunk \
+ file://eglibc-svn-arm-cargs6.patch;patch=1 \
+ file://eglibc-svn-arm-check_pf.patch;patch=1 \
+ file://eglibc-svn-arm-lowlevellock-include-tls.patch;patch=1 \
file://etc/ld.so.conf \
file://generate-supported.mk"
S = "${WORKDIR}/trunk/libc"
@@ -48,8 +51,13 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
EXTRA_OECONF += "${@get_eglibc_fpu_setting(bb, d)}"
-do_configure_prepend() {
+do_unpack_append() {
+ bb.build.exec_func('do_move_ports', d)
+}
+
+do_move_ports() {
if test -d ${WORKDIR}/trunk/ports ; then
+ rm -rf ${S}/ports
mv ${WORKDIR}/trunk/ports ${S}/
fi
}