diff --git a/ARM_glibc-2.10.1-local-eabi-wchar.diff b/ARM_glibc-2.10.1-local-eabi-wchar.diff deleted file mode 100644 index a5fa3e4..0000000 --- a/ARM_glibc-2.10.1-local-eabi-wchar.diff +++ /dev/null @@ -1,33 +0,0 @@ ---- - ports/sysdeps/arm/eabi/bits/wchar.h | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) - ---- /dev/null -+++ ports/sysdeps/arm/eabi/bits/wchar.h -@@ -0,0 +1,26 @@ -+/* wchar_t type related definitions. -+ Copyright (C) 2000 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#ifndef _BITS_WCHAR_H -+#define _BITS_WCHAR_H 1 -+ -+#define __WCHAR_MIN ( 0 ) -+#define __WCHAR_MAX ( (wchar_t) - 1 ) -+ -+#endif /* bits/wchar.h */ diff --git a/ARM_glibc-2.10.1-local-hwcap-updates.diff b/ARM_glibc-2.10.1-local-hwcap-updates.diff deleted file mode 100644 index fedcd9d..0000000 --- a/ARM_glibc-2.10.1-local-hwcap-updates.diff +++ /dev/null @@ -1,43 +0,0 @@ -diff -Naur _ports//sysdeps/unix/sysv/linux/arm/dl-procinfo.c ports//sysdeps/unix/sysv/linux/arm/dl-procinfo.c ---- _ports//sysdeps/unix/sysv/linux/arm/dl-procinfo.c 2006-09-21 20:39:51.000000000 +0200 -+++ ports//sysdeps/unix/sysv/linux/arm/dl-procinfo.c 2009-05-15 21:23:43.166714113 +0200 -@@ -47,12 +47,12 @@ - #if !defined PROCINFO_DECL && defined SHARED - ._dl_arm_cap_flags - #else --PROCINFO_CLASS const char _dl_arm_cap_flags[10][10] -+PROCINFO_CLASS const char _dl_arm_cap_flags[13][10] - #endif - #ifndef PROCINFO_DECL - = { - "swp", "half", "thumb", "26bit", "fast-mult", "fpa", "vfp", "edsp", -- "java", "iwmmxt", -+ "java", "iwmmxt", "crunch", "thumbee", "neon", - } - #endif - #if !defined SHARED || defined PROCINFO_DECL -diff -Naur _ports//sysdeps/unix/sysv/linux/arm/dl-procinfo.h ports//sysdeps/unix/sysv/linux/arm/dl-procinfo.h ---- _ports//sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2006-09-21 20:39:51.000000000 +0200 -+++ ports//sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2009-05-15 21:23:43.166714113 +0200 -@@ -24,7 +24,7 @@ - #include - #include - --#define _DL_HWCAP_COUNT 10 -+#define _DL_HWCAP_COUNT 13 - - /* The kernel provides platform data but it is not interesting. */ - #define _DL_HWCAP_PLATFORM 0 -diff -Naur _ports//sysdeps/unix/sysv/linux/arm/sysdep.h ports//sysdeps/unix/sysv/linux/arm/sysdep.h ---- _ports//sysdeps/unix/sysv/linux/arm/sysdep.h 2009-05-15 18:56:52.000000000 +0200 -+++ ports//sysdeps/unix/sysv/linux/arm/sysdep.h 2009-05-15 21:23:43.166714113 +0200 -@@ -55,6 +55,9 @@ - #define HWCAP_ARM_EDSP 128 - #define HWCAP_ARM_JAVA 256 - #define HWCAP_ARM_IWMMXT 512 -+#define HWCAP_ARM_CRUNCH 1024 -+#define HWCAP_ARM_THUMBEE 2048 -+#define HWCAP_ARM_NEON 4096 - - #ifdef __ASSEMBLER__ - diff --git a/ARM_glibc-2.10.1-local-lowlevellock.diff b/ARM_glibc-2.10.1-local-lowlevellock.diff deleted file mode 100644 index 615b818..0000000 --- a/ARM_glibc-2.10.1-local-lowlevellock.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- - ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h | 1 + - 1 file changed, 1 insertion(+) - ---- ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h -+++ ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include /* Need THREAD_*, and header.*. */ - - #define FUTEX_WAIT 0 - #define FUTEX_WAKE 1 diff --git a/ARM_glibc-2.10.1-local-no-hwcap.diff b/ARM_glibc-2.10.1-local-no-hwcap.diff deleted file mode 100644 index cefbb2c..0000000 --- a/ARM_glibc-2.10.1-local-no-hwcap.diff +++ /dev/null @@ -1,19 +0,0 @@ -# DP: Restricted hardware caps for ARM -# needs corresponding kernel-support -# see https://bugs.launchpad.net/ubuntu/+source/linux/+bug/343602 - ---- - ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h -+++ ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h -@@ -54,7 +54,7 @@ - return GLRO(dl_arm_cap_flags)[idx]; - }; - --#define HWCAP_IMPORTANT (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT) -+#define HWCAP_IMPORTANT (HWCAP_ARM_VFP | HWCAP_ARM_NEON) - - static inline int - __attribute__ ((unused)) diff --git a/check-build.sh b/check-build.sh index fd183dd..c429e51 100644 --- a/check-build.sh +++ b/check-build.sh @@ -1,12 +1,10 @@ #!/bin/bash -# Copyright (c) 2003, 2004 SuSE Linux AG, Germany. All rights reserved. +# Copyright (c) 2003, 2004, 2011 SUSE Linux Products GmbH, Germany. All rights reserved. # # Authors: Thorsten Kukuk # -# this script use the following variable(s): -# -# - $BUILD_BASENAME -# + + if [ `nice` -gt '9' ] ; then echo "Don't modify nice for building glibc!" @@ -15,8 +13,8 @@ fi # get kernel version OFS="$IFS" ; IFS=".-" ; version=(`uname -r`) ; IFS="$OIFS" -if test ${version[0]} -lt 2 -o ${version[1]} -lt 6 -o ${version[2]} -lt 32 ; then - echo "FATAL: kernel too old, need kernel >= 2.6.32 for this package" 1>&2 +if test ${version[0]} -lt 2 -o ${version[1]} -lt 6 -o ${version[2]} -lt 16 ; then + echo "FATAL: kernel too old, need kernel >= 2.6.16 for this package" 1>&2 exit 1 fi diff --git a/glibc-2.10.99-ia64-include.diff b/glibc-2.10.99-ia64-include.diff deleted file mode 100644 index ae5d2f6..0000000 --- a/glibc-2.10.99-ia64-include.diff +++ /dev/null @@ -1,12 +0,0 @@ -Index: sysdeps/ia64/elf/start.S -=================================================================== ---- sysdeps/ia64/elf/start.S.orig -+++ sysdeps/ia64/elf/start.S -@@ -37,6 +37,7 @@ - #include - - #include -+#include - #include - - /* diff --git a/glibc-2.13-localedef.patch b/glibc-2.13-localedef.patch new file mode 100644 index 0000000..0fb55f4 --- /dev/null +++ b/glibc-2.13-localedef.patch @@ -0,0 +1,37 @@ +From http://sourceware.org/bugzilla/show_bug.cgi?id=10855 + +2009-10-27 Aurelien Jarno + + * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory + used later with MMAP_FIXED | MMAP_SHARED to cope with different + alignment restrictions. + +--- a/locale/programs/locarchive.c ++++ b/locale/programs/locarchive.c +@@ -134,7 +134,7 @@ + size_t reserved = RESERVE_MMAP_SIZE; + int xflags = 0; + if (total < reserved +- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, ++ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, + -1, 0)) != MAP_FAILED)) + xflags = MAP_FIXED; + else +@@ -397,7 +397,7 @@ + size_t reserved = RESERVE_MMAP_SIZE; + int xflags = 0; + if (total < reserved +- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, ++ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, + -1, 0)) != MAP_FAILED)) + xflags = MAP_FIXED; + else +@@ -615,7 +615,7 @@ + int xflags = 0; + void *p; + if (st.st_size < reserved +- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, ++ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, + -1, 0)) != MAP_FAILED)) + xflags = MAP_FIXED; + else diff --git a/glibc-2.2-sunrpc.diff b/glibc-2.2-sunrpc.diff index 885c339..fc09165 100644 --- a/glibc-2.2-sunrpc.diff +++ b/glibc-2.2-sunrpc.diff @@ -1,3 +1,8 @@ +The following patch was not accepted upstream, see: +http://sourceware.org/bugzilla/show_bug.cgi?id=5379 + +It needs rework. + Index: sunrpc/clnt_udp.c =================================================================== --- sunrpc/clnt_udp.c.orig diff --git a/glibc-2.3.1.localedef.diff b/glibc-2.3.1.localedef.diff index 787ac54..8858980 100644 --- a/glibc-2.3.1.localedef.diff +++ b/glibc-2.3.1.localedef.diff @@ -1,3 +1,6 @@ +Check: +http://sourceware.org/bugzilla/show_bug.cgi?id=10855 + ------------------------------------------------------------------- Mon Oct 21 17:20:04 CEST 2002 - schwab@suse.de diff --git a/glibc-2.3.5-nscd-zeronegtimeout.diff b/glibc-2.3.5-nscd-zeronegtimeout.diff index 3081be5..1aa6a5d 100644 --- a/glibc-2.3.5-nscd-zeronegtimeout.diff +++ b/glibc-2.3.5-nscd-zeronegtimeout.diff @@ -1,3 +1,15 @@ +Send to libc-alpha on 2011-07-01, will be part of glibc 2.15. + +commit id: 445b4a53ea9d6c457c5f4ac1538102d8be0a5d89 + +2011-07-01 Thorsten Kukuk + + * nscd/pwdcache.c (cache_addpw): Handle zero negtimeout. + * nscd/initgrcache.c (addinitgroupsX): Likewise. + * nscd/hstcache.c (cache_addhst): Likewise. + * nscd/grpcache.c (cache_addgr): Likewise. + * nscd/aicache.c (addhstaiX): Likewise. + Index: nscd/aicache.c =================================================================== --- nscd/aicache.c.orig diff --git a/glibc-fix-rwlock-stack-imbalance.patch b/glibc-fix-rwlock-stack-imbalance.patch new file mode 100644 index 0000000..3accb5f --- /dev/null +++ b/glibc-fix-rwlock-stack-imbalance.patch @@ -0,0 +1,35 @@ +diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S +index f5d055c..8f3c68c 100644 +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S ++++ b/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) +diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S +index 6ed8b49..9aaaeba 100644 +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S ++++ b/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/glibc-nscd-hconf.diff b/glibc-nscd-hconf.diff index f933559..1c360c4 100644 --- a/glibc-nscd-hconf.diff +++ b/glibc-nscd-hconf.diff @@ -1,3 +1,6 @@ +See: +http://sourceware.org/bugzilla/show_bug.cgi?id=11928 + diff --git a/nscd/aicache.c b/nscd/aicache.c index 3cb2208..2e92929 100644 --- a/nscd/aicache.c diff --git a/glibc-version.diff b/glibc-version.diff index 322cf0f..09ccbda 100644 --- a/glibc-version.diff +++ b/glibc-version.diff @@ -2,7 +2,7 @@ Index: csu/version.c =================================================================== --- csu/version.c.orig +++ csu/version.c -@@ -25,19 +25,23 @@ static const char __libc_release[] = REL +@@ -25,19 +25,20 @@ static const char __libc_release[] = REL static const char __libc_version[] = VERSION; static const char banner[] = @@ -21,9 +21,6 @@ Index: csu/version.c #ifdef GLIBC_OLDEST_ABI "The oldest ABI supported: " GLIBC_OLDEST_ABI ".\n" #endif -+#ifdef FLOATING_STACKS -+"pthread library is compiled with floating stack support enabled.\n" -+#endif "For bug reporting instructions, please see:\n\ .\n"; diff --git a/glibc.changes b/glibc.changes index 5bb83c1..3798767 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Mon Jul 4 10:00:46 UTC 2011 - aj@suse.de + +- Further cleanup of ld.so.conf to remove duplicate directories + and allow override of system directories (bnc#671725) +- Fix futex bug (added patch glibc-fix-rwlock-stack-imbalance.patch + from sourceware bug #12403). + +------------------------------------------------------------------- +Fri Jul 1 16:09:14 UTC 2011 - aj@suse.de + +- Remove glibc-2.10.99-ia64-include.diff, it's not needed anymore. +- Disable obsolete patches glibc-fnmatch-multibyte.diff, + glibc-2.10-nscd-nostack.diff, glibc-2.3.1.localedef.diff +- Add glibc-2.13-localedef.patch to fix alignment problem. +- Adjust glibc-version.diff, FLOATING_STACKS variable is obsolete. + +------------------------------------------------------------------- +Thu Jun 30 12:17:33 UTC 2011 - aj@suse.de + +- Remove old ARM patches as it's unclear why those are needed and arm + support is anyhow broken according to comments here and in spec + files. + ------------------------------------------------------------------- Thu Jun 30 11:22:02 UTC 2011 - aj@suse.de diff --git a/glibc.spec b/glibc.spec index eb40028..24f966c 100644 --- a/glibc.spec +++ b/glibc.spec @@ -111,7 +111,7 @@ Patch3: glibc-resolv-reload.diff Patch4: glibc-2.3.locales.diff.bz2 # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch5: crypt_blowfish-1.0-suse.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-OPENSUSE add some extra information to version output - kukuk@suse.de Patch7: glibc-version.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch8: glibc-2.4.90-revert-only-euro.diff @@ -135,9 +135,9 @@ Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2 Patch22: glibc-2.4.90-nscd.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch23: glibc-2.3.3-nscd-db-path.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-UPSTREAM - handle zero negative timeout, committed for glibc 2.15 Patch24: glibc-2.3.5-nscd-zeronegtimeout.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-OPENSUSE prefer -lang rpm packages Patch25: glibc-2.3.90-langpackdir.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch27: glibc-2.6-configure.diff @@ -153,19 +153,17 @@ Patch31: ppc-atomic.diff Patch33: glibc-compiled-binaries.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch36: glibc-no-unwind-tables.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-OPENSUSE bnc#387202 Patch37: glibc-2.10-nscd-nostack.diff # PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de Patch38: glibc-cpusetsize.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch39: glibc-2.10.99-ia64-include.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch40: libm-x86-64-exceptions.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch41: glibc-uio-cell.diff # PATCH-FIX-SLE -- Do not assume statfs64 exists for ia64's ia32 layer bnc#534828 Patch42: glibc-statfs64-ia64.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-UPSTREAM -- add missing includes aj@suse.de Patch43: missing-include-build-fix.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch44: glibc-ppc64-vdso-time.diff @@ -181,7 +179,7 @@ Patch48: glibc-malloc-arena-max.diff Patch49: glibc-fini-unwind.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch50: glibc-gconvcache-s390.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-UPSTREAM - Fix alloca argument bso#12445 aj@suse.de Patch51: glibc-vfprintf-positional.diff # PATCH-FIX-OPENSUSE bnc#657627 Patch52: glibc-elf-localscope.diff @@ -203,15 +201,10 @@ Patch60: glibc-x86-bits-sigcontext.patch Patch61: glibc-2.15-getsysstats-speedup.patch # PATCH-FIX-UPSTREAM Fix gcc 4.6 warnings aj@suse.de Patch62: glibc-2.13-warnings.fix -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch503: ARM_glibc-2.10.1-local-no-hwcap.diff - +# PATCH-FIX-OPENSUSE Fix localedef locale-archive creation bso#10855 aj@suse.de +Patch63: glibc-2.13-localedef.patch +# PATCH-FIX-UPSTREAM Fix futex bug bso#12403 aj@suse.de +Patch64: glibc-fix-rwlock-stack-imbalance.patch %description The GNU C Library provides the most important standard libraries used @@ -379,8 +372,8 @@ versions of your software. %prep %ifarch %arm armv5tel armv7l # add glibc-ports for arm -# this is CURRENTLY BROKEN; ARM-interested contributors need to provide -# new tested glibc-ports source +# this is CURRENTLY BROKEN (as of 2009-11-13); ARM-interested +# contributors need to provide new tested glibc-ports source %setup -n glibc-%{version} -q -a 2 -a 3 -a 4 %else # any other leave out ports @@ -389,13 +382,15 @@ versions of your software. %patch0 # libNoVersion part is only active on ix86 %patch1 -%patch2 -p1 +# Disabled +# %patch2 -p1 %patch3 %patch4 %patch5 %patch7 %patch8 -%patch11 +# Disabled +#%patch11 %patch12 %patch13 -E # We have s_sincos.c in patch13, remove duplicate @@ -421,9 +416,9 @@ rm nscd/s-stamp %patch31 %patch33 %patch36 -%patch37 +# Disable for now +#%patch37 %patch38 -%patch39 %patch40 %patch41 -p1 %if 0%{?sles_version} @@ -451,12 +446,10 @@ rm nscd/s-stamp %patch60 -p1 %patch61 -p1 %patch62 -p1 -%ifarch %arm armv5tel armv7l -%patch500 -%patch501 -%patch502 -%patch503 -%endif +%patch63 -p1 +%patch64 -p1 + + # # Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed! # @@ -807,23 +800,14 @@ touch %{buildroot}/var/run/nscd/{socket,nscd.pid} # Create ld.so.conf # cat > %{buildroot}/etc/ld.so.conf <