summaryrefslogtreecommitdiff
path: root/multilib/lib32-glibc
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-01-28 23:14:55 +0000
committerroot <root@rshg054.dnsready.net>2012-01-28 23:14:55 +0000
commit738e6c6d93b4c7118e49b38c610abed8b7f7d55a (patch)
treec97ae930eac17a588f2429589cd84d4a71bec9bd /multilib/lib32-glibc
parent2493f16093b14a81e949bd6a1b89724cb931807d (diff)
Sat Jan 28 23:14:55 UTC 2012
Diffstat (limited to 'multilib/lib32-glibc')
-rw-r--r--multilib/lib32-glibc/PKGBUILD26
-rw-r--r--multilib/lib32-glibc/glibc-2.15-regex.patch16
-rw-r--r--multilib/lib32-glibc/glibc-2.15-strcmp-disable-avx.patch48
3 files changed, 82 insertions, 8 deletions
diff --git a/multilib/lib32-glibc/PKGBUILD b/multilib/lib32-glibc/PKGBUILD
index 9b962e426..5f73ba36f 100644
--- a/multilib/lib32-glibc/PKGBUILD
+++ b/multilib/lib32-glibc/PKGBUILD
@@ -1,5 +1,5 @@
-# $Id: PKGBUILD 62206 2012-01-18 10:47:20Z heftig $
-# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# $Id: PKGBUILD 62829 2012-01-27 15:39:54Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
@@ -9,7 +9,7 @@
_pkgbasename=glibc
pkgname=lib32-$_pkgbasename
pkgver=2.15
-pkgrel=3.1
+pkgrel=4
_glibcdate=20111227
pkgdesc="GNU C Library for multilib"
arch=('x86_64')
@@ -27,9 +27,10 @@ source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcda
glibc-2.14-revert-4768ae77.patch
glibc-2.14-reexport-rpc-interface.patch
glibc-2.14-reinstall-nis-rpc-headers.patch
+ glibc-2.15-regex.patch
glibc-2.15-lddebug-scopes.patch
glibc-2.15-revert-c5a0802a.patch
- glibc-2.15-math64crash.patch
+ glibc-2.15-strcmp-disable-avx.patch
lib32-glibc.conf)
md5sums=('6ffdf5832192b92f98bdd125317c0dfc'
'4dadb9203b69a3210d53514bb46f41c3'
@@ -40,9 +41,10 @@ md5sums=('6ffdf5832192b92f98bdd125317c0dfc'
'7da8c554a3b591c7401d7023b1928afc'
'c5de2a946215d647c8af5432ec4b0da0'
'55febbb72139ac7b65757df085024b83'
+ 'b3526cbd5e29773560dba725db99af5a'
'3c219ddfb619b6df903cac4cc42c611d'
'7ae3e426251ae33e73dbad71f9c91378'
- 'dc7550e659ddd685bd78a930d15a01f2'
+ '7a44dd821835e4984aa75ad44fad3baf'
'6e052f1cb693d5d3203f50f9d4e8c33b')
build() {
@@ -79,6 +81,10 @@ build() {
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...)
patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch
+ # Fix up regcomp/regexec
+ # http://sourceware.org/git/?p=glibc.git;a=commit;h=2ba92745
+ patch -Np1 -i ${srcdir}/glibc-2.15-regex.patch
+
# propriety nvidia crash - https://bugzilla.redhat.com/show_bug.cgi?id=737223
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0c95ab64 (only fedora branch...)
patch -Np1 -i ${srcdir}/glibc-2.15-lddebug-scopes.patch
@@ -87,9 +93,13 @@ build() {
# https://bugzilla.redhat.com/show_bug.cgi?id=769421
patch -Np1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch
- # revert optimized math routines that can cause crashes (FS#27736, FS#27743)
- # obviously not a real fix...
- patch -Np1 -i ${srcdir}/glibc-2.15-math64crash.patch
+ # Disable AVX in strcmp as this breaks Xen
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=13583
+ patch -Np1 -i ${srcdir}/glibc-2.15-strcmp-disable-avx.patch
+
+ # "revert" optimized math routines that can cause crashes (FS#27736, FS#27743)
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=13618
+ rm sysdeps/x86_64/fpu/multiarch/*
cd ${srcdir}
mkdir glibc-build
diff --git a/multilib/lib32-glibc/glibc-2.15-regex.patch b/multilib/lib32-glibc/glibc-2.15-regex.patch
new file mode 100644
index 000000000..6385f2c08
--- /dev/null
+++ b/multilib/lib32-glibc/glibc-2.15-regex.patch
@@ -0,0 +1,16 @@
+diff --git a/posix/regex_internal.c b/posix/regex_internal.c
+index bc19243..124f8cc 100644
+--- a/posix/regex_internal.c
++++ b/posix/regex_internal.c
+@@ -868,7 +868,7 @@ re_string_peek_byte_case (const re_string_t *pstr, int idx)
+ }
+
+ static unsigned char
+-internal_function __attribute ((pure))
++internal_function
+ re_string_fetch_byte_case (re_string_t *pstr)
+ {
+ if (BE (!pstr->mbs_allocated, 1))
+--
+1.7.3.4
+
diff --git a/multilib/lib32-glibc/glibc-2.15-strcmp-disable-avx.patch b/multilib/lib32-glibc/glibc-2.15-strcmp-disable-avx.patch
new file mode 100644
index 000000000..7f1f5b8f2
--- /dev/null
+++ b/multilib/lib32-glibc/glibc-2.15-strcmp-disable-avx.patch
@@ -0,0 +1,48 @@
+diff --git a/sysdeps/x86_64/multiarch/strcmp.S b/sysdeps/x86_64/multiarch/strcmp.S
+index f93c83d..d8aa889 100644
+--- a/sysdeps/x86_64/multiarch/strcmp.S
++++ b/sysdeps/x86_64/multiarch/strcmp.S
+@@ -105,11 +105,6 @@ ENTRY(__strcasecmp)
+ jne 1f
+ call __init_cpu_features
+ 1:
+-# ifdef HAVE_AVX_SUPPORT
+- leaq __strcasecmp_avx(%rip), %rax
+- testl $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
+- jnz 2f
+-# endif
+ leaq __strcasecmp_sse42(%rip), %rax
+ testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
+ jnz 2f
+@@ -128,11 +123,6 @@ ENTRY(__strncasecmp)
+ jne 1f
+ call __init_cpu_features
+ 1:
+-# ifdef HAVE_AVX_SUPPORT
+- leaq __strncasecmp_avx(%rip), %rax
+- testl $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip)
+- jnz 2f
+-# endif
+ leaq __strncasecmp_sse42(%rip), %rax
+ testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
+ jnz 2f
+@@ -152,19 +142,6 @@ weak_alias (__strncasecmp, strncasecmp)
+ # include "strcmp-sse42.S"
+
+
+-# ifdef HAVE_AVX_SUPPORT
+-# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
+-# define LABEL(l) .L##l##_avx
+-# define GLABEL(l) l##_avx
+-# define USE_AVX 1
+-# undef STRCMP_SSE42
+-# define STRCMP_SSE42 STRCMP_AVX
+-# define SECTION avx
+-# include "strcmp-sse42.S"
+-# endif
+-# endif
+-
+-
+ # undef ENTRY
+ # define ENTRY(name) \
+ .type STRCMP_SSE2, @function; \