Commit 6c82ff19 authored by Giuseppe's avatar Giuseppe

toolchain paired with stable repos and new respin of the whole lib32 repo

parent 22a2b8de
......@@ -7,9 +7,9 @@
pkgname=binutils-multilib
_pkgname=binutils
pkgver=2.20.1
pkgver=2.21
pkgrel=2
_date=20100908
_date=20110421
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/"
......@@ -20,34 +20,45 @@ depends=('glibc>=2.12-1' 'zlib')
makedepends=('gcc-multilib') # Make sure we compile this with gcc-multilib
options=('!libtool' '!distcc' '!ccache')
install=binutils.install
source=(http://chakra-project.org/sources/${_pkgname}/${_pkgname}-${pkgver}_${_date}.tar.bz2)
md5sums=('c653cd51d2c23129cb010ac8c9ce0582')
source=(http://chakra-project.org/sources/${_pkgname}/${_pkgname}-${pkgver}_${_date}.tar.bz2
binutils-2.21-strip-segfault.patch)
md5sums=('efba28e707bd0149e0a2bdddb9ee08b3'
'98e8dfaf1c0ededa586823ebfb27825a')
build() {
cd ${srcdir}/binutils
# http://sourceware.org/bugzilla/show_bug.cgi?id=12632
patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch
cd ${srcdir}
mkdir build && cd build
CC="gcc -L`pwd`/bfd/.libs/"
if [ "${CARCH}" = "x86_64" ]; then
../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-64-bit-bfd
else
../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared
fi
# fix man files install path
sed -i -e "s:mandir \= \/usr\/share:mandir \= ${pkgdir}\/usr\/share:" ${srcdir}/build/Makefile || return 1
# fix info files install path
sed -i -e "s:infodir \= \/usr\/share:infodir \= ${pkgdir}\/usr\/share:" ${srcdir}/build/Makefile || return 1
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
# This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
make configure-host || return 1
make configure-host
make tooldir=${pkgdir}/usr || return 1
make tooldir=${pkgdir}/usr
}
check() {
cd ${srcdir}/binutils-build
# do not abort on errors - manually check log files
make -k -j1 check || true
}
package() {
cd ${srcdir}/build
cd ${srcdir}/binutils-build
make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
install -m644 ${srcdir}/include/libiberty.h ${pkgdir}/usr/include
# Add some useful headers
install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include
install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include
# Rebuild libiberty.a with -fPIC
make -C libiberty clean
......@@ -60,11 +71,13 @@ package() {
make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd
install -m644 bfd/libbfd.a ${pkgdir}/usr/lib
# Remove Windows/Novell specific man pages
rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
# Remove these symlinks, with binutils prereleases they are not ABI stable.
# 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/binutils/objcopy.c b/binutils/objcopy.c
index 15c4f95..b64f3d0 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -1,6 +1,6 @@
/* objcopy.c -- copy object file from input to output, optionally massaging it.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@@ -2024,6 +2024,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
struct stat buf;
int stat_status = 0;
bfd_boolean del = TRUE;
+ bfd_boolean ok_object;
/* Create an output file for this member. */
output_name = concat (dir, "/",
@@ -2061,44 +2062,42 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
l->obfd = NULL;
list = l;
- if (bfd_check_format (this_element, bfd_object))
+ ok_object = bfd_check_format (this_element, bfd_object);
+ if (!ok_object)
+ bfd_nonfatal_message (NULL, this_element, NULL,
+ _("Unable to recognise the format of file"));
+
+ /* PR binutils/3110: Cope with archives
+ containing multiple target types. */
+ if (force_output_target || !ok_object)
+ output_bfd = bfd_openw (output_name, output_target);
+ else
+ output_bfd = bfd_openw (output_name, bfd_get_target (this_element));
+
+ if (output_bfd == NULL)
{
- /* PR binutils/3110: Cope with archives
- containing multiple target types. */
- if (force_output_target)
- output_bfd = bfd_openw (output_name, output_target);
- else
- output_bfd = bfd_openw (output_name, bfd_get_target (this_element));
+ bfd_nonfatal_message (output_name, NULL, NULL, NULL);
+ status = 1;
+ return;
+ }
+
+ if (ok_object)
+ {
+ del = !copy_object (this_element, output_bfd, input_arch);
- if (output_bfd == NULL)
+ if (del && bfd_get_arch (this_element) == bfd_arch_unknown)
+ /* Try again as an unknown object file. */
+ ok_object = FALSE;
+ else if (!bfd_close (output_bfd))
{
bfd_nonfatal_message (output_name, NULL, NULL, NULL);
+ /* Error in new object file. Don't change archive. */
status = 1;
- return;
}
-
- del = ! copy_object (this_element, output_bfd, input_arch);
-
- if (! del
- || bfd_get_arch (this_element) != bfd_arch_unknown)
- {
- if (!bfd_close (output_bfd))
- {
- bfd_nonfatal_message (output_name, NULL, NULL, NULL);
- /* Error in new object file. Don't change archive. */
- status = 1;
- }
- }
- else
- goto copy_unknown_element;
}
- else
- {
- bfd_nonfatal_message (NULL, this_element, NULL,
- _("Unable to recognise the format of file"));
- output_bfd = bfd_openw (output_name, output_target);
-copy_unknown_element:
+ if (!ok_object)
+ {
del = !copy_unknown_object (this_element, output_bfd);
if (!bfd_close_all_done (output_bfd))
{
--
1.6.5.GIT
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
}
......@@ -8,30 +8,30 @@
pkgbase='gcc-multilib'
pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib')
pkgver=4.5.2
pkgrel=1
pkgver=4.5.3
pkgrel=2
#_snapshot=4.5-20100610
_libstdcppmanver=4.5.2 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection for multilib"
arch=('x86_64')
license=('GPL' 'LGPL' 'custom')
url="http://gcc.gnu.org"
makedepends=('binutils-multilib>=2.20.1' 'libmpc>=0.8.2-1' 'cloog-ppl>=0.15.9-2' 'elfutils' 'gcc-ada-multilib'
makedepends=('binutils-multilib>=2.20.2' 'libmpc>=0.8.2-1' 'cloog-ppl>=0.15.9-2' 'elfutils' 'gcc-ada-multilib'
'glibc>=2.11.1-2' 'lib32-glibc>=2.12.1')
options=('!libtool' '!emptydirs')
source=(http://gcc.fyxm.net/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,ada,testsuite}-${pkgver}.tar.bz2
source=(http://gcc.fyxm.net/releases/gcc-${pkgver}/gcc-{ada,core,fortran,g++,objc,testsuite}-${pkgver}.tar.bz2
#ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,ada,testsuite}-${_snapshot}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api-${_libstdcppmanver}.man.tar.bz2
gcc_pure64.patch
gcc-hash-style-both.patch)
md5sums=('aa9e36bec080452372bfba793428ee82'
'9821f1c61e43755866861485ff364e90'
'8cc545fda70085c78076d79e0e23962a'
'3561c6585e9062105cc3591a8c39d7dc'
'ee24023972f337fbc22202d6d219a727'
'29ae615438aba0bd3384b94bac54c235'
md5sums=('318aa27364afc9e0109027007fada947' # gcc-ada-4.5.3.tar.bz2
'98be5094b5b5a7b9087494291bc7f522' # gcc-core-4.5.3.tar.bz2
'351fda9e20552357bb8f64e74d2f19f1' # gcc-fortran-4.5.3.tar.bz2
'2c78bf1d5f08a0b116f280de88d3ffe7' # gcc-g++-4.5.3.tar.bz2
'9bb53e37e589515ba55979a19be9c036' # gcc-objc-4.5.3.tar.bz2
'e7b2eeb71a001a88f0c8435a40c10073' # gcc-testsuite-4.5.3.tar.bz2
'2776eab5ebb7f9cc62dd2199a3a24382'
'22cec272f9cc2801d3cd348feaca888b'
'4030ee1c08dd1e843c0225b772360e76'
'6fd395bacbd7b6e47c7b74854b478363')
......@@ -85,7 +85,7 @@ build() {
package_gcc-libs-multilib()
{
pkgdesc="Runtime libraries shipped by GCC for multilib"
depends=('glibc>=2.11.1-2' "lib32-gcc-libs=$pkgver-$pkgrel")
depends=('glibc>=2.12.2' "lib32-gcc-libs=$pkgver-$pkgrel")
provides=("gcc-libs=$pkgver-$pkgrel")
conflicts=('gcc-libs')
install=gcc-libs.install
......@@ -116,7 +116,7 @@ package_gcc-libs-multilib()
package_lib32-gcc-libs()
{
pkgdesc="Runtime libraries shipped by GCC (32-bit)"
depends=('lib32-glibc>=2.12.1' "gcc-libs")
depends=('lib32-glibc>=2.12.2' "gcc-libs")
cd gcc-build
make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared
......
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,7 +49,7 @@
@@ -49,8 +49,8 @@
When the -shared link option is used a final link is not being
done. */
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#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
......
# Lib32 Packages for Chakra, part of chakra-project.org
#
# maintainer (x86_64): Giuseppe Calà <jiveaxe@gmail.com>
# maintainer (x86_64): Anke Boersma <abveritas[at]chakra-project[dot]org>
pkgname=lib32-acl
pkgver=2.2.49
pkgrel=2
pkgdesc="Access control list libraries (32-bit)"
arch=('x86_64')
url="http://savannah.nongnu.org/projects/acl"
license=('LGPL')
depends=('lib32-attr' 'acl')
makedepends=('gcc-multilib')
options=('!libtool')
source=(http://mirrors.zerg.biz/nongnu/acl/acl-${pkgver}.src.tar.gz)
sha256sums=('b9c7f4752e4ef4930a62fa5aa0d7efe1cba2b5a3a2d6ee2b45c0a70c72b7e5d5')
build() {
cd "${srcdir}/acl-${pkgver}"
export CC="gcc -m32"
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
export INSTALL_USER=root INSTALL_GROUP=root
./configure --prefix=/usr --libdir=/usr/lib32 --libexecdir=/usr/lib32
make
}
package() {
cd "${srcdir}/acl-${pkgver}"
make DIST_ROOT="${pkgdir}" install install-lib install-dev
rm -rf ${pkgdir}/usr/{bin,include,share}
}
......@@ -6,7 +6,7 @@
_pkgbasename=alsa-lib
pkgname=lib32-${_pkgbasename}
pkgver=1.0.24.1
pkgrel=1
pkgrel=2
pkgdesc="An alternative implementation of Linux sound support (32 bit)"
arch=('x86_64')
url="http://www.alsa-project.org"
......
......@@ -6,7 +6,7 @@
_pkgbasename=alsa-oss
pkgname=lib32-${_pkgbasename}
pkgver=1.0.17
pkgrel=2
pkgrel=3
pkgdesc="OSS compatibility library (32 bit)"
arch=(x86_64)
license=('GPL')
......
......@@ -7,7 +7,7 @@
_pkgbasename=alsa-plugins
pkgname=lib32-$_pkgbasename
pkgver=1.0.24
pkgrel=1
pkgrel=2
pkgdesc="Extra alsa plugins (32-bit)"
arch=(x86_64)
url="http://www.alsa-project.org"
......
......@@ -6,7 +6,7 @@
_pkgbasename=atk
pkgname=lib32-$_pkgbasename
pkgver=1.32.0
pkgrel=1
pkgrel=3
pkgdesc="A library providing a set of interfaces for accessibility (32-bit)"
arch=('x86_64')
license=('LGPL')
......
......@@ -6,7 +6,7 @@
_pkgbasename=attr
pkgname=lib32-$_pkgbasename
pkgver=2.4.44
pkgrel=1
pkgrel=2
pkgdesc="Extended attribute support library for ACL support (32-bit)"
arch=(x86_64)
url="http://oss.sgi.com/projects/xfs/"
......
......@@ -6,7 +6,7 @@
_pkgbasename=audiofile
pkgname=lib32-$_pkgbasename
pkgver=0.2.7
pkgrel=1
pkgrel=2
pkgdesc="Silicon Graphics Audio File Library (32-bit)"
arch=('x86_64')
url="http://www.68k.org/~michael/audiofile/"
......
......@@ -6,7 +6,7 @@
_pkgbasename=cairo
pkgname=lib32-$_pkgbasename
pkgver=1.10.2
pkgrel=1
pkgrel=2
pkgdesc="Cairo vector graphics library (32-bit)"
arch=('x86_64')
url="http://cairographics.org/"
......
......@@ -6,7 +6,7 @@
_pkgsourcename=catalyst-utils
pkgname=lib32-$_pkgsourcename
pkgver=11.3
pkgrel=1
pkgrel=2
pkgdesc="AMD/ATI catalyst driver utilities and libraries. (32-bit)"
url="http://www.ati.amd.com"
arch=(x86_64)
......
......@@ -6,7 +6,7 @@
_pkgbasename=curl
pkgname=lib32-$_pkgbasename
pkgver=7.21.3
pkgrel=1
pkgrel=2
pkgdesc="An URL retrieval utility and library (32-bit)"
arch=('x86_64')
url="http://curl.haxx.se"
......
......@@ -6,7 +6,7 @@
_pkgbasename=db
pkgname=lib32-$_pkgbasename
pkgver=4.8.26
pkgrel=1
pkgrel=2
pkgdesc="The Berkeley DB embedded database system (32-bit)"
arch=('x86_64')
url="http://www.oracle.com/technology/software/products/berkeley-db/index.html"
......
......@@ -6,7 +6,7 @@
pkgname=lib32-dbus-core
_pkgbasename=dbus-core
pkgver=1.4.0
pkgrel=1
pkgrel=2
pkgdesc="Freedesktop.org message bus system (32-bit)"
arch=('x86_64')
url="http://www.freedesktop.org/Software/dbus"
......
......@@ -7,7 +7,7 @@ _pkgbasename=dbus-glib
pkgname=lib32-${_pkgbasename}
pkgver=0.92
pkgrel=2
pkgrel=3
pkgdesc="GLib bindings for DBUS (32-bit)"
arch=(x86_64)
license=('GPL')
......
......@@ -6,7 +6,7 @@
_pkgbasename=e2fsprogs
pkgname=lib32-e2fsprogs
pkgver=1.41.11
pkgrel=1
pkgrel=2
pkgdesc="Ext2 filesystem libraries (32-bit)"
arch=(x86_64)
license=('GPL' 'LGPL' 'MIT')
......
......@@ -6,7 +6,7 @@
_pkgbasename=expat
pkgname=lib32-$_pkgbasename
pkgver=2.0.1
pkgrel=1
pkgrel=2
pkgdesc="An XML Parser library written in C (32 bit)"
arch=('x86_64')
url="http://expat.sourceforge.net/"
......
......@@ -6,7 +6,7 @@
_pkgbasename=flac
pkgname=lib32-$_pkgbasename
pkgver=1.2.1
pkgrel=1
pkgrel=2
pkgdesc="Free Lossless Audio Codec (32-bit)"
arch=('x86_64')
url="http://flac.sourceforge.net/"
......
......@@ -6,7 +6,7 @@
_pkgbasename=fontconfig
pkgname=lib32-$_pkgbasename
pkgver=2.8.0
pkgrel=1
pkgrel=2
pkgdesc="A library for configuring and customizing font access (32-bit)"
arch=(x86_64)
url="http://www.fontconfig.org/release/"
......
......@@ -6,7 +6,7 @@
_pkgbasename=freetype2
pkgname=lib32-$_pkgbasename
pkgver=2.4.3
pkgrel=1
pkgrel=2
pkgdesc="TrueType font rendering library (32-bit)"
arch=(x86_64)
license=('GPL')
......
......@@ -6,7 +6,7 @@
_pkgbasename=gdk-pixbuf2
pkgname=lib32-$_pkgbasename
pkgver=2.22.1
pkgrel=1
pkgrel=2
pkgdesc="An image loading library for gtk2 (32-bit)"
arch=('i686' 'x86_64')
url="http://www.gtk.org/"
......
......@@ -6,7 +6,7 @@
_pkgbasename=giflib
pkgname=lib32-$_pkgbasename
pkgver=4.1.6
pkgrel=1
pkgrel=2
pkgdesc="A library for reading and writing gif images (32-bit)"
url="http://sourceforge.net/projects/giflib/"
arch=('x86_64')
......
......@@ -5,8 +5,8 @@
_pkgbasename=glib2
pkgname=lib32-$_pkgbasename
pkgver=2.26.1
pkgrel=1
pkgver=2.28.6
pkgrel=2
pkgdesc="Common C routines used by GTK+ 2.4 and other libs (32-bit)"
url="http://www.gtk.org/"
arch=('x86_64')
......@@ -14,8 +14,8 @@ license=('LGPL')
depends=('lib32-pcre' 'lib32-zlib' 'lib32-dbus-core' $_pkgbasename)
makedepends=('gcc-multilib')
options=('!libtool' '!docs')
source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.26/glib-${pkgver}.tar.bz2)
sha256sums=('7a74ff12b6b9dee1f2d0e520b56b68b621920c4f4250bdf23468e515625c28d5')
source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.28/glib-${pkgver}.tar.bz2)
sha256sums=('557fb7c39d21b9359fbac51fd6b0b883bc97a2561c0166eef993a4078312f578')
build() {
export CC="gcc -m32"
......
......@@ -8,9 +8,9 @@
_pkgbasename=glibc
pkgname=lib32-$_pkgbasename
pkgver=2.12.1
pkgver=2.13
pkgrel=2
_glibcdate=20101025
_glibcdate=20110117
pkgdesc="GNU C Library for multilib"
arch=('x86_64')
url="http://www.gnu.org/software/libc"
......@@ -23,14 +23,18 @@ source=(http://mirrors.kernel.org/archlinux/other/glibc/${_pkgbasename}-${pkgver
glibc-2.10-bz4781.patch
glibc-__i686.patch
glibc-2.12.1-static-shared-getpagesize.patch
#glibc-2.12.2-ignore-origin-of-privileged-program.patch
glibc-2.12.2-ignore-origin-of-privileged-program.patch
glibc-2.13-prelink.patch
glibc-2.13-futex.patch
lib32-glibc.conf)
md5sums=('b12192eff7306f2a6e919641b847e7cf'
md5sums=('b7b17d9c6b5b71b5e5322e04ca63c190'
'4dadb9203b69a3210d53514bb46f41c3'
'0c5540efc51c0b93996c51b57a8540ae'
'40cd342e21f71f5e49e32622b25acc52'
'597057bfd593d434ed1929596868f11d'
#'b042647ea7d6f22ad319e12e796bd13e'
'a3ac6f318d680347bb6e2805d42b73b2'
'b042647ea7d6f22ad319e12e796bd13e'
'24dfab6fd244f3773523412588ecc52c'
'7d0154b7e17ea218c9fa953599d24cc4'
'6e052f1cb693d5d3203f50f9d4e8c33b')
build() {
......@@ -52,7 +56,14 @@ build() {
# http://www.exploit-db.com/exploits/15274/
# http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...)
#patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch
patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch
# http://sourceware.org/bugzilla/show_bug.cgi?id=12489
# http://sourceware.org/git/?p=glibc.git;a=commit;h=25b3aada (only fedora branch...)
patch -Np1 -i ${srcdir}/glibc-2.13-prelink.patch
# http://sourceware.org/bugzilla/show_bug.cgi?id=12403
patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch
cd ${srcdir}
mkdir glibc-build
......@@ -116,3 +127,4 @@ package() {
# Symlink /usr/lib32/locale to /usr/lib/locale
ln -s ../lib/locale "$pkgdir/usr/lib32/locale"
}
From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@redhat.com>
Date: Thu, 9 Dec 2010 15:00:59 +0100
Subject: [PATCH 1/1] Ignore origin of privileged program
---
ChangeLog | 5 +++++
elf/dl-object.c | 3 +++
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/elf/dl-object.c b/elf/dl-object.c
index 22a1635..7674d49 100644
--- a/elf/dl-object.c
+++ b/elf/dl-object.c
@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type,
out:
new->l_origin = origin;
}
+ else if (INTUSE(__libc_enable_secure) && type == lt_executable)
+ /* The origin of a privileged program cannot be trusted. */
+ new->l_origin = (char *) -1;
return new;
}
--
1.7.2
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
+++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
@@ -210,7 +210,7 @@ pthread_rwlock_timedrdlock:
cfi_restore(%r12)
retq
-#ifdef __ASSUME_PRIVATE_FUTEX
+#ifdef __ASSUME_FUTEX_CLOCK_REALTIME
cfi_adjust_cfa_offset(16)
cfi_rel_offset(%r12, 8)
cfi_rel_offset(%r13, 0)
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
+++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
@@ -192,7 +192,7 @@ pthread_rwlock_timedwrlock:
7: movq %rdx, %rax
-#ifndef __ASSUME_PRIVATE_FUTEX
+#ifndef __ASSUME_FUTEX_CLOCK_REALTIME
addq $16, %rsp
cfi_adjust_cfa_offset(-16)
popq %r14
@@ -207,7 +207,7 @@ pthread_rwlock_timedwrlock:
cfi_restore(%r12)
retq
-#ifdef __ASSUME_PRIVATE_FUTEX
+#ifdef __ASSUME_FUTEX_CLOCK_REALTIME
cfi_adjust_cfa_offset(16)
cfi_rel_offset(%r12, 8)
cfi_rel_offset(%r13, 0)
diff --git a/elf/rtld.c b/elf/rtld.c
index 9a560b3..201c9cf 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -2168,6 +2168,10 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
we need it in the memory handling later. */
GLRO(dl_initial_searchlist) = *GL(dl_ns)[LM_ID_BASE]._ns_main_searchlist;
+ /* Remember the last search directory added at startup, now that
+ malloc will no longer be the one from dl-minimal.c. */
+ GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
+
if (prelinked)
{
if (main_map->l_info [ADDRIDX (DT_GNU_CONFLICT)] != NULL)
@@ -2288,10 +2292,6 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
lossage);
}
- /* Remember the last search directory added at startup, now that
- malloc will no longer be the one from dl-minimal.c. */
- GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
-
if (! prelinked && rtld_multiple_ref)
{
/* There was an explicit ref to the dynamic linker as a shared lib.
......@@ -6,7 +6,7 @@
_pkgbasename=gnutls
pkgname=lib32-$_pkgbasename
pkgver=2.8.6
pkgrel=1
pkgrel=2
pkgdesc="A library which provides a secure layer over a reliable transport layer (32-bit)"
arch=('x86_64')
license=('GPL3' 'LGPL')
......
......@@ -5,8 +5,8 @@
_pkgbasename=gtk2
pkgname=lib32-$_pkgbasename
pkgver=2.22.0
pkgrel=1
pkgver=2.22.1
pkgrel=2
pkgdesc="The GTK+ Toolkit (v2) (32-bit)"
arch=('x86_64')
url="http://www.gtk.org/"
......@@ -20,7 +20,7 @@ license=('LGPL')
source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.22/gtk+-${pkgver}.tar.bz2
xid-collision-debug.patch
gtk-modules-32.patch)
sha256sums=('d9522c80d4b8a954f7474e32bd5a99ba3051996f1c4681426db5f79a1c1b4602'
sha256sums=('965bc124f0d25087c4cb2a64cbfd7e4f896e05be8d560fbba68dd8685ba24d07'
'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558'
'2effb13404442ae266d4c663347e88cd1ca19e9a83b452da1743bac16af9c7b0')
......