summaryrefslogtreecommitdiff
path: root/multilib
diff options
context:
space:
mode:
Diffstat (limited to 'multilib')
-rw-r--r--multilib/binutils-multilib/PKGBUILD4
-rw-r--r--multilib/gcc-multilib/PKGBUILD19
-rw-r--r--multilib/lib32-glibc/PKGBUILD25
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() {