summaryrefslogtreecommitdiff
path: root/multilib-staging/lib32-glibc
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-09-03 16:37:12 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-09-03 16:37:12 -0300
commit0ec0464a32563349252dda85e9176a9475d6fc34 (patch)
tree2a9596ff6111e4edd6c435f639c5f8b9e8e6e95f /multilib-staging/lib32-glibc
parentfd79a8838924a7320059d01dd72558f1cbceca0b (diff)
testing and other testing stuff
Diffstat (limited to 'multilib-staging/lib32-glibc')
-rw-r--r--multilib-staging/lib32-glibc/PKGBUILD128
-rw-r--r--multilib-staging/lib32-glibc/glibc-2.15-fix-res_query-assert.patch51
-rw-r--r--multilib-staging/lib32-glibc/glibc-2.15-revert-c5a0802a.patch226
-rw-r--r--multilib-staging/lib32-glibc/glibc-2.16-rpcgen-cpp-path.patch68
-rw-r--r--multilib-staging/lib32-glibc/lib32-glibc.conf1
5 files changed, 0 insertions, 474 deletions
diff --git a/multilib-staging/lib32-glibc/PKGBUILD b/multilib-staging/lib32-glibc/PKGBUILD
deleted file mode 100644
index 23f0b9dff..000000000
--- a/multilib-staging/lib32-glibc/PKGBUILD
+++ /dev/null
@@ -1,128 +0,0 @@
-# $Id: PKGBUILD 75000 2012-08-11 11:23:15Z heftig $
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-# Contributor: Allan McRae <allan@archlinux.org>
-
-# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-# NOTE: valgrind requires rebuilt with each major glibc version
-
-_pkgbasename=glibc
-pkgname=lib32-$_pkgbasename
-pkgver=2.16.0
-pkgrel=3
-pkgdesc="GNU C Library for multilib"
-arch=('x86_64')
-url="http://www.gnu.org/software/libc"
-license=('GPL' 'LGPL')
-makedepends=('gcc-multilib>=4.7')
-options=('!strip' '!emptydirs')
-source=(http://ftp.gnu.org/gnu/libc/${_pkgbasename}-${pkgver}.tar.xz{,.sig}
- glibc-2.15-fix-res_query-assert.patch
- glibc-2.15-revert-c5a0802a.patch
- glibc-2.16-rpcgen-cpp-path.patch
- lib32-glibc.conf)
-md5sums=('80b181b02ab249524ec92822c0174cf7'
- '2a1221a15575820751c325ef4d2fbb90'
- '31f415b41197d85d3bbee3d1eecd06a3'
- '0a0383d50d63f1c02919fe9943b82014'
- 'ea6a43915474e8276e9361eed6a01280'
- '6e052f1cb693d5d3203f50f9d4e8c33b')
-
-build() {
- cd ${srcdir}/${_pkgbasename}-${pkgver}
-
- # fix res_query assertion
- # http://sourceware.org/bugzilla/show_bug.cgi?id=13013
- patch -p1 -i ${srcdir}/glibc-2.15-fix-res_query-assert.patch
-
- # revert commit c5a0802a - causes various hangs
- # https://bugzilla.redhat.com/show_bug.cgi?id=552960
- patch -p1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch
-
- # prevent need for /lib/cpp symlink
- # http://sourceware.org/git/?p=glibc.git;a=commit;h=bf9b740a
- patch -p1 -i ${srcdir}/glibc-2.16-rpcgen-cpp-path.patch
-
- cd ${srcdir}
- mkdir glibc-build
- cd glibc-build
-
-
- # Hack to fix NPTL issues with Xen, only required on 32bit platforms
- # TODO: make separate glibc-xen package for i686
- export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
-
- export CC="gcc -m32"
- export CXX="g++ -m32"
- echo "slibdir=/usr/lib32" >> configparms
-
- # remove hardening options from CFLAGS for building libraries
- CFLAGS=${CFLAGS/-fstack-protector/}
- CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/}
-
- ${srcdir}/${_pkgbasename}-${pkgver}/configure --prefix=/usr \
- --libdir=/usr/lib32 --libexecdir=/usr/lib32 \
- --with-headers=/usr/include \
- --enable-add-ons=nptl,libidn \
- --enable-obsolete-rpc \
- --enable-kernel=2.6.32 \
- --enable-bind-now --disable-profile \
- --enable-stackguard-randomization \
- --enable-multi-arch i686-unknown-linux-gnu
-
- # build libraries with hardening disabled
- echo "build-programs=no" >> configparms
- make
-
- # re-enable hardening for programs
- sed -i "/build-programs=/s#no#yes#" configparms
- echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms
- echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms
- make
-
- # remove harding in preparation to run test-suite
- sed -i '2,4d' configparms
-}
-
-check() {
- cd ${srcdir}/glibc-build
- make -k check
-}
-
-package() {
- cd ${srcdir}/glibc-build
- make install_root=${pkgdir} install
-
- rm -rf ${pkgdir}/{etc,sbin,usr/{bin,sbin,share},var}
-
- # We need one 32 bit specific header file
- find ${pkgdir}/usr/include -type f -not -name stubs-32.h -delete
-
- # Do not strip the following files for improved debugging support
- # ("improved" as in not breaking gdb and valgrind...):
- # ld-${pkgver}.so
- # libc-${pkgver}.so
- # libpthread-${pkgver}.so
- # libthread_db-1.0.so
-
- cd $pkgdir
- strip $STRIP_BINARIES usr/lib32/getconf/*
-
- strip $STRIP_STATIC usr/lib32/*.a
-
- strip $STRIP_SHARED usr/lib32/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \
- usr/lib32/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
- usr/lib32/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \
- usr/lib32/{libmemusage,libpcprofile,libSegFault}.so \
- usr/lib32/{pt_chown,{audit,gconv}/*.so}
-
- # Dynamic linker
- mkdir ${pkgdir}/usr/lib
- ln -s ../lib32/ld-linux.so.2 ${pkgdir}/usr/lib/
-
- # Add lib32 paths to the default library search path
- install -Dm644 "$srcdir/lib32-glibc.conf" "$pkgdir/etc/ld.so.conf.d/lib32-glibc.conf"
-
- # Symlink /usr/lib32/locale to /usr/lib/locale
- ln -s ../lib/locale "$pkgdir/usr/lib32/locale"
-}
diff --git a/multilib-staging/lib32-glibc/glibc-2.15-fix-res_query-assert.patch b/multilib-staging/lib32-glibc/glibc-2.15-fix-res_query-assert.patch
deleted file mode 100644
index a894da9c7..000000000
--- a/multilib-staging/lib32-glibc/glibc-2.15-fix-res_query-assert.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- a/resolv/res_query.c
-+++ a/resolv/res_query.c
-@@ -122,6 +122,7 @@ __libc_res_nquery(res_state statp,
- int *resplen2)
- {
- HEADER *hp = (HEADER *) answer;
-+ HEADER *hp2;
- int n, use_malloc = 0;
- u_int oflags = statp->_flags;
-
-@@ -239,26 +240,25 @@ __libc_res_nquery(res_state statp,
- /* __libc_res_nsend might have reallocated the buffer. */
- hp = (HEADER *) *answerp;
-
-- /* We simplify the following tests by assigning HP to HP2. It
-- is easy to verify that this is the same as ignoring all
-- tests of HP2. */
-- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
--
-- if (n < (int) sizeof (HEADER) && answerp2 != NULL
-- && *resplen2 > (int) sizeof (HEADER))
-+ /* We simplify the following tests by assigning HP to HP2 or
-+ vice versa. It is easy to verify that this is the same as
-+ ignoring all tests of HP or HP2. */
-+ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
- {
-- /* Special case of partial answer. */
-- assert (hp != hp2);
-- hp = hp2;
-+ hp2 = hp;
- }
-- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
-- && n > (int) sizeof (HEADER))
-+ else
- {
-- /* Special case of partial answer. */
-- assert (hp != hp2);
-- hp2 = hp;
-+ hp2 = (HEADER *) *answerp2;
-+ if (n < (int) sizeof (HEADER))
-+ {
-+ hp = hp2;
-+ }
- }
-
-+ /* Make sure both hp and hp2 are defined */
-+ assert((hp != NULL) && (hp2 != NULL));
-+
- if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
- && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
- #ifdef DEBUG
diff --git a/multilib-staging/lib32-glibc/glibc-2.15-revert-c5a0802a.patch b/multilib-staging/lib32-glibc/glibc-2.15-revert-c5a0802a.patch
deleted file mode 100644
index d8894723a..000000000
--- a/multilib-staging/lib32-glibc/glibc-2.15-revert-c5a0802a.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000
-+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000
-@@ -137,7 +137,6 @@ __pthread_cond_wait:
- cmpl $PI_BIT, %eax
- jne 18f
-
--90:
- movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx
- movl %ebp, %edx
- xorl %esi, %esi
-@@ -151,9 +150,6 @@ __pthread_cond_wait:
- sete 16(%esp)
- je 19f
-
-- cmpl $-EAGAIN, %eax
-- je 91f
--
- /* Normal and PI futexes dont mix. Use normal futex functions only
- if the kernel does not support the PI futex functions. */
- cmpl $-ENOSYS, %eax
-@@ -398,78 +394,6 @@ __pthread_cond_wait:
- #endif
- call __lll_unlock_wake
- jmp 11b
--
--91:
--.LcleanupSTART2:
-- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
-- call it again. */
--
-- /* Get internal lock. */
-- movl $1, %edx
-- xorl %eax, %eax
-- LOCK
--#if cond_lock == 0
-- cmpxchgl %edx, (%ebx)
--#else
-- cmpxchgl %edx, cond_lock(%ebx)
--#endif
-- jz 92f
--
--#if cond_lock == 0
-- movl %ebx, %edx
--#else
-- leal cond_lock(%ebx), %edx
--#endif
--#if (LLL_SHARED-LLL_PRIVATE) > 255
-- xorl %ecx, %ecx
--#endif
-- cmpl $-1, dep_mutex(%ebx)
-- setne %cl
-- subl $1, %ecx
-- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
--#if LLL_PRIVATE != 0
-- addl $LLL_PRIVATE, %ecx
--#endif
-- call __lll_lock_wait
--
--92:
-- /* Increment the cond_futex value again, so it can be used as a new
-- expected value. */
-- addl $1, cond_futex(%ebx)
-- movl cond_futex(%ebx), %ebp
--
-- /* Unlock. */
-- LOCK
--#if cond_lock == 0
-- subl $1, (%ebx)
--#else
-- subl $1, cond_lock(%ebx)
--#endif
-- je 93f
--#if cond_lock == 0
-- movl %ebx, %eax
--#else
-- leal cond_lock(%ebx), %eax
--#endif
--#if (LLL_SHARED-LLL_PRIVATE) > 255
-- xorl %ecx, %ecx
--#endif
-- cmpl $-1, dep_mutex(%ebx)
-- setne %cl
-- subl $1, %ecx
-- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
--#if LLL_PRIVATE != 0
-- addl $LLL_PRIVATE, %ecx
--#endif
-- call __lll_unlock_wake
--
--93:
-- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
-- xorl %ecx, %ecx
-- movl dep_mutex(%ebx), %edi
-- jmp 90b
--.LcleanupEND2:
--
- .size __pthread_cond_wait, .-__pthread_cond_wait
- versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
- GLIBC_2_3_2)
-@@ -642,10 +566,6 @@ __condvar_w_cleanup:
- .long .LcleanupEND-.Lsub_cond_futex
- .long __condvar_w_cleanup-.LSTARTCODE
- .uleb128 0
-- .long .LcleanupSTART2-.LSTARTCODE
-- .long .LcleanupEND2-.LcleanupSTART2
-- .long __condvar_w_cleanup-.LSTARTCODE
-- .uleb128 0
- .long .LcallUR-.LSTARTCODE
- .long .LENDCODE-.LcallUR
- .long 0
-Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig
-diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000
-+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000
-@@ -23,7 +23,6 @@
- #include <lowlevelcond.h>
- #include <tcb-offsets.h>
- #include <pthread-pi-defines.h>
--#include <pthread-errnos.h>
- #include <stap-probe.h>
-
- #include <kernel-features.h>
-@@ -137,14 +136,11 @@ __pthread_cond_wait:
- cmpl $PI_BIT, %eax
- jne 61f
-
--90:
- movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi
- movl $SYS_futex, %eax
- syscall
-
- movl $1, %r8d
-- cmpq $-EAGAIN, %rax
-- je 91f
- #ifdef __ASSUME_REQUEUE_PI
- jmp 62f
- #else
-@@ -331,70 +327,6 @@ __pthread_cond_wait:
-
- 13: movq %r10, %rax
- jmp 14b
--
--91:
--.LcleanupSTART2:
-- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
-- call it again. */
-- movq 8(%rsp), %rdi
--
-- /* Get internal lock. */
-- movl $1, %esi
-- xorl %eax, %eax
-- LOCK
--#if cond_lock == 0
-- cmpxchgl %esi, (%rdi)
--#else
-- cmpxchgl %esi, cond_lock(%rdi)
--#endif
-- jz 92f
--
--#if cond_lock != 0
-- addq $cond_lock, %rdi
--#endif
-- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
-- movl $LLL_PRIVATE, %eax
-- movl $LLL_SHARED, %esi
-- cmovne %eax, %esi
-- callq __lll_lock_wait
--#if cond_lock != 0
-- subq $cond_lock, %rdi
--#endif
--92:
-- /* Increment the cond_futex value again, so it can be used as a new
-- expected value. */
-- incl cond_futex(%rdi)
-- movl cond_futex(%rdi), %edx
--
-- /* Release internal lock. */
-- LOCK
--#if cond_lock == 0
-- decl (%rdi)
--#else
-- decl cond_lock(%rdi)
--#endif
-- jz 93f
--
--#if cond_lock != 0
-- addq $cond_lock, %rdi
--#endif
-- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
-- movl $LLL_PRIVATE, %eax
-- movl $LLL_SHARED, %esi
-- cmovne %eax, %esi
-- /* The call preserves %rdx. */
-- callq __lll_unlock_wake
--#if cond_lock != 0
-- subq $cond_lock, %rdi
--#endif
--93:
-- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
-- xorq %r10, %r10
-- mov dep_mutex(%rdi), %R8_LP
-- leaq cond_futex(%rdi), %rdi
-- jmp 90b
--.LcleanupEND2:
--
- .size __pthread_cond_wait, .-__pthread_cond_wait
- versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
- GLIBC_2_3_2)
-@@ -547,15 +479,11 @@ __condvar_cleanup1:
- .uleb128 .LcleanupSTART-.LSTARTCODE
- .uleb128 .LcleanupEND-.LcleanupSTART
- .uleb128 __condvar_cleanup1-.LSTARTCODE
-- .uleb128 0
-- .uleb128 .LcleanupSTART2-.LSTARTCODE
-- .uleb128 .LcleanupEND2-.LcleanupSTART2
-- .uleb128 __condvar_cleanup1-.LSTARTCODE
-- .uleb128 0
-+ .uleb128 0
- .uleb128 .LcallUR-.LSTARTCODE
- .uleb128 .LENDCODE-.LcallUR
- .uleb128 0
-- .uleb128 0
-+ .uleb128 0
- .Lcstend:
-
diff --git a/multilib-staging/lib32-glibc/glibc-2.16-rpcgen-cpp-path.patch b/multilib-staging/lib32-glibc/glibc-2.16-rpcgen-cpp-path.patch
deleted file mode 100644
index 822b57294..000000000
--- a/multilib-staging/lib32-glibc/glibc-2.16-rpcgen-cpp-path.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/sunrpc/rpc_main.c b/sunrpc/rpc_main.c
-index 06d951a..2103b10 100644
---- a/sunrpc/rpc_main.c
-+++ b/sunrpc/rpc_main.c
-@@ -75,12 +75,9 @@ struct commandline
-
- static const char *cmdname;
-
--#define SVR4_CPP "/usr/ccs/lib/cpp"
--#define SUNOS_CPP "/lib/cpp"
--
- static const char *svcclosetime = "120";
- static int cppDefined; /* explicit path for C preprocessor */
--static const char *CPP = SUNOS_CPP;
-+static const char *CPP = "/lib/cpp";
- static const char CPPFLAGS[] = "-C";
- static char *pathbuf;
- static int cpp_pid;
-@@ -327,23 +324,17 @@ find_cpp (void)
- {
- struct stat buf;
-
-- if (stat (CPP, &buf) < 0)
-- { /* /lib/cpp or explicit cpp does not exist */
-- if (cppDefined)
-- {
-- fprintf (stderr, _ ("cannot find C preprocessor: %s \n"), CPP);
-- crash ();
-- }
-- else
-- { /* try the other one */
-- CPP = SVR4_CPP;
-- if (stat (CPP, &buf) < 0)
-- { /* can't find any cpp */
-- fputs (_ ("cannot find any C preprocessor (cpp)\n"), stdout);
-- crash ();
-- }
-- }
-+ if (stat (CPP, &buf) == 0)
-+ return;
-+
-+ if (cppDefined) /* user specified cpp but it does not exist */
-+ {
-+ fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
-+ crash ();
- }
-+
-+ /* fall back to system CPP */
-+ CPP = "cpp";
- }
-
- /*
-@@ -374,8 +365,13 @@ open_input (const char *infile, const char *define)
- close (1);
- dup2 (pd[1], 1);
- close (pd[0]);
-- execv (arglist[0], (char **) arglist);
-- perror ("execv");
-+ execvp (arglist[0], (char **) arglist);
-+ if (errno == ENOENT)
-+ {
-+ fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
-+ exit (1);
-+ }
-+ perror ("execvp");
- exit (1);
- case -1:
- perror ("fork");
diff --git a/multilib-staging/lib32-glibc/lib32-glibc.conf b/multilib-staging/lib32-glibc/lib32-glibc.conf
deleted file mode 100644
index 9b08c3f43..000000000
--- a/multilib-staging/lib32-glibc/lib32-glibc.conf
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib32