summaryrefslogtreecommitdiff
path: root/multilib-testing
diff options
context:
space:
mode:
Diffstat (limited to 'multilib-testing')
-rw-r--r--multilib-testing/binutils-multilib/PKGBUILD89
-rw-r--r--multilib-testing/binutils-multilib/binutils.install17
-rw-r--r--multilib-testing/gcc-multilib/PKGBUILD319
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch24
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.1-libada-pic.patch12
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.1-libgo-mksysinfo.patch15
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.1-libgo-write.patch13
-rw-r--r--multilib-testing/gcc-multilib/gcc-ada.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc-fortran.install16
-rw-r--r--multilib-testing/gcc-multilib/gcc-go.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc-libs.install16
-rw-r--r--multilib-testing/gcc-multilib/gcc.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc_pure64-multilib.patch22
-rw-r--r--multilib-testing/jack2-multilib/40-hpet-permissions.rules2
-rw-r--r--multilib-testing/jack2-multilib/99-audio.conf2
-rw-r--r--multilib-testing/jack2-multilib/PKGBUILD158
-rw-r--r--multilib-testing/jack2-multilib/ffado_setbuffsize-jack2.patch139
-rw-r--r--multilib-testing/lib32-catalyst-utils/PKGBUILD59
-rw-r--r--multilib-testing/lib32-glew/PKGBUILD33
-rw-r--r--multilib-testing/lib32-glibc/PKGBUILD144
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch132
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch26
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch28
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch24
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-arena.patch29
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-avx.patch196
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-confstr-local-buffer-extent.patch297
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files-2.patch20
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files.patch124
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-feraiseexcept-plt.patch20
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-fix-res_query-assert.patch51
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-fmtmsg-locking.patch148
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-gb18030.patch.gzbin470126 -> 0 bytes
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-ifunc.patch262
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-lddebug-scopes.patch27
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-multiarch-x86-strcmp.patch39
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-nearbyintf-rounding.patch75
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-negative-result-cache.patch138
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-non-signalling-comparisons.patch886
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-regex.patch16
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch226
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-revert-netlink-cache.patch680
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-rintf-rounding.patch158
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-scanf.patch19
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-strcasecmp-disable-avx.patch48
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-testsuite.patch110
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-vdso.patch40
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.15-vfprintf-nargs.patch180
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.16-rpcgen-cpp-path.patch68
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.16-strncasecmp-segfault.patch65
-rw-r--r--multilib-testing/lib32-glibc/glibc-2.16-strtod-overflow.patch389
-rw-r--r--multilib-testing/lib32-glibc/glibc-__i686.patch31
-rw-r--r--multilib-testing/lib32-glibc/lib32-glibc.conf1
-rw-r--r--multilib-testing/lib32-glu/PKGBUILD45
-rw-r--r--multilib-testing/lib32-libdrm/PKGBUILD49
-rw-r--r--multilib-testing/lib32-libdrm/no-pthread-stubs.patch70
-rw-r--r--multilib-testing/lib32-libpng/PKGBUILD55
-rw-r--r--multilib-testing/lib32-libxcb/PKGBUILD47
-rw-r--r--multilib-testing/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch11
-rw-r--r--multilib-testing/lib32-mesa/PKGBUILD257
-rw-r--r--multilib-testing/lib32-mesa/git_fixes.diff93
-rw-r--r--multilib-testing/lib32-mesa/pthread_fix.diff23
-rw-r--r--multilib-testing/lib32-util-linux/PKGBUILD40
-rw-r--r--multilib-testing/libtool-multilib/PKGBUILD74
-rw-r--r--multilib-testing/libtool-multilib/libtool.install22
-rw-r--r--multilib-testing/wine/PKGBUILD154
-rw-r--r--multilib-testing/wine/wine.install12
67 files changed, 0 insertions, 6645 deletions
diff --git a/multilib-testing/binutils-multilib/PKGBUILD b/multilib-testing/binutils-multilib/PKGBUILD
deleted file mode 100644
index 77edc6ddb..000000000
--- a/multilib-testing/binutils-multilib/PKGBUILD
+++ /dev/null
@@ -1,89 +0,0 @@
-# $Id: PKGBUILD 75114 2012-08-14 08:29:19Z allan $
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-# Contributor: Allan McRae <allan@archlinux.org>
-
-# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-
-pkgname=binutils-multilib
-pkgver=2.22
-pkgrel=10
-_date=20120323
-pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib"
-arch=('x86_64')
-url="http://www.gnu.org/software/binutils/"
-license=('GPL')
-groups=('multilib-devel')
-provides=("binutils=$pkgver-$pkgrel")
-conflicts=('binutils')
-depends=('glibc>=2.16' 'zlib')
-makedepends=('gcc-multilib') # Make sure we compile this with gcc-multilib
-checkdepends=('dejagnu')
-options=('!libtool' '!distcc' '!ccache')
-install=binutils.install
-source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2)
-md5sums=('de2ac4298732827f8af706fc24020330')
-
-build() {
- cd ${srcdir}
- mkdir binutils-build && cd binutils-build
-
- ${srcdir}/binutils/configure --prefix=/usr \
- --with-lib-path=/usr/lib:/usr/local/lib \
- --enable-ld=default --enable-gold \
- --enable-plugins --enable-threads \
- --enable-shared \
- --enable-64-bit-bfd --enable-multilib
-
- # check the host environment and makes sure all the necessary tools are available
- make configure-host
-
- make tooldir=${pkgdir}/usr
-
- # Rebuild libiberty.a with -fPIC
- cp -a libiberty libiberty-pic
- make -C libiberty-pic clean
- make CFLAGS="$CFLAGS -fPIC" -C libiberty-pic
-
- # Rebuild libbfd.a with -fPIC
- # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
- cp -a bfd bfd-pic
- make -C bfd-pic clean
- make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd-pic
-
- # Rebuild libopcodes.a with -fPIC
- cp -a opcodes opcodes-pic
- make -C opcodes-pic clean
- make CFLAGS="$CFLAGS -fPIC" -C opcodes-pic
-}
-
-check() {
- cd ${srcdir}/binutils-build
-
- # do not abort on errors - manually check log files
- # gold testsuite does not build with _FORTIFY_SOURCE (due to -O0 -Werror)
- make CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" \
- CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" -k check || true
-}
-
-package() {
- cd ${srcdir}/binutils-build
- make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
-
- # Add some useful headers
- install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include
- install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include
-
- # install libraries rebuilt with -fPIC
- install -m644 libiberty-pic/libiberty.a ${pkgdir}/usr/lib
- install -m644 bfd-pic/libbfd.a ${pkgdir}/usr/lib
- install -m644 opcodes/libopcodes.a ${pkgdir}/usr/lib
-
- # Remove Windows/Novell specific man pages
- rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
-
- # Remove these symlinks, they are not ABI stable.
- # Programs should compile static to the .a file.
- rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
- echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so
- echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so
-}
diff --git a/multilib-testing/binutils-multilib/binutils.install b/multilib-testing/binutils-multilib/binutils.install
deleted file mode 100644
index 8bf9f3a47..000000000
--- a/multilib-testing/binutils-multilib/binutils.install
+++ /dev/null
@@ -1,17 +0,0 @@
-infodir=usr/share/info
-filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.info)
-
-post_upgrade() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
diff --git a/multilib-testing/gcc-multilib/PKGBUILD b/multilib-testing/gcc-multilib/PKGBUILD
deleted file mode 100644
index bcfb1f9cb..000000000
--- a/multilib-testing/gcc-multilib/PKGBUILD
+++ /dev/null
@@ -1,319 +0,0 @@
-# $Id: PKGBUILD 77268 2012-10-08 13:37:04Z heftig $
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-# Contributor: Allan McRae <allan@archlinux.org>
-
-# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-# NOTE: libtool requires rebuilt with each new gcc version
-
-pkgbase='gcc-multilib'
-pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib')
-pkgver=4.7.2
-pkgrel=1
-#_snapshot=4.7-20120721
-_libstdcppmanver=20120924 # Note: check source directory name when updating this
-pkgdesc="The GNU Compiler Collection for multilib"
-arch=('x86_64')
-license=('GPL' 'LGPL' 'FDL' 'custom')
-url="http://gcc.gnu.org"
-makedepends=('binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib'
- 'lib32-glibc>=2.16')
-checkdepends=('dejagnu')
-options=('!libtool' '!emptydirs')
-source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
- #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
- ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
- gcc_pure64-multilib.patch
- gcc-4.7.1-libada-pic.patch
- gcc-4.7.1-libgo-write.patch)
-md5sums=('cc308a0891e778cfda7a151ab8a6e762'
- '7f3d52515daafffb57c287f427381106'
- 'ec24c32d3d1030c2bc8cb2ad2d1dc629'
- '2acbc9d35cc9d72329dc71d6b1f162ef'
- 'df82dd175ac566c8a6d46b11ac21f14c')
-
-
-if [ -n "${_snapshot}" ]; then
- _basedir="${srcdir}/gcc-${_snapshot}"
-else
- _basedir="${srcdir}/gcc-${pkgver}"
-fi
-
-build() {
- cd ${_basedir}
-
- # Do not install libiberty
- sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
-
- # Do not run fixincludes
- sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
-
- patch -p1 -i ${srcdir}/gcc_pure64-multilib.patch
-
- # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53679
- patch -p1 -i ${srcdir}/gcc-4.7.1-libgo-write.patch
-
- # bug to file...
- patch -p1 -i ${srcdir}/gcc-4.7.1-libada-pic.patch
-
- echo ${pkgver} > gcc/BASE-VER
-
- cd ${srcdir}
- mkdir gcc-build && cd gcc-build
-
- ${_basedir}/configure --prefix=/usr \
- --libdir=/usr/lib --libexecdir=/usr/lib \
- --mandir=/usr/share/man --infodir=/usr/share/info \
- --with-bugurl=https://bugs.archlinux.org/ \
- --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
- --enable-shared --enable-threads=posix \
- --with-system-zlib --enable-__cxa_atexit \
- --disable-libunwind-exceptions --enable-clocale=gnu \
- --disable-libstdcxx-pch --enable-libstdcxx-time \
- --enable-gnu-unique-object --enable-linker-build-id \
- --with-ppl --enable-cloog-backend=isl \
- --disable-ppl-version-check --disable-cloog-version-check \
- --enable-lto --enable-gold --enable-ld=default \
- --enable-plugin --with-plugin-ld=ld.gold \
- --with-linker-hash-style=gnu \
- --enable-multilib --disable-libssp \
- --disable-build-with-cxx --disable-build-poststage1-with-cxx \
- --enable-checking=release
- make
-}
-
-check() {
- cd gcc-build
-
- # increase stack size to prevent test failures
- # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
- ulimit -s 32768
-
- # do not abort on error as some are "expected"
- make -k check || true
- ${_basedir}/contrib/test_summary
-}
-
-package_gcc-libs-multilib()
-{
- pkgdesc="Runtime libraries shipped by GCC for multilib"
- depends=('glibc>=2.16' "lib32-gcc-libs=$pkgver-$pkgrel")
- provides=("gcc-libs=$pkgver-$pkgrel")
- conflicts=('gcc-libs')
- install=gcc-libs.install
-
- cd gcc-build
- make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
- for lib in libmudflap libgomp libstdc++-v3/src libitm; do
- make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
- done
- make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
- make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
- make -j1 -C $CHOST/libitm DESTDIR=${pkgdir} install-info
-
- make -j1 DESTDIR=${pkgdir} install-target-libquadmath
- make -j1 DESTDIR=${pkgdir} install-target-libgfortran
- make -j1 DESTDIR=${pkgdir} install-target-libobjc
-
- # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
- rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
-
- # remove stuff in lib32-gcc-libs
- rm -r ${pkgdir}/usr/lib32
-
- # remove static libraries
- find ${pkgdir} -name *.a -delete
-
- # Install Runtime Library Exception
- install -Dm644 ${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION
-}
-
-package_lib32-gcc-libs()
-{
- pkgdesc="Runtime libraries shipped by GCC (32-bit)"
- depends=('lib32-glibc>=2.16' "gcc-libs>=$pkgver")
-
- cd gcc-build
- make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared
- for lib in libmudflap libgomp libstdc++-v3/src libitm; do
- make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
- done
-
- make -j1 DESTDIR=${pkgdir} install-target-libquadmath
- make -j1 DESTDIR=${pkgdir} install-target-libgfortran
- make -j1 DESTDIR=${pkgdir} install-target-libobjc
-
- # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
- rm ${pkgdir}/usr/lib32/libgfortran.spec
-
- # remove stuff in gcc-libs-multilib
- rm -r ${pkgdir}/usr/lib
- rm -r ${pkgdir}/usr/share/info
-
- # remove static libraries
- find ${pkgdir} -name *.a -delete
-
- # Install Runtime Library Exception
- install -Dm644 ${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION
-}
-
-package_gcc-multilib()
-{
- pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib"
- depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl')
- groups=('multilib-devel')
- provides=("gcc=$pkgver-$pkgrel")
- conflicts=('gcc')
- install=gcc.install
-
- cd gcc-build
-
- make -j1 DESTDIR=${pkgdir} install
-
- install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
- mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.17-gdb.py
-
- # unfortunately it is much, much easier to install the lot and clean-up the mess...
- rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*}
- rm $pkgdir/usr/lib{,32}/*.so*
- rm $pkgdir/usr/lib{,32}/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
- rm $pkgdir/usr/lib{,32}/libgfortran.spec
- rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{{,32/}ada{include,lib},finclude,include/objc}
- rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h}
- rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1}
- rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{,32/}{libcaf_single,libgfortranbegin}.a
- rm -r $pkgdir/usr/lib{,32}/go
- rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info
- rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
- rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
- rm $pkgdir/usr/share/man/man3/ffi*
-
- # many packages expect this symlinks
- ln -s gcc ${pkgdir}/usr/bin/cc
-
- # POSIX conformance launcher scripts for c89 and c99
- cat > $pkgdir/usr/bin/c89 <<"EOF"
-#!/bin/sh
-fl="-std=c89"
-for opt; do
- case "$opt" in
- -ansi|-std=c89|-std=iso9899:1990) fl="";;
- -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
- exit 1;;
- esac
-done
-exec gcc $fl ${1+"$@"}
-EOF
-
- cat > $pkgdir/usr/bin/c99 <<"EOF"
-#!/bin/sh
-fl="-std=c99"
-for opt; do
- case "$opt" in
- -std=c99|-std=iso9899:1999) fl="";;
- -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
- exit 1;;
- esac
-done
-exec gcc $fl ${1+"$@"}
-EOF
-
- chmod 755 $pkgdir/usr/bin/c{8,9}9
-
- # install the libstdc++ man pages
- install -dm755 ${pkgdir}/usr/share/man/man3
- install -m644 ${srcdir}/libstdc++-api.${_libstdcppmanver}.man/man3/* \
- ${pkgdir}/usr/share/man/man3/
-
- # Install Runtime Library Exception
- install -Dm644 ${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-multilib/RUNTIME.LIBRARY.EXCEPTION
-}
-
-package_gcc-fortran-multilib()
-{
- pkgdesc="Fortran front-end for GCC for multilib"
- depends=("gcc-multilib=$pkgver-$pkgrel")
- provides=("gcc-fortran=$pkgver-$pkgrel")
- conflicts=('gcc-fortran')
- install=gcc-fortran.install
-
- cd gcc-build
- make -j1 DESTDIR=${pkgdir} install-target-libquadmath
- make -j1 DESTDIR=$pkgdir install-target-libgfortran
- make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
- make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
- install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
-
- # remove libraries included in gcc-libs
- rm ${pkgdir}/usr/lib{,32}/lib{gfortran,quadmath}.so*
- rm ${pkgdir}/usr/share/info/libquadmath.info
-
- ln -s gfortran ${pkgdir}/usr/bin/f95
-
- # Install Runtime Library Exception
- install -Dm644 ${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-fortran-multilib/RUNTIME.LIBRARY.EXCEPTION
-}
-
-package_gcc-objc-multilib()
-{
- pkgdesc="Objective-C front-end for GCC for multilib"
- depends=("gcc-multilib=$pkgver-$pkgrel")
- provides=("gcc-objc=$pkgver-$pkgrel")
- conflicts=('gcc-objc')
-
- cd gcc-build
- make -j1 DESTDIR=$pkgdir install-target-libobjc
- install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
- install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
-
- # remove libraries included in gcc-libs
- rm ${pkgdir}/usr/lib{,32}/libobjc.so*
-
- # Install Runtime Library Exception
- install -Dm644 ${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION
-}
-
-package_gcc-ada-multilib()
-{
- pkgdesc="Ada front-end for GCC (GNAT) for multilib"
- depends=("gcc-multilib=$pkgver-$pkgrel")
- provides=("gcc-ada=$pkgver-$pkgrel")
- conflicts=('gcc-ada')
- install=gcc-ada.install
-
- cd gcc-build/gcc
- make -j1 DESTDIR=$pkgdir ada.install-{common,info}
- install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
-
- cd ../$CHOST/32/libada
- make -j1 DESTDIR=${pkgdir} INSTALL="install" \
- INSTALL_DATA="install -m644" install-gnatlib
-
- ln -s gcc ${pkgdir}/usr/bin/gnatgcc
-
- # Install Runtime Library Exception
- install -Dm644 ${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION
-}
-
-package_gcc-go-multilib()
-{
- pkgdesc="Go front-end for GCC for multilib"
- depends=("gcc-multilib=$pkgver-$pkgrel")
- provides=("gcc-go=$pkgver-$pkgrel")
- conflicts=('gcc-go')
- install=gcc-go.install
-
- cd gcc-build
- make -j1 DESTDIR=$pkgdir install-target-libgo
- make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
- install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1
-
- # Install Runtime Library Exception
- install -Dm644 ${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION
-}
diff --git a/multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch b/multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch
deleted file mode 100644
index c7146fa04..000000000
--- a/multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur gcc-4.6-20120120-orig/configure gcc-4.6-20120120/configure
---- gcc-4.6-20120120-orig/configure 2011-12-18 20:03:44.000000000 +1000
-+++ gcc-4.6-20120120/configure 2012-02-03 17:55:14.885990135 +1000
-@@ -6049,8 +6049,8 @@
- LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}"
-
- if test "${cloog_org}" = yes ; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of CLooG" >&5
--$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17 of CLooG" >&5
-+$as_echo_n "checking for version 0.17 of CLooG... " >&6; }
- if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then :
- $as_echo_n "(cached) " >&6
- else
-@@ -6061,8 +6061,7 @@
- main ()
- {
- #if CLOOG_VERSION_MAJOR != 0 \
-- || CLOOG_VERSION_MINOR != 16 \
-- || CLOOG_VERSION_REVISION < 1
-+ || CLOOG_VERSION_MINOR != 17
- choke me
- #endif
- ;
diff --git a/multilib-testing/gcc-multilib/gcc-4.7.1-libada-pic.patch b/multilib-testing/gcc-multilib/gcc-4.7.1-libada-pic.patch
deleted file mode 100644
index 591da1e4a..000000000
--- a/multilib-testing/gcc-multilib/gcc-4.7.1-libada-pic.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur gcc-4.7.1-orig/libada/Makefile.in gcc-4.7.1/libada/Makefile.in
---- gcc-4.7.1-orig/libada/Makefile.in 2012-06-13 01:12:37.000000000 +1000
-+++ gcc-4.7.1/libada/Makefile.in 2012-06-16 15:04:32.179911023 +1000
-@@ -54,7 +54,7 @@
- PICFLAG = @PICFLAG@
- GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc
- GNATLIBCFLAGS= -g -O2
--GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \
-+GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(PICFLAG) \
- -fexceptions -DIN_RTS @have_getipinfo@
-
- host_subdir = @host_subdir@
diff --git a/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-mksysinfo.patch b/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-mksysinfo.patch
deleted file mode 100644
index 427efe8a6..000000000
--- a/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-mksysinfo.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- libgo/mksysinfo.sh 2012-06-29 14:23:30.684708901 +0200
-+++ libgo/mksysinfo.sh 2012-06-29 14:23:20.782761973 +0200
-@@ -522,10 +522,10 @@ grep '^const _DT_' gen-sysinfo.go |
- # The rusage struct.
- rusage=`grep '^type _rusage struct' gen-sysinfo.go`
- if test "$rusage" != ""; then
-- rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'`
-- rusage=`echo $rusage | sed -e 's/^ *//'`
- # Remove anonymous unions from GNU/Linux <bits/resource.h>.
- rusage=`echo $rusage | sed -e 's/Godump_[0-9]* struct {\([^}]*\)};/\1/g'`
-+ rusage=`echo $rusage | sed -e 's/type _rusage struct //' -e 's/[{}]//g'`
-+ rusage=`echo $rusage | sed -e 's/^ *//'`
- nrusage=
- while test -n "$rusage"; do
- field=`echo $rusage | sed -e 's/^\([^;]*\);.*$/\1/'`
diff --git a/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-write.patch b/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-write.patch
deleted file mode 100644
index a7be83fda..000000000
--- a/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-write.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur gcc-4.7.1-orig/libgo/runtime/print.c gcc-4.7.1/libgo/runtime/print.c
---- gcc-4.7.1-orig/libgo/runtime/print.c 2012-05-26 04:22:14.000000000 +1000
-+++ gcc-4.7.1/libgo/runtime/print.c 2012-06-16 15:06:28.553138502 +1000
-@@ -17,7 +17,8 @@
- G* g = runtime_g();
-
- if(g == nil || g->writebuf == nil) {
-- runtime_write(2, v, n);
-+ ssize_t bytesWritten = runtime_write(2, v, n);
-+ (void)bytesWritten;
- return;
- }
-
diff --git a/multilib-testing/gcc-multilib/gcc-ada.install b/multilib-testing/gcc-multilib/gcc-ada.install
deleted file mode 100644
index df0553a4f..000000000
--- a/multilib-testing/gcc-multilib/gcc-ada.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
diff --git a/multilib-testing/gcc-multilib/gcc-fortran.install b/multilib-testing/gcc-multilib/gcc-fortran.install
deleted file mode 100644
index b15d89a97..000000000
--- a/multilib-testing/gcc-multilib/gcc-fortran.install
+++ /dev/null
@@ -1,16 +0,0 @@
-infodir=usr/share/info
-file="gfortran.info"
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
-}
diff --git a/multilib-testing/gcc-multilib/gcc-go.install b/multilib-testing/gcc-multilib/gcc-go.install
deleted file mode 100644
index 7dc50dee5..000000000
--- a/multilib-testing/gcc-multilib/gcc-go.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(gccgo.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
diff --git a/multilib-testing/gcc-multilib/gcc-libs.install b/multilib-testing/gcc-multilib/gcc-libs.install
deleted file mode 100644
index 23553b8f0..000000000
--- a/multilib-testing/gcc-multilib/gcc-libs.install
+++ /dev/null
@@ -1,16 +0,0 @@
-infodir=usr/share/info
-filelist=(libgomp.info libquadmath.info)
-
-post_upgrade() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
diff --git a/multilib-testing/gcc-multilib/gcc.install b/multilib-testing/gcc-multilib/gcc.install
deleted file mode 100644
index 3407a5e1f..000000000
--- a/multilib-testing/gcc-multilib/gcc.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
diff --git a/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch b/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
deleted file mode 100644
index b5576ae0e..000000000
--- a/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -u -r gcc-4.7.0/gcc/config/i386/linux64.h gcc-4.7.0-pure64/gcc/config/i386/linux64.h
---- gcc-4.7.0/gcc/config/i386/linux64.h 2011-07-07 17:38:34.000000000 +0200
-+++ gcc-4.7.0-pure64/gcc/config/i386/linux64.h 2012-03-24 11:52:58.926204014 +0100
-@@ -29,5 +29,5 @@
- #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-
- #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
- #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
-diff -u -r gcc-4.7.0/gcc/config/i386/t-linux64 gcc-4.7.0-pure64/gcc/config/i386/t-linux64
---- gcc-4.7.0/gcc/config/i386/t-linux64 2011-11-02 16:23:48.000000000 +0100
-+++ gcc-4.7.0-pure64/gcc/config/i386/t-linux64 2012-03-24 11:52:44.119651885 +0100
-@@ -34,6 +34,6 @@
- comma=,
- MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
- MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
--MULTILIB_OSDIRNAMES = m64=../lib64
--MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
-+MULTILIB_OSDIRNAMES = m64=../lib
-+MULTILIB_OSDIRNAMES+= m32=../lib32
- MULTILIB_OSDIRNAMES+= mx32=../libx32
diff --git a/multilib-testing/jack2-multilib/40-hpet-permissions.rules b/multilib-testing/jack2-multilib/40-hpet-permissions.rules
deleted file mode 100644
index 7af3780f9..000000000
--- a/multilib-testing/jack2-multilib/40-hpet-permissions.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-KERNEL=="rtc0", GROUP="audio"
-KERNEL=="hpet", GROUP="audio"
diff --git a/multilib-testing/jack2-multilib/99-audio.conf b/multilib-testing/jack2-multilib/99-audio.conf
deleted file mode 100644
index eb76ef920..000000000
--- a/multilib-testing/jack2-multilib/99-audio.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-@audio - rtprio 99
-@audio - memlock unlimited
diff --git a/multilib-testing/jack2-multilib/PKGBUILD b/multilib-testing/jack2-multilib/PKGBUILD
deleted file mode 100644
index e5b3d3b47..000000000
--- a/multilib-testing/jack2-multilib/PKGBUILD
+++ /dev/null
@@ -1,158 +0,0 @@
-# $Id: PKGBUILD 76737 2012-09-28 17:05:26Z schiv $
-# Maintainer: Ray Rashif <schiv@archlinux.org>
-# Contributor: SpepS <dreamspepser at yahoo dot it>
-
-# This one is in response to a need for an equivalent to lib32-jack for
-# jack2. A lib32-jack2 would require much patching and invading the pure
-# jack2 package, and what's more, the buildsystem provides a flag just to
-# build a hybrid jack2 in full. As such, we have opted to provide multilib
-# users with a replacement package instead of the usual lib32 add-on.
-#
-# See http://mailman.archlinux.org/pipermail/arch-multilib/2011-December/000251.html
-
-pkgbase=jack2-multilib
-pkgname=('jack2-multilib' 'jack2-dbus-multilib')
-#pkgname= # single build (overrides split)
-_tarname=jack
-pkgver=1.9.8
-pkgrel=4
-arch=('x86_64')
-url="http://jackaudio.org/"
-backup=(etc/security/limits.d/99-audio.conf)
-license=('GPL')
-makedepends=('python2' 'doxygen' 'libffado'
- 'libsamplerate' 'lib32-dbus-core' 'lib32-celt'
- 'gcc-multilib')
-source=("http://www.grame.fr/~letz/$_tarname-$pkgver.tgz"
- '99-audio.conf'
- '40-hpet-permissions.rules'
- 'ffado_setbuffsize-jack2.patch')
-md5sums=('1dd2ff054cab79dfc11d134756f27165'
- 'ae65b7c9ebe0fff6c918ba9d97ae342d'
- '471aad533ff56c5d3cbbf65ce32cadef'
- '1502d82fe2276d6f224fff6467a0b6f9')
-
-_pyfix() {
- sed -i 's:bin/env python:bin/env python2:' \
- "$pkgdir/usr/bin/jack_control"
-}
-
-_wafconf() {
- python2 waf configure --prefix=/usr \
- --alsa \
- --firewire \
- --mixed \
- --doxygen $@
-}
-
-_isbuild() {
- printf "%s\n" ${pkgname[@]} | grep -qx $1
-}
-
-_mklinks() {
- ln -s /usr/lib32/libjack.so.0.1.0 "$pkgdir/usr/lib32/libjack.so.0"
- ln -s /usr/lib32/libjack.so.0 "$pkgdir/usr/lib32/libjack.so"
-}
-
-build() {
- cd "$srcdir/$_tarname-$pkgver"
-
- export LINKFLAGS="$LDFLAGS"
-
- # backport firewire stuff
- # - needed for setbuffsize feature in latest stable ffado
- # from https://github.com/jackaudio/jack2/commit/96e0251
- (
- cd $_tarname-$pkgver
- patch -Np1 -i "$srcdir/ffado_setbuffsize-jack2.patch"
- )
-
- # Some optimisation bug exists for current GCC
- # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53663
- export CFLAGS="${CFLAGS/-O[0-9]/-O0}"
- export CXXFLAGS="$CFLAGS"
-
- # fix doxygen building
- sed -i 's:build/default/html:html:' $_tarname-$pkgver/wscript
-
- # we may do 2 different builds
- cp -r $_tarname-$pkgver $_tarname-dbus-$pkgver
-
- # mixed dbus/classic build
- if _isbuild jack2-multilib; then
- cd $_tarname-$pkgver
- msg2 "Running Mixed D-Bus/Classic build"
- _wafconf --classic --dbus
- python2 waf build $MAKEFLAGS
- cd ..
- fi
-
- # dbus-ONLY build
- if _isbuild jack2-dbus-multilib; then
- cd $_tarname-dbus-$pkgver
- msg2 "Running D-Bus-only build"
- _wafconf --dbus
- python2 waf build $MAKEFLAGS
- cd ..
- fi
-}
-
-package_jack2-multilib() {
- ! _isbuild jack2-multilib && return 0
-
- pkgdesc="The next-generation JACK with SMP support & mixed mode"
- depends=('libsamplerate' 'lib32-celt' 'lib32-gcc-libs')
- optdepends=('libffado: FireWire support'
- 'lib32-dbus-core: jackdbus'
- 'python2: jack_control')
- conflicts=('jack' 'jack2' 'lib32-jack')
- provides=('jack' 'jackmp' 'jackdmp' 'jackdbus'
- 'jack2' 'lib32-jack' 'lib32-jack2')
-
- cd "$srcdir/$_tarname-$pkgver/$_tarname-$pkgver"
-
- python2 waf install --destdir="$pkgdir"
-
- # fix for major python transition
- _pyfix
-
- # configure realtime access/scheduling
- # see https://bugs.archlinux.org/task/26343
- install -Dm644 "$srcdir/99-audio.conf" \
- "$pkgdir/etc/security/limits.d/99-audio.conf"
-
- install -Dm644 "$srcdir/40-hpet-permissions.rules" \
- "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
-
- # should be done by upstream
- # see http://trac.jackaudio.org/ticket/200
- _mklinks
-}
-
-package_jack2-dbus-multilib() {
- ! _isbuild jack2-dbus-multilib && return 0
-
- pkgdesc="The next-generation JACK with SMP support & mixed mode (for D-BUS interaction only)"
- depends=('libsamplerate' 'lib32-celt' 'lib32-dbus-core' 'lib32-gcc-libs')
- optdepends=('libffado: FireWire support'
- 'python2: jack_control')
- conflicts=('jack' 'jack2' 'lib32-jack' 'jack2-multilib')
- provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus'
- 'jack2-dbus' 'jack2-multilib' 'lib32-jack' 'lib32-jack2')
-
- cd "$srcdir/$_tarname-$pkgver/$_tarname-dbus-$pkgver"
-
- python2 waf install --destdir="$pkgdir"
-
- _pyfix
-
- install -Dm644 "$srcdir/99-audio.conf" \
- "$pkgdir/etc/security/limits.d/99-audio.conf"
-
- install -Dm644 "$srcdir/40-hpet-permissions.rules" \
- "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
-
- _mklinks
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/multilib-testing/jack2-multilib/ffado_setbuffsize-jack2.patch b/multilib-testing/jack2-multilib/ffado_setbuffsize-jack2.patch
deleted file mode 100644
index 0c74aad24..000000000
--- a/multilib-testing/jack2-multilib/ffado_setbuffsize-jack2.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 96e0251234a29a1360c05d5d7dc98b83436b8183 Mon Sep 17 00:00:00 2001
-From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
-Date: Sat, 17 Mar 2012 22:36:30 +0100
-Subject: [PATCH] [firewire] Allow FFADO backend to change the buffer size
-
-This is a port of Jonathan Woithe's patch from jackd1.
-With sufficiently recent versions of FFADO, it allows to change
-the buffersize at runtime.
----
- linux/firewire/JackFFADODriver.cpp | 65 ++++++++++++++++++++++++++++++++----
- linux/firewire/JackFFADODriver.h | 6 ++++
- 2 files changed, 65 insertions(+), 6 deletions(-)
-
-diff --git a/linux/firewire/JackFFADODriver.cpp b/linux/firewire/JackFFADODriver.cpp
-index b33e1cd..085b78a 100644
---- a/linux/firewire/JackFFADODriver.cpp
-+++ b/linux/firewire/JackFFADODriver.cpp
-@@ -3,6 +3,7 @@
- Copyright (C) 2004 Grame
- Copyright (C) 2007 Pieter Palmers
- Copyright (C) 2009 Devin Anderson
-+Copyright (C) 2012 Jonathan Woithe, Adrian Knoth
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -48,7 +49,10 @@
- namespace Jack
- {
-
-+// Basic functionality requires API version 8. If version 9 or later
-+// is present the buffers can be resized at runtime.
- #define FIREWIRE_REQUIRED_FFADO_API_VERSION 8
-+#define FIREWIRE_REQUIRED_FFADO_API_VERSION_FOR_SETBUFSIZE 9
-
- #define jack_get_microseconds GetMicroSeconds
-
-@@ -281,19 +285,68 @@
- int
- JackFFADODriver::SetBufferSize (jack_nframes_t nframes)
- {
-- printError("Buffer size change requested but not supported!!!");
-+ ffado_driver_t* driver = (ffado_driver_t*)fDriver;
-+ signed int chn;
-+
-+ // The speed of this function isn't critical; we can afford the
-+ // time to check the FFADO API version.
-+ if (ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION_FOR_SETBUFSIZE ||
-+ ffado_streaming_set_period_size == NULL) {
-+ printError("unsupported on current version of FFADO; please upgrade FFADO");
-+ return -1;
-+ }
-
-- /*
- driver->period_size = nframes;
- driver->period_usecs =
- (jack_time_t) floor ((((float) nframes) / driver->sample_rate)
- * 1000000.0f);
-- */
-+
-+
-+ // Reallocate the null and scratch buffers.
-+ driver->nullbuffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(ffado_sample_t));
-+ if(driver->nullbuffer == NULL) {
-+ printError("could not allocate memory for null buffer");
-+ return -1;
-+ }
-+ driver->scratchbuffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(ffado_sample_t));
-+ if(driver->scratchbuffer == NULL) {
-+ printError("could not allocate memory for scratch buffer");
-+ return -1;
-+ }
-+
-+ // MIDI buffers need reallocating
-+ for (chn = 0; chn < driver->capture_nchannels; chn++) {
-+ if(driver->capture_channels[chn].stream_type == ffado_stream_type_midi) {
-+ // setup the midi buffer
-+ if (driver->capture_channels[chn].midi_buffer != NULL)
-+ free(driver->capture_channels[chn].midi_buffer);
-+ driver->capture_channels[chn].midi_buffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(uint32_t));
-+ }
-+ }
-+ for (chn = 0; chn < driver->playback_nchannels; chn++) {
-+ if(driver->playback_channels[chn].stream_type == ffado_stream_type_midi) {
-+ if (driver->playback_channels[chn].midi_buffer != NULL)
-+ free(driver->playback_channels[chn].midi_buffer);
-+ driver->playback_channels[chn].midi_buffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(uint32_t));
-+ }
-+ }
-+
-+ // Notify FFADO of the period size change
-+ if (ffado_streaming_set_period_size(driver->dev, nframes) != 0) {
-+ printError("could not alter FFADO device period size");
-+ return -1;
-+ }
-+
-+ // This is needed to give the shadow variables a chance to
-+ // properly update to the changes.
-+ sleep(1);
-
- /* tell the engine to change its buffer size */
-- //driver->engine->set_buffer_size (driver->engine, nframes);
-+ JackAudioDriver::SetBufferSize(nframes); // Generic change, never fails
-
-- return -1; // unsupported
-+ UpdateLatencies();
-+
-+ return 0;
- }
-
- typedef void (*JackDriverFinishFunction) (jack_driver_t *);
-@@ -306,7 +359,7 @@
-
- assert(params);
-
-- if (ffado_get_api_version() != FIREWIRE_REQUIRED_FFADO_API_VERSION) {
-+ if (ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION) {
- printError("Incompatible libffado version! (%s)", ffado_get_version());
- return NULL;
- }
-diff --git a/linux/firewire/JackFFADODriver.h b/linux/firewire/JackFFADODriver.h
-index cb2a45d..790f4dd 100644
---- a/linux/firewire/JackFFADODriver.h
-+++ b/linux/firewire/JackFFADODriver.h
-@@ -82,6 +82,12 @@ class JackFFADODriver : public JackAudioDriver
- int Read();
- int Write();
-
-+ // BufferSize can be changed
-+ bool IsFixedBufferSize()
-+ {
-+ return false;
-+ }
-+
- int SetBufferSize(jack_nframes_t nframes);
- };
-
---
-1.7.10
-
diff --git a/multilib-testing/lib32-catalyst-utils/PKGBUILD b/multilib-testing/lib32-catalyst-utils/PKGBUILD
deleted file mode 100644
index 5d8c1dcc2..000000000
--- a/multilib-testing/lib32-catalyst-utils/PKGBUILD
+++ /dev/null
@@ -1,59 +0,0 @@
-# $Id: PKGBUILD 78745 2012-10-23 22:16:55Z lcarlier $
-# Maintainer: Laurent Carlier <lordheavym@gmail.com>
-# Contributor: Vi0L0, wonder, Eduardo "kensai" Romero
-# Contributor: aidanlinz, Rip-Rip, OvsInc, Sebastian Siebert
-
-pkgname=lib32-catalyst-utils
-pkgver=12.10
-pkgrel=1
-pkgdesc="AMD Catalyst drivers libraries (32 bits)"
-arch=('x86_64')
-url="http://www.amd.com"
-license=('custom')
-source=("http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-${pkgver}-x86.x86_64.zip")
-md5sums=('ef6ecd984e47e80849215b33fbfa5b7f')
-provides=('lib32-libgl')
-conflicts=('lib32-libgl' 'lib32-nvidia-utils')
-
-build() {
- cd ${srcdir}
-
- sh ./amd-driver-installer*.run --extract fglrx-install
-}
-
-package() {
- depends=("catalyst-utils=${pkgver}")
-
- install -dm755 "${pkgdir}"/usr/bin
- install -dm755 "${pkgdir}"/usr/lib32/{dri,xorg/modules/{dri,extensions/fglrx}}
-
- # binaries
- cd ${srcdir}/fglrx-install
- install -m755 arch/x86/usr/X11R6/bin/fgl_glxgears "${pkgdir}/usr/bin/fgl_glxgears32"
- install -m755 arch/x86/usr/X11R6/bin/fglrxinfo "${pkgdir}/usr/bin/fglrxinfo32"
-
- # dri/gl/... drivers
- cd ${srcdir}/fglrx-install/xpic/usr/X11R6/lib/modules
- install -m755 *.so "${pkgdir}/usr/lib32/xorg/modules/"
- cd ${srcdir}/fglrx-install/arch/x86/usr/X11R6/lib
- install -m755 modules/dri/fglrx_dri.so "${pkgdir}/usr/lib32/xorg/modules/dri/"
- ln -s /usr/lib32/xorg/modules/dri/fglrx_dri.so "${pkgdir}/usr/lib32/dri/"
- install -m755 fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib32/"
- install -m755 *.so* "${pkgdir}/usr/lib32/"
- install -m644 libAMDXvBA.cap "${pkgdir}/usr/lib32/"
- cd ${srcdir}/fglrx-install/arch/x86/usr/lib
- install -m755 *.so* "${pkgdir}/usr/lib32/"
- # needed symlinks
- ln -s libatiuki.so.1.0 "${pkgdir}/usr/lib32/libatiuki.so.1"
- ln -s fglrx-libGL.so.1.2 "${pkgdir}/usr/lib32/libGL.so.1"
- ln -s fglrx-libGL.so.1.2 "${pkgdir}/usr/lib32/libGL.so"
- ln -s libAMDXvBA.so.1.0 "${pkgdir}/usr/lib32/libAMDXvBA.so.1"
- ln -s libAMDXvBA.so.1.0 "${pkgdir}/usr/lib32/libAMDXvBA.so"
- ln -s libfglrx_dm.so.1.0 "${pkgdir}/usr/lib32/libfglrx_dm.so.1"
-
- # useful for 32 bits ?
- rm "${pkgdir}"/usr/lib32/lib{amdocl*,OpenCL}.so*
-
- # licenses
- install -Dm644 "${srcdir}/fglrx-install/common/usr/share/doc/fglrx/LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.TXT"
-}
diff --git a/multilib-testing/lib32-glew/PKGBUILD b/multilib-testing/lib32-glew/PKGBUILD
deleted file mode 100644
index b5302e8ef..000000000
--- a/multilib-testing/lib32-glew/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 77251 2012-10-08 08:13:50Z bluewind $
-# Maintainer: Florian Pritz <flo@xinu.at>
-
-_pkgbasename=glew
-pkgname=lib32-$_pkgbasename
-pkgver=1.8.0
-pkgrel=2
-pkgdesc="A cross-platform C/C++ extension loading library (32 bit)"
-arch=('x86_64')
-url="http://glew.sourceforge.net"
-license=('BSD' 'MIT' 'GPL')
-depends=('lib32-libxmu' 'lib32-libxi' 'lib32-glu' "$_pkgbasename>=$pkgver")
-makedepends=('gcc-multilib')
-source=(http://downloads.sourceforge.net/${_pkgbasename}/${_pkgbasename}-${pkgver}.tgz)
-sha1sums=('641c6bb3f924ec786e1e6cf2b1b230f594e0f0e4')
-
-build() {
- cd "${srcdir}/${_pkgbasename}-${pkgver}"
- sed -i 's|CC = cc|CC = gcc -m32|' config/Makefile.linux
- sed -i 's|LD = cc|LD = gcc -m32|' config/Makefile.linux
- sed -i 's|lib64|lib32|' config/Makefile.linux
- make
-}
-
-package() {
- cd "${srcdir}/${_pkgbasename}-${pkgver}"
- make GLEW_DEST="${pkgdir}/usr" install
- chmod 0755 "${pkgdir}/usr/lib32/libGLEW.so.${pkgver}"
-
- rm -rf "${pkgdir}"/usr/{include,bin}
- mkdir -p "$pkgdir/usr/share/licenses"
- ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
-}
diff --git a/multilib-testing/lib32-glibc/PKGBUILD b/multilib-testing/lib32-glibc/PKGBUILD
deleted file mode 100644
index 2f586aeb6..000000000
--- a/multilib-testing/lib32-glibc/PKGBUILD
+++ /dev/null
@@ -1,144 +0,0 @@
-# $Id: PKGBUILD 75727 2012-08-29 17:49:29Z 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=4
-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
- glibc-2.16-strncasecmp-segfault.patch
- glibc-2.16-strtod-overflow.patch
- lib32-glibc.conf)
-md5sums=('80b181b02ab249524ec92822c0174cf7'
- '2a1221a15575820751c325ef4d2fbb90'
- '31f415b41197d85d3bbee3d1eecd06a3'
- '0a0383d50d63f1c02919fe9943b82014'
- 'ea6a43915474e8276e9361eed6a01280'
- 'f042d37cc8ca3459023431809039bc88'
- '61d322f7681a85d3293ada5c3ccc2c7e'
- '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
-
- # strncasecmp segfault on i686
- # http://sourceware.org/git/?p=glibc.git;a=commit;h=6db8f737
- patch -p1 -i ${srcdir}/glibc-2.16-strncasecmp-segfault.patch
-
- # strtod integer/buffer overflow
- # http://sourceware.org/git/?p=glibc.git;a=commit;h=da1f4319
- patch -p1 -i ${srcdir}/glibc-2.16-strtod-overflow.patch
-
- # ldconfig does not need to look in /usr/lib64 or /usr/libx32 on Arch Linux
- sed -i "s#add_system_dir#do_not_add_system_dir#" sysdeps/unix/sysv/linux/x86_64/dl-cache.h
-
- cd ${srcdir}
- mkdir glibc-build
- cd glibc-build
-
- #if [[ ${CARCH} = "i686" ]]; then
- # 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"
- #fi
-
- 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-testing/lib32-glibc/glibc-2.14-libdl-crash.patch b/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch
deleted file mode 100644
index 6c9d2718e..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-diff --git a/elf/dl-close.c b/elf/dl-close.c
-index 73b2a2f..9bd91e3 100644
---- a/elf/dl-close.c
-+++ b/elf/dl-close.c
-@@ -1,5 +1,5 @@
- /* Close a shared object opened by `_dl_open'.
-- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map)
- if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
- || dl_close_state != not_pending)
- {
-- if (map->l_direct_opencount == 0)
-- {
-- if (map->l_type == lt_loaded)
-- dl_close_state = rerun;
-- else if (map->l_type == lt_library)
-- {
-- struct link_map **oldp = map->l_initfini;
-- map->l_initfini = map->l_orig_initfini;
-- _dl_scope_free (oldp);
-- }
-- }
-+ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
-+ dl_close_state = rerun;
-
- /* There are still references to this object. Do nothing more. */
- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
-diff --git a/elf/dl-deps.c b/elf/dl-deps.c
-index 9e30594..3890d00 100644
---- a/elf/dl-deps.c
-+++ b/elf/dl-deps.c
-@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map,
- nneeded * sizeof needed[0]);
- atomic_write_barrier ();
- l->l_initfini = l_initfini;
-+ l->l_free_initfini = 1;
- }
-
- /* If we have no auxiliary objects just go on to the next map. */
-@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING"));
- l_initfini[nlist] = NULL;
- atomic_write_barrier ();
- map->l_initfini = l_initfini;
-+ map->l_free_initfini = 1;
- if (l_reldeps != NULL)
- {
- atomic_write_barrier ();
-@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING"));
- _dl_scope_free (old_l_reldeps);
- }
- if (old_l_initfini != NULL)
-- map->l_orig_initfini = old_l_initfini;
-+ _dl_scope_free (old_l_initfini);
-
-diff --git a/elf/dl-libc.c b/elf/dl-libc.c
-index 7be9483..a13fce3 100644
---- a/elf/dl-libc.c
-+++ b/elf/dl-libc.c
-@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem)
-
- for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns)
- {
-- /* Remove all additional names added to the objects. */
- for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
- {
- struct libname_list *lnp = l->l_libname->next;
-
- l->l_libname->next = NULL;
-
-+ /* Remove all additional names added to the objects. */
- while (lnp != NULL)
- {
- struct libname_list *old = lnp;
-@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem)
- if (! old->dont_free)
- free (old);
- }
-+
-+ /* Free the initfini dependency list. */
-+ if (l->l_free_initfini)
-+ free (l->l_initfini);
- }
-
- if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
-diff --git a/elf/rtld.c b/elf/rtld.c
-index 4a9109e..617e30e 100644
---- a/elf/rtld.c
-+++ b/elf/rtld.c
-@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
- lnp->dont_free = 1;
- lnp = lnp->next;
- }
-+ l->l_free_initfini = 0;
-
- if (l != &GL(dl_rtld_map))
- _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
-diff --git a/include/link.h b/include/link.h
-index e877104..051b99a 100644
---- a/include/link.h
-+++ b/include/link.h
-@@ -1,6 +1,6 @@
- /* Data structure for communication from the run-time dynamic linker for
- loaded ELF shared objects.
-- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -192,6 +192,9 @@ struct link_map
- during LD_TRACE_PRELINKING=1
- contains any DT_SYMBOLIC
- libraries. */
-+ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
-+ freed, ie. not allocated with
-+ the dummy malloc in ld.so. */
-
- /* Collected information about own RPATH directories. */
- struct r_search_path_struct l_rpath_dirs;
-@@ -240,9 +243,6 @@ struct link_map
-
- /* List of object in order of the init and fini calls. */
- struct link_map **l_initfini;
-- /* The init and fini list generated at startup, saved when the
-- object is also loaded dynamically. */
-- struct link_map **l_orig_initfini;
-
- /* List of the dependencies introduced through symbol binding. */
- struct link_map_reldeps
diff --git a/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch b/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch
deleted file mode 100644
index e2beea881..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/include/libc-symbols.h b/include/libc-symbols.h
-index 67e1ca2..5e7cca5 100644
---- a/include/libc-symbols.h
-+++ b/include/libc-symbols.h
-@@ -635,7 +635,7 @@ for linking")
- # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
- # define libc_hidden_def(name) hidden_def (name)
- # define libc_hidden_weak(name) hidden_weak (name)
--# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
-+# define libc_hidden_nolink(name, version) hidden_def (name)
- # define libc_hidden_ver(local, name) hidden_ver (local, name)
- # define libc_hidden_data_def(name) hidden_data_def (name)
- # define libc_hidden_data_weak(name) hidden_data_weak (name)
-diff --git a/sunrpc/Makefile b/sunrpc/Makefile
-index 5134ce9..40c73d1 100644
---- a/sunrpc/Makefile
-+++ b/sunrpc/Makefile
-@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
- des_crypt.h)
- headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
- $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
--headers = rpc/netdb.h
-+headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
- install-others = $(inst_sysconfdir)/rpc
- generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
- $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
diff --git a/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
deleted file mode 100644
index eb0fd822d..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@redhat.com>
-Date: Tue, 17 May 2011 17:42:30 +0200
-Subject: [PATCH] Reinstall NIS RPC headers
-
----
- nis/Makefile | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/nis/Makefile b/nis/Makefile
-index b5c9609..d2934d9 100644
---- a/nis/Makefile
-+++ b/nis/Makefile
-@@ -23,9 +23,9 @@ subdir := nis
-
- aux := nis_hash
-
-+headers := $(wildcard rpcsvc/*.[hx])
- distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
-- nisplus-parser.h nis_xdr.h nss \
-- $(wildcard rpcsvc/*.[hx])
-+ nisplus-parser.h nis_xdr.h nss
-
- # These are the databases available for the nis (and perhaps later nisplus)
- # service. This must be a superset of the services in nss.
---
-1.7.5.4
-
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch b/multilib-testing/lib32-glibc/glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch
deleted file mode 100644
index 6f0a0398f..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/resolv/res_query.c b/resolv/res_query.c
-index 947c651..abccd4a 100644
---- a/resolv/res_query.c
-+++ b/resolv/res_query.c
-@@ -556,12 +556,16 @@ __libc_res_nquerydomain(res_state statp,
- * copy without '.' if present.
- */
- n = strlen(name);
-- if (n >= MAXDNAME) {
-+
-+ /* Decrement N prior to checking it against MAXDNAME
-+ so that we detect a wrap to SIZE_MAX and return
-+ a reasonable error. */
-+ n--;
-+ if (n >= MAXDNAME - 1) {
- RES_SET_H_ERRNO(statp, NO_RECOVERY);
- return (-1);
- }
-- n--;
-- if (n >= 0 && name[n] == '.') {
-+ if (name[n] == '.') {
- strncpy(nbuf, name, n);
- nbuf[n] = '\0';
- } else
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-arena.patch b/multilib-testing/lib32-glibc/glibc-2.15-arena.patch
deleted file mode 100644
index 46f52e98d..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-arena.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/malloc/arena.c b/malloc/arena.c
-index d3cf4b9..b1c9469 100644
---- a/malloc/arena.c
-+++ b/malloc/arena.c
-@@ -828,7 +828,7 @@ arena_get2(mstate a_tsd, size_t size)
- {
- if (mp_.arena_max != 0)
- narenas_limit = mp_.arena_max;
-- else
-+ else if (narenas > mp_.arena_test)
- {
- int n = __get_nprocs ();
-
-@@ -842,7 +842,14 @@ arena_get2(mstate a_tsd, size_t size)
- }
- repeat:;
- size_t n = narenas;
-- if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
-+ /* NB: the following depends on the fact that (size_t)0 - 1 is a
-+ very large number and that the underflow is OK. If arena_max
-+ is set the value of arena_test is irrelevant. If arena_test
-+ is set but narenas is not yet larger or equal to arena_test
-+ narenas_limit is 0. There is no possibility for narenas to
-+ be too big for the test to always fail since there is not
-+ enough address space to create that many arenas. */
-+ if (__builtin_expect (n <= narenas_limit - 1, 0))
- {
- if (catomic_compare_and_exchange_bool_acq (&narenas, n + 1, n))
- goto repeat;
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-avx.patch b/multilib-testing/lib32-glibc/glibc-2.15-avx.patch
deleted file mode 100644
index 5439da8d0..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-avx.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-diff --git a/sysdeps/x86_64/fpu/multiarch/e_atan2.c b/sysdeps/x86_64/fpu/multiarch/e_atan2.c
-index 6867c6e..3a615fc 100644
---- a/sysdeps/x86_64/fpu/multiarch/e_atan2.c
-+++ b/sysdeps/x86_64/fpu/multiarch/e_atan2.c
-@@ -14,7 +14,7 @@ extern double __ieee754_atan2_fma4 (double, double);
-
- libm_ifunc (__ieee754_atan2,
- HAS_FMA4 ? __ieee754_atan2_fma4
-- : (HAS_AVX ? __ieee754_atan2_avx : __ieee754_atan2_sse2));
-+ : (HAS_YMM_USABLE ? __ieee754_atan2_avx : __ieee754_atan2_sse2));
- strong_alias (__ieee754_atan2, __atan2_finite)
-
- # define __ieee754_atan2 __ieee754_atan2_sse2
-diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp.c b/sysdeps/x86_64/fpu/multiarch/e_exp.c
-index 3c65028..7b2320a 100644
---- a/sysdeps/x86_64/fpu/multiarch/e_exp.c
-+++ b/sysdeps/x86_64/fpu/multiarch/e_exp.c
-@@ -14,7 +14,7 @@ extern double __ieee754_exp_fma4 (double);
-
- libm_ifunc (__ieee754_exp,
- HAS_FMA4 ? __ieee754_exp_fma4
-- : (HAS_AVX ? __ieee754_exp_avx : __ieee754_exp_sse2));
-+ : (HAS_YMM_USABLE ? __ieee754_exp_avx : __ieee754_exp_sse2));
- strong_alias (__ieee754_exp, __exp_finite)
-
- # define __ieee754_exp __ieee754_exp_sse2
-diff --git a/sysdeps/x86_64/fpu/multiarch/e_log.c b/sysdeps/x86_64/fpu/multiarch/e_log.c
-index 3b468d0..ab277d6 100644
---- a/sysdeps/x86_64/fpu/multiarch/e_log.c
-+++ b/sysdeps/x86_64/fpu/multiarch/e_log.c
-@@ -14,7 +14,7 @@ extern double __ieee754_log_fma4 (double);
-
- libm_ifunc (__ieee754_log,
- HAS_FMA4 ? __ieee754_log_fma4
-- : (HAS_AVX ? __ieee754_log_avx
-+ : (HAS_YMM_USABLE ? __ieee754_log_avx
- : __ieee754_log_sse2));
- strong_alias (__ieee754_log, __log_finite)
-
-diff --git a/sysdeps/x86_64/fpu/multiarch/s_atan.c b/sysdeps/x86_64/fpu/multiarch/s_atan.c
-index 3160201..78c7e09 100644
---- a/sysdeps/x86_64/fpu/multiarch/s_atan.c
-+++ b/sysdeps/x86_64/fpu/multiarch/s_atan.c
-@@ -12,7 +12,8 @@ extern double __atan_fma4 (double);
- # define __atan_fma4 ((void *) 0)
- # endif
-
--libm_ifunc (atan, HAS_FMA4 ? __atan_fma4 : HAS_AVX ? __atan_avx : __atan_sse2);
-+libm_ifunc (atan, (HAS_FMA4 ? __atan_fma4 :
-+ HAS_YMM_USABLE ? __atan_avx : __atan_sse2));
-
- # define atan __atan_sse2
- #endif
-diff --git a/sysdeps/x86_64/fpu/multiarch/s_sin.c b/sysdeps/x86_64/fpu/multiarch/s_sin.c
-index 1ba9dbc..417acd0 100644
---- a/sysdeps/x86_64/fpu/multiarch/s_sin.c
-+++ b/sysdeps/x86_64/fpu/multiarch/s_sin.c
-@@ -17,10 +17,12 @@ extern double __sin_fma4 (double);
- # define __sin_fma4 ((void *) 0)
- # endif
-
--libm_ifunc (__cos, HAS_FMA4 ? __cos_fma4 : HAS_AVX ? __cos_avx : __cos_sse2);
-+libm_ifunc (__cos, (HAS_FMA4 ? __cos_fma4 :
-+ HAS_YMM_USABLE ? __cos_avx : __cos_sse2));
- weak_alias (__cos, cos)
-
--libm_ifunc (__sin, HAS_FMA4 ? __sin_fma4 : HAS_AVX ? __sin_avx : __sin_sse2);
-+libm_ifunc (__sin, (HAS_FMA4 ? __sin_fma4 :
-+ HAS_YMM_USABLE ? __sin_avx : __sin_sse2));
- weak_alias (__sin, sin)
-
- # define __cos __cos_sse2
-diff --git a/sysdeps/x86_64/fpu/multiarch/s_tan.c b/sysdeps/x86_64/fpu/multiarch/s_tan.c
-index 8f6601e..3047155 100644
---- a/sysdeps/x86_64/fpu/multiarch/s_tan.c
-+++ b/sysdeps/x86_64/fpu/multiarch/s_tan.c
-@@ -12,7 +12,8 @@ extern double __tan_fma4 (double);
- # define __tan_fma4 ((void *) 0)
- # endif
-
--libm_ifunc (tan, HAS_FMA4 ? __tan_fma4 : HAS_AVX ? __tan_avx : __tan_sse2);
-+libm_ifunc (tan, (HAS_FMA4 ? __tan_fma4 :
-+ HAS_YMM_USABLE ? __tan_avx : __tan_sse2));
-
- # define tan __tan_sse2
- #endif
-diff --git a/sysdeps/x86_64/multiarch/init-arch.c b/sysdeps/x86_64/multiarch/init-arch.c
-index 65b0ee9..76d146c 100644
---- a/sysdeps/x86_64/multiarch/init-arch.c
-+++ b/sysdeps/x86_64/multiarch/init-arch.c
-@@ -1,6 +1,6 @@
- /* Initialize CPU feature data.
- This file is part of the GNU C Library.
-- Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- Contributed by Ulrich Drepper <drepper@redhat.com>.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -144,6 +144,18 @@ __init_cpu_features (void)
- else
- kind = arch_kind_other;
-
-+ if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
-+ {
-+ /* Reset the AVX bit in case OSXSAVE is disabled. */
-+ if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) != 0
-+ && ({ unsigned int xcrlow;
-+ unsigned int xcrhigh;
-+ asm ("xgetbv"
-+ : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
-+ (xcrlow & 6) == 6; }))
-+ __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
-+ }
-+
- __cpu_features.family = family;
- __cpu_features.model = model;
- atomic_write_barrier ();
-diff --git a/sysdeps/x86_64/multiarch/init-arch.h b/sysdeps/x86_64/multiarch/init-arch.h
-index 2a1df39..2dc75ab 100644
---- a/sysdeps/x86_64/multiarch/init-arch.h
-+++ b/sysdeps/x86_64/multiarch/init-arch.h
-@@ -1,5 +1,5 @@
- /* This file is part of the GNU C Library.
-- Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
-@@ -22,11 +22,13 @@
- #define bit_Prefer_SSE_for_memop (1 << 3)
- #define bit_Fast_Unaligned_Load (1 << 4)
- #define bit_Prefer_PMINUB_for_stringop (1 << 5)
-+#define bit_YMM_Usable (1 << 6)
-
- #define bit_SSE2 (1 << 26)
- #define bit_SSSE3 (1 << 9)
- #define bit_SSE4_1 (1 << 19)
- #define bit_SSE4_2 (1 << 20)
-+#define bit_OSXSAVE (1 << 27)
- #define bit_AVX (1 << 28)
- #define bit_POPCOUNT (1 << 23)
- #define bit_FMA (1 << 12)
-@@ -48,6 +50,7 @@
- # define index_Prefer_SSE_for_memop FEATURE_INDEX_1*FEATURE_SIZE
- # define index_Fast_Unaligned_Load FEATURE_INDEX_1*FEATURE_SIZE
- # define index_Prefer_PMINUB_for_stringop FEATURE_INDEX_1*FEATURE_SIZE
-+# define index_YMM_Usable FEATURE_INDEX_1*FEATURE_SIZE
-
- #else /* __ASSEMBLER__ */
-
-@@ -92,7 +95,7 @@ extern struct cpu_features
-
-
- extern void __init_cpu_features (void) attribute_hidden;
--#define INIT_ARCH()\
-+# define INIT_ARCH() \
- do \
- if (__cpu_features.kind == arch_kind_unknown) \
- __init_cpu_features (); \
-@@ -125,23 +128,21 @@ extern const struct cpu_features *__get_cpu_features (void)
- # define index_Slow_BSF FEATURE_INDEX_1
- # define index_Prefer_SSE_for_memop FEATURE_INDEX_1
- # define index_Fast_Unaligned_Load FEATURE_INDEX_1
-+# define index_YMM_Usable FEATURE_INDEX_1
-
--#define HAS_ARCH_FEATURE(idx, bit) \
-- ((__get_cpu_features ()->feature[idx] & (bit)) != 0)
-+# define HAS_ARCH_FEATURE(name) \
-+ ((__get_cpu_features ()->feature[index_##name] & (bit_##name)) != 0)
-
--#define HAS_FAST_REP_STRING \
-- HAS_ARCH_FEATURE (index_Fast_Rep_String, bit_Fast_Rep_String)
-+# define HAS_FAST_REP_STRING HAS_ARCH_FEATURE (Fast_Rep_String)
-
--#define HAS_FAST_COPY_BACKWARD \
-- HAS_ARCH_FEATURE (index_Fast_Copy_Backward, bit_Fast_Copy_Backward)
-+# define HAS_FAST_COPY_BACKWARD HAS_ARCH_FEATURE (Fast_Copy_Backward)
-
--#define HAS_SLOW_BSF \
-- HAS_ARCH_FEATURE (index_Slow_BSF, bit_Slow_BSF)
-+# define HAS_SLOW_BSF HAS_ARCH_FEATURE (Slow_BSF)
-
--#define HAS_PREFER_SSE_FOR_MEMOP \
-- HAS_ARCH_FEATURE (index_Prefer_SSE_for_memop, bit_Prefer_SSE_for_memop)
-+# define HAS_PREFER_SSE_FOR_MEMOP HAS_ARCH_FEATURE (Prefer_SSE_for_memop)
-
--#define HAS_FAST_UNALIGNED_LOAD \
-- HAS_ARCH_FEATURE (index_Fast_Unaligned_Load, bit_Fast_Unaligned_Load)
-+# define HAS_FAST_UNALIGNED_LOAD HAS_ARCH_FEATURE (Fast_Unaligned_Load)
-+
-+# define HAS_YMM_USABLE HAS_ARCH_FEATURE (YMM_Usable)
-
- #endif /* __ASSEMBLER__ */
---
-1.7.9
-
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-confstr-local-buffer-extent.patch b/multilib-testing/lib32-glibc/glibc-2.15-confstr-local-buffer-extent.patch
deleted file mode 100644
index 483b28532..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-confstr-local-buffer-extent.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-diff --git a/posix/confstr.c b/posix/confstr.c
-index 3c9566d..cad6561 100644
---- a/posix/confstr.c
-+++ b/posix/confstr.c
-@@ -35,6 +34,10 @@ confstr (name, buf, len)
- const char *string = "";
- size_t string_len = 1;
-
-+ /* Note that this buffer must be large enough for the longest strings
-+ used below. */
-+ char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
-+
- switch (name)
- {
- case _CS_PATH:
-@@ -53,59 +56,55 @@ confstr (name, buf, len)
- wint_t types are no greater than the width of type long.
-
- Currently this means all environment which the system allows. */
-- {
-- char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
--
-- string_len = 0;
-+ string_len = 0;
- #ifndef _POSIX_V7_ILP32_OFF32
-- if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
-+ if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
- #endif
- #if !defined _POSIX_V7_ILP32_OFF32 || _POSIX_V7_ILP32_OFF32 > 0
-- {
-- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
-- sizeof "POSIX_V7_ILP32_OFF32" - 1);
-- string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
-- }
-+ {
-+ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
-+ sizeof "POSIX_V7_ILP32_OFF32" - 1);
-+ string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
-+ }
- #endif
- #ifndef _POSIX_V7_ILP32_OFFBIG
-- if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
-+ if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
- #endif
- #if !defined _POSIX_V7_ILP32_OFFBIG || _POSIX_V7_ILP32_OFFBIG > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
-- sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
-- string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
-+ sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
-+ string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
-+ }
- #endif
- #ifndef _POSIX_V7_LP64_OFF64
-- if (__sysconf (_SC_V7_LP64_OFF64) > 0)
-+ if (__sysconf (_SC_V7_LP64_OFF64) > 0)
- #endif
- #if !defined _POSIX_V7_LP64_OFF64 || _POSIX_V7_LP64_OFF64 > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
-- sizeof "POSIX_V7_LP64_OFF64" - 1);
-- string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
-+ sizeof "POSIX_V7_LP64_OFF64" - 1);
-+ string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
-+ }
- #endif
- #ifndef _POSIX_V7_LPBIG_OFFBIG
-- if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
-+ if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
- #endif
- #if !defined _POSIX_V7_LPBIG_OFFBIG || _POSIX_V7_LPBIG_OFFBIG > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
-- sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
-- string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
-- }
--#endif
-- restenvs[string_len++] = '\0';
-- string = restenvs;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
-+ sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
-+ string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
-+ }
-+#endif
-+ restenvs[string_len++] = '\0';
-+ string = restenvs;
- break;
-
- case _CS_V6_WIDTH_RESTRICTED_ENVS:
-@@ -116,59 +115,55 @@ confstr (name, buf, len)
- wint_t types are no greater than the width of type long.
-
- Currently this means all environment which the system allows. */
-- {
-- char restenvs[4 * sizeof "POSIX_V6_LPBIG_OFFBIG"];
--
-- string_len = 0;
-+ string_len = 0;
- #ifndef _POSIX_V6_ILP32_OFF32
-- if (__sysconf (_SC_V6_ILP32_OFF32) > 0)
-+ if (__sysconf (_SC_V6_ILP32_OFF32) > 0)
- #endif
- #if !defined _POSIX_V6_ILP32_OFF32 || _POSIX_V6_ILP32_OFF32 > 0
-- {
-- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32",
-- sizeof "POSIX_V6_ILP32_OFF32" - 1);
-- string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1;
-- }
-+ {
-+ memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32",
-+ sizeof "POSIX_V6_ILP32_OFF32" - 1);
-+ string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1;
-+ }
- #endif
- #ifndef _POSIX_V6_ILP32_OFFBIG
-- if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0)
-+ if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0)
- #endif
- #if !defined _POSIX_V6_ILP32_OFFBIG || _POSIX_V6_ILP32_OFFBIG > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG",
-- sizeof "POSIX_V6_ILP32_OFFBIG" - 1);
-- string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG",
-+ sizeof "POSIX_V6_ILP32_OFFBIG" - 1);
-+ string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1;
-+ }
- #endif
- #ifndef _POSIX_V6_LP64_OFF64
-- if (__sysconf (_SC_V6_LP64_OFF64) > 0)
-+ if (__sysconf (_SC_V6_LP64_OFF64) > 0)
- #endif
- #if !defined _POSIX_V6_LP64_OFF64 || _POSIX_V6_LP64_OFF64 > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64",
-- sizeof "POSIX_V6_LP64_OFF64" - 1);
-- string_len += sizeof "POSIX_V6_LP64_OFF64" - 1;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64",
-+ sizeof "POSIX_V6_LP64_OFF64" - 1);
-+ string_len += sizeof "POSIX_V6_LP64_OFF64" - 1;
-+ }
- #endif
- #ifndef _POSIX_V6_LPBIG_OFFBIG
-- if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0)
-+ if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0)
- #endif
- #if !defined _POSIX_V6_LPBIG_OFFBIG || _POSIX_V6_LPBIG_OFFBIG > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG",
-- sizeof "POSIX_V6_LPBIG_OFFBIG" - 1);
-- string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1;
-- }
--#endif
-- restenvs[string_len++] = '\0';
-- string = restenvs;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG",
-+ sizeof "POSIX_V6_LPBIG_OFFBIG" - 1);
-+ string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1;
-+ }
-+#endif
-+ restenvs[string_len++] = '\0';
-+ string = restenvs;
- break;
-
- case _CS_V5_WIDTH_RESTRICTED_ENVS:
-@@ -179,59 +174,55 @@ confstr (name, buf, len)
- wint_t types are no greater than the width of type long.
-
- Currently this means all environment which the system allows. */
-- {
-- char restenvs[4 * sizeof "XBS5_LPBIG_OFFBIG"];
--
-- string_len = 0;
-+ string_len = 0;
- #ifndef _XBS5_ILP32_OFF32
-- if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
-+ if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
- #endif
- #if !defined _XBS5_ILP32_OFF32 || _XBS5_ILP32_OFF32 > 0
-- {
-- memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
-- sizeof "XBS5_ILP32_OFF32" - 1);
-- string_len += sizeof "XBS5_ILP32_OFF32" - 1;
-- }
-+ {
-+ memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
-+ sizeof "XBS5_ILP32_OFF32" - 1);
-+ string_len += sizeof "XBS5_ILP32_OFF32" - 1;
-+ }
- #endif
- #ifndef _XBS5_ILP32_OFFBIG
-- if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
-+ if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
- #endif
- #if !defined _XBS5_ILP32_OFFBIG || _XBS5_ILP32_OFFBIG > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
-- sizeof "XBS5_ILP32_OFFBIG" - 1);
-- string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
-+ sizeof "XBS5_ILP32_OFFBIG" - 1);
-+ string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
-+ }
- #endif
- #ifndef _XBS5_LP64_OFF64
-- if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
-+ if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
- #endif
- #if !defined _XBS5_LP64_OFF64 || _XBS5_LP64_OFF64 > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
-- sizeof "XBS5_LP64_OFF64" - 1);
-- string_len += sizeof "XBS5_LP64_OFF64" - 1;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
-+ sizeof "XBS5_LP64_OFF64" - 1);
-+ string_len += sizeof "XBS5_LP64_OFF64" - 1;
-+ }
- #endif
- #ifndef _XBS5_LPBIG_OFFBIG
-- if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
-+ if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
- #endif
- #if !defined _XBS5_LPBIG_OFFBIG || _XBS5_LPBIG_OFFBIG > 0
-- {
-- if (string_len)
-- restenvs[string_len++] = '\n';
-- memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
-- sizeof "XBS5_LPBIG_OFFBIG" - 1);
-- string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
-- }
--#endif
-- restenvs[string_len++] = '\0';
-- string = restenvs;
-- }
-+ {
-+ if (string_len)
-+ restenvs[string_len++] = '\n';
-+ memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
-+ sizeof "XBS5_LPBIG_OFFBIG" - 1);
-+ string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
-+ }
-+#endif
-+ restenvs[string_len++] = '\0';
-+ string = restenvs;
- break;
-
- case _CS_XBS5_ILP32_OFF32_CFLAGS:
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files-2.patch b/multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files-2.patch
deleted file mode 100644
index d28237f85..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files-2.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/timezone/Makefile b/timezone/Makefile
-index 00bfba6..9e55a6a 100644
---- a/timezone/Makefile
-+++ b/timezone/Makefile
-@@ -45,7 +45,6 @@ include ../Makeconfig # Get objpfx defined so we can use it below.
- CPPFLAGS-zic = -DNOT_IN_libc
-
- ifeq ($(have-ksh),yes)
--install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab
- install-bin-script = tzselect
- generated += tzselect
- endif
-@@ -111,7 +110,3 @@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
- -e 's%@TZDIR@%$(zonedir)%g' < $< > $@.new
- chmod 555 $@.new
- mv -f $@.new $@
--
--$(addprefix $(inst_zonedir)/,iso3166.tab zone.tab): \
-- $(inst_zonedir)/%: % $(+force)
-- $(do-install)
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files.patch b/multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files.patch
deleted file mode 100644
index e4f29bc1a..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-diff --git a/timezone/Makefile b/timezone/Makefile
-index e8fb716..d5ea538 100644
---- a/timezone/Makefile
-+++ b/timezone/Makefile
-@@ -1,4 +1,4 @@
--# Copyright (C) 1998,1999,2000,2002,2005,2007 Free Software Foundation, Inc.
-+# Copyright (C) 1998-2000,2002,2005,2007,2012 Free Software Foundation, Inc.
- # This file is part of the GNU C Library.
-
- # The GNU C Library is free software; you can redistribute it and/or
-@@ -49,33 +49,6 @@ include ../Makeconfig # Get objpfx defined so we can use it below.
-
- CPPFLAGS-zic = -DNOT_IN_libc
-
--# z.* use this variable.
--define nl
--
--
--endef
--ifndef avoid-generated
--ifndef inhibit_timezone_rules
---include $(addprefix $(objpfx)z.,$(tzfiles))
--endif
--endif
--
--# Make these absolute file names.
--installed-localtime-file := $(firstword $(filter /%,$(inst_localtime-file)) \
-- $(addprefix $(inst_zonedir)/, \
-- $(localtime-file)))
--installed-posixrules-file := $(firstword $(filter /%,$(posixrules-file)) \
-- $(addprefix $(inst_zonedir)/, \
-- $(posixrules-file)))
--
--ifeq ($(cross-compiling),no)
--# Don't try to install the zoneinfo files since we can't run zic.
--install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \
-- $(zonenames:%=posix/%) \
-- $(zonenames:%=right/%)) \
-- $(installed-localtime-file) $(installed-posixrules-file)
--endif
--
- ifeq ($(have-ksh),yes)
- install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab
- install-bin-script = tzselect
-@@ -85,79 +58,6 @@ endif
- include ../Rules
-
-
--$(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile
--# Kludge alert: we use an implicit rule (in what we are generating here)
--# because that is the only way to tell Make that the one command builds all
--# the files.
--# The extra kludge for the $(tzlinks) files is necessary since running zic
--# this file requires all other files to exist. Blech!
-- $(make-target-directory)
-- (echo 'define $*-zones' ;\
-- $(AWK) '$$1 == "Zone" { print $$2 } $$1 == "Link" { print $$3 }' $^ ;\
-- echo 'endef' ;\
-- echo '$*-zones := $$(subst $$(nl), ,$$($*-zones))' ;\
-- echo 'ifdef $*-zones' ;\
-- if test x$(findstring $*, $(tzlinks)) != x; then \
-- echo '$$(addprefix $$(inst_zonedir)/right/,$$($*-zones)): \';\
-- echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/right/,$$($$t-zones)))' ;\
-- echo '$$(addprefix $$(inst_zonedir)/posix/,$$($*-zones)): \';\
-- echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/posix/,$$($$t-zones)))' ;\
-- echo '$$(addprefix $$(inst_zonedir)/,$$($*-zones)): \' ;\
-- echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/,$$($$t-zones)))' ;\
-- fi ;\
-- echo '$$(addprefix $$(dir $$(inst_zonedir))zone%/right/,$$($*-zones)): \' ;\
-- echo '$< $$(objpfx)zic leapseconds yearistype' ;\
-- echo ' $$(tzcompile)' ;\
-- echo '$$(addprefix $$(dir $$(inst_zonedir))zone%/posix/,$$($*-zones)): \' ;\
-- echo '$< $$(objpfx)zic /dev/null yearistype' ;\
-- echo ' $$(tzcompile)' ;\
-- echo '$$(addprefix $$(dir $$(inst_zonedir))zone%/,$$($*-zones)): \' ;\
-- echo '$< $$(objpfx)zic $$(leapseconds) yearistype' ;\
-- echo ' $$(tzcompile)' ;\
-- echo 'endif' ;\
-- echo 'zonenames := $$(zonenames) $$($*-zones)' ;\
-- ) > $@.new
-- mv $@.new $@
--
--.PHONY: echo-zonenames
--echo-zonenames:
-- @echo 'Known zones: $(zonenames)'
--
--
--# We have to use `-d $(inst_zonedir)' to explictly tell zic where to
--# place the output files although $(zonedir) is compiled in. But the
--# user might have set $(install_root) on the command line of `make install'.
--zic-cmd = $(built-program-cmd) -d $(inst_zonedir)
--tzcompile = $(zic-cmd)$(target-zone-flavor) -L $(word 3,$^) \
-- -y $(dir $(word 4,$^))$(notdir $(word 4,$^)) $<
--
--# The source files specify the zone names relative to the -d directory,
--# so for the posix/ and right/ flavors we need to pass -d $(inst_zonedir)/posix
--# and the like. This magic extracts /posix or /right if it's the first
--# component after $(inst_zonedir) in the target name $@.
--target-zone-flavor = $(filter /posix /right, \
-- /$(firstword $(subst /, , \
-- $(patsubst $(inst_zonedir)/%,%,$@))))
--
--ifdef localtime
--$(installed-localtime-file): $(inst_zonedir)/$(localtime) $(objpfx)zic \
-- $(+force)
-- $(make-target-directory)
-- if test -r $@; then \
-- echo Site timezone NOT reset to Factory.; \
-- else \
-- rm -f $@T; \
-- $(SHELL) $(..)scripts/rellns-sh $< $@T; \
-- mv -f $@T $@; \
-- fi
--endif
--ifdef posixrules
--$(installed-posixrules-file): $(inst_zonedir)/$(posixrules) $(objpfx)zic \
-- $(+force)
-- $(zic-cmd) -p $(posixrules)
--endif
--
--
- $(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
-
- tz-cflags = -DTZDIR='"$(zonedir)"' \
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-feraiseexcept-plt.patch b/multilib-testing/lib32-glibc/glibc-2.15-feraiseexcept-plt.patch
deleted file mode 100644
index c41acc169..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-feraiseexcept-plt.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/sysdeps/i386/fpu/feupdateenv.c b/sysdeps/i386/fpu/feupdateenv.c
-index 70f9ee2..6e2ce35 100644
---- a/sysdeps/i386/fpu/feupdateenv.c
-+++ b/sysdeps/i386/fpu/feupdateenv.c
-@@ -1,5 +1,5 @@
- /* Install given floating-point environment and raise exceptions.
-- Copyright (C) 1997,99,2000,01,07,2010 Free Software Foundation, Inc.
-+ Copyright (C) 1997,99,2000,01,07,2010,2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
-@@ -44,7 +44,7 @@ __feupdateenv (const fenv_t *envp)
- /* Raise the saved exception. Incidently for us the implementation
- defined format of the values in objects of type fexcept_t is the
- same as the ones specified using the FE_* constants. */
-- feraiseexcept ((int) temp);
-+ __feraiseexcept ((int) temp);
-
- /* Success. */
- return 0;
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-fix-res_query-assert.patch b/multilib-testing/lib32-glibc/glibc-2.15-fix-res_query-assert.patch
deleted file mode 100644
index a894da9c7..000000000
--- a/multilib-testing/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-testing/lib32-glibc/glibc-2.15-fmtmsg-locking.patch b/multilib-testing/lib32-glibc/glibc-2.15-fmtmsg-locking.patch
deleted file mode 100644
index f5976abd9..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-fmtmsg-locking.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-diff --git a/stdlib/fmtmsg.c b/stdlib/fmtmsg.c
-index 9203317..4c02302 100644
---- a/stdlib/fmtmsg.c
-+++ b/stdlib/fmtmsg.c
-@@ -103,7 +103,6 @@ fmtmsg (long int classification, const char *label, int severity,
- const char *text, const char *action, const char *tag)
- {
- __libc_once_define (static, once);
-- int result = MM_OK;
- struct severity_info *severity_rec;
-
- /* Make sure everything is initialized. */
-@@ -124,17 +123,6 @@ fmtmsg (long int classification, const char *label, int severity,
- return MM_NOTOK;
- }
-
-- for (severity_rec = severity_list; severity_rec != NULL;
-- severity_rec = severity_rec->next)
-- if (severity == severity_rec->severity)
-- /* Bingo. */
-- break;
--
-- /* If we don't know anything about the severity level return an error. */
-- if (severity_rec == NULL)
-- return MM_NOTOK;
--
--
- #ifdef __libc_ptf_call
- /* We do not want this call to be cut short by a thread
- cancellation. Therefore disable cancellation for now. */
-@@ -143,54 +131,73 @@ fmtmsg (long int classification, const char *label, int severity,
- 0);
- #endif
-
-- /* Now we can print. */
-- if (classification & MM_PRINT)
-- {
-- int do_label = (print & label_mask) && label != MM_NULLLBL;
-- int do_severity = (print & severity_mask) && severity != MM_NULLSEV;
-- int do_text = (print & text_mask) && text != MM_NULLTXT;
-- int do_action = (print & action_mask) && action != MM_NULLACT;
-- int do_tag = (print & tag_mask) && tag != MM_NULLTAG;
--
-- if (__fxprintf (stderr, "%s%s%s%s%s%s%s%s%s%s\n",
-- do_label ? label : "",
-- do_label && (do_severity | do_text | do_action | do_tag)
-- ? ": " : "",
-- do_severity ? severity_rec->string : "",
-- do_severity && (do_text | do_action | do_tag)
-- ? ": " : "",
-- do_text ? text : "",
-- do_text && (do_action | do_tag) ? "\n" : "",
-- do_action ? "TO FIX: " : "",
-- do_action ? action : "",
-- do_action && do_tag ? " " : "",
-- do_tag ? tag : "") < 0)
-- /* Oh, oh. An error occurred during the output. */
-- result = MM_NOMSG;
-- }
-+ __libc_lock_lock (lock);
-
-- if (classification & MM_CONSOLE)
-+ for (severity_rec = severity_list; severity_rec != NULL;
-+ severity_rec = severity_rec->next)
-+ if (severity == severity_rec->severity)
-+ /* Bingo. */
-+ break;
-+
-+ /* If we don't know anything about the severity level return an error. */
-+ int result = MM_NOTOK;
-+ if (severity_rec != NULL)
- {
-- int do_label = label != MM_NULLLBL;
-- int do_severity = severity != MM_NULLSEV;
-- int do_text = text != MM_NULLTXT;
-- int do_action = action != MM_NULLACT;
-- int do_tag = tag != MM_NULLTAG;
--
-- syslog (LOG_ERR, "%s%s%s%s%s%s%s%s%s%s\n",
-- do_label ? label : "",
-- do_label && (do_severity | do_text | do_action | do_tag)
-- ? ": " : "",
-- do_severity ? severity_rec->string : "",
-- do_severity && (do_text | do_action | do_tag) ? ": " : "",
-- do_text ? text : "",
-- do_text && (do_action | do_tag) ? "\n" : "",
-- do_action ? "TO FIX: " : "",
-- do_action ? action : "",
-- do_action && do_tag ? " " : "",
-- do_tag ? tag : "");
-+ result = MM_OK;
-+
-+ /* Now we can print. */
-+ if (classification & MM_PRINT)
-+ {
-+ int do_label = (print & label_mask) && label != MM_NULLLBL;
-+ int do_severity = (print & severity_mask) && severity != MM_NULLSEV;
-+ int do_text = (print & text_mask) && text != MM_NULLTXT;
-+ int do_action = (print & action_mask) && action != MM_NULLACT;
-+ int do_tag = (print & tag_mask) && tag != MM_NULLTAG;
-+ int need_colon = (do_label
-+ && (do_severity | do_text | do_action | do_tag));
-+
-+ if (__fxprintf (stderr, "%s%s%s%s%s%s%s%s%s%s\n",
-+ do_label ? label : "",
-+ need_colon ? ": " : "",
-+ do_severity ? severity_rec->string : "",
-+ do_severity && (do_text | do_action | do_tag)
-+ ? ": " : "",
-+ do_text ? text : "",
-+ do_text && (do_action | do_tag) ? "\n" : "",
-+ do_action ? "TO FIX: " : "",
-+ do_action ? action : "",
-+ do_action && do_tag ? " " : "",
-+ do_tag ? tag : "") < 0)
-+ /* Oh, oh. An error occurred during the output. */
-+ result = MM_NOMSG;
-+ }
-+
-+ if (classification & MM_CONSOLE)
-+ {
-+ int do_label = label != MM_NULLLBL;
-+ int do_severity = severity != MM_NULLSEV;
-+ int do_text = text != MM_NULLTXT;
-+ int do_action = action != MM_NULLACT;
-+ int do_tag = tag != MM_NULLTAG;
-+ int need_colon = (do_label
-+ && (do_severity | do_text | do_action | do_tag));
-+
-+ syslog (LOG_ERR, "%s%s%s%s%s%s%s%s%s%s\n",
-+ do_label ? label : "",
-+ need_colon ? ": " : "",
-+ do_severity ? severity_rec->string : "",
-+ do_severity && (do_text | do_action | do_tag) ? ": " : "",
-+ do_text ? text : "",
-+ do_text && (do_action | do_tag) ? "\n" : "",
-+ do_action ? "TO FIX: " : "",
-+ do_action ? action : "",
-+ do_action && do_tag ? " " : "",
-+ do_tag ? tag : "");
-+ }
- }
-
-+ __libc_lock_unlock (lock);
-+
- #ifdef __libc_ptf_call
- __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0);
- #endif
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-gb18030.patch.gz b/multilib-testing/lib32-glibc/glibc-2.15-gb18030.patch.gz
deleted file mode 100644
index dde59c056..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-gb18030.patch.gz
+++ /dev/null
Binary files differ
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-ifunc.patch b/multilib-testing/lib32-glibc/glibc-2.15-ifunc.patch
deleted file mode 100644
index 115afa02a..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-ifunc.patch
+++ /dev/null
@@ -1,262 +0,0 @@
-diff --git a/Makeconfig b/Makeconfig
-index 2db2821..68547b2 100644
---- a/Makeconfig
-+++ b/Makeconfig
-@@ -900,6 +900,12 @@ else
- libdl = $(common-objpfx)dlfcn/libdl.a
- endif
-
-+ifeq ($(build-shared),yes)
-+libm = $(common-objpfx)math/libm.so$(libm.so-version)
-+else
-+libm = $(common-objpfx)math/libm.a
-+endif
-+
- # These are the subdirectories containing the library source. The order
- # is more or less arbitrary. The sorting step will take care of the
- # dependencies.
-diff --git a/elf/Makefile b/elf/Makefile
-index 052e763..3f1772a 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -124,7 +124,8 @@ distribute := rtld-Rules \
- tst-initordera1.c tst-initordera2.c tst-initorderb1.c \
- tst-initorderb2.c tst-initordera3.c tst-initordera4.c \
- tst-initorder.c \
-- tst-initorder2.c
-+ tst-initorder2.c \
-+ tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c
-
- CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
- CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables
-@@ -227,7 +228,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
- tst-audit1 tst-audit2 \
- tst-stackguard1 tst-addr1 tst-thrlock \
- tst-unique1 tst-unique2 tst-unique3 tst-unique4 \
-- tst-initorder tst-initorder2
-+ tst-initorder tst-initorder2 tst-relsort1
- # reldep9
- test-srcs = tst-pathopt
- selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null)
-@@ -290,7 +291,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
- tst-initordera1 tst-initorderb1 \
- tst-initordera2 tst-initorderb2 \
- tst-initordera3 tst-initordera4 \
-- tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d
-+ tst-initorder2a tst-initorder2b tst-initorder2c \
-+ tst-initorder2d \
-+ tst-relsort1mod1 tst-relsort1mod2
- ifeq (yes,$(have-initfini-array))
- modules-names += tst-array2dep tst-array5dep
- endif
-@@ -1195,3 +1198,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
- CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
- CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
- endif
-+
-+$(objpfx)tst-relsort1: $(libdl)
-+$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
-+$(objpfx)tst-relsort1mod2.so: $(libm)
-+$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
-+ $(objpfx)tst-relsort1mod2.so
-diff --git a/elf/dl-open.c b/elf/dl-open.c
-index a0b5c50..a56bdc1 100644
---- a/elf/dl-open.c
-+++ b/elf/dl-open.c
-@@ -1,5 +1,5 @@
- /* Load a shared object at runtime, relocate it, and run its initializer.
-- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -302,45 +302,109 @@ dl_open_worker (void *a)
- if (GLRO(dl_lazy))
- reloc_mode |= mode & RTLD_LAZY;
-
-- /* Relocate the objects loaded. We do this in reverse order so that copy
-- relocs of earlier objects overwrite the data written by later objects. */
--
-+ /* Sort the objects by dependency for the relocation process. This
-+ allows IFUNC relocations to work and it also means copy
-+ relocation of dependencies are if necessary overwritten. */
-+ size_t nmaps = 0;
- struct link_map *l = new;
-- while (l->l_next)
-- l = l->l_next;
-- while (1)
-+ do
-+ {
-+ if (! l->l_real->l_relocated)
-+ ++nmaps;
-+ l = l->l_next;
-+ }
-+ while (l != NULL);
-+ struct link_map *maps[nmaps];
-+ nmaps = 0;
-+ l = new;
-+ do
- {
- if (! l->l_real->l_relocated)
-+ maps[nmaps++] = l;
-+ l = l->l_next;
-+ }
-+ while (l != NULL);
-+ if (nmaps > 1)
-+ {
-+ char seen[nmaps];
-+ memset (seen, '\0', nmaps);
-+ size_t i = 0;
-+ while (1)
- {
--#ifdef SHARED
-- if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
-+ ++seen[i];
-+ struct link_map *thisp = maps[i];
-+
-+ /* Find the last object in the list for which the current one is
-+ a dependency and move the current object behind the object
-+ with the dependency. */
-+ size_t k = nmaps - 1;
-+ while (k > i)
- {
-- /* If this here is the shared object which we want to profile
-- make sure the profile is started. We can find out whether
-- this is necessary or not by observing the `_dl_profile_map'
-- variable. If was NULL but is not NULL afterwars we must
-- start the profiling. */
-- struct link_map *old_profile_map = GL(dl_profile_map);
-+ struct link_map **runp = maps[k]->l_initfini;
-+ if (runp != NULL)
-+ /* Look through the dependencies of the object. */
-+ while (*runp != NULL)
-+ if (__builtin_expect (*runp++ == thisp, 0))
-+ {
-+ /* Move the current object to the back past the last
-+ object with it as the dependency. */
-+ memmove (&maps[i], &maps[i + 1],
-+ (k - i) * sizeof (maps[0]));
-+ maps[k] = thisp;
-+
-+ if (seen[i + 1] > 1)
-+ {
-+ ++i;
-+ goto next_clear;
-+ }
-+
-+ char this_seen = seen[i];
-+ memmove (&seen[i], &seen[i + 1],
-+ (k - i) * sizeof (seen[0]));
-+ seen[k] = this_seen;
-+
-+ goto next;
-+ }
-+
-+ --k;
-+ }
-
-- _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
-+ if (++i == nmaps)
-+ break;
-+ next_clear:
-+ memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0]));
-+ next:;
-+ }
-+ }
-
-- if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
-- {
-- /* We must prepare the profiling. */
-- _dl_start_profile ();
-+ for (size_t i = nmaps; i-- > 0; )
-+ {
-+ l = maps[i];
-
-- /* Prevent unloading the object. */
-- GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
-- }
-+#ifdef SHARED
-+ if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
-+ {
-+ /* If this here is the shared object which we want to profile
-+ make sure the profile is started. We can find out whether
-+ this is necessary or not by observing the `_dl_profile_map'
-+ variable. If it was NULL but is not NULL afterwars we must
-+ start the profiling. */
-+ struct link_map *old_profile_map = GL(dl_profile_map);
-+
-+ _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
-+
-+ if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
-+ {
-+ /* We must prepare the profiling. */
-+ _dl_start_profile ();
-+
-+ /* Prevent unloading the object. */
-+ GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
- }
-- else
--#endif
-- _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
- }
--
-- if (l == new)
-- break;
-- l = l->l_prev;
-+ else
-+#endif
-+ _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
- }
-
- /* If the file is not loaded now as a dependency, add the search
-diff --git a/elf/tst-relsort1.c b/elf/tst-relsort1.c
-new file mode 100644
-index 0000000..972100c
---- /dev/null
-+++ b/elf/tst-relsort1.c
-@@ -0,0 +1,19 @@
-+#include <dlfcn.h>
-+#include <stdio.h>
-+
-+
-+static int
-+do_test ()
-+{
-+ const char lib[] = "$ORIGIN/tst-relsort1mod1.so";
-+ void *h = dlopen (lib, RTLD_NOW);
-+ if (h == NULL)
-+ {
-+ puts (dlerror ());
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/elf/tst-relsort1mod1.c b/elf/tst-relsort1mod1.c
-new file mode 100644
-index 0000000..9e4a943
---- /dev/null
-+++ b/elf/tst-relsort1mod1.c
-@@ -0,0 +1,7 @@
-+extern int foo (double);
-+
-+int
-+bar (void)
-+{
-+ return foo (1.2);
-+}
-diff --git a/elf/tst-relsort1mod2.c b/elf/tst-relsort1mod2.c
-new file mode 100644
-index 0000000..a2c3e55
---- /dev/null
-+++ b/elf/tst-relsort1mod2.c
-@@ -0,0 +1,7 @@
-+#include <math.h>
-+
-+int
-+foo (double d)
-+{
-+ return floor (d) != 0.0;
-+}
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-lddebug-scopes.patch b/multilib-testing/lib32-glibc/glibc-2.15-lddebug-scopes.patch
deleted file mode 100644
index 808cf8d7c..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-lddebug-scopes.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0c95ab64cb4ec0d22bb222647d9d20c7b4903e38 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@redhat.com>
-Date: Fri, 7 Oct 2011 09:31:27 +0200
-Subject: [PATCH] Horrible workaround for horribly broken software
-
----
- elf/rtld.c | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/elf/rtld.c b/elf/rtld.c
-index 978c609..8422b9f 100644
---- a/elf/rtld.c
-+++ b/elf/rtld.c
-@@ -1393,7 +1393,9 @@ of this helper program; chances are you did not intend to run this program.\n\
- char *copy = malloc (len);
- if (copy == NULL)
- _dl_fatal_printf ("out of memory\n");
-- l->l_libname->name = l->l_name = memcpy (copy, dsoname, len);
-+ l->l_libname->name = memcpy (copy, dsoname, len);
-+ if (GLRO(dl_debug_mask))
-+ l->l_name = copy;
- }
-
- /* Add the vDSO to the object list. */
---
-1.7.3.4
-
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-multiarch-x86-strcmp.patch b/multilib-testing/lib32-glibc/glibc-2.15-multiarch-x86-strcmp.patch
deleted file mode 100644
index 38c9e617f..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-multiarch-x86-strcmp.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c b/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
-index d10e872..d4fcd2b 100644
---- a/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
-+++ b/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c
-@@ -6,6 +6,8 @@ extern __typeof (strcasecmp_l) __strcasecmp_l_nonascii;
- #define USE_IN_EXTENDED_LOCALE_MODEL 1
- #include <string/strcasecmp.c>
-
-+strong_alias (__strcasecmp_l_nonascii, __strcasecmp_l_ia32)
-+
- /* The needs of strcasecmp in libc are minimal, no need to go through
- the IFUNC. */
- strong_alias (__strcasecmp_l_nonascii, __GI___strcasecmp_l)
-diff --git a/sysdeps/i386/i686/multiarch/strcmp.S b/sysdeps/i386/i686/multiarch/strcmp.S
-index 5410d17..b3b9eb8 100644
---- a/sysdeps/i386/i686/multiarch/strcmp.S
-+++ b/sysdeps/i386/i686/multiarch/strcmp.S
-@@ -111,6 +111,7 @@ END(STRCMP)
- # endif
- #endif
-
--#ifndef USE_AS_STRNCMP
-+#if !defined USE_AS_STRNCMP && !defined USE_AS_STRCASECMP_L \
-+ && !defined USE_AS_STRNCASECMP_L
- # include "../strcmp.S"
- #endif
-diff --git a/sysdeps/i386/i686/multiarch/strncase_l-c.c b/sysdeps/i386/i686/multiarch/strncase_l-c.c
-index 0c68b8d..7e601af 100644
---- a/sysdeps/i386/i686/multiarch/strncase_l-c.c
-+++ b/sysdeps/i386/i686/multiarch/strncase_l-c.c
-@@ -6,6 +6,8 @@ extern __typeof (strncasecmp_l) __strncasecmp_l_nonascii;
- #define USE_IN_EXTENDED_LOCALE_MODEL 1
- #include <string/strncase.c>
-
-+strong_alias (__strncasecmp_l_nonascii, __strncasecmp_l_ia32)
-+
- /* The needs of strcasecmp in libc are minimal, no need to go through
- the IFUNC. */
- strong_alias (__strncasecmp_l_nonascii, __GI___strncasecmp_l)
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-nearbyintf-rounding.patch b/multilib-testing/lib32-glibc/glibc-2.15-nearbyintf-rounding.patch
deleted file mode 100644
index b2bb9caac..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-nearbyintf-rounding.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --git a/math/libm-test.inc b/math/libm-test.inc
-index c8186c8..1016753 100644
---- a/math/libm-test.inc
-+++ b/math/libm-test.inc
-@@ -4632,6 +4632,29 @@ nearbyint_test (void)
- TEST_f_f (nearbyint, 524286.75, 524287.0);
- TEST_f_f (nearbyint, 524288.75, 524289.0);
-
-+ TEST_f_f (nearbyint, 1048576.75, 1048577.0);
-+ TEST_f_f (nearbyint, 2097152.75, 2097153.0);
-+ TEST_f_f (nearbyint, 2492472.75, 2492473.0);
-+ TEST_f_f (nearbyint, 2886220.75, 2886221.0);
-+ TEST_f_f (nearbyint, 3058792.75, 3058793.0);
-+ TEST_f_f (nearbyint, -1048576.75, -1048577.0);
-+ TEST_f_f (nearbyint, -2097152.75, -2097153.0);
-+ TEST_f_f (nearbyint, -2492472.75, -2492473.0);
-+ TEST_f_f (nearbyint, -2886220.75, -2886221.0);
-+ TEST_f_f (nearbyint, -3058792.75, -3058793.0);
-+#ifndef TEST_FLOAT
-+ TEST_f_f (nearbyint, 70368744177664.75, 70368744177665.0);
-+ TEST_f_f (nearbyint, 140737488355328.75, 140737488355329.0);
-+ TEST_f_f (nearbyint, 281474976710656.75, 281474976710657.0);
-+ TEST_f_f (nearbyint, 562949953421312.75, 562949953421313.0);
-+ TEST_f_f (nearbyint, 1125899906842624.75, 1125899906842625.0);
-+ TEST_f_f (nearbyint, -70368744177664.75, -70368744177665.0);
-+ TEST_f_f (nearbyint, -140737488355328.75, -140737488355329.0);
-+ TEST_f_f (nearbyint, -281474976710656.75, -281474976710657.0);
-+ TEST_f_f (nearbyint, -562949953421312.75, -562949953421313.0);
-+ TEST_f_f (nearbyint, -1125899906842624.75, -1125899906842625.0);
-+#endif
-+
- END (nearbyint);
- }
-
-diff --git a/sysdeps/ieee754/flt-32/s_nearbyintf.c b/sysdeps/ieee754/flt-32/s_nearbyintf.c
-index 04ef9ab..a6d602b 100644
---- a/sysdeps/ieee754/flt-32/s_nearbyintf.c
-+++ b/sysdeps/ieee754/flt-32/s_nearbyintf.c
-@@ -30,18 +30,12 @@ __nearbyintf(float x)
- {
- fenv_t env;
- int32_t i0,j0,sx;
-- u_int32_t i,i1;
- float w,t;
- GET_FLOAT_WORD(i0,x);
- sx = (i0>>31)&1;
- j0 = ((i0>>23)&0xff)-0x7f;
- if(j0<23) {
- if(j0<0) {
-- if((i0&0x7fffffff)==0) return x;
-- i1 = (i0&0x07fffff);
-- i0 &= 0xfff00000;
-- i0 |= ((i1|-i1)>>9)&0x400000;
-- SET_FLOAT_WORD(x,i0);
- libc_feholdexceptf (&env);
- w = TWO23[sx]+x;
- t = w-TWO23[sx];
-@@ -49,17 +43,11 @@ __nearbyintf(float x)
- GET_FLOAT_WORD(i0,t);
- SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
- return t;
-- } else {
-- i = (0x007fffff)>>j0;
-- if((i0&i)==0) return x; /* x is integral */
-- i>>=1;
-- if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
- }
- } else {
- if(__builtin_expect(j0==0x80, 0)) return x+x; /* inf or NaN */
- else return x; /* x is integral */
- }
-- SET_FLOAT_WORD(x,i0);
- libc_feholdexceptf (&env);
- w = TWO23[sx]+x;
- t = w-TWO23[sx];
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-negative-result-cache.patch b/multilib-testing/lib32-glibc/glibc-2.15-negative-result-cache.patch
deleted file mode 100644
index c09e79a17..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-negative-result-cache.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-diff --git a/nscd/aicache.c b/nscd/aicache.c
-index aaaf80d..e1f1244 100644
---- a/nscd/aicache.c
-+++ b/nscd/aicache.c
-@@ -1,5 +1,5 @@
- /* Cache handling for host lookup.
-- Copyright (C) 2004-2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 2004-2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
-
-@@ -514,8 +514,9 @@ next_nip:
- if (fd != -1)
- TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
-
-- /* If we cannot permanently store the result, so be it. */
-- if (__builtin_expect (db->negtimeout == 0, 0))
-+ /* If we have a transient error or cannot permanently store the
-+ result, so be it. */
-+ if (rc4 == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
- {
- /* Mark the old entry as obsolete. */
- if (dh != NULL)
-diff --git a/nscd/grpcache.c b/nscd/grpcache.c
-index e9607c6..a698f36 100644
---- a/nscd/grpcache.c
-+++ b/nscd/grpcache.c
-@@ -1,5 +1,5 @@
- /* Cache handling for group lookup.
-- Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-
-@@ -120,8 +120,9 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
- else
- written = total;
-
-- /* If we cannot permanently store the result, so be it. */
-- if (db->negtimeout == 0)
-+ /* If we have a transient error or cannot permanently store
-+ the result, so be it. */
-+ if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
- {
- /* Mark the old entry as obsolete. */
- if (dh != NULL)
-diff --git a/nscd/hstcache.c b/nscd/hstcache.c
-index 4d68ade..c72feaa 100644
---- a/nscd/hstcache.c
-+++ b/nscd/hstcache.c
-@@ -1,5 +1,5 @@
- /* Cache handling for host lookup.
-- Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-
-@@ -141,8 +141,9 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
- MSG_NOSIGNAL)) != total)
- all_written = false;
-
-- /* If we cannot permanently store the result, so be it. */
-- if (__builtin_expect (db->negtimeout == 0, 0))
-+ /* If we have a transient error or cannot permanently store
-+ the result, so be it. */
-+ if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
- {
- /* Mark the old entry as obsolete. */
- if (dh != NULL)
-diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c
-index 4ac9942..2019991 100644
---- a/nscd/initgrcache.c
-+++ b/nscd/initgrcache.c
-@@ -1,5 +1,5 @@
- /* Cache handling for host lookup.
-- Copyright (C) 2004-2006, 2008, 2009, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 2004-2006, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
-
-@@ -202,8 +202,9 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
- written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
- MSG_NOSIGNAL));
-
-- /* If we cannot permanently store the result, so be it. */
-- if (__builtin_expect (db->negtimeout == 0, 0))
-+ /* If we have a transient error or cannot permanently store
-+ the result, so be it. */
-+ if (all_tryagain || __builtin_expect (db->negtimeout == 0, 0))
- {
- /* Mark the old entry as obsolete. */
- if (dh != NULL)
-diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
-index 49e130c..e2ba09d 100644
---- a/nscd/pwdcache.c
-+++ b/nscd/pwdcache.c
-@@ -1,5 +1,5 @@
- /* Cache handling for passwd lookup.
-- Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-
-@@ -124,8 +124,9 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
- written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
- MSG_NOSIGNAL));
-
-- /* If we cannot permanently store the result, so be it. */
-- if (__builtin_expect (db->negtimeout == 0, 0))
-+ /* If we have a transient error or cannot permanently store
-+ the result, so be it. */
-+ if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
- {
- /* Mark the old entry as obsolete. */
- if (dh != NULL)
-diff --git a/nscd/servicescache.c b/nscd/servicescache.c
-index d3d5dce..a6337e3 100644
---- a/nscd/servicescache.c
-+++ b/nscd/servicescache.c
-@@ -1,5 +1,5 @@
- /* Cache handling for services lookup.
-- Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 2007, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@drepper.com>, 2007.
-
-@@ -108,8 +108,9 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
- written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
- MSG_NOSIGNAL));
-
-- /* If we cannot permanently store the result, so be it. */
-- if (__builtin_expect (db->negtimeout == 0, 0))
-+ /* If we have a transient error or cannot permanently store
-+ the result, so be it. */
-+ if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
- {
- /* Mark the old entry as obsolete. */
- if (dh != NULL)
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-non-signalling-comparisons.patch b/multilib-testing/lib32-glibc/glibc-2.15-non-signalling-comparisons.patch
deleted file mode 100644
index 874f8b4cb..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-non-signalling-comparisons.patch
+++ /dev/null
@@ -1,886 +0,0 @@
-diff --git a/math/w_acos.c b/math/w_acos.c
-index 3138408..0490933 100644
---- a/math/w_acos.c
-+++ b/math/w_acos.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- double
- __acos (double x)
- {
-- if (__builtin_expect (fabs (x) > 1.0, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabs (x), 1.0), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- /* acos(|x|>1) */
- feraiseexcept (FE_INVALID);
-diff --git a/math/w_acosf.c b/math/w_acosf.c
-index 0e41a2c..2500a7d 100644
---- a/math/w_acosf.c
-+++ b/math/w_acosf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- float
- __acosf (float x)
- {
-- if (__builtin_expect (fabsf (x) > 1.0f, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- /* acos(|x|>1) */
- feraiseexcept (FE_INVALID);
-diff --git a/math/w_acosh.c b/math/w_acosh.c
-index 0bd2686..d632987 100644
---- a/math/w_acosh.c
-+++ b/math/w_acosh.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,7 @@
- double
- __acosh (double x)
- {
-- if (__builtin_expect (x < 1.0, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isless (x, 1.0), 0) && _LIB_VERSION != _IEEE_)
- /* acosh(x<1) */
- return __kernel_standard (x, x, 29);
-
-diff --git a/math/w_acoshf.c b/math/w_acoshf.c
-index c59bf94..f77df2b 100644
---- a/math/w_acoshf.c
-+++ b/math/w_acoshf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,7 @@
- float
- __acoshf (float x)
- {
-- if (__builtin_expect (x < 1.0f, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isless (x, 1.0f), 0) && _LIB_VERSION != _IEEE_)
- /* acosh(x<1) */
- return __kernel_standard_f (x, x, 129);
-
-diff --git a/math/w_acoshl.c b/math/w_acoshl.c
-index 819bdfc..cc823b8 100644
---- a/math/w_acoshl.c
-+++ b/math/w_acoshl.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,7 @@
- long double
- __acoshl (long double x)
- {
-- if (__builtin_expect (x < 1.0L, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isless (x, 1.0L), 0) && _LIB_VERSION != _IEEE_)
- /* acosh(x<1) */
- return __kernel_standard (x, x, 229);
-
-diff --git a/math/w_acosl.c b/math/w_acosl.c
-index 6417068..05023b4 100644
---- a/math/w_acosl.c
-+++ b/math/w_acosl.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- long double
- __acosl (long double x)
- {
-- if (__builtin_expect (fabsl (x) > 1.0L, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabsl (x), 1.0L), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- /* acos(|x|>1) */
- feraiseexcept (FE_INVALID);
-diff --git a/math/w_asin.c b/math/w_asin.c
-index d4e89ce..0fa9487 100644
---- a/math/w_asin.c
-+++ b/math/w_asin.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- double
- __asin (double x)
- {
-- if (__builtin_expect (fabs (x) > 1.0, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabs (x), 1.0), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- /* asin(|x|>1) */
- feraiseexcept (FE_INVALID);
-diff --git a/math/w_asinf.c b/math/w_asinf.c
-index 270961f..c28edab 100644
---- a/math/w_asinf.c
-+++ b/math/w_asinf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- float
- __asinf (float x)
- {
-- if (__builtin_expect (fabsf (x) > 1.0f, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- /* asin(|x|>1) */
- feraiseexcept (FE_INVALID);
-diff --git a/math/w_asinl.c b/math/w_asinl.c
-index 32e5273..e4036d8 100644
---- a/math/w_asinl.c
-+++ b/math/w_asinl.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- long double
- __asinl (long double x)
- {
-- if (__builtin_expect (fabsl (x) > 1.0L, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabsl (x), 1.0L), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- /* asin(|x|>1) */
- feraiseexcept (FE_INVALID);
-diff --git a/math/w_atanh.c b/math/w_atanh.c
-index 1022bd5..190d2e9 100644
---- a/math/w_atanh.c
-+++ b/math/w_atanh.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,8 @@
- double
- __atanh (double x)
- {
-- if (__builtin_expect (fabs (x) >= 1.0, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreaterequal (fabs (x), 1.0), 0)
-+ && _LIB_VERSION != _IEEE_)
- return __kernel_standard (x, x,
- fabs (x) > 1.0
- ? 30 /* atanh(|x|>1) */
-diff --git a/math/w_atanhf.c b/math/w_atanhf.c
-index 3c8cf83..e0c5dc3 100644
---- a/math/w_atanhf.c
-+++ b/math/w_atanhf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,8 @@
- float
- __atanhf (float x)
- {
-- if (__builtin_expect (fabsf (x) >= 1.0f, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreaterequal (fabsf (x), 1.0f), 0)
-+ && _LIB_VERSION != _IEEE_)
- return __kernel_standard_f (x, x,
- fabsf (x) > 1.0f
- ? 130 /* atanh(|x|>1) */
-diff --git a/math/w_atanhl.c b/math/w_atanhl.c
-index f582acf..319535d 100644
---- a/math/w_atanhl.c
-+++ b/math/w_atanhl.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,8 @@
- long double
- __atanhl (long double x)
- {
-- if (__builtin_expect (fabsl (x) >= 1.0L, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreaterequal (fabsl (x), 1.0L), 0)
-+ && _LIB_VERSION != _IEEE_)
- return __kernel_standard (x, x,
- fabsl (x) > 1.0L
- ? 230 /* atanh(|x|>1) */
-diff --git a/math/w_exp2.c b/math/w_exp2.c
-index bf22326..7a3b0af 100644
---- a/math/w_exp2.c
-+++ b/math/w_exp2.c
-@@ -12,7 +12,8 @@ static const double u_threshold = (double) (DBL_MIN_EXP - DBL_MANT_DIG - 1);
- double
- __exp2 (double x)
- {
-- if (__builtin_expect (x <= u_threshold || x > o_threshold, 0)
-+ if (__builtin_expect (islessequal (x, u_threshold)
-+ || isgreater (x, o_threshold), 0)
- && _LIB_VERSION != _IEEE_ && __finite (x))
- /* exp2 overflow: 44, exp2 underflow: 45 */
- return __kernel_standard (x, x, 44 + (x <= o_threshold));
-diff --git a/math/w_exp2f.c b/math/w_exp2f.c
-index 7215fca..c4e9e94 100644
---- a/math/w_exp2f.c
-+++ b/math/w_exp2f.c
-@@ -12,7 +12,8 @@ static const float u_threshold = (float) (FLT_MIN_EXP - FLT_MANT_DIG - 1);
- float
- __exp2f (float x)
- {
-- if (__builtin_expect (x <= u_threshold || x > o_threshold, 0)
-+ if (__builtin_expect (islessequal (x, u_threshold)
-+ || isgreater (x, o_threshold), 0)
- && _LIB_VERSION != _IEEE_ && __finitef (x))
- /* exp2 overflow: 144, exp2 underflow: 145 */
- return __kernel_standard_f (x, x, 144 + (x <= o_threshold));
-diff --git a/math/w_exp2l.c b/math/w_exp2l.c
-index ac8d231..442a637 100644
---- a/math/w_exp2l.c
-+++ b/math/w_exp2l.c
-@@ -13,7 +13,8 @@ static const long double u_threshold
- long double
- __exp2l (long double x)
- {
-- if (__builtin_expect (x <= u_threshold || x > o_threshold, 0)
-+ if (__builtin_expect (islessequal (x, u_threshold)
-+ || isgreater (x, o_threshold), 0)
- && _LIB_VERSION != _IEEE_ && __finitel (x))
- /* exp2 overflow: 244, exp2 underflow: 245 */
- return __kernel_standard (x, x, 244 + (x <= o_threshold));
-diff --git a/math/w_j0.c b/math/w_j0.c
-index 1dff8b4..f8d3724 100644
---- a/math/w_j0.c
-+++ b/math/w_j0.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- double
- j0 (double x)
- {
-- if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- /* j0(|x|>X_TLOSS) */
- return __kernel_standard (x, x, 34);
-
-@@ -40,7 +41,8 @@ strong_alias (j0, j0l)
- double
- y0 (double x)
- {
-- if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- if (x < 0.0)
- {
-diff --git a/math/w_j0f.c b/math/w_j0f.c
-index fc52f26..cef36aa 100644
---- a/math/w_j0f.c
-+++ b/math/w_j0f.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- float
- j0f (float x)
- {
-- if (__builtin_expect (fabsf (x) > (float) X_TLOSS, 0)
-+ if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
- && _LIB_VERSION != _IEEE_)
- /* j0(|x|>X_TLOSS) */
- return __kernel_standard_f (x, x, 134);
-@@ -38,7 +38,8 @@ j0f (float x)
- float
- y0f (float x)
- {
-- if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0)
-+ if (__builtin_expect (islessequal (x, 0.0f)
-+ || isgreater (x, (float) X_TLOSS), 0)
- && _LIB_VERSION != _IEEE_)
- {
- if (x < 0.0f)
-diff --git a/math/w_j0l.c b/math/w_j0l.c
-index 8d72d50..144f33c 100644
---- a/math/w_j0l.c
-+++ b/math/w_j0l.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- long double
- __j0l (long double x)
- {
-- if (__builtin_expect (fabsl (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabsl (x), X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- /* j0(|x|>X_TLOSS) */
- return __kernel_standard (x, x, 234);
-
-@@ -38,7 +39,8 @@ weak_alias (__j0l, j0l)
- long double
- __y0l (long double x)
- {
-- if (__builtin_expect (x <= 0.0L || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0L) || isgreater (x, X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- if (x < 0.0L)
- {
-diff --git a/math/w_j1.c b/math/w_j1.c
-index 358e0e1..e9a5357 100644
---- a/math/w_j1.c
-+++ b/math/w_j1.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- double
- j1 (double x)
- {
-- if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- /* j1(|x|>X_TLOSS) */
- return __kernel_standard (x, x, 36);
-
-@@ -40,7 +41,8 @@ strong_alias (j1, j1l)
- double
- y1 (double x)
- {
-- if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- if (x < 0.0)
- {
-diff --git a/math/w_j1f.c b/math/w_j1f.c
-index 096fdf5..29bd949 100644
---- a/math/w_j1f.c
-+++ b/math/w_j1f.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- float
- j1f (float x)
- {
-- if (__builtin_expect (fabsf (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabsf (x), X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- /* j1(|x|>X_TLOSS) */
- return __kernel_standard_f (x, x, 136);
-
-@@ -37,7 +38,8 @@ j1f (float x)
- float
- y1f (float x)
- {
-- if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0)
-+ if (__builtin_expect (islessequal (x, 0.0f)
-+ || isgreater (x, (float) X_TLOSS), 0)
- && _LIB_VERSION != _IEEE_)
- {
- if (x < 0.0f)
-diff --git a/math/w_j1l.c b/math/w_j1l.c
-index 93e4ee4..01b8551 100644
---- a/math/w_j1l.c
-+++ b/math/w_j1l.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- long double
- __j1l (long double x)
- {
-- if (__builtin_expect (fabsl (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabsl (x), X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- /* j1(|x|>X_TLOSS) */
- return __kernel_standard (x, x, 236);
-
-@@ -38,7 +39,8 @@ weak_alias (__j1l, j1l)
- long double
- __y1l (long double x)
- {
-- if (__builtin_expect (x <= 0.0L || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0L) || isgreater (x, X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- if (x < 0.0L)
- {
-diff --git a/math/w_jn.c b/math/w_jn.c
-index f0dd8c6..fd3fb16 100644
---- a/math/w_jn.c
-+++ b/math/w_jn.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,8 @@
- double
- jn (int n, double x)
- {
-- if (__builtin_expect (fabs (x) > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- /* jn(n,|x|>X_TLOSS) */
- return __kernel_standard (n, x, 38);
-
-@@ -40,7 +41,8 @@ strong_alias (jn, jnl)
- double
- yn (int n, double x)
- {
-- if (__builtin_expect (x <= 0.0 || x > X_TLOSS, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
-+ && _LIB_VERSION != _IEEE_)
- {
- if (x < 0.0)
- {
-diff --git a/math/w_jnf.c b/math/w_jnf.c
-index ef29eb4..36d6f6d 100644
---- a/math/w_jnf.c
-+++ b/math/w_jnf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- float
- jnf (int n, float x)
- {
-- if (__builtin_expect (fabsf (x) > (float) X_TLOSS, 0)
-+ if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
- && _LIB_VERSION != _IEEE_)
- /* jn(n,|x|>X_TLOSS) */
- return __kernel_standard_f (n, x, 138);
-@@ -38,7 +38,8 @@ jnf (int n, float x)
- float
- ynf (int n, float x)
- {
-- if (__builtin_expect (x <= 0.0f || x > (float) X_TLOSS, 0)
-+ if (__builtin_expect (islessequal (x, 0.0f)
-+ || isgreater (x, (float) X_TLOSS), 0)
- && _LIB_VERSION != _IEEE_)
- {
- if (x < 0.0f)
-diff --git a/math/w_log.c b/math/w_log.c
-index efc1c4c..ec33605 100644
---- a/math/w_log.c
-+++ b/math/w_log.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- double
- __log (double x)
- {
-- if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0)
- {
-diff --git a/math/w_log10.c b/math/w_log10.c
-index 2717ade..fe799ad 100644
---- a/math/w_log10.c
-+++ b/math/w_log10.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- double
- __log10 (double x)
- {
-- if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0)
- {
-diff --git a/math/w_log10f.c b/math/w_log10f.c
-index 60737ca..4b821f7 100644
---- a/math/w_log10f.c
-+++ b/math/w_log10f.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- float
- __log10f (float x)
- {
-- if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0f)
- {
-diff --git a/math/w_log10l.c b/math/w_log10l.c
-index b26f18c..0e5a137 100644
---- a/math/w_log10l.c
-+++ b/math/w_log10l.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- long double
- __log10l (long double x)
- {
-- if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0L)
- {
-diff --git a/math/w_log2.c b/math/w_log2.c
-index 998e5d9..e58e109 100644
---- a/math/w_log2.c
-+++ b/math/w_log2.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- double
- __log2 (double x)
- {
-- if (__builtin_expect (x <= 0.0, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0)
- {
-diff --git a/math/w_log2f.c b/math/w_log2f.c
-index 6d91bf4..6963ed2 100644
---- a/math/w_log2f.c
-+++ b/math/w_log2f.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- float
- __log2f (float x)
- {
-- if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0)
- {
-diff --git a/math/w_log2l.c b/math/w_log2l.c
-index e51c1bc..eed04ff6c 100644
---- a/math/w_log2l.c
-+++ b/math/w_log2l.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- long double
- __log2l (long double x)
- {
-- if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0L)
- {
-diff --git a/math/w_logf.c b/math/w_logf.c
-index 8aa27c8..38d408f 100644
---- a/math/w_logf.c
-+++ b/math/w_logf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- float
- __logf (float x)
- {
-- if (__builtin_expect (x <= 0.0f, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0f)
- {
-diff --git a/math/w_logl.c b/math/w_logl.c
-index a3139ff..593b37d 100644
---- a/math/w_logl.c
-+++ b/math/w_logl.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -25,7 +25,7 @@
- long double
- __logl (long double x)
- {
-- if (__builtin_expect (x <= 0.0L, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (islessequal (x, 0.0L), 0) && _LIB_VERSION != _IEEE_)
- {
- if (x == 0.0L)
- {
-diff --git a/math/w_sqrt.c b/math/w_sqrt.c
-index 409a6df..f6ba542 100644
---- a/math/w_sqrt.c
-+++ b/math/w_sqrt.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,7 @@
- double
- __sqrt (double x)
- {
-- if (__builtin_expect (x < 0.0, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isless (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
- return __kernel_standard (x, x, 26); /* sqrt(negative) */
-
- return __ieee754_sqrt (x);
-diff --git a/math/w_sqrtf.c b/math/w_sqrtf.c
-index 3c3d2f8..c128e9b 100644
---- a/math/w_sqrtf.c
-+++ b/math/w_sqrtf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,7 @@
- float
- __sqrtf (float x)
- {
-- if (__builtin_expect (x < 0.0f, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isless (x, 0.0f), 0) && _LIB_VERSION != _IEEE_)
- return __kernel_standard_f (x, x, 126); /* sqrt(negative) */
-
- return __ieee754_sqrtf (x);
-diff --git a/math/w_sqrtl.c b/math/w_sqrtl.c
-index 5e18f44..2a4a048 100644
---- a/math/w_sqrtl.c
-+++ b/math/w_sqrtl.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -24,7 +24,7 @@
- long double
- __sqrtl (long double x)
- {
-- if (__builtin_expect (x < 0.0L, 0) && _LIB_VERSION != _IEEE_)
-+ if (__builtin_expect (isless (x, 0.0L), 0) && _LIB_VERSION != _IEEE_)
- return __kernel_standard (x, x, 226); /* sqrt(negative) */
-
- return __ieee754_sqrtl (x);
-diff --git a/sysdeps/ieee754/dbl-64/e_atanh.c b/sysdeps/ieee754/dbl-64/e_atanh.c
-index 9fc21ab..5f471b1 100644
---- a/sysdeps/ieee754/dbl-64/e_atanh.c
-+++ b/sysdeps/ieee754/dbl-64/e_atanh.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -46,7 +46,7 @@ __ieee754_atanh (double x)
- {
- double xa = fabs (x);
- double t;
-- if (xa < 0.5)
-+ if (isless (xa, 0.5))
- {
- if (__builtin_expect (xa < 0x1.0p-28, 0))
- {
-@@ -57,11 +57,11 @@ __ieee754_atanh (double x)
- t = xa + xa;
- t = 0.5 * __log1p (t + t * xa / (1.0 - xa));
- }
-- else if (__builtin_expect (xa < 1.0, 1))
-+ else if (__builtin_expect (isless (xa, 1.0), 1))
- t = 0.5 * __log1p ((xa + xa) / (1.0 - xa));
- else
- {
-- if (xa > 1.0)
-+ if (isgreater (xa, 1.0))
- return (x - x) / (x - x);
-
- return x / 0.0;
-diff --git a/sysdeps/ieee754/dbl-64/w_exp.c b/sysdeps/ieee754/dbl-64/w_exp.c
-index ee42587..b584ed8 100644
---- a/sysdeps/ieee754/dbl-64/w_exp.c
-+++ b/sysdeps/ieee754/dbl-64/w_exp.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -28,12 +28,12 @@ u_threshold= -7.45133219101941108420e+02; /* 0xc0874910, 0xD52D3051 */
- double
- __exp (double x)
- {
-- if (__builtin_expect (x > o_threshold, 0))
-+ if (__builtin_expect (isgreater (x, o_threshold), 0))
- {
- if (_LIB_VERSION != _IEEE_)
- return __kernel_standard_f (x, x, 6);
- }
-- else if (__builtin_expect (x < u_threshold, 0))
-+ else if (__builtin_expect (isless (x, u_threshold), 0))
- {
- if (_LIB_VERSION != _IEEE_)
- return __kernel_standard_f (x, x, 7);
-diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c
-index 75ed691..7af2f6c 100644
---- a/sysdeps/ieee754/flt-32/e_atanhf.c
-+++ b/sysdeps/ieee754/flt-32/e_atanhf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -46,7 +46,7 @@ __ieee754_atanhf (float x)
- {
- float xa = fabsf (x);
- float t;
-- if (xa < 0.5f)
-+ if (isless (xa, 0.5f))
- {
- if (__builtin_expect (xa < 0x1.0p-28f, 0))
- {
-@@ -57,11 +57,11 @@ __ieee754_atanhf (float x)
- t = xa + xa;
- t = 0.5f * __log1pf (t + t * xa / (1.0f - xa));
- }
-- else if (__builtin_expect (xa < 1.0f, 1))
-+ else if (__builtin_expect (isless (xa, 1.0f), 1))
- t = 0.5f * __log1pf ((xa + xa) / (1.0f - xa));
- else
- {
-- if (xa > 1.0f)
-+ if (isgreater (xa, 1.0f))
- return (x - x) / (x - x);
-
- return x / 0.0f;
-diff --git a/sysdeps/ieee754/flt-32/w_expf.c b/sysdeps/ieee754/flt-32/w_expf.c
-index 5500872..bc3b2f6 100644
---- a/sysdeps/ieee754/flt-32/w_expf.c
-+++ b/sysdeps/ieee754/flt-32/w_expf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -28,12 +28,12 @@ u_threshold= -1.0397208405e+02; /* 0xc2cff1b5 */
- float
- __expf (float x)
- {
-- if (__builtin_expect (x > o_threshold, 0))
-+ if (__builtin_expect (isgreater (x, o_threshold), 0))
- {
- if (_LIB_VERSION != _IEEE_)
- return __kernel_standard_f (x, x, 106);
- }
-- else if (__builtin_expect (x < u_threshold, 0))
-+ else if (__builtin_expect (isless (x, u_threshold), 0))
- {
- if (_LIB_VERSION != _IEEE_)
- return __kernel_standard_f (x, x, 107);
-diff --git a/sysdeps/ieee754/ldbl-96/w_expl.c b/sysdeps/ieee754/ldbl-96/w_expl.c
-index ec9d8a7..d61c0a3 100644
---- a/sysdeps/ieee754/ldbl-96/w_expl.c
-+++ b/sysdeps/ieee754/ldbl-96/w_expl.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
-@@ -30,12 +30,12 @@ u_threshold= -1.140019167866942050398521670162263001513e4;
- long double
- __expl (long double x)
- {
-- if (__builtin_expect (x > o_threshold, 0))
-+ if (__builtin_expect (isgreater (x, o_threshold), 0))
- {
- if (_LIB_VERSION != _IEEE_)
- return __kernel_standard (x, x, 206);
- }
-- else if (__builtin_expect (x < u_threshold, 0))
-+ else if (__builtin_expect (isless (x, u_threshold), 0))
- {
- if (_LIB_VERSION != _IEEE_)
- return __kernel_standard (x, x, 207);
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-regex.patch b/multilib-testing/lib32-glibc/glibc-2.15-regex.patch
deleted file mode 100644
index 6385f2c08..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-regex.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/posix/regex_internal.c b/posix/regex_internal.c
-index bc19243..124f8cc 100644
---- a/posix/regex_internal.c
-+++ b/posix/regex_internal.c
-@@ -868,7 +868,7 @@ re_string_peek_byte_case (const re_string_t *pstr, int idx)
- }
-
- static unsigned char
--internal_function __attribute ((pure))
-+internal_function
- re_string_fetch_byte_case (re_string_t *pstr)
- {
- if (BE (!pstr->mbs_allocated, 1))
---
-1.7.3.4
-
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch b/multilib-testing/lib32-glibc/glibc-2.15-revert-c5a0802a.patch
deleted file mode 100644
index d8894723a..000000000
--- a/multilib-testing/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-testing/lib32-glibc/glibc-2.15-revert-netlink-cache.patch b/multilib-testing/lib32-glibc/glibc-2.15-revert-netlink-cache.patch
deleted file mode 100644
index 87d04c794..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-revert-netlink-cache.patch
+++ /dev/null
@@ -1,680 +0,0 @@
-diff --git a/include/ifaddrs.h b/include/ifaddrs.h
-index e1c6cac..50e4c48 100644
---- a/include/ifaddrs.h
-+++ b/include/ifaddrs.h
-@@ -21,13 +21,8 @@ struct in6addrinfo
- extern void __check_pf (bool *seen_ipv4, bool *seen_ipv6,
- struct in6addrinfo **in6ai, size_t *in6ailen)
- attribute_hidden;
--extern void __free_in6ai (struct in6addrinfo *in6ai) attribute_hidden;
- extern void __check_native (uint32_t a1_index, int *a1_native,
- uint32_t a2_index, int *a2_native)
- attribute_hidden;
-
--#ifdef IS_IN_nscd
--extern uint32_t __bump_nl_timestamp (void) attribute_hidden;
--#endif
--
- #endif /* ifaddrs.h */
-diff --git a/inet/check_pf.c b/inet/check_pf.c
-index 0fa34cc..b015432 100644
---- a/inet/check_pf.c
-+++ b/inet/check_pf.c
-@@ -1,5 +1,5 @@
- /* Determine protocol families for which interfaces exist. Generic version.
-- Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 2003, 2006 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -54,19 +54,3 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6,
-
- (void) freeifaddrs (ifa);
- }
--
--
--void
--__free_in6ai (struct in6addrinfo *in6ai)
--{
-- /* Nothing to do. */
--}
--
--
--#ifdef IS_IN_nscd
--uint32_t
--__bump_nl_timestamp (void)
--{
-- return 0;
--}
--#endif
-diff --git a/nscd/connections.c b/nscd/connections.c
-index c741996..2b5c7ef 100644
---- a/nscd/connections.c
-+++ b/nscd/connections.c
-@@ -24,7 +24,6 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <grp.h>
--#include <ifaddrs.h>
- #include <libintl.h>
- #include <pthread.h>
- #include <pwd.h>
-@@ -33,10 +32,6 @@
- #include <stdlib.h>
- #include <unistd.h>
- #include <arpa/inet.h>
--#ifdef HAVE_NETLINK
--# include <linux/netlink.h>
--# include <linux/rtnetlink.h>
--#endif
- #ifdef HAVE_EPOLL
- # include <sys/epoll.h>
- #endif
-@@ -252,11 +247,6 @@ static int sock;
- int inotify_fd = -1;
- #endif
-
--#ifdef HAVE_NETLINK
--/* Descriptor for netlink status updates. */
--static int nl_status_fd = -1;
--#endif
--
- #ifndef __ASSUME_SOCK_CLOEXEC
- /* Negative if SOCK_CLOEXEC is not supported, positive if it is, zero
- before be know the result. */
-@@ -913,65 +903,6 @@ cannot set socket to close on exec: %s; disabling paranoia mode"),
- exit (1);
- }
-
--#ifdef HAVE_NETLINK
-- if (dbs[hstdb].enabled)
-- {
-- /* Try to open netlink socket to monitor network setting changes. */
-- nl_status_fd = socket (AF_NETLINK,
-- SOCK_RAW | SOCK_CLOEXEC | SOCK_NONBLOCK,
-- NETLINK_ROUTE);
-- if (nl_status_fd != -1)
-- {
-- struct sockaddr_nl snl;
-- memset (&snl, '\0', sizeof (snl));
-- snl.nl_family = AF_NETLINK;
-- /* XXX Is this the best set to use? */
-- snl.nl_groups = (RTMGRP_IPV4_IFADDR | RTMGRP_TC | RTMGRP_IPV4_MROUTE
-- | RTMGRP_IPV4_ROUTE | RTMGRP_IPV4_RULE
-- | RTMGRP_IPV6_IFADDR | RTMGRP_IPV6_MROUTE
-- | RTMGRP_IPV6_ROUTE | RTMGRP_IPV6_IFINFO
-- | RTMGRP_IPV6_PREFIX);
--
-- if (bind (nl_status_fd, (struct sockaddr *) &snl, sizeof (snl)) != 0)
-- {
-- close (nl_status_fd);
-- nl_status_fd = -1;
-- }
-- else
-- {
-- /* Start the timestamp process. */
-- dbs[hstdb].head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP]
-- = __bump_nl_timestamp ();
--
--# ifndef __ASSUME_SOCK_CLOEXEC
-- if (have_sock_cloexec < 0)
-- {
-- /* We don't want to get stuck on accept. */
-- int fl = fcntl (nl_status_fd, F_GETFL);
-- if (fl == -1
-- || fcntl (nl_status_fd, F_SETFL, fl | O_NONBLOCK) == -1)
-- {
-- dbg_log (_("\
--cannot change socket to nonblocking mode: %s"),
-- strerror (errno));
-- exit (1);
-- }
--
-- /* The descriptor needs to be closed on exec. */
-- if (paranoia
-- && fcntl (nl_status_fd, F_SETFD, FD_CLOEXEC) == -1)
-- {
-- dbg_log (_("cannot set socket to close on exec: %s"),
-- strerror (errno));
-- exit (1);
-- }
-- }
--# endif
-- }
-- }
-- }
--#endif
--
- /* Change to unprivileged uid/gid/groups if specified in config file */
- if (server_user != NULL)
- finish_drop_privileges ();
-@@ -1895,18 +1826,6 @@ main_loop_poll (void)
- }
- #endif
-
--#ifdef HAVE_NETLINK
-- size_t idx_nl_status_fd = 0;
-- if (nl_status_fd != -1)
-- {
-- idx_nl_status_fd = nused;
-- conns[nused].fd = nl_status_fd;
-- conns[nused].events = POLLRDNORM;
-- ++nused;
-- firstfree = nused;
-- }
--#endif
--
- while (1)
- {
- /* Wait for any event. We wait at most a couple of seconds so
-@@ -2049,20 +1968,6 @@ disabled inotify after read error %d"),
- }
- #endif
-
--#ifdef HAVE_NETLINK
-- if (idx_nl_status_fd != 0 && conns[idx_nl_status_fd].revents != 0)
-- {
-- char buf[4096];
-- /* Read all the data. We do not interpret it here. */
-- while (TEMP_FAILURE_RETRY (read (nl_status_fd, buf,
-- sizeof (buf))) != -1)
-- ;
--
-- dbs[hstdb].head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP]
-- = __bump_nl_timestamp ();
-- }
--#endif
--
- for (size_t cnt = first; cnt < nused && n > 0; ++cnt)
- if (conns[cnt].revents != 0)
- {
-@@ -2141,17 +2046,6 @@ main_loop_epoll (int efd)
- }
- # endif
-
--# ifdef HAVE_NETLINK
-- if (nl_status_fd != -1)
-- {
-- ev.events = EPOLLRDNORM;
-- ev.data.fd = nl_status_fd;
-- if (epoll_ctl (efd, EPOLL_CTL_ADD, nl_status_fd, &ev) == -1)
-- /* We cannot use epoll. */
-- return;
-- }
--# endif
--
- while (1)
- {
- struct epoll_event revs[100];
-@@ -2268,18 +2162,6 @@ main_loop_epoll (int efd)
- }
- }
- # endif
--# ifdef HAVE_NETLINK
-- else if (revs[cnt].data.fd == nl_status_fd)
-- {
-- char buf[4096];
-- /* Read all the data. We do not interpret it here. */
-- while (TEMP_FAILURE_RETRY (read (nl_status_fd, buf,
-- sizeof (buf))) != -1)
-- ;
--
-- __bump_nl_timestamp ();
-- }
--# endif
- else
- {
- /* Remove the descriptor from the epoll descriptor. */
-@@ -2303,7 +2185,6 @@ main_loop_epoll (int efd)
- time_t laststart = now - ACCEPT_TIMEOUT;
- assert (starttime[sock] == 0);
- assert (inotify_fd == -1 || starttime[inotify_fd] == 0);
-- assert (nl_status_fd == -1 || starttime[nl_status_fd] == 0);
- for (int cnt = highest; cnt > STDERR_FILENO; --cnt)
- if (starttime[cnt] != 0 && starttime[cnt] < laststart)
- {
-diff --git a/nscd/nscd-client.h b/nscd/nscd-client.h
-index b5cd2d2..caad26a 100644
---- a/nscd/nscd-client.h
-+++ b/nscd/nscd-client.h
-@@ -260,17 +260,12 @@ struct hashentry
-
-
- /* Current persistent database version. */
--#define DB_VERSION 2
-+#define DB_VERSION 1
-
- /* Maximum time allowed between updates of the timestamp. */
- #define MAPPING_TIMEOUT (5 * 60)
-
-
--/* Used indices for the EXTRA_DATA element of 'database_pers_head'.
-- Each database has its own indices. */
--#define NSCD_HST_IDX_CONF_TIMESTAMP 0
--
--
- /* Header of persistent database file. */
- struct database_pers_head
- {
-@@ -279,8 +274,6 @@ struct database_pers_head
- volatile int32_t gc_cycle;
- volatile int32_t nscd_certainly_running;
- volatile nscd_time_t timestamp;
-- /* Room for extensions. */
-- volatile uint32_t extra_data[4];
-
- nscd_ssize_t module;
- nscd_ssize_t data_size;
-@@ -329,12 +322,6 @@ extern int __nscd_open_socket (const char *key, size_t keylen,
- request_type type, void *response,
- size_t responselen) attribute_hidden;
-
--/* Try to get a file descriptor for the shared meory segment
-- containing the database. */
--extern struct mapped_database *__nscd_get_mapping (request_type type,
-- const char *key,
-- struct mapped_database **mappedp) attribute_hidden;
--
- /* Get reference of mapping. */
- extern struct mapped_database *__nscd_get_map_ref (request_type type,
- const char *name,
-@@ -384,7 +371,4 @@ extern ssize_t writeall (int fd, const void *buf, size_t len)
- extern ssize_t sendfileall (int tofd, int fromfd, off_t off, size_t len)
- attribute_hidden;
-
--/* Get netlink timestamp counter from mapped area or zero. */
--extern uint32_t __nscd_get_nl_timestamp (void);
--
- #endif /* nscd.h */
-diff --git a/nscd/nscd_gethst_r.c b/nscd/nscd_gethst_r.c
-index 6ee142d..70631fa 100644
---- a/nscd/nscd_gethst_r.c
-+++ b/nscd/nscd_gethst_r.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1998-2005, 2006, 2007, 2008, 2009, 2011
-+/* Copyright (C) 1998-2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-@@ -98,27 +98,6 @@ libc_freeres_fn (hst_map_free)
- }
-
-
--uint32_t
--__nscd_get_nl_timestamp (void)
--{
-- if (__nss_not_use_nscd_hosts != 0)
-- return 0;
--
-- struct mapped_database *map = __hst_map_handle.mapped;
--
-- if (map == NULL
-- || (map != NO_MAPPING
-- && map->head->nscd_certainly_running == 0
-- && map->head->timestamp + MAPPING_TIMEOUT < time (NULL)))
-- map = __nscd_get_mapping (GETFDHST, "hosts", &__hst_map_handle.mapped);
--
-- if (map == NO_MAPPING)
-- return 0;
--
-- return map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP];
--}
--
--
- int __nss_have_localdomain attribute_hidden;
-
- static int
-diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c
-index 365b599..fe63f9a 100644
---- a/nscd/nscd_helper.c
-+++ b/nscd/nscd_helper.c
-@@ -277,9 +277,9 @@ __nscd_unmap (struct mapped_database *mapped)
-
- /* Try to get a file descriptor for the shared meory segment
- containing the database. */
--struct mapped_database *
--__nscd_get_mapping (request_type type, const char *key,
-- struct mapped_database **mappedp)
-+static struct mapped_database *
-+get_mapping (request_type type, const char *key,
-+ struct mapped_database **mappedp)
- {
- struct mapped_database *result = NO_MAPPING;
- #ifdef SCM_RIGHTS
-@@ -449,8 +449,8 @@ __nscd_get_map_ref (request_type type, const char *name,
- || (cur->head->nscd_certainly_running == 0
- && cur->head->timestamp + MAPPING_TIMEOUT < time (NULL))
- || cur->head->data_size > cur->datasize)
-- cur = __nscd_get_mapping (type, name,
-- (struct mapped_database **) &mapptr->mapped);
-+ cur = get_mapping (type, name,
-+ (struct mapped_database **) &mapptr->mapped);
-
- if (__builtin_expect (cur != NO_MAPPING, 1))
- {
-diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
-index 1a023f9..4979805 100644
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -2386,7 +2386,7 @@ getaddrinfo (const char *name, const char *service,
- || (hints->ai_family == PF_INET6 && ! seen_ipv6))
- {
- /* We cannot possibly return a valid answer. */
-- __free_in6ai (in6ai);
-+ free (in6ai);
- return EAI_NONAME;
- }
- }
-@@ -2400,7 +2400,7 @@ getaddrinfo (const char *name, const char *service,
- {
- if (hints->ai_flags & AI_NUMERICSERV)
- {
-- __free_in6ai (in6ai);
-+ free (in6ai);
- return EAI_NONAME;
- }
-
-@@ -2422,7 +2422,7 @@ getaddrinfo (const char *name, const char *service,
- if (last_i != 0)
- {
- freeaddrinfo (p);
-- __free_in6ai (in6ai);
-+ free (in6ai);
-
- return -(last_i & GAIH_EAI);
- }
-@@ -2434,7 +2434,7 @@ getaddrinfo (const char *name, const char *service,
- }
- else
- {
-- __free_in6ai (in6ai);
-+ free (in6ai);
- return EAI_FAMILY;
- }
-
-@@ -2622,7 +2622,7 @@ getaddrinfo (const char *name, const char *service,
- p->ai_canonname = canonname;
- }
-
-- __free_in6ai (in6ai);
-+ free (in6ai);
-
- if (p)
- {
-diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
-index e684b16..c907af4 100644
---- a/sysdeps/unix/sysv/linux/Makefile
-+++ b/sysdeps/unix/sysv/linux/Makefile
-@@ -173,6 +173,6 @@ CFLAGS-mq_receive.c += -fexceptions
- endif
-
- ifeq ($(subdir),nscd)
--sysdep-CFLAGS += -DHAVE_EPOLL -DHAVE_SENDFILE -DHAVE_INOTIFY -DHAVE_NETLINK
-+sysdep-CFLAGS += -DHAVE_EPOLL -DHAVE_SENDFILE -DHAVE_INOTIFY
- CFLAGS-gai.c += -DNEED_NETLINK
- endif
-diff --git a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c
-index 0738a70..d5ad7ea 100644
---- a/sysdeps/unix/sysv/linux/check_pf.c
-+++ b/sysdeps/unix/sysv/linux/check_pf.c
-@@ -1,5 +1,5 @@
- /* Determine protocol families for which interfaces exist. Linux version.
-- Copyright (C) 2003, 2006-2008, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 2003, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -33,9 +33,6 @@
-
- #include <not-cancel.h>
- #include <kernel-features.h>
--#include <bits/libc-lock.h>
--#include <atomic.h>
--#include <nscd/nscd-client.h>
-
-
- #ifndef IFA_F_HOMEADDRESS
-@@ -46,42 +43,9 @@
- #endif
-
-
--struct cached_data
--{
-- uint32_t timestamp;
-- uint32_t usecnt;
-- bool seen_ipv4;
-- bool seen_ipv6;
-- size_t in6ailen;
-- struct in6addrinfo in6ai[0];
--};
--
--static struct cached_data noai6ai_cached =
-- {
-- .usecnt = 1, /* Make sure we never try to delete this entry. */
-- .in6ailen = 0
-- };
--
--static struct cached_data *cache;
--__libc_lock_define_initialized (static, lock);
--
--
--#ifdef IS_IN_nscd
--static uint32_t nl_timestamp;
--
--uint32_t
--__bump_nl_timestamp (void)
--{
-- if (atomic_increment_val (&nl_timestamp) == 0)
-- atomic_increment (&nl_timestamp);
--
-- return nl_timestamp;
--}
--#endif
--
--
--static struct cached_data *
--make_request (int fd, pid_t pid)
-+static int
-+make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6,
-+ struct in6addrinfo **in6ai, size_t *in6ailen)
- {
- struct req
- {
-@@ -135,6 +99,9 @@ make_request (int fd, pid_t pid)
- sizeof (nladdr))) < 0)
- goto out_fail;
-
-+ *seen_ipv4 = false;
-+ *seen_ipv6 = false;
-+
- bool done = false;
- struct in6ailist
- {
-@@ -142,8 +109,6 @@ make_request (int fd, pid_t pid)
- struct in6ailist *next;
- } *in6ailist = NULL;
- size_t in6ailistlen = 0;
-- bool seen_ipv4 = false;
-- bool seen_ipv6 = false;
-
- do
- {
-@@ -207,12 +172,12 @@ make_request (int fd, pid_t pid)
- {
- if (*(const in_addr_t *) address
- != htonl (INADDR_LOOPBACK))
-- seen_ipv4 = true;
-+ *seen_ipv4 = true;
- }
- else
- {
- if (!IN6_IS_ADDR_LOOPBACK (address))
-- seen_ipv6 = true;
-+ *seen_ipv6 = true;
- }
- }
-
-@@ -246,47 +211,30 @@ make_request (int fd, pid_t pid)
- }
- while (! done);
-
-- struct cached_data *result;
-- if (seen_ipv6 && in6ailist != NULL)
-+ if (*seen_ipv6 && in6ailist != NULL)
- {
-- result = malloc (sizeof (*result)
-- + in6ailistlen * sizeof (struct in6addrinfo));
-- if (result == NULL)
-+ *in6ai = malloc (in6ailistlen * sizeof (**in6ai));
-+ if (*in6ai == NULL)
- goto out_fail;
-
--#ifdef IS_IN_nscd
-- result->timestamp = nl_timestamp;
--#else
-- result->timestamp = __nscd_get_nl_timestamp ();
--#endif
-- result->usecnt = 2;
-- result->seen_ipv4 = seen_ipv4;
-- result->seen_ipv6 = true;
-- result->in6ailen = in6ailistlen;
-+ *in6ailen = in6ailistlen;
-
- do
- {
-- result->in6ai[--in6ailistlen] = in6ailist->info;
-+ (*in6ai)[--in6ailistlen] = in6ailist->info;
- in6ailist = in6ailist->next;
- }
- while (in6ailist != NULL);
- }
-- else
-- {
-- atomic_add (&noai6ai_cached.usecnt, 2);
-- noai6ai_cached.seen_ipv4 = seen_ipv4;
-- noai6ai_cached.seen_ipv6 = seen_ipv6;
-- result = &noai6ai_cached;
-- }
-
- if (use_malloc)
- free (buf);
-- return result;
-+ return 0;
-
- out_fail:
- if (use_malloc)
- free (buf);
-- return NULL;
-+ return -1;
- }
-
-
-@@ -310,65 +258,28 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6,
-
- if (! __no_netlink_support)
- {
-- struct cached_data *olddata = NULL;
-- struct cached_data *data = NULL;
-+ int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
-
-- __libc_lock_lock (lock);
--
--#ifdef IS_IN_nscd
--# define cache_valid() nl_timestamp != 0 && cache->timestamp == nl_timestamp
--#else
--# define cache_valid() \
-- ({ uint32_t val = __nscd_get_nl_timestamp (); \
-- val != 0 && cache->timestamp == val; })
--#endif
-- if (cache != NULL && cache_valid ())
-- {
-- data = cache;
-- atomic_increment (&cache->usecnt);
-- }
-- else
-+ if (__builtin_expect (fd >= 0, 1))
- {
-- int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
-+ struct sockaddr_nl nladdr;
-+ memset (&nladdr, '\0', sizeof (nladdr));
-+ nladdr.nl_family = AF_NETLINK;
-
-- if (__builtin_expect (fd >= 0, 1))
-- {
-- struct sockaddr_nl nladdr;
-- memset (&nladdr, '\0', sizeof (nladdr));
-- nladdr.nl_family = AF_NETLINK;
--
-- socklen_t addr_len = sizeof (nladdr);
--
-- if(__bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0
-- && __getsockname (fd, (struct sockaddr *) &nladdr,
-- &addr_len) == 0)
-- data = make_request (fd, nladdr.nl_pid);
--
-- close_not_cancel_no_status (fd);
-- }
--
-- if (data != NULL)
-- {
-- olddata = cache;
-- cache = data;
-- }
-- }
-+ socklen_t addr_len = sizeof (nladdr);
-
-- __libc_lock_unlock (lock);
-+ bool success
-+ = (__bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0
-+ && __getsockname (fd, (struct sockaddr *) &nladdr,
-+ &addr_len) == 0
-+ && make_request (fd, nladdr.nl_pid, seen_ipv4, seen_ipv6,
-+ in6ai, in6ailen) == 0);
-
-- if (data != NULL)
-- {
-- /* It worked. */
-- *seen_ipv4 = data->seen_ipv4;
-- *seen_ipv6 = data->seen_ipv6;
-- *in6ailen = data->in6ailen;
-- *in6ai = data->in6ai;
--
-- if (olddata != NULL && olddata->usecnt > 0
-- && atomic_add_zero (&olddata->usecnt, -1))
-- free (olddata);
-+ close_not_cancel_no_status (fd);
-
-- return;
-+ if (success)
-+ /* It worked. */
-+ return;
- }
-
- #if __ASSUME_NETLINK_SUPPORT == 0
-@@ -407,26 +318,3 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6,
- (void) freeifaddrs (ifa);
- #endif
- }
--
--
--void
--__free_in6ai (struct in6addrinfo *ai)
--{
-- if (ai != NULL)
-- {
-- struct cached_data *data =
-- (struct cached_data *) ((char *) ai
-- - offsetof (struct cached_data, in6ai));
--
-- if (atomic_add_zero (&data->usecnt, -1))
-- {
-- __libc_lock_lock (lock);
--
-- if (data->usecnt == 0)
-- /* Still unused. */
-- free (data);
--
-- __libc_lock_unlock (lock);
-- }
-- }
--}
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-rintf-rounding.patch b/multilib-testing/lib32-glibc/glibc-2.15-rintf-rounding.patch
deleted file mode 100644
index e0240ac6c..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-rintf-rounding.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-diff --git a/math/libm-test.inc b/math/libm-test.inc
-index 6243e1e..c8186c8 100644
---- a/math/libm-test.inc
-+++ b/math/libm-test.inc
-@@ -5037,6 +5037,22 @@ rint_test (void)
- TEST_f_f (rint, 262142.75, 262143.0);
- TEST_f_f (rint, 524286.75, 524287.0);
- TEST_f_f (rint, 524288.75, 524289.0);
-+ TEST_f_f (rint, 1048576.75, 1048577.0);
-+ TEST_f_f (rint, 2097152.75, 2097153.0);
-+ TEST_f_f (rint, -1048576.75, -1048577.0);
-+ TEST_f_f (rint, -2097152.75, -2097153.0);
-+#ifndef TEST_FLOAT
-+ TEST_f_f (rint, 70368744177664.75, 70368744177665.0);
-+ TEST_f_f (rint, 140737488355328.75, 140737488355329.0);
-+ TEST_f_f (rint, 281474976710656.75, 281474976710657.0);
-+ TEST_f_f (rint, 562949953421312.75, 562949953421313.0);
-+ TEST_f_f (rint, 1125899906842624.75, 1125899906842625.0);
-+ TEST_f_f (rint, -70368744177664.75, -70368744177665.0);
-+ TEST_f_f (rint, -140737488355328.75, -140737488355329.0);
-+ TEST_f_f (rint, -281474976710656.75, -281474976710657.0);
-+ TEST_f_f (rint, -562949953421312.75, -562949953421313.0);
-+ TEST_f_f (rint, -1125899906842624.75, -1125899906842625.0);
-+#endif
- #ifdef TEST_LDOUBLE
- /* The result can only be represented in long double. */
- TEST_f_f (rint, 4503599627370495.5L, 4503599627370496.0L);
-@@ -5137,6 +5153,22 @@ rint_test_tonearest (void)
- TEST_f_f (rint, -0.1, -0.0);
- TEST_f_f (rint, -0.25, -0.0);
- TEST_f_f (rint, -0.625, -1.0);
-+ TEST_f_f (rint, 1048576.75, 1048577.0);
-+ TEST_f_f (rint, 2097152.75, 2097153.0);
-+ TEST_f_f (rint, -1048576.75, -1048577.0);
-+ TEST_f_f (rint, -2097152.75, -2097153.0);
-+#ifndef TEST_FLOAT
-+ TEST_f_f (rint, 70368744177664.75, 70368744177665.0);
-+ TEST_f_f (rint, 140737488355328.75, 140737488355329.0);
-+ TEST_f_f (rint, 281474976710656.75, 281474976710657.0);
-+ TEST_f_f (rint, 562949953421312.75, 562949953421313.0);
-+ TEST_f_f (rint, 1125899906842624.75, 1125899906842625.0);
-+ TEST_f_f (rint, -70368744177664.75, -70368744177665.0);
-+ TEST_f_f (rint, -140737488355328.75, -140737488355329.0);
-+ TEST_f_f (rint, -281474976710656.75, -281474976710657.0);
-+ TEST_f_f (rint, -562949953421312.75, -562949953421313.0);
-+ TEST_f_f (rint, -1125899906842624.75, -1125899906842625.0);
-+#endif
- #ifdef TEST_LDOUBLE
- /* The result can only be represented in long double. */
- TEST_f_f (rint, 4503599627370495.5L, 4503599627370496.0L);
-@@ -5207,6 +5239,22 @@ rint_test_towardzero (void)
- TEST_f_f (rint, -0.1, -0.0);
- TEST_f_f (rint, -0.25, -0.0);
- TEST_f_f (rint, -0.625, -0.0);
-+ TEST_f_f (rint, 1048576.75, 1048576.0);
-+ TEST_f_f (rint, 2097152.75, 2097152.0);
-+ TEST_f_f (rint, -1048576.75, -1048576.0);
-+ TEST_f_f (rint, -2097152.75, -2097152.0);
-+#ifndef TEST_FLOAT
-+ TEST_f_f (rint, 70368744177664.75, 70368744177664.0);
-+ TEST_f_f (rint, 140737488355328.75, 140737488355328.0);
-+ TEST_f_f (rint, 281474976710656.75, 281474976710656.0);
-+ TEST_f_f (rint, 562949953421312.75, 562949953421312.0);
-+ TEST_f_f (rint, 1125899906842624.75, 1125899906842624.0);
-+ TEST_f_f (rint, -70368744177664.75, -70368744177664.0);
-+ TEST_f_f (rint, -140737488355328.75, -140737488355328.0);
-+ TEST_f_f (rint, -281474976710656.75, -281474976710656.0);
-+ TEST_f_f (rint, -562949953421312.75, -562949953421312.0);
-+ TEST_f_f (rint, -1125899906842624.75, -1125899906842624.0);
-+#endif
- #ifdef TEST_LDOUBLE
- /* The result can only be represented in long double. */
- TEST_f_f (rint, 4503599627370495.5L, 4503599627370495.0L);
-@@ -5277,6 +5325,22 @@ rint_test_downward (void)
- TEST_f_f (rint, -0.1, -1.0);
- TEST_f_f (rint, -0.25, -1.0);
- TEST_f_f (rint, -0.625, -1.0);
-+ TEST_f_f (rint, 1048576.75, 1048576.0);
-+ TEST_f_f (rint, 2097152.75, 2097152.0);
-+ TEST_f_f (rint, -1048576.75, -1048577.0);
-+ TEST_f_f (rint, -2097152.75, -2097153.0);
-+#ifndef TEST_FLOAT
-+ TEST_f_f (rint, 70368744177664.75, 70368744177664.0);
-+ TEST_f_f (rint, 140737488355328.75, 140737488355328.0);
-+ TEST_f_f (rint, 281474976710656.75, 281474976710656.0);
-+ TEST_f_f (rint, 562949953421312.75, 562949953421312.0);
-+ TEST_f_f (rint, 1125899906842624.75, 1125899906842624.0);
-+ TEST_f_f (rint, -70368744177664.75, -70368744177665.0);
-+ TEST_f_f (rint, -140737488355328.75, -140737488355329.0);
-+ TEST_f_f (rint, -281474976710656.75, -281474976710657.0);
-+ TEST_f_f (rint, -562949953421312.75, -562949953421313.0);
-+ TEST_f_f (rint, -1125899906842624.75, -1125899906842625.0);
-+#endif
- #ifdef TEST_LDOUBLE
- /* The result can only be represented in long double. */
- TEST_f_f (rint, 4503599627370495.5L, 4503599627370495.0L);
-@@ -5347,6 +5411,22 @@ rint_test_upward (void)
- TEST_f_f (rint, -0.1, -0.0);
- TEST_f_f (rint, -0.25, -0.0);
- TEST_f_f (rint, -0.625, -0.0);
-+ TEST_f_f (rint, 1048576.75, 1048577.0);
-+ TEST_f_f (rint, 2097152.75, 2097153.0);
-+ TEST_f_f (rint, -1048576.75, -1048576.0);
-+ TEST_f_f (rint, -2097152.75, -2097152.0);
-+#ifndef TEST_FLOAT
-+ TEST_f_f (rint, 70368744177664.75, 70368744177665.0);
-+ TEST_f_f (rint, 140737488355328.75, 140737488355329.0);
-+ TEST_f_f (rint, 281474976710656.75, 281474976710657.0);
-+ TEST_f_f (rint, 562949953421312.75, 562949953421313.0);
-+ TEST_f_f (rint, 1125899906842624.75, 1125899906842625.0);
-+ TEST_f_f (rint, -70368744177664.75, -70368744177664.0);
-+ TEST_f_f (rint, -140737488355328.75, -140737488355328.0);
-+ TEST_f_f (rint, -281474976710656.75, -281474976710656.0);
-+ TEST_f_f (rint, -562949953421312.75, -562949953421312.0);
-+ TEST_f_f (rint, -1125899906842624.75, -1125899906842624.0);
-+#endif
- #ifdef TEST_LDOUBLE
- /* The result can only be represented in long double. */
- TEST_f_f (rint, 4503599627370495.5L, 4503599627370496.0L);
-diff --git a/sysdeps/ieee754/flt-32/s_rintf.c b/sysdeps/ieee754/flt-32/s_rintf.c
-index 9ea9b6f..9ba6b57 100644
---- a/sysdeps/ieee754/flt-32/s_rintf.c
-+++ b/sysdeps/ieee754/flt-32/s_rintf.c
-@@ -26,34 +26,22 @@ float
- __rintf(float x)
- {
- int32_t i0,j0,sx;
-- u_int32_t i,i1;
- float w,t;
- GET_FLOAT_WORD(i0,x);
- sx = (i0>>31)&1;
- j0 = ((i0>>23)&0xff)-0x7f;
- if(j0<23) {
- if(j0<0) {
-- if((i0&0x7fffffff)==0) return x;
-- i1 = (i0&0x07fffff);
-- i0 &= 0xfff00000;
-- i0 |= ((i1|-i1)>>9)&0x400000;
-- SET_FLOAT_WORD(x,i0);
- w = TWO23[sx]+x;
- t = w-TWO23[sx];
- GET_FLOAT_WORD(i0,t);
- SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
- return t;
-- } else {
-- i = (0x007fffff)>>j0;
-- if((i0&i)==0) return x; /* x is integral */
-- i>>=1;
-- if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
- }
- } else {
- if(j0==0x80) return x+x; /* inf or NaN */
- else return x; /* x is integral */
- }
-- SET_FLOAT_WORD(x,i0);
- w = TWO23[sx]+x;
- return w-TWO23[sx];
- }
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-scanf.patch b/multilib-testing/lib32-glibc/glibc-2.15-scanf.patch
deleted file mode 100644
index a2561b232..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-scanf.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
-index 0e71deb..e18a6c3 100644
---- a/stdio-common/vfscanf.c
-+++ b/stdio-common/vfscanf.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1991-2006, 2007, 2010, 2011 Free Software Foundation, Inc.
-+/* Copyright (C) 1991-2007, 2010, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -274,7 +274,7 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
- CHAR_T *old = wp; \
- size_t newsize = (UCHAR_MAX + 1 > 2 * wpmax \
- ? UCHAR_MAX + 1 : 2 * wpmax); \
-- if (use_malloc || __libc_use_alloca (newsize)) \
-+ if (use_malloc || !__libc_use_alloca (newsize)) \
- { \
- wp = realloc (use_malloc ? wp : NULL, newsize); \
- if (wp == NULL) \
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-strcasecmp-disable-avx.patch b/multilib-testing/lib32-glibc/glibc-2.15-strcasecmp-disable-avx.patch
deleted file mode 100644
index 4c104fa55..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-strcasecmp-disable-avx.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/sysdeps/x86_64/multiarch/strcmp.S b/sysdeps/x86_64/multiarch/strcmp.S
-index f93c83d..d8aa889 100644
---- a/sysdeps/x86_64/multiarch/strcmp.S
-+++ b/sysdeps/x86_64/multiarch/strcmp.S
-@@ -105,11 +105,6 @@ ENTRY(__strcasecmp)
- jne 1f
- call __init_cpu_features
- 1:
--# ifdef HAVE_AVX_SUPPORT
-- leaq __strcasecmp_avx(%rip), %rax
-- testl $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
-- jnz 2f
--# endif
- leaq __strcasecmp_sse42(%rip), %rax
- testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
- jnz 2f
-@@ -128,11 +123,6 @@ ENTRY(__strncasecmp)
- jne 1f
- call __init_cpu_features
- 1:
--# ifdef HAVE_AVX_SUPPORT
-- leaq __strncasecmp_avx(%rip), %rax
-- testl $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
-- jnz 2f
--# endif
- leaq __strncasecmp_sse42(%rip), %rax
- testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
- jnz 2f
-@@ -152,19 +142,6 @@ weak_alias (__strncasecmp, strncasecmp)
- # include "strcmp-sse42.S"
-
-
--# ifdef HAVE_AVX_SUPPORT
--# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
--# define LABEL(l) .L##l##_avx
--# define GLABEL(l) l##_avx
--# define USE_AVX 1
--# undef STRCMP_SSE42
--# define STRCMP_SSE42 STRCMP_AVX
--# define SECTION avx
--# include "strcmp-sse42.S"
--# endif
--# endif
--
--
- # undef ENTRY
- # define ENTRY(name) \
- .type STRCMP_SSE2, @function; \
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-testsuite.patch b/multilib-testing/lib32-glibc/glibc-2.15-testsuite.patch
deleted file mode 100644
index 7eaeaed65..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-testsuite.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From d4c2917fc5091dae7ab1b30c165becb70d3c3453 Mon Sep 17 00:00:00 2001
-From: Allan McRae <allan@archlinux.org>
-Date: Mon, 16 Apr 2012 14:06:47 +1000
-Subject: [PATCH] Fix test-suite failues with -Wl,--as-needed
-
-Signed-off-by: Allan McRae <allan@archlinux.org>
----
- ChangeLog | 24 ++++++++++++++++++++++++
- elf/Makefile | 21 ++++++++++++++++++++-
- nptl/ChangeLog | 5 +++++
- nptl/Makefile | 3 ++-
- stdlib/Makefile | 1 +
- 5 files changed, 52 insertions(+), 2 deletions(-)
-
-diff --git a/elf/Makefile b/elf/Makefile
-index 57dcab0..47729c3 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -500,6 +500,18 @@ $(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb
- $(objpfx)tst-initordera4.so: $(objpfx)tst-initordera3.so
- $(objpfx)tst-initorder: $(objpfx)tst-initordera4.so $(objpfx)tst-initordera1.so $(objpfx)tst-initorderb2.so
-
-+LDFLAGS-nodel2mod3.so = $(no-as-needed)
-+LDFLAGS-reldepmod5.so = $(no-as-needed)
-+LDFLAGS-reldep6mod1.so = $(no-as-needed)
-+LDFLAGS-reldep6mod4.so = $(no-as-needed)
-+LDFLAGS-reldep8mod3.so = $(no-as-needed)
-+LDFLAGS-unload4mod1.so = $(no-as-needed)
-+LDFLAGS-unload4mod2.so = $(no-as-needed)
-+LDFLAGS-tst-initorder = $(no-as-needed)
-+LDFLAGS-tst-initordera2.so = $(no-as-needed)
-+LDFLAGS-tst-initordera3.so = $(no-as-needed)
-+LDFLAGS-tst-initordera4.so = $(no-as-needed)
-+LDFLAGS-tst-initorderb2.so = $(no-as-needed)
- LDFLAGS-tst-tlsmod5.so = -nostdlib
- LDFLAGS-tst-tlsmod6.so = -nostdlib
-
-@@ -633,7 +645,7 @@ $(objpfx)vismain.out: $(addprefix $(objpfx),vismod3.so)
- vismain-ENV = LD_PRELOAD=$(addprefix $(objpfx),vismod3.so)
-
- $(objpfx)noload: $(objpfx)testobj1.so $(common-objpfx)dlfcn/libdl.so
--LDFLAGS-noload = -rdynamic
-+LDFLAGS-noload = -rdynamic $(no-as-needed)
- $(objpfx)noload.out: $(objpfx)testobj5.so
-
- $(objpfx)noload-mem: $(objpfx)noload.out
-@@ -678,6 +690,7 @@ $(objpfx)reldep4: $(libdl)
- $(objpfx)reldep4.out: $(objpfx)reldep4mod1.so $(objpfx)reldep4mod2.so
-
- $(objpfx)next: $(objpfx)nextmod1.so $(objpfx)nextmod2.so $(libdl)
-+LDFLAGS-next = $(no-as-needed)
-
- $(objpfx)unload2: $(libdl)
- $(objpfx)unload2.out: $(objpfx)unload2mod.so $(objpfx)unload2dep.so
-@@ -1025,6 +1038,8 @@ $(objpfx)order2mod1.so: $(objpfx)order2mod4.so
- $(objpfx)order2mod4.so: $(objpfx)order2mod3.so
- $(objpfx)order2mod2.so: $(objpfx)order2mod3.so
- order2mod2.so-no-z-defs = yes
-+LDFLAGS-order2mod1.so = $(no-as-needed)
-+LDFLAGS-order2mod2.so = $(no-as-needed)
-
- tst-stackguard1-ARGS = --command "$(built-program-cmd) --child"
- tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child"
-@@ -1113,6 +1128,10 @@ $(objpfx)tst-initorder2: $(objpfx)tst-initorder2a.so $(objpfx)tst-initorder2d.so
- $(objpfx)tst-initorder2a.so: $(objpfx)tst-initorder2b.so
- $(objpfx)tst-initorder2b.so: $(objpfx)tst-initorder2c.so
- $(objpfx)tst-initorder2c.so: $(objpfx)tst-initorder2d.so
-+LDFLAGS-tst-initorder2 = $(no-as-needed)
-+LDFLAGS-tst-initorder2a.so = $(no-as-needed)
-+LDFLAGS-tst-initorder2b.so = $(no-as-needed)
-+LDFLAGS-tst-initorder2c.so = $(no-as-needed)
- define o-iterator-doit
- $(objpfx)tst-initorder2$o.os: tst-initorder2.c; \
- $$(compile-command.c) -DNAME=\"$o\"
-diff --git a/nptl/Makefile b/nptl/Makefile
-index 09acd8a..07a1022 100644
---- a/nptl/Makefile
-+++ b/nptl/Makefile
-@@ -458,6 +458,7 @@ $(objpfx)tst-tls4: $(libdl) $(shared-thread-library)
- $(objpfx)tst-tls4.out: $(objpfx)tst-tls4moda.so $(objpfx)tst-tls4modb.so
-
- $(objpfx)tst-tls5: $(objpfx)tst-tls5mod.so $(shared-thread-library)
-+LDFLAGS-tst-tls5 = $(no-as-needed)
- LDFLAGS-tst-tls5mod.so = -Wl,-soname,tst-tls5mod.so
-
- ifeq ($(build-shared),yes)
-@@ -503,7 +504,7 @@ $(objpfx)tst-clock2: $(common-objpfx)rt/librt.a
- $(objpfx)tst-rwlock14: $(common-objpfx)rt/librt.a
- endif
-
--LDFLAGS-tst-cancel24 = -lstdc++
-+LDFLAGS-tst-cancel24 = $(no-as-needed) -lstdc++
-
- extra-B-pthread.so = -B$(common-objpfx)nptl/
- $(objpfx)libpthread.so: $(addprefix $(objpfx),$(crti-objs) $(crtn-objs))
-diff --git a/stdlib/Makefile b/stdlib/Makefile
-index 44eb20d..f7811c5 100644
---- a/stdlib/Makefile
-+++ b/stdlib/Makefile
-@@ -138,6 +138,7 @@ $(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
- $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)stdlib/
-
- $(objpfx)tst-putenv: $(objpfx)tst-putenvmod.so
-+LDFLAGS-tst-putenv = $(no-as-needed)
-
- $(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod.os
- $(build-module)
---
-1.7.3.4
-
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-vdso.patch b/multilib-testing/lib32-glibc/glibc-2.15-vdso.patch
deleted file mode 100644
index 7fd394f90..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-vdso.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/elf/Makefile b/elf/Makefile
-index 8234ba7..25ffc57 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -1203,3 +1203,14 @@ $(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
- $(objpfx)tst-relsort1mod2.so: $(libm)
- $(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
- $(objpfx)tst-relsort1mod2.so
-+
-+tests: $(objpfx)tst-unused-dep.out
-+
-+$(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so
-+ LD_TRACE_LOADED_OBJECTS=1 \
-+ LD_DEBUG=unused \
-+ LD_PRELOAD= \
-+ $(elf-objpfx)${rtld-installed-name} \
-+ --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
-+ $< > $@
-+ cmp $@ /dev/null > /dev/null
-diff --git a/elf/rtld.c b/elf/rtld.c
-index 2e4f97f..3e15447 100644
---- a/elf/rtld.c
-+++ b/elf/rtld.c
-@@ -1,5 +1,5 @@
- /* Run time dynamic linker.
-- Copyright (C) 1995-2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1995-2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -1375,6 +1375,9 @@ of this helper program; chances are you did not intend to run this program.\n\
- _dl_setup_hash (l);
- l->l_relocated = 1;
-
-+ /* The vDSO is always used. */
-+ l->l_used = 1;
-+
- /* Initialize l_local_scope to contain just this map. This allows
- the use of dl_lookup_symbol_x to resolve symbols within the vdso.
- So we create a single entry list pointing to l_real as its only
diff --git a/multilib-testing/lib32-glibc/glibc-2.15-vfprintf-nargs.patch b/multilib-testing/lib32-glibc/glibc-2.15-vfprintf-nargs.patch
deleted file mode 100644
index f8dde53f5..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.15-vfprintf-nargs.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-diff --git a/stdio-common/Makefile b/stdio-common/Makefile
-index a847b28..080badc 100644
---- a/stdio-common/Makefile
-+++ b/stdio-common/Makefile
-@@ -59,7 +59,8 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \
- tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
- tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
- bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
-- scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24
-+ scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \
-+ bug-vfprintf-nargs
-
- test-srcs = tst-unbputc tst-printf
-
-diff --git a/stdio-common/bug-vfprintf-nargs.c b/stdio-common/bug-vfprintf-nargs.c
-new file mode 100644
-index 0000000..13c66c0
---- /dev/null
-+++ b/stdio-common/bug-vfprintf-nargs.c
-@@ -0,0 +1,78 @@
-+/* Test for vfprintf nargs allocation overflow (BZ #13656).
-+ Copyright (C) 2012 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+ Contributed by Kees Cook <keescook@chromium.org>, 2012.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, write to the Free
-+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+ 02111-1307 USA. */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <stdint.h>
-+#include <unistd.h>
-+#include <inttypes.h>
-+#include <string.h>
-+#include <signal.h>
-+
-+static int
-+format_failed (const char *fmt, const char *expected)
-+{
-+ char output[80];
-+
-+ printf ("%s : ", fmt);
-+
-+ memset (output, 0, sizeof output);
-+ /* Having sprintf itself detect a failure is good. */
-+ if (sprintf (output, fmt, 1, 2, 3, "test") > 0
-+ && strcmp (output, expected) != 0)
-+ {
-+ printf ("FAIL (output '%s' != expected '%s')\n", output, expected);
-+ return 1;
-+ }
-+ puts ("ok");
-+ return 0;
-+}
-+
-+static int
-+do_test (void)
-+{
-+ int rc = 0;
-+ char buf[64];
-+
-+ /* Regular positionals work. */
-+ if (format_failed ("%1$d", "1") != 0)
-+ rc = 1;
-+
-+ /* Regular width positionals work. */
-+ if (format_failed ("%1$*2$d", " 1") != 0)
-+ rc = 1;
-+
-+ /* Positional arguments are constructed via read_int, so nargs can only
-+ overflow on 32-bit systems. On 64-bit systems, it will attempt to
-+ allocate a giant amount of memory and possibly crash, which is the
-+ expected situation. Since the 64-bit behavior is arch-specific, only
-+ test this on 32-bit systems. */
-+ if (sizeof (long int) == 4)
-+ {
-+ sprintf (buf, "%%1$d %%%" PRIdPTR "$d", UINT32_MAX / sizeof (int));
-+ if (format_failed (buf, "1 %$d") != 0)
-+ rc = 1;
-+ }
-+
-+ return rc;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
-index 863cd5d..c802e46 100644
---- a/stdio-common/vfprintf.c
-+++ b/stdio-common/vfprintf.c
-@@ -235,6 +235,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
- 0 if unknown. */
- int readonly_format = 0;
-
-+ /* For the argument descriptions, which may be allocated on the heap. */
-+ void *args_malloced = NULL;
-+
- /* This table maps a character into a number representing a
- class. In each step there is a destination label for each
- class. */
-@@ -1647,9 +1650,10 @@ do_positional:
- determine the size of the array needed to store the argument
- attributes. */
- size_t nargs = 0;
-- int *args_type;
-- union printf_arg *args_value = NULL;
-+ size_t bytes_per_arg;
-+ union printf_arg *args_value;
- int *args_size;
-+ int *args_type;
-
- /* Positional parameters refer to arguments directly. This could
- also determine the maximum number of arguments. Track the
-@@ -1698,13 +1702,38 @@ do_positional:
-
- /* Determine the number of arguments the format string consumes. */
- nargs = MAX (nargs, max_ref_arg);
-+ /* Calculate total size needed to represent a single argument across
-+ all three argument-related arrays. */
-+ bytes_per_arg = sizeof (*args_value) + sizeof (*args_size)
-+ + sizeof (*args_type);
-+
-+ /* Check for potential integer overflow. */
-+ if (__builtin_expect (nargs > SIZE_MAX / bytes_per_arg, 0))
-+ {
-+ __set_errno (ERANGE);
-+ done = -1;
-+ goto all_done;
-+ }
-
-- /* Allocate memory for the argument descriptions. */
-- args_type = alloca (nargs * sizeof (int));
-+ /* Allocate memory for all three argument arrays. */
-+ if (__libc_use_alloca (nargs * bytes_per_arg))
-+ args_value = alloca (nargs * bytes_per_arg);
-+ else
-+ {
-+ args_value = args_malloced = malloc (nargs * bytes_per_arg);
-+ if (args_value == NULL)
-+ {
-+ done = -1;
-+ goto all_done;
-+ }
-+ }
-+
-+ /* Set up the remaining two arrays to each point past the end of the
-+ prior array, since space for all three has been allocated now. */
-+ args_size = &args_value[nargs].pa_int;
-+ args_type = &args_size[nargs];
- memset (args_type, s->_flags2 & _IO_FLAGS2_FORTIFY ? '\xff' : '\0',
-- nargs * sizeof (int));
-- args_value = alloca (nargs * sizeof (union printf_arg));
-- args_size = alloca (nargs * sizeof (int));
-+ nargs * sizeof (*args_type));
-
- /* XXX Could do sanity check here: If any element in ARGS_TYPE is
- still zero after this loop, format is invalid. For now we
-@@ -1973,8 +2002,8 @@ do_positional:
- }
-
- all_done:
-- if (__builtin_expect (workstart != NULL, 0))
-- free (workstart);
-+ free (args_malloced);
-+ free (workstart);
- /* Unlock the stream. */
- _IO_funlockfile (s);
- _IO_cleanup_region_end (0);
diff --git a/multilib-testing/lib32-glibc/glibc-2.16-rpcgen-cpp-path.patch b/multilib-testing/lib32-glibc/glibc-2.16-rpcgen-cpp-path.patch
deleted file mode 100644
index 822b57294..000000000
--- a/multilib-testing/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-testing/lib32-glibc/glibc-2.16-strncasecmp-segfault.patch b/multilib-testing/lib32-glibc/glibc-2.16-strncasecmp-segfault.patch
deleted file mode 100644
index ce91bbe82..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.16-strncasecmp-segfault.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git a/string/test-strncasecmp.c b/string/test-strncasecmp.c
-index 6c17530..acfe668 100644
---- a/string/test-strncasecmp.c
-+++ b/string/test-strncasecmp.c
-@@ -1,5 +1,5 @@
- /* Test and measure strncasecmp functions.
-- Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
-+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Written by Jakub Jelinek <jakub@redhat.com>, 1999.
-
-@@ -251,9 +251,9 @@ do_random_tests (void)
- }
- }
-
--
-+/* Regression test for BZ #12205 */
- static void
--check1 (void)
-+bz12205 (void)
- {
- static char cp [4096+16] __attribute__ ((aligned(4096)));
- static char gotrel[4096] __attribute__ ((aligned(4096)));
-@@ -270,6 +270,15 @@ check1 (void)
- check_result (impl, s1, s2, n, exp_result);
- }
-
-+/* Regression test for BZ #14195 */
-+static void
-+bz14195 (void)
-+{
-+ const char *empty_string = "";
-+ FOR_EACH_IMPL (impl, 0)
-+ check_result (impl, empty_string, "", 5, 0);
-+}
-+
- int
- test_main (void)
- {
-@@ -277,7 +286,8 @@ test_main (void)
-
- test_init ();
-
-- check1 ();
-+ bz12205 ();
-+ bz14195 ();
-
- printf ("%23s", "");
- FOR_EACH_IMPL (impl, 0)
-diff --git a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
-index 5e6321e..9735ad0 100644
---- a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
-+++ b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
-@@ -2445,7 +2445,7 @@ L(less16bytes_sncmp):
- # endif
- jne L(neq_sncmp)
- test %cl, %cl
-- je L(eq)
-+ je L(eq_sncmp)
-
- cmp $1, REM
- je L(eq_sncmp)
---
-1.7.3.4
-
diff --git a/multilib-testing/lib32-glibc/glibc-2.16-strtod-overflow.patch b/multilib-testing/lib32-glibc/glibc-2.16-strtod-overflow.patch
deleted file mode 100644
index 526296325..000000000
--- a/multilib-testing/lib32-glibc/glibc-2.16-strtod-overflow.patch
+++ /dev/null
@@ -1,389 +0,0 @@
-diff --git a/stdlib/Makefile b/stdlib/Makefile
-index f7811c5..79c9acb 100644
---- a/stdlib/Makefile
-+++ b/stdlib/Makefile
-@@ -68,7 +68,8 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
- tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
- tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2 \
- tst-makecontext2 tst-strtod6 tst-unsetenv1 \
-- tst-makecontext3 bug-getcontext bug-fmtmsg1
-+ tst-makecontext3 bug-getcontext bug-fmtmsg1 \
-+ tst-strtod-overflow
-
- include ../Makeconfig
-
-diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
-index 2166a08..a8a7ea8 100644
---- a/stdlib/strtod_l.c
-+++ b/stdlib/strtod_l.c
-@@ -60,6 +60,7 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
- #include <math.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <stdint.h>
-
- /* The gmp headers need some configuration frobs. */
- #define HAVE_ALLOCA 1
-@@ -72,7 +73,6 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
- #include "longlong.h"
- #include "fpioconst.h"
-
--#define NDEBUG 1
- #include <assert.h>
-
-
-@@ -174,19 +174,19 @@ extern const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1];
- /* Return a floating point number of the needed type according to the given
- multi-precision number after possible rounding. */
- static FLOAT
--round_and_return (mp_limb_t *retval, int exponent, int negative,
-+round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
- mp_limb_t round_limb, mp_size_t round_bit, int more_bits)
- {
- if (exponent < MIN_EXP - 1)
- {
-- mp_size_t shift = MIN_EXP - 1 - exponent;
--
-- if (shift > MANT_DIG)
-+ if (exponent < MIN_EXP - 1 - MANT_DIG)
- {
- __set_errno (ERANGE);
- return 0.0;
- }
-
-+ mp_size_t shift = MIN_EXP - 1 - exponent;
-+
- more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0;
- if (shift == MANT_DIG)
- /* This is a special case to handle the very seldom case where
-@@ -233,6 +233,9 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- __set_errno (ERANGE);
- }
-
-+ if (exponent > MAX_EXP)
-+ goto overflow;
-+
- if ((round_limb & (((mp_limb_t) 1) << round_bit)) != 0
- && (more_bits || (retval[0] & 1) != 0
- || (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0))
-@@ -258,6 +261,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- }
-
- if (exponent > MAX_EXP)
-+ overflow:
- return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
-
- return MPN2FLOAT (retval, exponent, negative);
-@@ -271,7 +275,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- factor for the resulting number (see code) multiply by it. */
- static const STRING_TYPE *
- str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
-- int *exponent
-+ intmax_t *exponent
- #ifndef USE_WIDE_CHAR
- , const char *decimal, size_t decimal_len, const char *thousands
- #endif
-@@ -301,6 +305,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
- {
-+ assert (*nsize < MPNSIZE);
- n[*nsize] = cy;
- ++(*nsize);
- }
-@@ -335,7 +340,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- }
- while (--digcnt > 0);
-
-- if (*exponent > 0 && cnt + *exponent <= MAX_DIG_PER_LIMB)
-+ if (*exponent > 0 && *exponent <= MAX_DIG_PER_LIMB - cnt)
- {
- low *= _tens_in_limb[*exponent];
- start = _tens_in_limb[cnt + *exponent];
-@@ -355,7 +360,10 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- cy = __mpn_mul_1 (n, n, *nsize, start);
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
-- n[(*nsize)++] = cy;
-+ {
-+ assert (*nsize < MPNSIZE);
-+ n[(*nsize)++] = cy;
-+ }
- }
-
- return str;
-@@ -413,7 +421,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- {
- int negative; /* The sign of the number. */
- MPN_VAR (num); /* MP representation of the number. */
-- int exponent; /* Exponent of the number. */
-+ intmax_t exponent; /* Exponent of the number. */
-
- /* Numbers starting `0X' or `0x' have to be processed with base 16. */
- int base = 10;
-@@ -435,7 +443,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* Points at the character following the integer and fractional digits. */
- const STRING_TYPE *expp;
- /* Total number of digit and number of digits in integer part. */
-- int dig_no, int_no, lead_zero;
-+ size_t dig_no, int_no, lead_zero;
- /* Contains the last character read. */
- CHAR_TYPE c;
-
-@@ -767,7 +775,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- are all or any is really a fractional digit will be decided
- later. */
- int_no = dig_no;
-- lead_zero = int_no == 0 ? -1 : 0;
-+ lead_zero = int_no == 0 ? (size_t) -1 : 0;
-
- /* Read the fractional digits. A special case are the 'american
- style' numbers like `16.' i.e. with decimal point but without
-@@ -789,12 +797,13 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- (base == 16 && ({ CHAR_TYPE lo = TOLOWER (c);
- lo >= L_('a') && lo <= L_('f'); })))
- {
-- if (c != L_('0') && lead_zero == -1)
-+ if (c != L_('0') && lead_zero == (size_t) -1)
- lead_zero = dig_no - int_no;
- ++dig_no;
- c = *++cp;
- }
- }
-+ assert (dig_no <= (uintmax_t) INTMAX_MAX);
-
- /* Remember start of exponent (if any). */
- expp = cp;
-@@ -817,24 +826,80 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
-
- if (c >= L_('0') && c <= L_('9'))
- {
-- int exp_limit;
-+ intmax_t exp_limit;
-
- /* Get the exponent limit. */
- if (base == 16)
-- exp_limit = (exp_negative ?
-- -MIN_EXP + MANT_DIG + 4 * int_no :
-- MAX_EXP - 4 * int_no + 4 * lead_zero + 3);
-+ {
-+ if (exp_negative)
-+ {
-+ assert (int_no <= (uintmax_t) (INTMAX_MAX
-+ + MIN_EXP - MANT_DIG) / 4);
-+ exp_limit = -MIN_EXP + MANT_DIG + 4 * (intmax_t) int_no;
-+ }
-+ else
-+ {
-+ if (int_no)
-+ {
-+ assert (lead_zero == 0
-+ && int_no <= (uintmax_t) INTMAX_MAX / 4);
-+ exp_limit = MAX_EXP - 4 * (intmax_t) int_no + 3;
-+ }
-+ else if (lead_zero == (size_t) -1)
-+ {
-+ /* The number is zero and this limit is
-+ arbitrary. */
-+ exp_limit = MAX_EXP + 3;
-+ }
-+ else
-+ {
-+ assert (lead_zero
-+ <= (uintmax_t) (INTMAX_MAX - MAX_EXP - 3) / 4);
-+ exp_limit = (MAX_EXP
-+ + 4 * (intmax_t) lead_zero
-+ + 3);
-+ }
-+ }
-+ }
- else
-- exp_limit = (exp_negative ?
-- -MIN_10_EXP + MANT_DIG + int_no :
-- MAX_10_EXP - int_no + lead_zero + 1);
-+ {
-+ if (exp_negative)
-+ {
-+ assert (int_no
-+ <= (uintmax_t) (INTMAX_MAX + MIN_10_EXP - MANT_DIG));
-+ exp_limit = -MIN_10_EXP + MANT_DIG + (intmax_t) int_no;
-+ }
-+ else
-+ {
-+ if (int_no)
-+ {
-+ assert (lead_zero == 0
-+ && int_no <= (uintmax_t) INTMAX_MAX);
-+ exp_limit = MAX_10_EXP - (intmax_t) int_no + 1;
-+ }
-+ else if (lead_zero == (size_t) -1)
-+ {
-+ /* The number is zero and this limit is
-+ arbitrary. */
-+ exp_limit = MAX_10_EXP + 1;
-+ }
-+ else
-+ {
-+ assert (lead_zero
-+ <= (uintmax_t) (INTMAX_MAX - MAX_10_EXP - 1));
-+ exp_limit = MAX_10_EXP + (intmax_t) lead_zero + 1;
-+ }
-+ }
-+ }
-+
-+ if (exp_limit < 0)
-+ exp_limit = 0;
-
- do
- {
-- exponent *= 10;
-- exponent += c - L_('0');
--
-- if (__builtin_expect (exponent > exp_limit, 0))
-+ if (__builtin_expect ((exponent > exp_limit / 10
-+ || (exponent == exp_limit / 10
-+ && c - L_('0') > exp_limit % 10)), 0))
- /* The exponent is too large/small to represent a valid
- number. */
- {
-@@ -843,7 +908,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* We have to take care for special situation: a joker
- might have written "0.0e100000" which is in fact
- zero. */
-- if (lead_zero == -1)
-+ if (lead_zero == (size_t) -1)
- result = negative ? -0.0 : 0.0;
- else
- {
-@@ -862,6 +927,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* NOTREACHED */
- }
-
-+ exponent *= 10;
-+ exponent += c - L_('0');
-+
- c = *++cp;
- }
- while (c >= L_('0') && c <= L_('9'));
-@@ -930,7 +998,14 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- }
- #endif
- startp += lead_zero + decimal_len;
-- exponent -= base == 16 ? 4 * lead_zero : lead_zero;
-+ assert (lead_zero <= (base == 16
-+ ? (uintmax_t) INTMAX_MAX / 4
-+ : (uintmax_t) INTMAX_MAX));
-+ assert (lead_zero <= (base == 16
-+ ? ((uintmax_t) exponent
-+ - (uintmax_t) INTMAX_MIN) / 4
-+ : ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN)));
-+ exponent -= base == 16 ? 4 * (intmax_t) lead_zero : (intmax_t) lead_zero;
- dig_no -= lead_zero;
- }
-
-@@ -972,7 +1047,10 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- }
-
- /* Adjust the exponent for the bits we are shifting in. */
-- exponent += bits - 1 + (int_no - 1) * 4;
-+ assert (int_no <= (uintmax_t) (exponent < 0
-+ ? (INTMAX_MAX - bits + 1) / 4
-+ : (INTMAX_MAX - exponent - bits + 1) / 4));
-+ exponent += bits - 1 + ((intmax_t) int_no - 1) * 4;
-
- while (--dig_no > 0 && idx >= 0)
- {
-@@ -1024,13 +1102,15 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- really integer digits or belong to the fractional part; i.e. we normalize
- 123e-2 to 1.23. */
- {
-- register int incr = (exponent < 0 ? MAX (-int_no, exponent)
-- : MIN (dig_no - int_no, exponent));
-+ register intmax_t incr = (exponent < 0
-+ ? MAX (-(intmax_t) int_no, exponent)
-+ : MIN ((intmax_t) dig_no - (intmax_t) int_no,
-+ exponent));
- int_no += incr;
- exponent -= incr;
- }
-
-- if (__builtin_expect (int_no + exponent > MAX_10_EXP + 1, 0))
-+ if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0))
- {
- __set_errno (ERANGE);
- return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
-@@ -1215,7 +1295,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- digits we should have enough bits for the result. The remaining
- decimal digits give us the information that more bits are following.
- This can be used while rounding. (Two added as a safety margin.) */
-- if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 2)
-+ if ((intmax_t) dig_no > (intmax_t) int_no + (MANT_DIG - bits + 2) / 3 + 2)
- {
- dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 2;
- more_bits = 1;
-@@ -1223,7 +1303,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- else
- more_bits = 0;
-
-- neg_exp = dig_no - int_no - exponent;
-+ neg_exp = (intmax_t) dig_no - (intmax_t) int_no - exponent;
-
- /* Construct the denominator. */
- densize = 0;
-diff --git a/stdlib/tst-strtod-overflow.c b/stdlib/tst-strtod-overflow.c
-new file mode 100644
-index 0000000..668d55b
---- /dev/null
-+++ b/stdlib/tst-strtod-overflow.c
-@@ -0,0 +1,48 @@
-+/* Test for integer/buffer overflow in strtod.
-+ Copyright (C) 2012 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#define EXPONENT "e-2147483649"
-+#define SIZE 214748364
-+
-+static int
-+do_test (void)
-+{
-+ char *p = malloc (1 + SIZE + sizeof (EXPONENT));
-+ if (p == NULL)
-+ {
-+ puts ("malloc failed, cannot test for overflow");
-+ return 0;
-+ }
-+ p[0] = '1';
-+ memset (p + 1, '0', SIZE);
-+ memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT));
-+ double d = strtod (p, NULL);
-+ if (d != 0)
-+ {
-+ printf ("strtod returned wrong value: %a\n", d);
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
---
-1.7.3.4
-
diff --git a/multilib-testing/lib32-glibc/glibc-__i686.patch b/multilib-testing/lib32-glibc/glibc-__i686.patch
deleted file mode 100644
index 16f84c536..000000000
--- a/multilib-testing/lib32-glibc/glibc-__i686.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/nptl/sysdeps/pthread/pt-initfini.c b/nptl/sysdeps/pthread/pt-initfini.c
-index 9c00dc0..f5d4df8 100644
---- a/nptl/sysdeps/pthread/pt-initfini.c
-+++ b/nptl/sysdeps/pthread/pt-initfini.c
-@@ -45,6 +45,11 @@
- /* Embed an #include to pull in the alignment and .end directives. */
- asm ("\n#include \"defs.h\"");
-
-+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
-+asm ("\n#undef __i686");
-+asm ("\n#define __i686 __i686");
-+asm ("\n#endif");
-+
- /* The initial common code ends here. */
- asm ("\n/*@HEADER_ENDS*/");
-
-diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
-index 64ef400..726b1df 100644
---- a/sysdeps/unix/sysv/linux/i386/sysdep.h
-+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
-@@ -29,6 +29,10 @@
- #include <dl-sysdep.h>
- #include <tls.h>
-
-+#if defined __i686 && defined __ASSEMBLER__
-+#undef __i686
-+#define __i686 __i686
-+#endif
-
- /* For Linux we can use the system call table in the header file
- /usr/include/asm/unistd.h
diff --git a/multilib-testing/lib32-glibc/lib32-glibc.conf b/multilib-testing/lib32-glibc/lib32-glibc.conf
deleted file mode 100644
index 9b08c3f43..000000000
--- a/multilib-testing/lib32-glibc/lib32-glibc.conf
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib32
diff --git a/multilib-testing/lib32-glu/PKGBUILD b/multilib-testing/lib32-glu/PKGBUILD
deleted file mode 100644
index ff718f165..000000000
--- a/multilib-testing/lib32-glu/PKGBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# $Id: PKGBUILD 77209 2012-10-06 21:02:42Z lcarlier $
-# Maintainer: Laurent Carlier <lordheavym@gmail.com>
-
-pkgname=lib32-glu
-pkgver=9.0.0
-pkgrel=1
-pkgdesc="Mesa OpenGL utility library (32 bits)"
-arch=('x86_64')
-url="http://mesa.freedesktop.org/"
-license=('LGPL')
-depends=('lib32-libgl')
-makedepends=('gcc-multilib' 'lib32-mesa')
-options=('!libtool')
-source=(ftp://ftp.freedesktop.org/pub/mesa/glu/glu-$pkgver.tar.bz2)
-sha256sums=('1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12')
-
-build() {
- cd ${srcdir}/glu-$pkgver
-
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
-
- ./configure --prefix=/usr --disable-static \
- --libdir=/usr/lib32
- make
-}
-
-check() {
- cd "$srcdir/glu-$pkgver"
-
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
-
- make -k check
-}
-
-package() {
- cd ${srcdir}/glu-$pkgver
-
- make DESTDIR=${pkgdir} install
-
- rm -rf ${pkgdir}/usr/include
-}
diff --git a/multilib-testing/lib32-libdrm/PKGBUILD b/multilib-testing/lib32-libdrm/PKGBUILD
deleted file mode 100644
index 06ac29444..000000000
--- a/multilib-testing/lib32-libdrm/PKGBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# $Id: PKGBUILD 75477 2012-08-25 23:25:21Z lcarlier $
-# Maintainer: Laurent Carlier <lordheavym@gmail.com>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-
-_pkgbasename=libdrm
-pkgname=lib32-$_pkgbasename
-pkgver=2.4.39
-pkgrel=1
-pkgdesc="Userspace interface to kernel DRM services (32-bit)"
-arch=(x86_64)
-license=('custom')
-depends=('lib32-libpciaccess' $_pkgbasename)
-makedepends=(gcc-multilib)
-options=('!libtool')
-url="http://dri.freedesktop.org/"
-source=(http://dri.freedesktop.org/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.bz2
- no-pthread-stubs.patch)
-sha256sums=('386b17388980504bca16ede81ceed4c77b12c3488f46ecb7f4d48e48512a733d'
- '66fb39be073c634abc7c2af238535a63b2a03990888eb8cc5ea79fa3ef083930')
-
-build() {
- cd "${srcdir}/${_pkgbasename}-${pkgver}"
-
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
-
- patch -Np1 -i "${srcdir}/no-pthread-stubs.patch"
-
- # git fixes - currently none
- # patch -Np1 -i ${srcdir}/git_fixes.diff
-
- # libtoolize --force
- autoreconf --force --install
- ./configure --prefix=/usr --libdir=/usr/lib32 \
- --enable-udev \
- --enable-vmwgfx-experimental-api
- make
-}
-
-package() {
- cd "${srcdir}/${_pkgbasename}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-
- rm -rf "${pkgdir}"/usr/{include,share,bin}
- mkdir -p "$pkgdir/usr/share/licenses"
- ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
-}
diff --git a/multilib-testing/lib32-libdrm/no-pthread-stubs.patch b/multilib-testing/lib32-libdrm/no-pthread-stubs.patch
deleted file mode 100644
index a8de91d9d..000000000
--- a/multilib-testing/lib32-libdrm/no-pthread-stubs.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff -Nur libdrm-2.4.34.orig/configure.ac libdrm-2.4.34/configure.ac
---- libdrm-2.4.34.orig/configure.ac 2012-05-12 14:54:06.375335490 +0000
-+++ libdrm-2.4.34/configure.ac 2012-05-12 14:54:32.075142065 +0000
-@@ -47,10 +47,6 @@
- LT_INIT([disable-static])
-
-
--PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
--AC_SUBST(PTHREADSTUBS_CFLAGS)
--AC_SUBST(PTHREADSTUBS_LIBS)
--
- pkgconfigdir=${libdir}/pkgconfig
- AC_SUBST(pkgconfigdir)
- AC_ARG_ENABLE([udev],
-diff -Nur libdrm-2.4.34.orig/intel/Makefile.am libdrm-2.4.34/intel/Makefile.am
---- libdrm-2.4.34.orig/intel/Makefile.am 2012-05-12 14:54:06.372001955 +0000
-+++ libdrm-2.4.34/intel/Makefile.am 2012-05-12 14:55:24.164745055 +0000
-@@ -26,7 +26,6 @@
- $(WARN_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/intel \
-- $(PTHREADSTUBS_CFLAGS) \
- $(PCIACCESS_CFLAGS) \
- $(VALGRIND_CFLAGS) \
- -I$(top_srcdir)/include/drm
-@@ -35,7 +34,6 @@
- libdrm_intel_ladir = $(libdir)
- libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
- libdrm_intel_la_LIBADD = ../libdrm.la \
-- @PTHREADSTUBS_LIBS@ \
- @PCIACCESS_LIBS@ \
- @CLOCK_LIB@
-
-diff -Nur libdrm-2.4.34.orig/nouveau/Makefile.am libdrm-2.4.34/nouveau/Makefile.am
---- libdrm-2.4.34.orig/nouveau/Makefile.am 2012-05-12 14:54:06.331998148 +0000
-+++ libdrm-2.4.34/nouveau/Makefile.am 2012-05-12 14:56:00.941132085 +0000
-@@ -2,14 +2,13 @@
- $(WARN_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/nouveau \
-- $(PTHREADSTUBS_CFLAGS) \
- -I$(top_srcdir)/include/drm \
- -DDEBUG
-
- libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
- libdrm_nouveau_ladir = $(libdir)
- libdrm_nouveau_la_LDFLAGS = -version-number 2:0:0 -no-undefined
--libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-+libdrm_nouveau_la_LIBADD = ../libdrm.la
-
- libdrm_nouveau_la_SOURCES = nouveau.c \
- pushbuf.c \
-diff -Nur libdrm-2.4.34.orig/radeon/Makefile.am libdrm-2.4.34/radeon/Makefile.am
---- libdrm-2.4.34.orig/radeon/Makefile.am 2012-05-12 14:54:06.365334765 +0000
-+++ libdrm-2.4.34/radeon/Makefile.am 2012-05-12 14:55:48.084557437 +0000
-@@ -26,13 +26,12 @@
- $(WARN_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/radeon \
-- $(PTHREADSTUBS_CFLAGS) \
- -I$(top_srcdir)/include/drm
-
- libdrm_radeon_la_LTLIBRARIES = libdrm_radeon.la
- libdrm_radeon_ladir = $(libdir)
- libdrm_radeon_la_LDFLAGS = -version-number 1:0:1 -no-undefined
--libdrm_radeon_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-+libdrm_radeon_la_LIBADD = ../libdrm.la
-
- libdrm_radeon_la_SOURCES = \
- radeon_bo_gem.c \
diff --git a/multilib-testing/lib32-libpng/PKGBUILD b/multilib-testing/lib32-libpng/PKGBUILD
deleted file mode 100644
index eaf7a6869..000000000
--- a/multilib-testing/lib32-libpng/PKGBUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# $Id: PKGBUILD 72500 2012-06-16 01:36:14Z ibiru $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: dorphell <dorphell@archlinux.org>
-# Contributor: Travis Willard <travis@archlinux.org>
-# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
-
-_pkgbasename=libpng
-pkgname=lib32-$_pkgbasename
-pkgver=1.5.11
-_apngver=1.5.11
-_libversion=15
-pkgrel=1
-pkgdesc="A collection of routines used to create PNG format graphics files (32-bit)"
-arch=('x86_64')
-url="http://www.libpng.org/pub/png/libpng.html"
-license=('custom')
-depends=('lib32-zlib' $_pkgbasename)
-makedepends=(gcc-multilib)
-options=('!libtool')
-source=("http://downloads.sourceforge.net/sourceforge/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.xz"
- "http://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-${_apngver}-apng.patch.gz")
-md5sums=('57f838299e701b6db9e8389c5602dc18'
- 'e9ddf7670e78ad93f4cc189c884d4f26')
-
-build() {
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
-
- cd "${srcdir}/${_pkgbasename}-${pkgver}"
-
- # Add animated PNG (apng) support
- # see http://sourceforge.net/projects/libpng-apng/
- patch -p1 -i "${srcdir}/libpng-${_apngver}-apng.patch"
-
- ./configure --prefix=/usr --libdir=/usr/lib32 --program-suffix=-32
- make
-}
-
-package() {
- cd "${srcdir}/${_pkgbasename}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-
- cd contrib/pngminus
- make PNGLIB="-L${pkgdir}/usr/lib32 -lpng" -f makefile.std png2pnm pnm2png
-
- rm -rf "${pkgdir}"/usr/{include,share}
-
- rm "$pkgdir/usr/bin/libpng-config"
- ln -s "libpng${_libversion}-config-32" "$pkgdir/usr/bin/libpng-config-32"
-
- mkdir -p "$pkgdir/usr/share/licenses"
- ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
-}
diff --git a/multilib-testing/lib32-libxcb/PKGBUILD b/multilib-testing/lib32-libxcb/PKGBUILD
deleted file mode 100644
index 1de801819..000000000
--- a/multilib-testing/lib32-libxcb/PKGBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# $Id: PKGBUILD 77207 2012-10-06 21:00:14Z bluewind $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-
-_pkgbasename=libxcb
-pkgname=lib32-$_pkgbasename
-pkgver=1.9
-pkgrel=1
-pkgdesc="X11 client-side library (32-bit)"
-arch=(x86_64)
-url="http://xcb.freedesktop.org/"
-depends=('lib32-libxdmcp' 'lib32-libxau' $_pkgbasename)
-makedepends=('pkgconfig' 'libxslt' 'python2' 'gcc-multilib'
- 'autoconf')
-options=('!libtool')
-license=('custom')
-source=(${url}/dist/${_pkgbasename}-${pkgver}.tar.bz2
- libxcb-1.1-no-pthread-stubs.patch)
-sha1sums=('ad2fb95eeec41ba3d39502a4f7460c3b64fdf061'
- 'd2df03ddf3e949c10c2c185256b0eb7fa02837ab')
-
-build() {
- cd "${srcdir}/${_pkgbasename}-${pkgver}"
-
- patch -Np1 -i "${srcdir}/libxcb-1.1-no-pthread-stubs.patch"
-
- export CC="gcc -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
-
- PYTHON=/usr/bin/python2 ./autogen.sh \
- --prefix=/usr \
- --enable-xinput \
- --libdir=/usr/lib32 \
- --disable-static
- make
-}
-
-package() {
- cd "${srcdir}/${_pkgbasename}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-
- rm -rf "${pkgdir}"/usr/{include,share}
-
- mkdir -p "$pkgdir/usr/share/licenses"
- ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
-}
diff --git a/multilib-testing/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch b/multilib-testing/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch
deleted file mode 100644
index 8e8162f0a..000000000
--- a/multilib-testing/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libxcb-1.8.1/configure.ac 2012-03-09 15:38:38.000000000 +0100
-+++ libxcb-1.8.1/configure.ac.new 2012-03-09 16:50:40.107109896 +0100
-@@ -35,7 +35,7 @@
-
- # Checks for pkg-config packages
- PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.7)
--NEEDED="pthread-stubs xau >= 0.99.2"
-+NEEDED="xau >= 0.99.2"
- PKG_CHECK_MODULES(NEEDED, $NEEDED)
-
- have_xdmcp="no"
diff --git a/multilib-testing/lib32-mesa/PKGBUILD b/multilib-testing/lib32-mesa/PKGBUILD
deleted file mode 100644
index 35b76887b..000000000
--- a/multilib-testing/lib32-mesa/PKGBUILD
+++ /dev/null
@@ -1,257 +0,0 @@
-# $Id: PKGBUILD 77479 2012-10-10 21:26:42Z lcarlier $
-# Contributor: Jan de Groot <jgc@archlinux.org>
-# Contributor: Andreas Radke <andyrtr@archlinux.org>
-
-pkgbase=lib32-mesa
-pkgname=('lib32-libglapi' 'lib32-libgl' 'lib32-mesa' 'lib32-osmesa' 'lib32-libgles' 'lib32-ati-dri' 'lib32-intel-dri'
- 'lib32-nouveau-dri') # lib32-libgbm needs udev
-#_git=true
-#_gitdate=20121005
-_git=false
-
-if [ "${_git}" = "true" ]; then
- pkgver=8.99.git_$_gitdate
- else
- pkgver=9.0
-fi
-
-pkgrel=1
-arch=('x86_64')
-makedepends=('glproto>=1.4.16' 'lib32-libdrm>=2.4.39' 'lib32-libxxf86vm>=1.1.2' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.1.0'
- 'lib32-libx11>=1.5.0' 'lib32-libxt>=1.1.3' 'lib32-gcc-libs>=4.7.1-6' 'dri2proto>=2.8' 'python2' 'libxml2'
- 'gcc-multilib' 'imake' 'lib32-llvm')
-url="http://mesa3d.sourceforge.net"
-license=('custom')
-options=('!libtool')
-source=(git_fixes.diff)
-if [ "${_git}" = "true" ]; then
- # mesa git shot from 9.0 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/log/?h=9.0
- #source=(${source[@]} 'ftp://ftp.archlinux.org/other/mesa/mesa-41d14eaf193c6b1eb87fe1998808a887f1c6c698.tar.gz')
- source=(${source[@]} "MesaLib-git${_gitdate}.zip"::"http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-542f6feda9bf18267dbd337943a5e871400d425a.tar.gz")
-else
- source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2")
-fi
-md5sums=('2ebce12196dbb7b69bdf7ef53b8afdee'
- '60e557ce407be3732711da484ab3db6c')
-
-build() {
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
- # for our llvm-config for 32 bit
- export LLVM_CONFIG=/usr/bin/llvm-config32
-
- # fix segfault with gfx cards > Ati R700
- export CFLAGS="${CFLAGS} -O1"
- export CXXFLAGS="${CXXFLAGS} -O1"
-
- cd ${srcdir}/?esa-*
-
- # build fix from master http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd4fde8f674f5e3efa19e929f97de4ecfd82391b
- patch -Np1 -i ${srcdir}/git_fixes.diff
-
- COMMONOPTS="--prefix=/usr \
- --sysconfdir=/etc \
- --with-dri-driverdir=/usr/lib32/xorg/modules/dri \
- --with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast \
- --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
- --enable-gallium-llvm \
- --disable-gallium-egl --enable-shared-glapi \
- --enable-shared-glapi \
- --enable-glx-tls \
- --enable-dri \
- --enable-gles1 \
- --enable-gles2 \
- --disable-egl \
- --enable-texture-float \
- --enable-osmesa \
- --enable-32-bit \
- --libdir=/usr/lib32 "
- # --enable-gbm disabled because it needs udev
-
- if [ "${_git}" = "true" ]; then
- ./autogen.sh \
- $COMMONOPTS
- else
- autoreconf -vfi
- ./configure \
- $COMMONOPTS
- fi
-
- make
-}
-
-package_lib32-libglapi() {
- depends=('lib32-glibc' 'libglapi')
- pkgdesc="free implementation of the GL API -- shared library. The Mesa GL API module is responsible for dispatching all the gl* functions (32-bits)"
-
- cd ${srcdir}/?esa-*
-
- make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" install
-
- install -m755 -d "${pkgdir}/usr/share/licenses/libglapi"
- ln -s libglapi "${pkgdir}/usr/share/licenses/libglapi/lib32-libglapi"
-}
-
-package_lib32-libgl() {
- depends=('lib32-libdrm>=2.4.39' 'lib32-libxxf86vm>=1.1.2' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.1.0' 'lib32-libglapi'
- 'libgl')
- pkgdesc="Mesa 3-D graphics library and DRI software rasterizer (32-bit)"
- # currently disabled so force the remove
- conflicts=('lib32-libgbm')
- replace=('lib32-libgbm')
-
- cd ${srcdir}/?esa-*
-
- # fix linking because of splitted package
- make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" install
-
- # libGL & libdricore
- make -C src/glx DESTDIR="${pkgdir}" install
- make -C src/mesa/libdricore DESTDIR="${pkgdir}" install
-
- # fix linking because of splitted package - cleanup
- make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall
-
- # --with-gallium-drivers=swrast
- make -C src/gallium/targets/dri-swrast DESTDIR="${pkgdir}" install
-
- install -m755 -d "${pkgdir}/usr/share/licenses/libgl"
- ln -s libgl "${pkgdir}/usr/share/licenses/libgl/lib32-libgl"
-}
-
-package_lib32-mesa() {
- # check also gl.pc
- depends=('lib32-libgl' 'lib32-libx11>=1.5.0' 'lib32-libxext>=1.3.1' 'lib32-libxdamage' 'lib32-libxfixes' 'lib32-libxcb'
- 'lib32-libxxf86vm' 'mesa')
- pkgdesc="Mesa 3-D graphics libraries and include files (32-bit)"
-
- cd ${srcdir}/?esa-*
-
- # .pc files
- make -C src/mesa DESTDIR="${pkgdir}" install-pkgconfigDATA
- make -C src/mesa/drivers/dri DESTDIR="${pkgdir}" install-pkgconfigDATA
-
- install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
- ln -s mesa "$pkgdir/usr/share/licenses/mesa/lib32-mesa"
-}
-
-package_lib32-osmesa() {
- depends=('lib32-libglapi' 'lib32-gcc-libs' 'osmesa')
- optdepends=('opengl-man-pages: for the OpenGL API man pages')
- pkgdesc="Mesa 3D off-screen rendering library (32-bits)"
-
- # fix linking because of splitted package
- make -C ${srcdir}/?esa-*/src/mapi/shared-glapi DESTDIR="${pkgdir}" install
-
- make -C ${srcdir}/?esa-*/src/mesa/drivers/osmesa DESTDIR="${pkgdir}" install
-
- # fix linking because of splitted package - cleanup
- make -C ${srcdir}/?esa-*/src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall
-}
-
-# package_lib32-libgbm() {
-# depends=('lib32-libglapi' 'lib32-libdrm' 'libgbm')
-# pkgdesc="Mesa gbm library (32-bit)"
-#
-# cd ${srcdir}/?esa-*
-#
-# # fix linking because of splitted package
-# make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" install
-#
-# make -C src/gbm DESTDIR="${pkgdir}" install
-#
-# # fix linking because of splitted package - cleanup
-# make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall
-#
-# install -m755 -d "${pkgdir}/usr/share/licenses/libgbm"
-# ln -s libgbm "$pkgdir/usr/share/licenses/libgbm/lib32-libgbm"
-# }
-
-package_lib32-libgles() {
- depends=('lib32-libglapi' 'lib32-libdrm' 'libgles')
- pkgdesc="Mesa GLES libraries (32-bit)"
-
- cd ${srcdir}/?esa-*
-
- # fix linking because of splitted package
- make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" install
-
- # --enable-gles1 --enable-gles2
- make -C src/mapi/es1api DESTDIR="${pkgdir}" install
- make -C src/mapi/es2api DESTDIR="${pkgdir}" install
-
- # fix linking because of splitted package - cleanup
- make -C src/mapi/shared-glapi DESTDIR="${pkgdir}" uninstall
-
- rm -r "${pkgdir}"/usr/include
-
- install -m755 -d "${pkgdir}/usr/share/licenses/libgles"
- ln -s libgles "$pkgdir/usr/share/licenses/libgles/lib32-libgles"
-}
-
-package_lib32-ati-dri() {
- depends=("lib32-libgl=${pkgver}" 'ati-dri')
- pkgdesc="Mesa DRI radeon/r200 + Gallium3D for r300 and later chipsets drivers for AMD/ATI Radeon (32-bit)"
- conflicts=('xf86-video-ati<6.9.0-6')
-
- cd ${srcdir}/?esa-*
-
- # fix linking because of splitted package
- make -C src/mesa/libdricore DESTDIR="${pkgdir}" install
-
- # classic mesa drivers for radeon,r200
- make -C src/mesa/drivers/dri/radeon DESTDIR="${pkgdir}" install
- make -C src/mesa/drivers/dri/r200 DESTDIR="${pkgdir}" install
- # gallium3D driver for r300,r600
- make -C src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install
- make -C src/gallium/targets/dri-r600 DESTDIR="${pkgdir}" install
- make -C src/gallium/targets/dri-radeonsi DESTDIR="${pkgdir}" install
-
- # fix linking because of splitted package - cleanup
- make -C src/mesa/libdricore DESTDIR="${pkgdir}" uninstall
-
- install -m755 -d "${pkgdir}/usr/share/licenses/ati-dri"
- ln -s ati-dri "$pkgdir/usr/share/licenses/ati-dri/lib32-ati-dri"
-}
-
-package_lib32-intel-dri() {
- depends=("lib32-libgl=${pkgver}" 'intel-dri')
- pkgdesc="Mesa DRI drivers for Intel (32-bit)"
-
- cd ${srcdir}/?esa-*
-
- # fix linking because of splitted package
- make -C src/mesa/libdricore DESTDIR="${pkgdir}" install
-
- make -C src/mesa/drivers/dri/i915 DESTDIR="${pkgdir}" install
- make -C src/mesa/drivers/dri/i965 DESTDIR="${pkgdir}" install
-
- # fix linking because of splitted package - cleanup
- make -C src/mesa/libdricore DESTDIR="${pkgdir}" uninstall
-
- install -m755 -d "${pkgdir}/usr/share/licenses/intel-dri"
- ln -s intel-dri "$pkgdir/usr/share/licenses/intel-dri/lib32-intel-dri"
-}
-
-package_lib32-nouveau-dri() {
- depends=("lib32-libgl=${pkgver}" 'nouveau-dri')
- pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau (32-bit)"
-
- cd ${srcdir}/?esa-*
-
- # fix linking because of splitted package
- make -C src/mesa/libdricore DESTDIR="${pkgdir}" install
-
- # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so
- make -C src/mesa/drivers/dri/nouveau DESTDIR="${pkgdir}" install
- # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so
- make -C src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install
-
- # fix linking because of splitted package - cleanup
- make -C src/mesa/libdricore DESTDIR="${pkgdir}" uninstall
-
- install -m755 -d "${pkgdir}/usr/share/licenses/nouveau-dri"
- ln -s nouveau-dri "$pkgdir/usr/share/licenses/nouveau-dri/lib32-nouveau-dri"
-}
-
diff --git a/multilib-testing/lib32-mesa/git_fixes.diff b/multilib-testing/lib32-mesa/git_fixes.diff
deleted file mode 100644
index 8132d1d10..000000000
--- a/multilib-testing/lib32-mesa/git_fixes.diff
+++ /dev/null
@@ -1,93 +0,0 @@
-From 161aababc659e23c4a8523366a31f63b3d14e280 Mon Sep 17 00:00:00 2001
-From: Ian Romanick <ian.d.romanick@intel.com>
-Date: Mon, 08 Oct 2012 22:07:10 +0000
-Subject: docs: Add 9.0 release md5sums
-
-Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
----
-diff --git a/docs/relnotes-9.0.html b/docs/relnotes-9.0.html
-index d72c5bb..02b7324 100644
---- a/docs/relnotes-9.0.html
-+++ b/docs/relnotes-9.0.html
-@@ -26,7 +26,9 @@ because GL_ARB_compatibility is not supported.
-
- <h2>MD5 checksums</h2>
- <pre>
--tbd
-+be4cd34c6599a7cb9d254b05c48bdb1f MesaLib-9.0.tar.gz
-+60e557ce407be3732711da484ab3db6c MesaLib-9.0.tar.bz2
-+16b128544cd3f7e237927bb9f8aab7ce MesaLib-9.0.zip
- </pre>
-
-
---
-cgit v0.9.0.2-2-gbebe
-From 32faf7ab0de8b88bb15a2cb262a73c411dce9d0d Mon Sep 17 00:00:00 2001
-From: Brian Paul <brianp@vmware.com>
-Date: Fri, 05 Oct 2012 22:47:40 +0000
-Subject: mesa: don't call TexImage driver hooks for zero-sized images
-
-This simply avoids some failed assertions but there's no reason to
-call the driver hooks for storing a tex image if its size is zero.
-
-Note: This is a candidate for the stable branches.
-(cherry picked from commit 91d84096497ff538f55591f7e6bb0b563726db8d)
----
-diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
-index 21646cc..8004876 100644
---- a/src/mesa/main/teximage.c
-+++ b/src/mesa/main/teximage.c
-@@ -3034,13 +3034,15 @@ teximage(struct gl_context *ctx, GLboolean compressed, GLuint dims,
- border, internalFormat, texFormat);
-
- /* Give the texture to the driver. <pixels> may be null. */
-- if (compressed) {
-- ctx->Driver.CompressedTexImage(ctx, dims, texImage,
-- imageSize, pixels);
-- }
-- else {
-- ctx->Driver.TexImage(ctx, dims, texImage, format,
-- type, pixels, unpack);
-+ if (width > 0 && height > 0 && depth > 0) {
-+ if (compressed) {
-+ ctx->Driver.CompressedTexImage(ctx, dims, texImage,
-+ imageSize, pixels);
-+ }
-+ else {
-+ ctx->Driver.TexImage(ctx, dims, texImage, format,
-+ type, pixels, unpack);
-+ }
- }
-
- check_gen_mipmap(ctx, target, texObj, level);
---
-cgit v0.9.0.2-2-gbebe
-From e75051d1967350ceff0209dde24ae42696b13b5c Mon Sep 17 00:00:00 2001
-From: Brian Paul <brianp@vmware.com>
-Date: Fri, 05 Oct 2012 22:59:27 +0000
-Subject: mesa: fix error check for zero-sized compressed subtexture
-
-For glCompressedTexSubImage, width or height = 0 is legal.
-Fixes a failure in piglit's s3tc-errors test.
-
-This is for the 9.0 and 8.0 branches. Already fixed on master.
----
-diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
-index 8004876..38fa9fa 100644
---- a/src/mesa/main/teximage.c
-+++ b/src/mesa/main/teximage.c
-@@ -3598,10 +3598,10 @@ compressed_subtexture_error_check(struct gl_context *ctx, GLint dimensions,
- if (!_mesa_is_compressed_format(ctx, format))
- return GL_INVALID_ENUM;
-
-- if (width < 1 || width > maxTextureSize)
-+ if (width < 0 || width > maxTextureSize)
- return GL_INVALID_VALUE;
-
-- if ((height < 1 || height > maxTextureSize)
-+ if ((height < 0 || height > maxTextureSize)
- && dimensions > 1)
- return GL_INVALID_VALUE;
-
---
-cgit v0.9.0.2-2-gbebe
diff --git a/multilib-testing/lib32-mesa/pthread_fix.diff b/multilib-testing/lib32-mesa/pthread_fix.diff
deleted file mode 100644
index bdfe2d865..000000000
--- a/multilib-testing/lib32-mesa/pthread_fix.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-From dd4fde8f674f5e3efa19e929f97de4ecfd82391b Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Thu, 27 Sep 2012 22:49:52 +0000
-Subject: build: Set PTHREAD_LIBS for pkgconfig files if empty
-
----
-diff --git a/configure.ac b/configure.ac
-index 770df2f..dc2720d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -509,6 +509,10 @@ AC_CHECK_DECLS([signbit],[],
-
- dnl Check for pthreads
- AX_PTHREAD
-+dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS
-+dnl to -pthread, which causes problems if we need -lpthread to appear in
-+dnl pkgconfig files.
-+test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
-
- dnl SELinux awareness.
- AC_ARG_ENABLE([selinux],
---
-cgit v0.9.0.2-2-gbebe
diff --git a/multilib-testing/lib32-util-linux/PKGBUILD b/multilib-testing/lib32-util-linux/PKGBUILD
deleted file mode 100644
index 704327be8..000000000
--- a/multilib-testing/lib32-util-linux/PKGBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# $Id: PKGBUILD 75896 2012-09-05 04:43:08Z dreisner $
-# Maintainer: Dave Reisner <dreisner@archlinux.org>
-# Contributor: judd <jvinet@zeroflux.org>
-
-_pkgbasename=util-linux
-pkgname=lib32-$_pkgbasename
-pkgver=2.22
-pkgrel=1
-pkgdesc="Miscellaneous system utilities for Linux (32-bit)"
-url='http://www.kernel.org/pub/linux/utils/util-linux/'
-arch=('x86_64')
-depends=('lib32-glibc' "$_pkgbasename")
-makedepends=('gcc-multilib')
-provides=('lib32-util-linux-ng')
-conflicts=('lib32-util-linux-ng')
-replaces=('lib32-util-linux-ng')
-license=('GPL2')
-options=('!libtool' '!emptydirs')
-source=("ftp://ftp.kernel.org/pub/linux/utils/util-linux/v$pkgver/util-linux-$pkgver.tar.xz")
-md5sums=('ba2d8cc12a937231c80a04f7f7149303')
-
-shopt -s extglob
-
-build() {
- cd "$_pkgbasename-$pkgver"
-
- export CC="gcc -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
-
- ./configure --without-ncurses --libdir=/usr/lib32
-
- make lib{uuid,blkid,mount}.la
-}
-
-package() {
- make -C "$_pkgbasename-$pkgver" \
- DESTDIR="$pkgdir" \
- install-usrlib_execLTLIBRARIES \
- install-pkgconfigDATA
-}
diff --git a/multilib-testing/libtool-multilib/PKGBUILD b/multilib-testing/libtool-multilib/PKGBUILD
deleted file mode 100644
index 020346e32..000000000
--- a/multilib-testing/libtool-multilib/PKGBUILD
+++ /dev/null
@@ -1,74 +0,0 @@
-# $Id: PKGBUILD 77269 2012-10-08 13:37:49Z heftig $
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-# Contributor: Allan McRae <allan@archlinux.org>
-# Contributor: judd <jvinet@zeroflux.org>
-
-# NOTE: requires rebuild with each new gcc version
-
-pkgbase=libtool-multilib
-pkgname=(libtool-multilib lib32-libltdl)
-pkgver=2.4.2
-pkgrel=7
-pkgdesc="A generic library support script for multilib"
-arch=('x86_64')
-url="http://www.gnu.org/software/libtool"
-license=('GPL')
-_gccver=4.7.2
-makedepends=("gcc-multilib=$_gccver")
-options=('!libtool')
-source=(ftp://ftp.gnu.org/pub/gnu/libtool/libtool-${pkgver}.tar.xz{,.sig})
-md5sums=('2ec8997e0c07249eb4cbd072417d70fe'
- '1e6ba57420c82c663c85e745d11c7eed')
-
-build() {
- cd "$srcdir"
-
- rm -rf libtool-64 libtool-32
- mv libtool-$pkgver libtool-64
- cp -a libtool-64 libtool-32
-
- msg2 "Building libtool-64..."
- cd "$srcdir/libtool-64"
- ./configure --prefix=/usr
- make
-
- msg2 "Building libtool-32..."
- export CC="gcc -m32"
- export CXX="g++ -m32"
-
- cd "$srcdir/libtool-32"
- ./configure --prefix=/usr --libdir=/usr/lib32
- make
-}
-
-check() {
- cd "$srcdir/libtool-64"
- make check
- cd "$srcdir/libtool-32"
- make check
-}
-
-package_libtool-multilib() {
- depends=('sh' "libltdl=$pkgver" 'tar' "gcc-multilib=$_gccver" "lib32-libltdl=$pkgver")
- groups=('multilib-devel')
- install=libtool.install
- provides=("libtool=$pkgver-$pkgrel")
- conflicts=(libtool)
-
- cd "$srcdir/libtool-64"
-
- make DESTDIR=${pkgdir} install-binSCRIPTS install-man install-info \
- install-data-local
- rm -rf ${pkgdir}/usr/share/libtool/libltdl/
-}
-
-package_lib32-libltdl() {
- pkgdesc="A system independent dlopen wrapper for GNU libtool (32-bit)"
- depends=(lib32-glibc libltdl)
- replaces=(lib32-libtool)
- provides=("lib32-libtool=$pkgver-$pkgrel")
- conflicts=(lib32-libtool)
-
- cd "$srcdir/libtool-32"
- make DESTDIR="$pkgdir" install-libLTLIBRARIES
-}
diff --git a/multilib-testing/libtool-multilib/libtool.install b/multilib-testing/libtool-multilib/libtool.install
deleted file mode 100644
index f4f700705..000000000
--- a/multilib-testing/libtool-multilib/libtool.install
+++ /dev/null
@@ -1,22 +0,0 @@
-infodir=usr/share/info
-filelist=(libtool.info libtool.info-1 libtool.info-2)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/multilib-testing/wine/PKGBUILD b/multilib-testing/wine/PKGBUILD
deleted file mode 100644
index 6bffe1ffb..000000000
--- a/multilib-testing/wine/PKGBUILD
+++ /dev/null
@@ -1,154 +0,0 @@
-# $Id: PKGBUILD 77392 2012-10-09 14:39:41Z bluewind $
-# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
-# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
-# Contributor: Eduardo Romero <eduardo@archlinux.org>
-# Contributor: Giovanni Scafora <giovanni@archlinux.org>
-
-pkgname=wine
-pkgver=1.5.14
-pkgrel=2
-
-_pkgbasever=${pkgver/rc/-rc}
-
-source=(http://prdownloads.sourceforge.net/$pkgname/$pkgname-$_pkgbasever.tar.bz2{,.sign})
-md5sums=('f84c54bd7422328e96b6cf14ee6e163c'
- 'dd0c87e2dea529f0c898fe2ffa5390ce')
-
-pkgdesc="A compatibility layer for running Windows programs"
-url="http://www.winehq.com"
-arch=(i686 x86_64)
-license=(LGPL)
-install=wine.install
-
-depends=(
- fontconfig lib32-fontconfig
- mesa lib32-mesa
- libxcursor lib32-libxcursor
- libxrandr lib32-libxrandr
- libxdamage lib32-libxdamage
- libxi lib32-libxi
- gettext lib32-gettext
- glu lib32-glu
- desktop-file-utils
-)
-
-makedepends=(autoconf ncurses bison perl fontforge flex prelink
- 'gcc>=4.5.0-2' 'gcc-multilib>=4.5.0-2'
- giflib lib32-giflib
- libpng lib32-libpng
- gnutls lib32-gnutls
- libxinerama lib32-libxinerama
- libxcomposite lib32-libxcomposite
- libxmu lib32-libxmu
- libxxf86vm lib32-libxxf86vm
- libxml2 lib32-libxml2
- libldap lib32-libldap
- lcms lib32-lcms
- mpg123 lib32-mpg123
- openal lib32-openal
- v4l-utils lib32-v4l-utils
- alsa-lib lib32-alsa-lib
- libxcomposite lib32-libxcomposite
- oss
- samba
-)
-
-optdepends=(
- giflib lib32-giflib
- libpng lib32-libpng
- libldap lib32-libldap
- gnutls lib32-gnutls
- lcms lib32-lcms
- libxml2 lib32-libxml2
- mpg123 lib32-mpg123
- openal lib32-openal
- v4l-utils lib32-v4l-utils
- libpulse lib32-libpulse
- alsa-plugins lib32-alsa-plugins
- alsa-lib lib32-alsa-lib
- libjpeg-turbo lib32-libjpeg-turbo
- libxcomposite lib32-libxcomposite
- oss cups
- samba
-)
-
-if [[ $CARCH == i686 ]]; then
- # Strip lib32 etc. on i686
- depends=(${depends[@]/*32-*/})
- makedepends=(${makedepends[@]/*32-*/})
- makedepends=(${makedepends[@]/*-multilib*/})
- optdepends=(${optdepends[@]/*32-*/})
-else
- provides=("bin32-wine=$pkgver" "wine-wow64=$pkgver")
- conflicts=('bin32-wine' 'wine-wow64')
- replaces=('bin32-wine')
-fi
-
-build() {
- cd "$srcdir"
-
- # Allow ccache to work
- mv $pkgname-$_pkgbasever $pkgname
-
- # Get rid of old build dirs
- rm -rf $pkgname-{32,64}-build
- mkdir $pkgname-32-build
-
- # These additional CFLAGS solve FS#27662
- export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0"
- export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0"
-
- if [[ $CARCH == x86_64 ]]; then
- msg2 "Building Wine-64..."
-
- mkdir $pkgname-64-build
- cd "$srcdir/$pkgname-64-build"
- ../$pkgname/configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --libdir=/usr/lib \
- --with-x \
- --enable-win64
-
- make
-
- _wine32opts=(
- --libdir=/usr/lib32
- --with-wine64="$srcdir/$pkgname-64-build"
- )
-
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
- fi
-
- msg2 "Building Wine-32..."
- cd "$srcdir/$pkgname-32-build"
- ../$pkgname/configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --with-x \
- "${_wine32opts[@]}"
-
- # These additional CFLAGS solve FS#27560 and FS#23277
- make CFLAGS+="-mstackrealign -mincoming-stack-boundary=2" CXXFLAGS+="-mstackrealign -mincoming-stack-boundary=2"
-}
-
-package() {
- msg2 "Packaging Wine-32..."
- cd "$srcdir/$pkgname-32-build"
-
- if [[ $CARCH == i686 ]]; then
- make prefix="$pkgdir/usr" install
- else
- make prefix="$pkgdir/usr" \
- libdir="$pkgdir/usr/lib32" \
- dlldir="$pkgdir/usr/lib32/wine" install
-
- msg2 "Packaging Wine-64..."
- cd "$srcdir/$pkgname-64-build"
- make prefix="$pkgdir/usr" \
- libdir="$pkgdir/usr/lib" \
- dlldir="$pkgdir/usr/lib/wine" install
- fi
-}
-
-# vim:set ts=8 sts=2 sw=2 et:
diff --git a/multilib-testing/wine/wine.install b/multilib-testing/wine/wine.install
deleted file mode 100644
index 0548b7ffd..000000000
--- a/multilib-testing/wine/wine.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- update-desktop-database -q
- #echo "This wine package is wow64 enabled. This means it can run 32bit/64bit Windows apps on x86_64."
- #echo "If you are on x86_64, the default WINEARCH will be win64."
- #echo "This will cause a lot of Windows applications to malfunction even if they usually work in wine."
- #echo "Please create your ~/.wine with 'WINEARCH=win32 winecfg' if you are unsure and on x86_64."
- #echo "See the Arch wiki on wine for more information."
-}
-
-post_remove() {
- update-desktop-database -q
-}