summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFantix King2014-09-17 16:35:34 +0800
committerFantix King2015-11-13 01:19:09 +0800
commit04e15c1da04f8f50e79cdd597cb000ab576bde8a (patch)
tree2a8e7eafb932961f99ceca6d747abe29e6e2497a
parent99395b9de3eed0772fcb5f1e00c08d67a5c78402 (diff)
downloadaur-04e15c1da04f8f50e79cdd597cb000ab576bde8a.tar.gz
2.20-2.1
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD70
-rw-r--r--glibc-2.19-fix-sign-in-bsloww1-input.patch71
-rw-r--r--glibc-2.19-tzselect-default.patch13
-rw-r--r--glibc-2.19-xattr_header.patch42
-rw-r--r--glibc-2.20-do_ftell_wide-memleak.patch12
-rw-r--r--glibc-2.20-getifaddrs_internal-segfault.patch29
-rw-r--r--glibc-2.20-linux-3.16-additions.patch15
8 files changed, 106 insertions, 172 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4674ee8cf32a..d4dfb2fd8461 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,28 +1,28 @@
pkgbase = libx32-glibc
pkgdesc = GNU C Library (x32 ABI)
- pkgver = 2.19_5
- pkgrel = 1
+ pkgver = 2.20
+ pkgrel = 2.1
url = http://www.gnu.org/software/libc
arch = x86_64
license = GPL
license = LGPL
- makedepends = gcc-multilib-x32>=4.8
+ makedepends = gcc-multilib-x32>=4.9
provides = glibc-x32-seed
conflicts = glibc-x32-seed
options = !strip
- options = !emptydirs
options = staticlibs
- source = http://ftp.gnu.org/gnu/libc/glibc-2.19.tar.xz
- source = http://ftp.gnu.org/gnu/libc/glibc-2.19.tar.xz.sig
- source = glibc-2.19-xattr_header.patch
- source = glibc-2.19-fix-sign-in-bsloww1-input.patch
- source = glibc-2.19-tzselect-default.patch
+ options = !emptydirs
+ source = http://ftp.gnu.org/gnu/libc/glibc-2.20.tar.xz
+ source = http://ftp.gnu.org/gnu/libc/glibc-2.20.tar.xz.sig
+ source = glibc-2.20-getifaddrs_internal-segfault.patch
+ source = glibc-2.20-linux-3.16-additions.patch
+ source = glibc-2.20-do_ftell_wide-memleak.patch
source = libx32-glibc.conf
- md5sums = e26b8cc666b162f999404b03970f14e4
+ md5sums = 948a6e06419a01bd51e97206861595b0
md5sums = SKIP
- md5sums = 39a4876837789e07746f1d84cd8cb46a
- md5sums = 755a1a9d7844a5e338eddaa9a5d974cd
- md5sums = c772dc99ddd8032ecbf43884ae0cf42e
+ md5sums = 1c5d5c2017445c75dbc5c6d0c1e45ddb
+ md5sums = 8f1059f431b842e54b12bde689620df8
+ md5sums = b50feeab78fa6ce0a8cfb41ee8dc1fd8
md5sums = 34a4169d2bdc5a3eb83676a0831aae57
pkgname = libx32-glibc
diff --git a/PKGBUILD b/PKGBUILD
index a40c6d0add07..2013d3810d6d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,50 +1,53 @@
-# $Id: PKGBUILD 111334 2014-05-16 22:03:28Z heftig $
-# Maintainer: Fantix King <fantix.king@gmail.com>
-# Upstream Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# $Id: PKGBUILD 118950 2014-09-14 08:30:52Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
+# x32 Maintainer: Fantix King <fantix.king@gmail.com>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-# NOTE: valgrind requires rebuilt with each major glibc version
_pkgbasename=glibc
pkgname=libx32-$_pkgbasename
-pkgver=2.19_5
-pkgrel=1
+pkgver=2.20
+pkgrel=2.1
pkgdesc="GNU C Library (x32 ABI)"
arch=('x86_64')
url="http://www.gnu.org/software/libc"
license=('GPL' 'LGPL')
groups=()
depends=()
-makedepends=('gcc-multilib-x32>=4.8')
+makedepends=('gcc-multilib-x32>=4.9')
backup=()
conflicts=('glibc-x32-seed')
provides=('glibc-x32-seed')
-options=('!strip' '!emptydirs' 'staticlibs')
-source=(http://ftp.gnu.org/gnu/libc/${_pkgbasename}-${pkgver%_*}.tar.xz{,.sig}
- glibc-2.19-xattr_header.patch
- glibc-2.19-fix-sign-in-bsloww1-input.patch
- glibc-2.19-tzselect-default.patch
+
+
+options=('!strip' 'staticlibs' '!emptydirs')
+
+source=(http://ftp.gnu.org/gnu/libc/${_pkgbasename}-${pkgver}.tar.xz{,.sig}
+ glibc-2.20-getifaddrs_internal-segfault.patch
+ glibc-2.20-linux-3.16-additions.patch
+ glibc-2.20-do_ftell_wide-memleak.patch
libx32-glibc.conf)
-md5sums=('e26b8cc666b162f999404b03970f14e4'
+md5sums=('948a6e06419a01bd51e97206861595b0'
'SKIP'
- '39a4876837789e07746f1d84cd8cb46a'
- '755a1a9d7844a5e338eddaa9a5d974cd'
- 'c772dc99ddd8032ecbf43884ae0cf42e'
+ '1c5d5c2017445c75dbc5c6d0c1e45ddb'
+ '8f1059f431b842e54b12bde689620df8'
+ 'b50feeab78fa6ce0a8cfb41ee8dc1fd8'
'34a4169d2bdc5a3eb83676a0831aae57')
prepare() {
- cd ${srcdir}/${_pkgbasename}-${pkgver%_*}
-
- # fix for {linux,sys}/xattr.h incompatibility - commit fdbe8eae
- patch -p1 -i $srcdir/glibc-2.19-xattr_header.patch
-
- # fix issues in sin/cos slow path calculation - commit ffe768a9
- patch -p1 -i $srcdir/glibc-2.19-fix-sign-in-bsloww1-input.patch
-
- # fix tzselect with missing TZDIR - commit 893b4f37/c72399fb
- patch -p1 -i $srcdir/glibc-2.19-tzselect-default.patch
+ cd ${srcdir}/glibc-${pkgver}
+
+ # fix segfault in getifaddrs_internal
+ # https://sourceware.org/ml/libc-alpha/2014-09/msg00312.html
+ patch -p1 -i $srcdir/glibc-2.20-getifaddrs_internal-segfault.patch
+
+ # linux 3.16 additions - commit 0bd72468
+ patch -p1 -i $srcdir/glibc-2.20-linux-3.16-additions.patch
+
+ # plug memory leak - commit 984c0ea9
+ patch -p1 -i $srcdir/glibc-2.20-do_ftell_wide-memleak.patch
mkdir ${srcdir}/glibc-build
}
@@ -69,6 +72,7 @@ build() {
export CXX="g++ -mx32"
fi
echo "slibdir=/usr/libx32" >> configparms
+ echo "rtlddir=/usr/libx32" >> configparms
echo "sbindir=/usr/bin" >> configparms
echo "rootsbindir=/usr/bin" >> configparms
@@ -76,11 +80,11 @@ build() {
CFLAGS=${CFLAGS/-fstack-protector-strong/}
CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
- ${srcdir}/${_pkgbasename}-${pkgver%_*}/configure --prefix=/usr \
+ ${srcdir}/${_pkgbasename}-${pkgver}/configure --prefix=/usr \
--libdir=/usr/libx32 --libexecdir=/usr/libx32 \
--with-headers=/usr/include \
--with-bugurl=https://bugs.archlinux.org/ \
- --enable-add-ons=nptl,libidn \
+ --enable-add-ons \
--enable-obsolete-rpc \
--enable-kernel=2.6.32 \
--enable-bind-now --disable-profile \
@@ -100,7 +104,7 @@ build() {
make
# remove harding in preparation to run test-suite
- sed -i '4,6d' configparms
+ sed -i '5,7d' configparms
}
check() {
@@ -108,12 +112,12 @@ check() {
LDFLAGS=${LDFLAGS/--as-needed,/}
cd ${srcdir}/glibc-build
+
if [ -x "/opt/gcc-x32-seed/bin/gcc" ]; then
- make -k check || true
+ make check || true
else
- # ULP failures on i686 are all small and can be ignored
- # tst-cleanupx4.out failure on i686 needs investigating...
- make -k check || true
+ # tst-cleanupx4 failure on i686 is "expected"
+ make check || true
fi
}
diff --git a/glibc-2.19-fix-sign-in-bsloww1-input.patch b/glibc-2.19-fix-sign-in-bsloww1-input.patch
deleted file mode 100644
index 91b0c9abbe41..000000000000
--- a/glibc-2.19-fix-sign-in-bsloww1-input.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From ffe768a90912f9bce43b70a82576b3dc99e3121c Mon Sep 17 00:00:00 2001
-From: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date: Thu, 27 Feb 2014 21:29:16 +0530
-Subject: [PATCH] Fix sign of input to bsloww1 (BZ #16623)
-
-In 84ba214c, I removed some redundant sign computations and in the
-process, I incorrectly got rid of a temporary variable, thus passing
-the absolute value of the input to bsloww1. This caused #16623.
-
-This fix undoes the incorrect change.
----
- sysdeps/ieee754/dbl-64/s_sin.c | 16 ++++++++++------
- 3 files changed, 18 insertions(+), 7 deletions(-)
-
-diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
-index 6105e9f..50109b8 100644
---- a/sysdeps/ieee754/dbl-64/s_sin.c
-+++ b/sysdeps/ieee754/dbl-64/s_sin.c
-@@ -447,19 +447,21 @@ __sin (double x)
- }
- else
- {
-+ double t;
- if (a > 0)
- {
- m = 1;
-+ t = a;
- db = da;
- }
- else
- {
- m = 0;
-- a = -a;
-+ t = -a;
- db = -da;
- }
-- u.x = big + a;
-- y = a - (u.x - big);
-+ u.x = big + t;
-+ y = t - (u.x - big);
- res = do_sin (u, y, db, &cor);
- cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
- retval = ((res == res + cor) ? ((m) ? res : -res)
-@@ -671,19 +673,21 @@ __cos (double x)
- }
- else
- {
-+ double t;
- if (a > 0)
- {
- m = 1;
-+ t = a;
- db = da;
- }
- else
- {
- m = 0;
-- a = -a;
-+ t = -a;
- db = -da;
- }
-- u.x = big + a;
-- y = a - (u.x - big);
-+ u.x = big + t;
-+ y = t - (u.x - big);
- res = do_sin (u, y, db, &cor);
- cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
- retval = ((res == res + cor) ? ((m) ? res : -res)
---
-1.9.0
-
diff --git a/glibc-2.19-tzselect-default.patch b/glibc-2.19-tzselect-default.patch
deleted file mode 100644
index ccafb0b606f2..000000000000
--- a/glibc-2.19-tzselect-default.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/timezone/Makefile b/timezone/Makefile
-index 998cd14..d5f647c 100644
---- a/timezone/Makefile
-+++ b/timezone/Makefile
-@@ -118,7 +118,7 @@ $(testdata)/Asia/Tokyo: asia $(zic-deps)
-
- $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
- sed -e 's|/bin/bash|$(KSH)|g' \
-- -e '/TZDIR=/s|\$$(pwd)|$(zonedir)|' \
-+ -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
- -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
- -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
- -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \
diff --git a/glibc-2.19-xattr_header.patch b/glibc-2.19-xattr_header.patch
deleted file mode 100644
index 438626ef3f4b..000000000000
--- a/glibc-2.19-xattr_header.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From: Serge Hallyn <serge.hallyn@ubuntu.com>
-Date: Tue, 11 Mar 2014 04:17:07 +0000 (-0500)
-Subject: misc/sys/xattr.h: guard against linux uapi header inclusion
-X-Git-Url: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=fdbe8eae;hp=fede7a5ffa188c22c3789135bd5cf82e487dd3d0
-
-misc/sys/xattr.h: guard against linux uapi header inclusion
-
-If the glibc xattr.h header is included after the uapi header,
-compilation fails due to an enum re-using a #define from the
-uapi header. Protect against this by guarding the define and
-enum inclusions against each other.
-
-(A corresponding kernel patch has been sent here:
-http://lkml.org/lkml/2014/3/7/331 )
-
-(See https://lists.debian.org/debian-glibc/2014/03/msg00029.html
-and https://sourceware.org/glibc/wiki/Synchronizing_Headers
-for more information.)
-
-Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
----
-
-diff --git a/misc/sys/xattr.h b/misc/sys/xattr.h
-index 929cd87..796df90 100644
---- a/misc/sys/xattr.h
-+++ b/misc/sys/xattr.h
-@@ -26,6 +26,7 @@ __BEGIN_DECLS
-
- /* The following constants should be used for the fifth parameter of
- `*setxattr'. */
-+#ifndef __USE_KERNEL_XATTR_DEFS
- enum
- {
- XATTR_CREATE = 1, /* set value, fail if attr already exists. */
-@@ -33,6 +34,7 @@ enum
- XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */
- #define XATTR_REPLACE XATTR_REPLACE
- };
-+#endif
-
- /* Set the attribute NAME of the file pointed to by PATH to VALUE (which
- is SIZE bytes long). Return 0 on success, -1 for errors. */
diff --git a/glibc-2.20-do_ftell_wide-memleak.patch b/glibc-2.20-do_ftell_wide-memleak.patch
new file mode 100644
index 000000000000..0896a6430dc2
--- /dev/null
+++ b/glibc-2.20-do_ftell_wide-memleak.patch
@@ -0,0 +1,12 @@
+diff --git a/libio/wfileops.c b/libio/wfileops.c
+index f123add..ebc06e8 100644
+--- a/libio/wfileops.c
++++ b/libio/wfileops.c
+@@ -711,6 +711,7 @@ do_ftell_wide (_IO_FILE *fp)
+ return WEOF;
+
+ offset += outstop - out;
++ free (out);
+ }
+
+ /* We don't trust _IO_read_end to represent the current file offset
diff --git a/glibc-2.20-getifaddrs_internal-segfault.patch b/glibc-2.20-getifaddrs_internal-segfault.patch
new file mode 100644
index 000000000000..57c84f8b4792
--- /dev/null
+++ b/glibc-2.20-getifaddrs_internal-segfault.patch
@@ -0,0 +1,29 @@
+diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c
+index 2c04e17..a47b2ed 100644
+--- a/sysdeps/unix/sysv/linux/ifaddrs.c
++++ b/sysdeps/unix/sysv/linux/ifaddrs.c
+@@ -770,20 +770,17 @@ getifaddrs_internal (struct ifaddrs **ifap)
+
+ if (cp != NULL)
+ {
+- char c;
+ unsigned int preflen;
+
+- if ((max_prefixlen > 0) &&
+- (ifam->ifa_prefixlen > max_prefixlen))
++ if (ifam->ifa_prefixlen > max_prefixlen)
+ preflen = max_prefixlen;
+ else
+ preflen = ifam->ifa_prefixlen;
+
+- for (i = 0; i < ((preflen - 1) / 8); i++)
++ for (i = 0; i < preflen / 8; i++)
+ *cp++ = 0xff;
+- c = 0xff;
+- c <<= ((128 - preflen) % 8);
+- *cp = c;
++ if (preflen % 8)
++ *cp = 0xff << (8 - preflen % 8);
+ }
+ }
+ }
diff --git a/glibc-2.20-linux-3.16-additions.patch b/glibc-2.20-linux-3.16-additions.patch
new file mode 100644
index 000000000000..be57a3817956
--- /dev/null
+++ b/glibc-2.20-linux-3.16-additions.patch
@@ -0,0 +1,15 @@
+diff --git a/sysdeps/gnu/netinet/udp.h b/sysdeps/gnu/netinet/udp.h
+index 32159cd..8cc1c60 100644
+--- a/sysdeps/gnu/netinet/udp.h
++++ b/sysdeps/gnu/netinet/udp.h
+@@ -78,6 +78,10 @@ struct udphdr
+ #define UDP_CORK 1 /* Never send partially complete segments. */
+ #define UDP_ENCAP 100 /* Set the socket to accept
+ encapsulated packets. */
++#define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP
++ over IPv6. */
++#define UDP_NO_CHECK6_RX 102 /* Disable accepting checksum for UDP
++ over IPv6. */
+
+ /* UDP encapsulation types */
+ #define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */