summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/binutils/PKGBUILD16
-rw-r--r--core/coreutils/PKGBUILD28
-rw-r--r--core/expat/PKGBUILD16
-rw-r--r--core/gcc/PKGBUILD91
-rw-r--r--core/gcc/gcc-4.7.0-cloog-0.17.patch24
-rw-r--r--core/gcc/gcc_pure64.patch38
-rw-r--r--core/glibc/PKGBUILD77
-rw-r--r--core/glibc/glibc-2.15-confstr-local-buffer-extent.patch297
-rw-r--r--core/glibc/glibc-2.15-do-not-install-timezone-files-2.patch20
-rw-r--r--core/glibc/glibc-2.15-do-not-install-timezone-files.patch124
-rw-r--r--core/glibc/glibc-2.15-vfprintf-nargs.patch16
-rw-r--r--core/glibc/glibc-__i686.patch44
-rw-r--r--core/krb5/PKGBUILD12
-rw-r--r--core/krb5/krb5-1.10.1-gcc47.patch11
-rw-r--r--core/libtool/PKGBUILD6
-rw-r--r--core/syslinux/PKGBUILD6
-rw-r--r--core/wpa_actiond/PKGBUILD10
17 files changed, 659 insertions, 177 deletions
diff --git a/core/binutils/PKGBUILD b/core/binutils/PKGBUILD
index da5674bae..41df57604 100644
--- a/core/binutils/PKGBUILD
+++ b/core/binutils/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 145911 2012-01-04 01:24:51Z allan $
+# $Id: PKGBUILD 155399 2012-04-03 11:09:56Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
pkgver=2.22
-pkgrel=4
-_date=20111227
+pkgrel=5
+_date=20120323
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/binutils/"
license=('GPL')
groups=('base-devel')
-depends=('glibc>=2.14' 'zlib')
+depends=('glibc>=2.15' 'zlib')
checkdepends=('dejagnu')
options=('!libtool' '!distcc' '!ccache')
install=binutils.install
source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
-md5sums=('c2377089c15bb1a1bfaeca8d0e59dd4d')
+md5sums=('de2ac4298732827f8af706fc24020330')
mksource() {
mkdir ${pkgname}-${_date}
@@ -56,6 +56,11 @@ build() {
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() {
@@ -76,6 +81,7 @@ package() {
# 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}*
diff --git a/core/coreutils/PKGBUILD b/core/coreutils/PKGBUILD
index f825c5f29..da7ea13a7 100644
--- a/core/coreutils/PKGBUILD
+++ b/core/coreutils/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 146602 2012-01-14 00:30:45Z allan $
+# $Id: PKGBUILD 155401 2012-04-03 11:10:00Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=coreutils
-pkgver=8.15
-pkgrel=1
+pkgver=8.16
+pkgrel=2
pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL3')
url="http://www.gnu.org/software/coreutils"
groups=('base')
-depends=('glibc' 'shadow' 'pam' 'acl' 'gmp' 'libcap')
+depends=('glibc' 'pam' 'acl' 'gmp' 'libcap')
replaces=('mktemp')
backup=('etc/pam.d/su')
install=${pkgname}.install
@@ -19,8 +19,8 @@ source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
coreutils-uname.patch
coreutils-pam.patch
su.pam)
-md5sums=('094909fafa86110140b32e4948941545'
- '2cdd273d93a77d03739fa81d7c2acfe5'
+md5sums=('89b06f91634208dceba7b36ad1f9e8b9'
+ '63158176d5bb005c6871242c940eedf1'
'c4fcca138b6abf6d443d48a6f0cd8833'
'aad79a2aa6d566c375d7bdd1b0767278'
'fa85e5cce5d723275b14365ba71a8aad')
@@ -55,15 +55,13 @@ package() {
install -dm755 ${pkgdir}/{bin,usr/sbin}
# binaries required by FHS
- _fhs="cat chgrp chmod chown cp date dd df echo false ln ls \
- mkdir mknod mv pwd rm rmdir stty su sync true uname"
- mv ${_fhs} ${pkgdir}/bin
-
- # binaries required by various Arch scripts
- _bin="cut dir dircolors du install mkfifo readlink shred \
- sleep touch tr vdir"
- mv ${_bin} ${pkgdir}/bin
- ln -sf /bin/sleep ${pkgdir}/usr/bin/sleep
+ _fhs=('cat' 'chgrp' 'chmod' 'chown' 'cp' 'date' 'dd' 'df' 'echo' 'false'
+ 'ln' 'ls' 'mkdir' 'mknod' 'mv' 'pwd' 'rm' 'rmdir' 'stty' 'su' 'sync'
+ 'true' 'uname')
+ mv ${_fhs[@]} ${pkgdir}/bin
+
+ # makepkg uses the full path to this...
+ ln -s /usr/bin/du ${pkgdir}/bin/du
mv chroot ${pkgdir}/usr/sbin
install -Dm644 ${srcdir}/su.pam ${pkgdir}/etc/pam.d/su
diff --git a/core/expat/PKGBUILD b/core/expat/PKGBUILD
index 1864a6a2a..9a06455d7 100644
--- a/core/expat/PKGBUILD
+++ b/core/expat/PKGBUILD
@@ -1,27 +1,21 @@
-# $Id: PKGBUILD 142209 2011-11-06 08:56:53Z allan $
+# $Id: PKGBUILD 155403 2012-04-03 11:10:06Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Committer: Judd Vinet <jvinet@zeroflux.org>
pkgname=expat
-pkgver=2.0.1
-pkgrel=7.1
+pkgver=2.1.0
+pkgrel=1
pkgdesc="An XML parser library"
arch=('i686' 'x86_64' 'mips64el')
url="http://expat.sourceforge.net/"
license=('custom')
depends=('glibc')
options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz
- CVE-2009-3560.patch
- CVE-2009-3720.patch)
-md5sums=('ee8b492592568805593f81f8cdf2a04c'
- '50603cac0f03aabc7087415251f592be'
- 'f3eeb796f28945899216b815e5901996')
+source=(http://downloads.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz)
+md5sums=('dd7dab7a5fea97d2a6a43f511449b7cd')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- patch -Np1 -i $srcdir/CVE-2009-3560.patch
- patch -Np1 -i $srcdir/CVE-2009-3720.patch
./configure --prefix=/usr --mandir=/usr/share/man
make
}
diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD
index 699839d85..647ce04f3 100644
--- a/core/gcc/PKGBUILD
+++ b/core/gcc/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 151925 2012-03-04 10:58:06Z allan $
+# $Id: PKGBUILD 155405 2012-04-03 11:10:13Z allan $
# Maintainer: 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
-if [[ "${CARCH}" != "mips64el" ]]; then
+if [ "${CARCH}" != "mips64el" ]; then
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
else
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc')
fi
-pkgver=4.6.3
-pkgrel=1
-#_snapshot=4.6-20120120
-_libstdcppmanver=20111215 # Note: check source directory name when updating this
+pkgver=4.7.0
+pkgrel=3
+_snapshot=4.7-20120324
+_libstdcppmanver=20120307 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'LGPL' 'FDL' 'custom')
@@ -24,19 +24,12 @@ else
fi
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
+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.patch
- gcc_mips64el_lib.patch
- gcc-hash-style-both.patch
+ gcc_mips64el_lib.patch
gcc-4.6.2-cloog-0.17.patch)
-md5sums=('773092fe5194353b02bb0110052a972e'
- '450772ce32daed97d7383199f8797f33'
- '4030ee1c08dd1e843c0225b772360e76'
- '67e337993d821d72fccacbed52d48c34'
- '4df25b623799b148a0703eaeec8fdf3f'
- '6d9939a2e667376031679ac9f9c49263')
if [ -n "${_snapshot}" ]; then
_basedir="${srcdir}/gcc-${_snapshot}"
@@ -54,20 +47,21 @@ build() {
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
if [ "${CARCH}" = "x86_64" ]; then
- patch -Np1 -i ${srcdir}/gcc_pure64.patch
+ patch -p1 -i ${srcdir}/gcc_pure64.patch
elif [ "${CARCH}" = "mips64el" ]; then
patch -Np0 -i ${srcdir}/gcc_mips64el_lib.patch
+ patch -p1 -i ${srcdir}/gcc_pure64.patch
fi
- patch -Np0 -i ${srcdir}/gcc-hash-style-both.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
cd ${srcdir}
mkdir gcc-build && cd gcc-build
+# what's this for?
export BOOT_CFLAGS="$CFLAGS"
export CFLAGS_FOR_TARGET="$CFLAGS"
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
@@ -76,7 +70,9 @@ build() {
if [[ "${CARCH}" != "mips64el" ]]; then
languages=c,c++,ada,fortran,go,lto,objc,obj-c++
+ extra="--with-linker-hash-style=gnu"
else
+# mips64el doesn't support gnu.hash yet
languages=c,c++,fortran,lto,objc,obj-c++
fi
@@ -93,7 +89,9 @@ build() {
--with-ppl --enable-cloog-backend=isl \
--enable-lto --enable-gold --enable-ld=default \
--enable-plugin --with-plugin-ld=ld.gold \
+ $extra \
--disable-multilib --disable-libssp \
+ --disable-build-with-cxx --disable-build-poststage1-with-cxx \
--enable-checking=release
make
}
@@ -114,23 +112,24 @@ package_gcc-libs()
{
pkgdesc="Runtime libraries shipped by GCC"
groups=('base')
- depends=('glibc>=2.14')
+ depends=('glibc>=2.15')
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
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 -rf ${pkgdir}/usr/lib{,32}/{gcc/,libgfortran.spec}
+ rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
# remove static libraries
find ${pkgdir} -name *.a -delete
@@ -148,36 +147,32 @@ package_gcc()
install=gcc.install
cd gcc-build
+
+ 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...
- make -j1 DESTDIR=${pkgdir} install
+ # -f makes rm return 0 if the archive doesn't exist
rm -f $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*}
- rm -f $pkgdir/usr/lib{,32}/*.so*
- rm -f $pkgdir/usr/lib{,32}/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
- rm -f $pkgdir/usr/lib{,32}/libgfortran.spec
- rm -rf $pkgdir/usr/lib{,32}/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}
- rm -f $pkgdir/usr/lib{,32}/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h}
- rm -f $pkgdir/usr/lib{,32}/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1,libgfortranbegin.a}
- rm -rf $pkgdir/usr/lib{,32}/go
- rm -f $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath}.info
+ rm -f $pkgdir/usr/lib/*.so*
+ rm -f $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
+ rm -f $pkgdir/usr/lib/libgfortran.spec
+ rm -fr $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}
+ rm -f $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h}
+ rm -f $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1}
+ rm -f $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{libcaf_single,libgfortranbegin}.a
+ rm -fr $pkgdir/usr/lib/go
+ rm -f $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info
rm -f $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
rm -f $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
rm -f $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"
@@ -210,7 +205,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 \
@@ -231,9 +226,11 @@ package_gcc-fortran()
install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
# remove libraries included in gcc-libs
- rm -f ${pkgdir}/usr/lib{,32}/lib{gfortran,quadmath}.so*
+ rm -f ${pkgdir}/usr/lib/lib{gfortran,quadmath}.so*
rm -f ${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/RUNTIME.LIBRARY.EXCEPTION
@@ -267,6 +264,8 @@ package_gcc-ada()
make -j1 DESTDIR=$pkgdir ada.install-{common,info}
install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+ ln -s gcc ${pkgdir}/usr/bin/gnatgcc
+
# Install Runtime Library Exception
install -Dm644 ${_basedir}/COPYING.RUNTIME \
${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION
diff --git a/core/gcc/gcc-4.7.0-cloog-0.17.patch b/core/gcc/gcc-4.7.0-cloog-0.17.patch
new file mode 100644
index 000000000..c7146fa04
--- /dev/null
+++ b/core/gcc/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/core/gcc/gcc_pure64.patch b/core/gcc/gcc_pure64.patch
index 8c0baf8e2..a9b09bbcf 100644
--- a/core/gcc/gcc_pure64.patch
+++ b/core/gcc/gcc_pure64.patch
@@ -1,26 +1,26 @@
-diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
---- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400
-+++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
-@@ -49,8 +49,8 @@
- When the -shared link option is used a final link is not being
- done. */
+diff -Naur gcc-orig/gcc/config/i386/linux64.h gcc/gcc/config/i386/linux64.h
+--- gcc-orig/gcc/config/i386/linux64.h 2011-07-08 01:38:34.000000000 +1000
++++ gcc/gcc/config/i386/linux64.h 2011-07-24 19:48:05.000000000 +1000
+@@ -28,6 +28,6 @@
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #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_LINKER32 "/lib32/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
-
- #undef LINK_SPEC
- #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
-diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
---- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400
-+++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
-@@ -6,7 +6,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
+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+diff -Naur gcc-orig/gcc/config/i386/t-linux64 gcc/gcc/config/i386/t-linux64
+--- gcc-orig/gcc/config/i386/t-linux64 2011-07-08 01:38:34.000000000 +1000
++++ gcc/gcc/config/i386/t-linux64 2011-07-24 19:49:41.000000000 +1000
+@@ -34,8 +34,8 @@
+ 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
LIBGCC = stmp-multilib
- INSTALL_LIBGCC = install-multilib
diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD
index 175e7a3b2..9b5f36e95 100644
--- a/core/glibc/PKGBUILD
+++ b/core/glibc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 151829 2012-03-03 08:49:00Z allan $
+# $Id: PKGBUILD 155407 2012-04-03 11:10:25Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
@@ -6,7 +6,7 @@
pkgname=glibc
pkgver=2.15
-pkgrel=7
+pkgrel=10
_glibcdate=20111227
_glibcportsver=2.15
_glibcportsdate=20120127
@@ -15,16 +15,17 @@ arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/libc"
license=('GPL' 'LGPL')
groups=('base')
-depends=('linux-api-headers>=3.1.6' 'tzdata')
+depends=('linux-api-headers>=3.3' 'tzdata')
makedepends=('gcc>=4.6')
backup=(etc/gai.conf
etc/locale.gen
etc/nscd.conf)
options=('!strip')
install=glibc.install
-source=(http://mirrors.kernel.org/archlinux/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.xz
+source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.xz
http://repo.parabolagnulinux.org/other/glibc-ports-${_glibcportsver}_${_glibcportsdate}.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
@@ -51,41 +52,10 @@ source=(http://mirrors.kernel.org/archlinux/other/glibc/${pkgname}-${pkgver}_${_
glibc-2.15-non-signalling-comparisons.patch
glibc-2.15-rintf-rounding.patch
glibc-2.15-nearbyintf-rounding.patch
+ glibc-2.15-confstr-local-buffer-extent.patch
nscd
locale.gen.txt
locale-gen)
-md5sums=('6ffdf5832192b92f98bdd125317c0dfc'
- '935995663b89924a98d20a636045949a'
- '4dadb9203b69a3210d53514bb46f41c3'
- '40cd342e21f71f5e49e32622b25acc52'
- 'e60e33591c9ec1447e4cddadcbb9cf3a'
- '6970bcfeb3bf88913436d5112d16f588'
- 'c5de2a946215d647c8af5432ec4b0da0'
- '55febbb72139ac7b65757df085024b83'
- '31f415b41197d85d3bbee3d1eecd06a3'
- 'b3526cbd5e29773560dba725db99af5a'
- '3c219ddfb619b6df903cac4cc42c611d'
- '7ae3e426251ae33e73dbad71f9c91378'
- 'f0782ddbf38e0b30ec6b85348816046f'
- '3d844b53b2dbb7c996e39c7ad932f55d'
- '41ae047ac88e8f6f547c70b0a0bc3b72'
- 'fccb89f6628f59752278e125c35941f8'
- 'c4cd34f20ccd37817f6c1374bd4ee68e'
- '94b61302a7ca6c5764d013dc7738fcfe'
- 'a9ffadcfd2d357f91fee0b861fd4a7c6'
- '2c46b8e294de24c531f2253ff69aeef3'
- '7a2998a04ebfcf8bf820540f490ce714'
- '0d77d20fa7fe2f87ad945cb9edb4d91d'
- 'bfdefac3d705f41fbf84b1de1dc945af'
- 'dded423e264cdd178500f3e8ad62fe66'
- '340deaa582a95ddde86edb624c3bfea0'
- '6bbac50e6ff82187654e6a0a7bd849e7'
- 'c483504cf404ed0b44480af627813a97'
- '1419d61fd1dbc6cdc48bb59da86fa66f'
- '7ff501435078b1a2622124fbeaafc921'
- 'b587ee3a70c9b3713099295609afde49'
- '07ac979b6ab5eeb778d55f041529d623'
- '476e9113489f93b348b21e144b6a8fcf')
mksource() {
git clone http://sourceware.org/git/glibc.git
@@ -110,11 +80,13 @@ 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
- # 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...
+ # undefine __i686
+ # http://sourceware.org/glibc/wiki/Release/2.15#Build_Failures
patch -p1 -i ${srcdir}/glibc-__i686.patch
# http://www.exploit-db.com/exploits/15274/
@@ -127,9 +99,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
@@ -137,25 +109,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
@@ -196,8 +168,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
@@ -227,6 +198,11 @@ build() {
sed -i "s/_MIPS_SIM_ABIN32/_MIPS_SIM_NABI32/" ports/sysdeps/unix/sysv/linux/mips/Makefile
fi
+ # fix varaible scope issue in confstr
+ # http://sourceware.org/git/?p=glibc.git;a=commit;h=ac4c54f0
+ # http://sourceware.org/git/?p=glibc.git;a=commit;h=d6a403f9
+ patch -p1 -i ${srcdir}/glibc-2.15-confstr-local-buffer-extent.patch
+
install -dm755 ${pkgdir}/etc
touch ${pkgdir}/etc/ld.so.conf
@@ -236,6 +212,7 @@ 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"
elif [[ ${CARCH} = "mips64el" ]]; then
# mips64el is only supported out of tree.
diff --git a/core/glibc/glibc-2.15-confstr-local-buffer-extent.patch b/core/glibc/glibc-2.15-confstr-local-buffer-extent.patch
new file mode 100644
index 000000000..483b28532
--- /dev/null
+++ b/core/glibc/glibc-2.15-confstr-local-buffer-extent.patch
@@ -0,0 +1,297 @@
+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/core/glibc/glibc-2.15-do-not-install-timezone-files-2.patch b/core/glibc/glibc-2.15-do-not-install-timezone-files-2.patch
new file mode 100644
index 000000000..d28237f85
--- /dev/null
+++ b/core/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/core/glibc/glibc-2.15-do-not-install-timezone-files.patch b/core/glibc/glibc-2.15-do-not-install-timezone-files.patch
new file mode 100644
index 000000000..e4f29bc1a
--- /dev/null
+++ b/core/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/core/glibc/glibc-2.15-vfprintf-nargs.patch b/core/glibc/glibc-2.15-vfprintf-nargs.patch
index 6a37bde68..f8dde53f5 100644
--- a/core/glibc/glibc-2.15-vfprintf-nargs.patch
+++ b/core/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/core/glibc/glibc-__i686.patch b/core/glibc/glibc-__i686.patch
index 28d5dd424..16f84c536 100644
--- a/core/glibc/glibc-__i686.patch
+++ b/core/glibc/glibc-__i686.patch
@@ -1,13 +1,31 @@
-diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile
---- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000
-+++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000
-@@ -1,6 +1,7 @@
- # The mpn functions need a #define for asm syntax flavor.
--# Every i386 port in use uses gas syntax (I think).
--asm-CPPFLAGS += -DGAS_SYNTAX
-+# Every i386 port in use uses gas syntax (I think). Don't replace
-+# __i686 in __i686.get_pc_thunk.bx.
-+asm-CPPFLAGS += -DGAS_SYNTAX -U __i686
-
- # The i386 `long double' is a distinct type we support.
- long-double-fcts = yes
+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/core/krb5/PKGBUILD b/core/krb5/PKGBUILD
index de87fbe4a..6f4deb508 100644
--- a/core/krb5/PKGBUILD
+++ b/core/krb5/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 153617 2012-03-16 17:46:18Z stephane $
+# $Id: PKGBUILD 155426 2012-04-03 14:17:30Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
pkgname=krb5
pkgver=1.10.1
-pkgrel=1
+pkgrel=2
pkgdesc="The Kerberos network authentication system"
arch=('i686' 'x86_64' 'mips64el')
url="http://web.mit.edu/kerberos/"
@@ -15,10 +15,12 @@ replaces=('heimdal')
conflicts=('heimdal')
backup=('etc/krb5.conf' 'var/lib/krb5kdc/kdc.conf')
source=(http://web.mit.edu/kerberos/dist/${pkgname}/1.10/${pkgname}-${pkgver}-signed.tar
+ krb5-1.10.1-gcc47.patch
krb5-kadmind
krb5-kdc
krb5-kpropd)
sha1sums=('f9f3b77173f68b268b43e4f9c29bf7c9f3fd1f0e'
+ '78b759d566b1fdefd9bbcd06df14f07f12effe96'
'2aa229369079ed1bbb201a1ef72c47bf143f4dbe'
'77d2312ecd8bf12a6e72cc8fd871a8ac93b23393'
'7f402078fa65bb9ff1beb6cbbbb017450df78560')
@@ -28,6 +30,12 @@ build() {
tar zxvf ${pkgname}-${pkgver}.tar.gz
cd "${srcdir}/${pkgname}-${pkgver}/src"
+ # With gcc47 : deltat.c:1694:12: error: 'yylval' may be used uninitialized
+ # in this function [-Werror=maybe-uninitialized]
+ # As this is generated code, just ignore the complaint.
+ patch -Np2 -i ../../krb5-1.10.1-gcc47.patch
+ rm lib/krb5/krb/deltat.c
+
# FS#25384
sed -i "/KRB5ROOT=/s/\/local//" util/ac_check_krb5.m4
diff --git a/core/krb5/krb5-1.10.1-gcc47.patch b/core/krb5/krb5-1.10.1-gcc47.patch
new file mode 100644
index 000000000..ffd01c2a3
--- /dev/null
+++ b/core/krb5/krb5-1.10.1-gcc47.patch
@@ -0,0 +1,11 @@
+diff -Naur krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y krb5-1.10.1/src/lib/krb5/krb/x-deltat.y
+--- krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y 2011-09-06 07:34:32.000000000 -0400
++++ krb5-1.10.1/src/lib/krb5/krb/x-deltat.y 2012-03-24 13:15:11.543551318 -0400
+@@ -44,6 +44,7 @@
+ #ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wuninitialized"
++#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+ #endif
+
+ #include <ctype.h>
diff --git a/core/libtool/PKGBUILD b/core/libtool/PKGBUILD
index 2d079db10..bd90bcffc 100644
--- a/core/libtool/PKGBUILD
+++ b/core/libtool/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 151927 2012-03-04 10:58:09Z allan $
+# $Id: PKGBUILD 155409 2012-04-03 11:10:30Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
@@ -6,7 +6,7 @@
pkgname=('libtool' 'libltdl')
pkgver=2.4.2
-pkgrel=4.1
+pkgrel=5
pkgdesc="A generic library support script"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/libtool"
@@ -34,7 +34,7 @@ check() {
}
package_libtool() {
- depends=('sh' "libltdl=$pkgver" 'tar' 'gcc=4.6.3')
+ depends=('sh' "libltdl=$pkgver" 'tar' 'gcc=4.7.0')
groups=('base-devel')
install=libtool.install
diff --git a/core/syslinux/PKGBUILD b/core/syslinux/PKGBUILD
index adf769587..f8bcb9274 100644
--- a/core/syslinux/PKGBUILD
+++ b/core/syslinux/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 151789 2012-03-02 23:26:36Z pierre $
+# $Id: PKGBUILD 155387 2012-04-03 08:18:06Z thomas $
# Maintainer: Thomas Bächler <thomas@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=syslinux
pkgver=4.05
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64')
pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE"
url="http://syslinux.zytor.com/"
@@ -12,7 +12,7 @@ license=('GPL2')
depends=('perl' 'glibc')
optdepends=('perl-passwd-md5: For md5pass'
'perl-digest-sha1: For sha1pass'
- 'mtools: For mkdiskimage and fat support'
+ 'mtools: For mkdiskimage and syslinux support'
)
makedepends=('nasm')
backup=('boot/syslinux/syslinux.cfg')
diff --git a/core/wpa_actiond/PKGBUILD b/core/wpa_actiond/PKGBUILD
index 582bae1e3..99e000df3 100644
--- a/core/wpa_actiond/PKGBUILD
+++ b/core/wpa_actiond/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 142219 2011-11-06 10:21:32Z thomas $
+# $Id: PKGBUILD 155389 2012-04-03 08:18:09Z thomas $
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=wpa_actiond
-pkgver=1.1
-pkgrel=3.1
+pkgver=1.2
+pkgrel=1
pkgdesc="Daemon that connects to wpa_supplicant and handles connect and disconnect events"
arch=('i686' 'x86_64' 'mips64el')
url="http://projects.archlinux.org/wpa_actiond.git/"
license=('GPL')
depends=('glibc' 'wpa_supplicant')
source=(ftp://ftp.archlinux.org/other/wpa_actiond/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('d50a49cb5d56c31345d18e58f017b4ff923e8959a7e4e709abd156744f1668c3')
+sha256sums=('578efa1141fbf1acb56efff8061f4ac7ab99f257f8a3e1588db51a8ce77ac2b5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- make CFLAGS="${CFLAGS}"
+ make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
}
package() {