summaryrefslogtreecommitdiff
path: root/multilib-testing
diff options
context:
space:
mode:
Diffstat (limited to 'multilib-testing')
-rw-r--r--multilib-testing/binutils-multilib/PKGBUILD85
-rw-r--r--multilib-testing/binutils-multilib/binutils.install17
-rw-r--r--multilib-testing/gcc-multilib/PKGBUILD78
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch24
-rw-r--r--multilib-testing/gcc-multilib/gcc_pure64-multilib.patch38
-rw-r--r--multilib-testing/lib32-glibc/PKGBUILD36
-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-vfprintf-nargs.patch16
-rw-r--r--multilib-testing/libtool-multilib/PKGBUILD8
10 files changed, 361 insertions, 85 deletions
diff --git a/multilib-testing/binutils-multilib/PKGBUILD b/multilib-testing/binutils-multilib/PKGBUILD
new file mode 100644
index 000000000..2697ece62
--- /dev/null
+++ b/multilib-testing/binutils-multilib/PKGBUILD
@@ -0,0 +1,85 @@
+# $Id: PKGBUILD 68429 2012-03-24 13:23:39Z 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
+
+pkgname=binutils-multilib
+pkgver=2.22
+pkgrel=5
+_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.15' 'zlib')
+makedepends=('dejagnu' 'gcc-multilib') # Make sure we compile this with gcc-multilib
+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 \
+ --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
+ make -k -j1 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
new file mode 100644
index 000000000..8bf9f3a47
--- /dev/null
+++ b/multilib-testing/binutils-multilib/binutils.install
@@ -0,0 +1,17 @@
+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
index ea9bf7b80..adb5fbe05 100644
--- a/multilib-testing/gcc-multilib/PKGBUILD
+++ b/multilib-testing/gcc-multilib/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 66975 2012-03-03 03:50:38Z heftig $
+# $Id: PKGBUILD 68430 2012-03-24 13:40:21Z heftig $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
@@ -7,10 +7,10 @@
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.6.3
-pkgrel=1
+pkgver=4.7.0
+pkgrel=2
#_snapshot=4.6-20120120
-_libstdcppmanver=20111215
+_libstdcppmanver=20120307 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection for multilib"
arch=('x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
@@ -21,15 +21,13 @@ 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++-man.${_libstdcppmanver}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
gcc_pure64-multilib.patch
- gcc-hash-style-both.patch
- gcc-4.6.2-cloog-0.17.patch)
-md5sums=('773092fe5194353b02bb0110052a972e'
- '450772ce32daed97d7383199f8797f33'
- '7da5b7ab75b3c29993f953b18bc38579'
- '4df25b623799b148a0703eaeec8fdf3f'
- '6d9939a2e667376031679ac9f9c49263')
+ gcc-4.7.0-cloog-0.17.patch)
+md5sums=('2a0f1d99fda235c29d40b561f81d9a77'
+ '489d2f5311535800a120efd8d18db719'
+ 'ec24c32d3d1030c2bc8cb2ad2d1dc629'
+ '575f7d17b022e609447a590e481b18b5')
if [ -n "${_snapshot}" ]; then
_basedir="${srcdir}/gcc-${_snapshot}"
@@ -46,11 +44,10 @@ build() {
# Do not run fixincludes
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
- patch -Np1 -i ${srcdir}/gcc_pure64-multilib.patch
- patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch
+ patch -p1 -i ${srcdir}/gcc_pure64-multilib.patch
# compatibility with latest cloog
- patch -Np1 -i ${srcdir}/gcc-4.6.2-cloog-0.17.patch
+ patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch
echo ${pkgver} > gcc/BASE-VER
@@ -70,7 +67,9 @@ build() {
--with-ppl --enable-cloog-backend=isl \
--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 --with-fpmath=sse
make
}
@@ -90,14 +89,14 @@ check() {
package_gcc-libs-multilib()
{
pkgdesc="Runtime libraries shipped by GCC for multilib"
- depends=('glibc>=2.14' "lib32-gcc-libs=$pkgver-$pkgrel")
+ depends=('glibc>=2.15' "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; do
+ 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
@@ -108,10 +107,10 @@ package_gcc-libs-multilib()
make -j1 DESTDIR=${pkgdir} install-target-libobjc
# remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
- rm -rf ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
+ rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
# remove stuff in lib32-gcc-libs
- rm -rf ${pkgdir}/usr/lib32
+ rm -r ${pkgdir}/usr/lib32
# remove static libraries
find ${pkgdir} -name *.a -delete
@@ -124,11 +123,11 @@ package_gcc-libs-multilib()
package_lib32-gcc-libs()
{
pkgdesc="Runtime libraries shipped by GCC (32-bit)"
- depends=('lib32-glibc>=2.14' "gcc-libs>=$pkgver")
+ depends=('lib32-glibc>=2.15' "gcc-libs>=$pkgver")
cd gcc-build
make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared
- for lib in libmudflap libgomp libstdc++-v3/src; do
+ for lib in libmudflap libgomp libstdc++-v3/src libitm; do
make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
done
@@ -140,8 +139,8 @@ package_lib32-gcc-libs()
rm ${pkgdir}/usr/lib32/libgfortran.spec
# remove stuff in gcc-libs-multilib
- rm -rf ${pkgdir}/usr/lib
- rm -rf ${pkgdir}/usr/share/info
+ rm -r ${pkgdir}/usr/lib
+ rm -r ${pkgdir}/usr/share/info
# remove static libraries
find ${pkgdir} -name *.a -delete
@@ -162,35 +161,30 @@ package_gcc-multilib()
cd gcc-build
- # unfortunately it is much, much easier to install the lot and clean-up the mess...
make -j1 DESTDIR=${pkgdir} install
+
+ install -d $pkgdir/usr/share/gdb/auto-load
+ mv $pkgdir/usr/{lib/libstdc++.so.6.0.17-gdb.py,share/gdb/auto-load}
+
+ # 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,{,32/}libgfortranbegin.a}
+ 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}.info
+ 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 require these symlinks
install -dm755 ${pkgdir}/lib
- ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp
- ln -sf gcc ${pkgdir}/usr/bin/cc
- ln -sf g++ ${pkgdir}/usr/bin/c++
-
- # install gengtype for plugin support
- install -m755 gcc/build/gengtype $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/
- install -m644 gcc/gtype.state $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/
-
- # plugin headers are all over the place at the moment...
- for i in common objc pragma pretty-print; do
- ln -sf ../c-$i.h $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/plugin/include/c-family/c-$i.h
- done
+ ln -s /usr/bin/cpp ${pkgdir}/lib/cpp
+ ln -s gcc ${pkgdir}/usr/bin/cc
# POSIX conformance launcher scripts for c89 and c99
cat > $pkgdir/usr/bin/c89 <<"EOF"
@@ -223,7 +217,7 @@ EOF
# install the libstdc++ man pages
install -dm755 ${pkgdir}/usr/share/man/man3
- install -m644 ${srcdir}/man3/* ${pkgdir}/usr/share/man/man3/
+ install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/
# Install Runtime Library Exception
install -Dm644 ${_basedir}/COPYING.RUNTIME \
@@ -248,7 +242,9 @@ package_gcc-fortran-multilib()
# 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
@@ -290,6 +286,8 @@ package_gcc-ada-multilib()
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
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
new file mode 100644
index 000000000..c7146fa04
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch
@@ -0,0 +1,24 @@
+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_pure64-multilib.patch b/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
index 73df6b873..b5576ae0e 100644
--- a/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
+++ b/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
@@ -1,24 +1,22 @@
-diff -u -r gcc-4.6-20111223/gcc/config/i386/linux64.h gcc-4.6-20111223-pure64/gcc/config/i386/linux64.h
---- gcc-4.6-20111223/gcc/config/i386/linux64.h 2011-09-08 11:12:35.000000000 +0200
-+++ gcc-4.6-20111223-pure64/gcc/config/i386/linux64.h 2012-01-14 19:52:33.688573352 +0100
-@@ -63,7 +63,7 @@
- done. */
+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"
-
- #if TARGET_64BIT_DEFAULT
- #define SPEC_32 "m32"
-diff -u -r gcc-4.6-20111223/gcc/config/i386/t-linux64 gcc-4.6-20111223-pure64/gcc/config/i386/t-linux64
---- gcc-4.6-20111223/gcc/config/i386/t-linux64 2009-04-21 21:03:23.000000000 +0200
-+++ gcc-4.6-20111223-pure64/gcc/config/i386/t-linux64 2012-01-14 19:50:27.346242617 +0100
-@@ -25,7 +25,7 @@
-
- MULTILIB_OPTIONS = m64/m32
- MULTILIB_DIRNAMES = 64 32
--MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
-+MULTILIB_OSDIRNAMES = ../lib ../lib32
-
- LIBGCC = stmp-multilib
- INSTALL_LIBGCC = install-multilib
+ #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/lib32-glibc/PKGBUILD b/multilib-testing/lib32-glibc/PKGBUILD
index 72a563645..e6298fdc0 100644
--- a/multilib-testing/lib32-glibc/PKGBUILD
+++ b/multilib-testing/lib32-glibc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 66927 2012-03-01 17:16:36Z heftig $
+# $Id: PKGBUILD 68428 2012-03-24 13:21:15Z heftig $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
@@ -9,7 +9,7 @@
_pkgbasename=glibc
pkgname=lib32-$_pkgbasename
pkgver=2.15
-pkgrel=7
+pkgrel=8
_glibcdate=20111227
pkgdesc="GNU C Library for multilib"
arch=('x86_64')
@@ -19,7 +19,8 @@ depends=("glibc>=$pkgver")
makedepends=('gcc-multilib>=4.6')
options=('!strip' '!emptydirs')
source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcdate}.tar.xz
- glibc-2.10-dont-build-timezone.patch
+ glibc-2.15-do-not-install-timezone-files.patch
+ glibc-2.15-do-not-install-timezone-files-2.patch
glibc-__i686.patch
glibc-2.12.2-ignore-origin-of-privileged-program.patch
glibc-2.14-libdl-crash.patch
@@ -48,7 +49,8 @@ source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcda
glibc-2.15-nearbyintf-rounding.patch
lib32-glibc.conf)
md5sums=('6ffdf5832192b92f98bdd125317c0dfc'
- '4dadb9203b69a3210d53514bb46f41c3'
+ '7ef69c530a15106de93e4de2df2d393e'
+ 'b6c619e5cf91829a15ce34dccef676d5'
'40cd342e21f71f5e49e32622b25acc52'
'e60e33591c9ec1447e4cddadcbb9cf3a'
'6970bcfeb3bf88913436d5112d16f588'
@@ -69,7 +71,7 @@ md5sums=('6ffdf5832192b92f98bdd125317c0dfc'
'7a2998a04ebfcf8bf820540f490ce714'
'0d77d20fa7fe2f87ad945cb9edb4d91d'
'bfdefac3d705f41fbf84b1de1dc945af'
- 'dded423e264cdd178500f3e8ad62fe66'
+ '3443e89c1e98089cd6c3e3c23f0c3d85'
'340deaa582a95ddde86edb624c3bfea0'
'6bbac50e6ff82187654e6a0a7bd849e7'
'c483504cf404ed0b44480af627813a97'
@@ -81,9 +83,12 @@ build() {
cd ${srcdir}/glibc
# timezone data is in separate package (tzdata)
- patch -p1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch
+ # http://sourceware.org/git/?p=glibc.git;a=commit;h=482ff4da
+ patch -p1 -i ${srcdir}/glibc-2.15-do-not-install-timezone-files.patch
+ # http://sourceware.org/git/?p=glibc.git;a=commit;h=a458e7fe
+ patch -p1 -i ${srcdir}/glibc-2.15-do-not-install-timezone-files-2.patch
- # undefine __i686 for gcc <= 4.6
+ # undefine __i686
# http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
# fix in http://sourceware.org/git/?p=glibc.git;a=commit;h=d4a54ac6 requires additional backporting...
patch -p1 -i ${srcdir}/glibc-__i686.patch
@@ -98,9 +103,9 @@ build() {
# re-export RPC interface until libtirpc is ready as a replacement
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (fedora branch)
- patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch
+ patch -p1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (fedora branch)
- patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch
+ patch -p1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch
# fix res_query assertion
# http://sourceware.org/bugzilla/show_bug.cgi?id=13013
@@ -108,25 +113,25 @@ build() {
# fix up regcomp/regexec
# http://sourceware.org/git/?p=glibc.git;a=commit;h=2ba92745
- patch -Np1 -i ${srcdir}/glibc-2.15-regex.patch
+ patch -p1 -i ${srcdir}/glibc-2.15-regex.patch
# propriety nvidia crash - https://bugzilla.redhat.com/show_bug.cgi?id=737223
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0c95ab64 (fedora branch)
- patch -Np1 -i ${srcdir}/glibc-2.15-lddebug-scopes.patch
+ patch -p1 -i ${srcdir}/glibc-2.15-lddebug-scopes.patch
# revert commit c5a0802a - causes various hangs
# https://bugzilla.redhat.com/show_bug.cgi?id=769421
# Note: fedora may have actual fix (not submitted upstream yet...)
# http://pkgs.fedoraproject.org/gitweb/?p=glibc.git;a=blob_plain;f=glibc-rh552960-2.patch
- patch -Np1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch
+ patch -p1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch
# fix realloc usage in vfscanf
# http://sourceware.org/git/?p=glibc.git;a=commit;h=20b38e03
- patch -Np1 -i ${srcdir}/glibc-2.15-scanf.patch
+ patch -p1 -i ${srcdir}/glibc-2.15-scanf.patch
# fix ifunc relocations
# http://sourceware.org/git/?p=glibc.git;a=commit;h=6ee65ed6
- patch -Np1 -i ${srcdir}/glibc-2.15-ifunc.patch
+ patch -p1 -i ${srcdir}/glibc-2.15-ifunc.patch
# fix AVX detection
# http://sourceware.org/git/?p=glibc.git;a=commit;h=afc5ed09
@@ -167,8 +172,7 @@ build() {
patch -p1 -i ${srcdir}/glibc-2.15-feraiseexcept-plt.patch
# vfprintf nargs overflow - CVE-2012-0864
- # http://sourceware.org/bugzilla/show_bug.cgi?id=13656
- # http://sourceware.org/ml/libc-alpha/2012-02/msg00328.html
+ # http://sourceware.org/git/?p=glibc.git;a=commit;h=7c1f4834
patch -p1 -i ${srcdir}/glibc-2.15-vfprintf-nargs.patch
# avoid out ouf bounds read in __libc_res_nquerydomain
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
new file mode 100644
index 000000000..d28237f85
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files-2.patch
@@ -0,0 +1,20 @@
+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
new file mode 100644
index 000000000..e4f29bc1a
--- /dev/null
+++ b/multilib-testing/lib32-glibc/glibc-2.15-do-not-install-timezone-files.patch
@@ -0,0 +1,124 @@
+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-vfprintf-nargs.patch b/multilib-testing/lib32-glibc/glibc-2.15-vfprintf-nargs.patch
index 6a37bde68..f8dde53f5 100644
--- a/multilib-testing/lib32-glibc/glibc-2.15-vfprintf-nargs.patch
+++ b/multilib-testing/lib32-glibc/glibc-2.15-vfprintf-nargs.patch
@@ -97,7 +97,7 @@ index 0000000..13c66c0
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
-index 863cd5d..022e72b 100644
+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)
@@ -123,22 +123,26 @@ index 863cd5d..022e72b 100644
/* Positional parameters refer to arguments directly. This could
also determine the maximum number of arguments. Track the
-@@ -1698,13 +1702,33 @@ do_positional:
+@@ -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 (nargs > SIZE_MAX / bytes_per_arg)
++ if (__builtin_expect (nargs > SIZE_MAX / bytes_per_arg, 0))
+ {
++ __set_errno (ERANGE);
+ done = -1;
+ goto all_done;
+ }
- /* Allocate memory for the argument descriptions. */
+- /* 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
@@ -151,6 +155,8 @@ index 863cd5d..022e72b 100644
+ }
+ }
+
++ /* 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',
@@ -161,7 +167,7 @@ index 863cd5d..022e72b 100644
/* 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 +1997,8 @@ do_positional:
+@@ -1973,8 +2002,8 @@ do_positional:
}
all_done:
diff --git a/multilib-testing/libtool-multilib/PKGBUILD b/multilib-testing/libtool-multilib/PKGBUILD
index f81121e6b..ffe588144 100644
--- a/multilib-testing/libtool-multilib/PKGBUILD
+++ b/multilib-testing/libtool-multilib/PKGBUILD
@@ -1,5 +1,5 @@
-# $Id: PKGBUILD 66976 2012-03-03 03:51:25Z heftig $
-# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# $Id: PKGBUILD 68431 2012-03-24 13:41:08Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
@@ -8,12 +8,12 @@
pkgbase=libtool-multilib
pkgname=(libtool-multilib lib32-libltdl)
pkgver=2.4.2
-pkgrel=4
+pkgrel=5
pkgdesc="A generic library support script for multilib"
arch=('x86_64')
url="http://www.gnu.org/software/libtool"
license=('GPL')
-_gccver=4.6.3
+_gccver=4.7.0
makedepends=("gcc-multilib=$_gccver")
options=('!libtool')
source=(ftp://ftp.gnu.org/pub/gnu/libtool/libtool-${pkgver}.tar.xz{,.sig})