mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
core/glibc to 2.20-2
This commit is contained in:
parent
533ae091d8
commit
20e70100bb
8 changed files with 84 additions and 151 deletions
|
@ -15,47 +15,49 @@
|
|||
noautobuild=1
|
||||
|
||||
pkgname=glibc
|
||||
pkgver=2.19
|
||||
pkgrel=5
|
||||
pkgver=2.20
|
||||
pkgrel=2
|
||||
pkgdesc="GNU C Library"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.gnu.org/software/libc"
|
||||
license=('GPL' 'LGPL')
|
||||
groups=('base')
|
||||
depends=('linux-api-headers>=3.13' 'tzdata' 'filesystem>=2013.01')
|
||||
makedepends=('gcc>=4.8')
|
||||
depends=('linux-api-headers>=3.16' 'tzdata' 'filesystem>=2013.01')
|
||||
+makedepends=('gcc>=4.9')
|
||||
backup=(etc/gai.conf
|
||||
etc/locale.gen
|
||||
etc/nscd.conf)
|
||||
options=('!strip' 'staticlibs' '!distcc')
|
||||
install=glibc.install
|
||||
source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${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
|
||||
glibc-2.20-getifaddrs_internal-segfault.patch
|
||||
glibc-2.20-linux-3.16-additions.patch
|
||||
glibc-2.20-do_ftell_wide-memleak.patch
|
||||
local-soname-hack.diff
|
||||
locale.gen.txt
|
||||
locale-gen)
|
||||
md5sums=('e26b8cc666b162f999404b03970f14e4'
|
||||
md5sums=('948a6e06419a01bd51e97206861595b0'
|
||||
'SKIP'
|
||||
'39a4876837789e07746f1d84cd8cb46a'
|
||||
'755a1a9d7844a5e338eddaa9a5d974cd'
|
||||
'c772dc99ddd8032ecbf43884ae0cf42e'
|
||||
'1c5d5c2017445c75dbc5c6d0c1e45ddb'
|
||||
'8f1059f431b842e54b12bde689620df8'
|
||||
'b50feeab78fa6ce0a8cfb41ee8dc1fd8'
|
||||
'905370139382428ef2b97b247c0970bf'
|
||||
'07ac979b6ab5eeb778d55f041529d623'
|
||||
'476e9113489f93b348b21e144b6a8fcf')
|
||||
validpgpkeys=('F37CDAB708E65EA183FD1AF625EF0A436C2A4AFF') # Carlos O'Donell
|
||||
|
||||
prepare() {
|
||||
cd ${srcdir}/${pkgname}-${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
|
||||
# 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
|
||||
|
||||
# ALARM: patch for hard-float ld-linux soname
|
||||
if [[ $CARCH == "armv6h" || $CARCH == "armv7h" ]]; then
|
||||
|
@ -74,6 +76,7 @@ build() {
|
|||
[[ $CARCH == "armv7h" ]] && CONFIGFLAG="--host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf"
|
||||
|
||||
echo "slibdir=/usr/lib" >> configparms
|
||||
echo "rtlddir=/usr/lib" >> configparms
|
||||
echo "sbindir=/usr/bin" >> configparms
|
||||
echo "rootsbindir=/usr/bin" >> configparms
|
||||
|
||||
|
@ -88,7 +91,7 @@ build() {
|
|||
--libdir=/usr/lib --libexecdir=/usr/lib \
|
||||
--with-headers=/usr/include \
|
||||
--with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \
|
||||
--enable-add-ons=nptl,libidn,ports \
|
||||
--enable-add-ons \
|
||||
--enable-obsolete-rpc \
|
||||
--enable-kernel=2.6.27 \
|
||||
--enable-bind-now --disable-profile \
|
||||
|
@ -107,7 +110,7 @@ build() {
|
|||
make
|
||||
|
||||
# remove harding in preparation to run test-suite
|
||||
sed -i '4,6d' configparms
|
||||
sed -i '5,7d' configparms
|
||||
}
|
||||
|
||||
check() {
|
||||
|
@ -115,9 +118,9 @@ check() {
|
|||
LDFLAGS=${LDFLAGS/--as-needed,/}
|
||||
|
||||
cd ${srcdir}/glibc-build
|
||||
# only acceptable testsuite error is some small libm ulp failures on i686 with gcc-4.9
|
||||
# TODO: fix upstream and provide patch
|
||||
make -k check || true
|
||||
|
||||
# tst-cleanupx4 failure on i686 is "expected"
|
||||
make check || true
|
||||
}
|
||||
|
||||
package() {
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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)"|' \
|
|
@ -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. */
|
12
core/glibc/glibc-2.20-do_ftell_wide-memleak.patch
Normal file
12
core/glibc/glibc-2.20-do_ftell_wide-memleak.patch
Normal file
|
@ -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
|
29
core/glibc/glibc-2.20-getifaddrs_internal-segfault.patch
Normal file
29
core/glibc/glibc-2.20-getifaddrs_internal-segfault.patch
Normal file
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
15
core/glibc/glibc-2.20-linux-3.16-additions.patch
Normal file
15
core/glibc/glibc-2.20-linux-3.16-additions.patch
Normal file
|
@ -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 */
|
|
@ -4,7 +4,7 @@ filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11})
|
|||
post_upgrade() {
|
||||
ldconfig -r .
|
||||
|
||||
if [[ $(vercmp 2.19-2 $2) = 1 ]]; then
|
||||
if [[ $(vercmp 2.20-2 $2) = 1 ]]; then
|
||||
locale-gen
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in a new issue