Fix eglibc to make it build using OABI.
authorKhem Raj <raj.khem@gmail.com>
Mon, 7 Apr 2008 00:01:06 +0000 (00:01 +0000)
committerKhem Raj <raj.khem@gmail.com>
Mon, 7 Apr 2008 00:01:06 +0000 (00:01 +0000)
Bring up to latest stable svn revision.
Fix unused global variable problem in eglibc-package.bbclass.

conf/distro/include/sane-srcrevs.inc
packages/glibc/eglibc-package.bbclass
packages/glibc/eglibc-svn/.mtn2git_empty [new file with mode: 0644]
packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch [new file with mode: 0644]
packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch [new file with mode: 0644]
packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch [new file with mode: 0644]
packages/glibc/eglibc_svn.bb

index 65e7b32..9f478f7 100644 (file)
@@ -22,9 +22,9 @@ SRCREV_pn-dfu-util-native ?= "4160"
 SRCREV_pn-diversity-daemon ?= "127"
 SRCREV_pn-diversity-nav ?= "238"
 SRCREV_pn-eds-dbus ?= "659"
-SRCREV_pn-eglibc ?= "5522"
-SRCREV_pn-eglibc-initial ?= "5522"
-SRCREV_pn-eglibc-intermediate ?= "5522"
+SRCREV_pn-eglibc ?= "5790"
+SRCREV_pn-eglibc-initial ?= "5790"
+SRCREV_pn-eglibc-intermediate ?= "5790"
 SRCREV_pn-ezxd ?= "2074"
 SRCREV_pn-elf2flt ?= "1786"
 SRCREV_pn-epiphany ?= "7837"
index 702d354..241d8d3 100644 (file)
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..ef9708f
--- /dev/null
@@ -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 (file)
index 0000000..cf45035
--- /dev/null
@@ -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 (file)
index 0000000..99c3fef
--- /dev/null
@@ -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
index 6646604..3c22518 100644 (file)
@@ -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    
 }