diff options
Diffstat (limited to 'multilib')
-rw-r--r-- | multilib/binutils-multilib/PKGBUILD | 4 | ||||
-rw-r--r-- | multilib/gcc-multilib/PKGBUILD | 19 | ||||
-rw-r--r-- | multilib/lib32-glibc/PKGBUILD | 25 |
3 files changed, 39 insertions, 9 deletions
diff --git a/multilib/binutils-multilib/PKGBUILD b/multilib/binutils-multilib/PKGBUILD index 549c084f0..8d1bbadc3 100644 --- a/multilib/binutils-multilib/PKGBUILD +++ b/multilib/binutils-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 50278 2011-06-27 16:01:59Z heftig $ +# $Id: PKGBUILD 54543 2011-08-20 07:14:17Z allan $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> @@ -6,7 +6,7 @@ pkgname=binutils-multilib pkgver=2.21.1 -pkgrel=1 +pkgrel=2 _date=20110627 pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib" arch=('x86_64') diff --git a/multilib/gcc-multilib/PKGBUILD b/multilib/gcc-multilib/PKGBUILD index d3125e7b8..5071a49b7 100644 --- a/multilib/gcc-multilib/PKGBUILD +++ b/multilib/gcc-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 51469 2011-07-09 18:11:54Z heftig $ +# $Id: PKGBUILD 54542 2011-08-20 07:14:14Z allan $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> @@ -8,7 +8,7 @@ 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.1 -pkgrel=2 +pkgrel=3 #_snapshot=4.6-20110603 _libstdcppmanver=20110201 # Note: check source directory name when updating this pkgdesc="The GNU Compiler Collection for multilib" @@ -67,6 +67,21 @@ build() { --enable-multilib --disable-libstdcxx-pch \ --enable-checking=release make + + # rebuild libssp without -fstack-protector and -D_FORTIFY_SOURCE=2 + # adjusting Makefile.in prior to build still results in these leaking through (yay libtool...) + cd $CHOST/libssp + sed -i -e "s#-fstack-protector#-fno-stack-protector#" \ + -e "s#-D_FORTIFY_SOURCE=2#-U_FORTIFY_SOURCE#" Makefile + make clean + make + + # rebuild 32-bit libssp + cd ../32/libssp + sed -i -e "s#-fstack-protector#-fno-stack-protector#" \ + -e "s#-D_FORTIFY_SOURCE=2#-U_FORTIFY_SOURCE#" Makefile + make clean + make } check() { diff --git a/multilib/lib32-glibc/PKGBUILD b/multilib/lib32-glibc/PKGBUILD index 276d465cd..c4b759ef9 100644 --- a/multilib/lib32-glibc/PKGBUILD +++ b/multilib/lib32-glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 50168 2011-06-25 17:22:07Z heftig $ +# $Id: PKGBUILD 54541 2011-08-20 07:14:05Z allan $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Allan McRae <allan@archlinux.org> @@ -9,14 +9,14 @@ _pkgbasename=glibc pkgname=lib32-$_pkgbasename pkgver=2.14 -pkgrel=4 +pkgrel=5 _glibcdate=20110617 pkgdesc="GNU C Library for multilib" arch=('x86_64') url="http://www.gnu.org/software/libc" license=('GPL' 'LGPL') depends=("glibc>=$pkgver") -makedepends=('gcc-multilib>=4.4') +makedepends=('gcc-multilib>=4.6') options=('!strip' '!emptydirs') source=(http://mirrors.kernel.org/archlinux/other/glibc/${_pkgbasename}-${pkgver}_${_glibcdate}.tar.xz glibc-2.10-dont-build-timezone.patch @@ -88,12 +88,16 @@ build() { mkdir glibc-build cd glibc-build + export CC="gcc -m32" + # Hack to fix NPTL issues with Xen, only required on 32bit platforms export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" echo "slibdir=/usr/lib32" >> configparms - export CC="gcc -m32" + # remove hardening options from CFLAGS for building libraries + CFLAGS=${CFLAGS/-fstack-protector/} + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} ${srcdir}/glibc/configure --prefix=/usr \ --libdir=/usr/lib32 --libexecdir=/usr/lib32 \ @@ -104,8 +108,19 @@ build() { --enable-bind-now --without-gd \ --without-cvs --disable-profile \ --disable-multi-arch i686-unknown-linux-gnu - + + # build libraries with hardening disabled + echo "build-programs=no" >> configparms + make + + # re-enable hardening for programs + sed -i "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() { |