Accepting request 60018 from Base:System

Accepted submit request 60018 from user pbaudis

OBS-URL: https://build.opensuse.org/request/show/60018
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=36
This commit is contained in:
Marcus Rückert 2011-02-04 16:41:53 +00:00 committed by Git OBS Bridge
commit 5266f74d21
14 changed files with 426 additions and 4563 deletions

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe7395ed702de089ef4f719d3ca0ae0477dbe9c3c0a049aa4bd89f441a00b72e
size 15666419

View File

@ -1,20 +0,0 @@
--- ./string/bits/string3.h.orig 2010-12-09 13:29:45.000000000 +0100
+++ ./string/bits/string3.h 2010-12-09 13:30:15.000000000 +0100
@@ -53,7 +53,7 @@
}
__extern_always_inline void *
-__NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
+__NTH (memmove (void * __dest, __const void * __src,
size_t __len))
{
return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
@@ -88,7 +88,7 @@
#ifdef __USE_BSD
__extern_always_inline void
-__NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
+__NTH (bcopy (__const void * __src, void * __dest,
size_t __len))
{
(void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));

View File

@ -1,11 +0,0 @@
--- sysdeps/unix/sysv/linux/mkdirat.c.orig 2011-01-28 15:50:00.000000000 +0100
+++ sysdeps/unix/sysv/linux/mkdirat.c 2011-01-28 15:51:42.000000000 +0100
@@ -43,7 +43,7 @@
{
res = INLINE_SYSCALL (mkdirat, 3, fd, file, mode);
# ifndef __ASSUME_ATFCTS
- if (res == -1 && res == ENOSYS)
+ if (res == -1 && errno == ENOSYS)
__have_atfcts = -1;
else
# endif

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3e3402f050984b78d0784efbd2115d90a4bb4376803fd3f00c25aee28cf7fb92
size 15669411

File diff suppressed because it is too large Load Diff

60
glibc-fini-unwind.diff Normal file
View File

@ -0,0 +1,60 @@
Index: sysdeps/x86_64/elf/initfini.c
===================================================================
--- sysdeps/x86_64/elf/initfini.c.orig 2004-08-16 06:50:55.000000000 +0200
+++ sysdeps/x86_64/elf/initfini.c 2010-04-16 16:41:11.000000000 +0200
@@ -44,6 +44,25 @@
* crtn.s puts the corresponding function epilogues
in the .init and .fini sections. */
+/* The unwind annotation for _fini is peculiar for good reasons:
+ (a) We need a real function that isn't constructed separately
+ (i.e. one which has a .size directive) in order to attach unwind
+ info to it. Hence _fini is a wrapper around _real_fini, the
+ former being a normal function, the latter being the first
+ instruction of the traditional _fini.
+ (b) We must not fiddle with the stack pointer in _real_fini,
+ as we wouldn't be able to describe the effects in unwind info
+ (c) some versions of GCC have no correct unwind info for
+ __do_global_dtors_aux, meaning they can't properly restore %rbp
+ (unwinding through it is possible but later up when we next
+ need %rbp we can't access it anymore)
+ Therefore we save/restore it in _fini for uses later up the call chain.
+ But we don't make the CFA use that register (that would lead to
+ the above problem)
+ (d) We want an 16-aligned stack pointer at _real_fini. Because of (a)
+ we can't align it in _real_fini, hence we do it in the caller by
+ subtracting 8, making in 8mod16 which the call then make 0mod16
+ again. */
__asm__ ("\n\
#include \"defs.h\"\n\
\n\
@@ -88,16 +107,28 @@ _init:\n\
.globl _fini\n\
.type _fini,@function\n\
_fini:\n\
+ .cfi_startproc\n\
+ push %rbp\n\
+ .cfi_def_cfa_offset 16\n\
+ .cfi_offset 6,-16\n\
subq $8, %rsp\n\
+ .cfi_def_cfa_offset 24\n\
+ call _real_fini\n\
+ addq $8, %rsp\n\
+ .cfi_def_cfa_offset 16\n\
+ pop %rbp\n\
+ ret\n\
+ .cfi_endproc\n\
ALIGN\n\
END_FINI\n\
+.size _fini, .-_fini\n\
+_real_fini:\n\
\n\
/*@_fini_PROLOG_ENDS*/\n\
call i_am_not_a_leaf@PLT\n\
\n\
/*@_fini_EPILOG_BEGINS*/\n\
.section .fini\n\
- addq $8, %rsp\n\
ret\n\
END_FINI\n\
\n\

View File

@ -0,0 +1,22 @@
Index: glibc/sysdeps/s390/s390-64/Makefile
===================================================================
--- sysdeps/s390/s390-64/Makefile 2009-08-03 10:18:31.000000000 +0200
+++ sysdeps/s390/s390-64/Makefile 2010-04-07 10:01:35.000000000 +0200
@@ -74,5 +74,17 @@ $(objpfx)gconv-modules-s390: gconv-modul
$(inst_gconvdir)/gconv-modules: $(objpfx)gconv-modules-s390 $(+force)
$(do-install)
+ifeq (no,$(cross-compiling))
+# Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
+# if this libc has more gconv modules than the previously installed one.
+ if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
+ LC_ALL=C LANGUAGE=C \
+ $(common-objpfx)elf/ld.so --library-path $(rpath-link) \
+ $(common-objpfx)iconv/iconvconfig \
+ $(addprefix --prefix=,$(install_root)); \
+ fi
+else
+ @echo '*@*@*@ You should recreate $(inst_gconvdir)/gconv-modules.cache'
+endif
endif

235
glibc-malloc-arena-max.diff Normal file
View File

@ -0,0 +1,235 @@
Allow M_ARENA_MAX / MALLOC_ARENA_MAX limit even with PER_THREAD disabled
With the new PER_THREAD compile-time option, the allocator also offers
a way to limit the total number of arenas using MALLOC_ARENA_MAX
environment variable or mallopt(M_ARENA_MAX).
In principle, this feature is not tied to the PER_THREAD option. This
patch makes it possible to use it even with the default compilation
settings.
One motivation to limit the number of arenas may be libhugetlbfs users
that rely on its __morecore hook providing hugetlbfs-backed memory for
the allocator - this can work only with a single arena and multi-threaded
programs wishing to use this feature need a way to limit the allocator
to a single arena. Another motivation is avoiding pathological behavior
in extremely thread-intensive applications.
2011-02-04 Petr Baudis <pasky@suse.cz>
* malloc/arena.c: Define and manage narenas even ifndef
PER_THREAD.
* malloc/arena.c (ptmalloc_init_minimal): Likewise.
* malloc/arena.c (_int_new_arena): Likewise.
* malloc/arena.c (ptmalloc_init): Implement MALLOC_ARENA_MAX
even ifndef PER_THREAD.
* malloc/arena.c (reused_arena): Split off get_narenas_limit(),
define even ifndef PER_THREAD.
* malloc/arena.c (arena_get2): Adjust for get_narenas_limit()
split, call reused_arena even ifndef PER_THREAD.
* malloc/hooks.c (public_gET_STATe): Set arena_max, narenas
even ifndef PER_THREAD.
* malloc/hooks.c (public_sET_STATe): Likewise.
* malloc/malloc.c (malloc_par): Define arena_max even ifndef
PER_THREAD.
* malloc/malloc.c (mALLOPt): Implement M_ARENA_MAX even ifndef
PER_THREAD.
* malloc/malloc.c: Remove redundant M_* defines.
diff --git a/malloc/arena.c b/malloc/arena.c
index 4d0deef..ea80724 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -78,8 +78,8 @@ extern int sanity_check_heap_info_alignment[(sizeof (heap_info)
static tsd_key_t arena_key;
static mutex_t list_lock;
-#ifdef PER_THREAD
static size_t narenas;
+#ifdef PER_THREAD
static mstate free_list;
#endif
@@ -416,8 +416,8 @@ ptmalloc_init_minimal (void)
#ifdef PER_THREAD
# define NARENAS_FROM_NCORES(n) ((n) * (sizeof(long) == 4 ? 2 : 8))
mp_.arena_test = NARENAS_FROM_NCORES (1);
- narenas = 1;
#endif
+ narenas = 1;
}
@@ -574,10 +574,8 @@ ptmalloc_init (void)
{
if (memcmp (envline, "MMAP_MAX_", 9) == 0)
mALLOPt(M_MMAP_MAX, atoi(&envline[10]));
-#ifdef PER_THREAD
else if (memcmp (envline, "ARENA_MAX", 9) == 0)
mALLOPt(M_ARENA_MAX, atoi(&envline[10]));
-#endif
}
break;
#ifdef PER_THREAD
@@ -946,9 +944,9 @@ _int_new_arena(size_t size)
atomic_write_barrier ();
main_arena.next = a;
-#ifdef PER_THREAD
++narenas;
+#ifdef PER_THREAD
(void)mutex_unlock(&list_lock);
#endif
@@ -982,13 +980,9 @@ get_free_list (void)
return result;
}
-
-static mstate
-reused_arena (void)
+static int
+get_narenas_limit (void) __attribute__((pure))
{
- if (narenas <= mp_.arena_test)
- return NULL;
-
static int narenas_limit;
if (narenas_limit == 0)
{
@@ -1006,10 +1000,16 @@ reused_arena (void)
narenas_limit = NARENAS_FROM_NCORES (2);
}
}
+ return narenas_limit;
+}
+#endif
- if (narenas < narenas_limit)
- return NULL;
+/* Reuse and return one of the existing arenas; if all arenas are busy,
+ * pick one in a round-robin fashion and block until it becomes available. */
+static mstate
+reused_arena (void)
+{
mstate result;
static mstate next_to_use;
if (next_to_use == NULL)
@@ -1035,7 +1035,6 @@ reused_arena (void)
return result;
}
-#endif
static mstate
internal_function
@@ -1048,10 +1047,15 @@ arena_get2(a_tsd, size) mstate a_tsd; size_t size;
mstate a;
#ifdef PER_THREAD
- if ((a = get_free_list ()) == NULL
- && (a = reused_arena ()) == NULL)
- /* Nothing immediately available, so generate a new arena. */
- a = _int_new_arena(size);
+ if ((a = get_free_list ()) == NULL)
+ {
+ if (narenas > mp_.arena_test && narenas >= get_narenas_limit())
+ a = reused_arena ();
+ else
+ /* Nothing immediately available, but we can still generate more
+ * arenas, so get a new one. */
+ a = _int_new_arena(size);
+ }
#else
if(!a_tsd)
a = a_tsd = &main_arena;
@@ -1093,8 +1097,14 @@ arena_get2(a_tsd, size) mstate a_tsd; size_t size;
goto repeat;
}
- /* Nothing immediately available, so generate a new arena. */
- a = _int_new_arena(size);
+ if (__builtin_expect(mp_.arena_max > 0, 0) && narenas >= mp_.arena_max)
+ /* Try again, this time blocking in case we are still unable to find
+ * a free arena. */
+ a = reused_arena();
+ else
+ /* Nothing immediately available, so generate a new arena. */
+ a = _int_new_arena(size);
+
(void)mutex_unlock(&list_lock);
#endif
diff --git a/malloc/hooks.c b/malloc/hooks.c
index 28845ee..e938492 100644
--- a/malloc/hooks.c
+++ b/malloc/hooks.c
@@ -579,9 +579,9 @@ public_gET_STATe(void)
ms->max_fast = get_max_fast();
#ifdef PER_THREAD
ms->arena_test = mp_.arena_test;
+#endif
ms->arena_max = mp_.arena_max;
ms->narenas = narenas;
-#endif
(void)mutex_unlock(&main_arena.mutex);
return (Void_t*)ms;
}
@@ -683,9 +683,9 @@ public_sET_STATe(Void_t* msptr)
if (ms->version >= 4) {
#ifdef PER_THREAD
mp_.arena_test = ms->arena_test;
+#endif
mp_.arena_max = ms->arena_max;
narenas = ms->narenas;
-#endif
}
check_malloc_state(&main_arena);
diff --git a/malloc/malloc.c b/malloc/malloc.c
index b1d43c6..8dbadfa 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -2406,9 +2406,10 @@ struct malloc_par {
INTERNAL_SIZE_T top_pad;
INTERNAL_SIZE_T mmap_threshold;
#ifdef PER_THREAD
+ /* Lower bound for arena_max. */
INTERNAL_SIZE_T arena_test;
- INTERNAL_SIZE_T arena_max;
#endif
+ INTERNAL_SIZE_T arena_max;
/* Memory map support */
int n_mmaps;
@@ -2446,13 +2447,6 @@ static struct malloc_state main_arena;
static struct malloc_par mp_;
-#ifdef PER_THREAD
-/* Non public mallopt parameters. */
-#define M_ARENA_TEST -7
-#define M_ARENA_MAX -8
-#endif
-
-
/* Maximum size of memory handled in fastbins. */
static INTERNAL_SIZE_T global_max_fast;
@@ -6095,12 +6089,12 @@ int mALLOPt(param_number, value) int param_number; int value;
if (value > 0)
mp_.arena_test = value;
break;
+#endif
case M_ARENA_MAX:
if (value > 0)
mp_.arena_max = value;
break;
-#endif
}
(void)mutex_unlock(&av->mutex);
return res;

View File

@ -1,26 +0,0 @@
Use DEEPBIND to load the nss modules. Helps thunderbird (linked against its
own version of the ldap libs) when using nss_ldap (linked against system
libldap) leading to crashes due to incompatibilities.
This has a downside: Linking against libraries overriding malloc() and free()
will break (unless the malloc()'d pointers by glibc are free()able by these).
This is fixable in principle, just needs some work.
See https://bugzilla.novell.com/show_bug.cgi?id=157078 and
http://sourceware.org/bugzilla/show_bug.cgi?id=6610
Index: nss/nsswitch.c
===================================================================
--- nss/nsswitch.c.orig
+++ nss/nsswitch.c
@@ -361,7 +361,9 @@ __nss_lookup_function (service_user *ni,
".so"),
__nss_shlib_revision);
- ni->library->lib_handle = __libc_dlopen (shlib_name);
+ ni->library->lib_handle
+ = __libc_dlopen_mode (shlib_name,
+ RTLD_LAZY | __RTLD_DLOPEN | RTLD_DEEPBIND);
if (ni->library->lib_handle == NULL)
{
/* Failed to load the library. */

View File

@ -1,7 +0,0 @@
Index: glibc-2.10.1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
===================================================================
--- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
+++ glibc-2.10.1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
@@ -1 +1 @@
-#include "../../fxstat.c"
+#include "../../i386/fxstat.c"

View File

@ -0,0 +1,20 @@
2011-01-27 Petr Baudis <pasky@suse.cz>
* stdio-common/vfprintf.c (vfprintf): Pass correct newlen
to extend_alloca().
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
index fc370e8..ecf5dfa 100644
--- a/stdio-common/vfprintf.c
+++ b/stdio-common/vfprintf.c
@@ -1682,7 +1682,9 @@ do_positional:
{
/* Extend the array of format specifiers. */
struct printf_spec *old = specs;
- specs = extend_alloca (specs, nspecs_max, 2 * nspecs_max);
+ specs = extend_alloca (specs, nspecs_max,
+ 2 * nspecs_max
+ * sizeof (struct printf_spec));
/* Copy the old array's elements to the new space. */
memmove (specs, old, nspecs * sizeof (struct printf_spec));

View File

@ -1,3 +1,31 @@
-------------------------------------------------------------------
Fri Feb 4 00:46:40 CET 2011 - pbaudis@suse.cz
- Upgrade to latest release/2.11/master - glibc-2.11.3-b72646ad0c41
- Random assortion of bugfixes, some #defines for new kernels
- Retired patches:
- glibc-2.11.3-bnc658509.diff
- glibc-2.11.3-bso12397.diff
- glibc-sparc64-fxstat.diff
- Remove the NSS hack of opening modules using RTLD_DEEPBIND.
This was useful for nss_ldap, since some applications used a different
LDAP library with clashing symbol names. However, it also created
many headaches, especially with the NSS modules not respecting
malloc() overrides. Now, sssd is used by default for LDAP resolutions
and we can therefore safely get rid of the hack. [bnc#477061]
- Remove the currently disabled AMD string function overrides.
Benchmarking did not unearth any differences that would make
convincing case for keeping the functions with all the associated
maintenance headaches; AMD does not recommend keeping their custom
versions of the functions either.
- Introduce MALLOC_ARENA_MAX and M_ARENA_MAX support [bnc#659090]
- Fixed stack unwinding past glibc _fini function (proper showing
of destructor backtraces) [bnc#585879]
- Fix gconv cache generation on s390 [bnc#592944]
- Add missing iconvconfig for refreshing gconv.cache to glibc-locale %post
- Fixed stack corruption in *printf() with large number of positional
specifiers [bnc#666179]
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jan 28 14:53:35 UTC 2011 - rguenther@novell.com Fri Jan 28 14:53:35 UTC 2011 - rguenther@novell.com

View File

@ -68,7 +68,7 @@ Release: 3
Url: http://www.gnu.org/software/libc/libc.html Url: http://www.gnu.org/software/libc/libc.html
PreReq: filesystem PreReq: filesystem
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: glibc-%{version}.tar.bz2 Source: glibc-%{version}-b72646ad0c41.tar.bz2
Source2: glibc-ports-2.10.1-2b2b217196.tar.bz2 Source2: glibc-ports-2.10.1-2b2b217196.tar.bz2
Source3: noversion.tar.bz2 Source3: noversion.tar.bz2
Source4: manpages.tar.bz2 Source4: manpages.tar.bz2
@ -98,51 +98,49 @@ Patch9: glibc-2.3-regcomp.diff
Patch10: glibc-2.3.2-revert_tcsetattr.diff Patch10: glibc-2.3.2-revert_tcsetattr.diff
Patch11: glibc-2.3.1.localedef.diff Patch11: glibc-2.3.1.localedef.diff
Patch12: glibc-2.3.2.no_archive.diff Patch12: glibc-2.3.2.no_archive.diff
Patch13: glibc-2.3.3-amd64-string.diff Patch13: libm-x86-64.diff.bz2
Patch14: libm-x86-64.diff.bz2 Patch14: glibc-2.3.90-bindresvport.blacklist.diff
Patch15: glibc-2.3.90-bindresvport.blacklist.diff Patch15: glibc-suse-note.diff
Patch16: glibc-suse-note.diff Patch16: glibc-2.4.90-no_NO.diff
Patch17: glibc-2.4.90-no_NO.diff Patch17: glibc-2.3.90-ld.so-madvise.diff
Patch18: glibc-2.3.90-ld.so-madvise.diff Patch18: glibc-2.3.3-amd64-s_ceil.diff
Patch19: glibc-2.3.3-amd64-s_ceil.diff Patch19: glibc-2.3.3-execstack.diff
Patch20: glibc-2.3.3-execstack.diff Patch20: glibc-2.4-china.diff
Patch21: glibc-2.4-china.diff Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2
Patch22: glibc-2.3.4-gb18030-big5hkscs.diff.bz2 Patch22: glibc-2.4.90-nscd.diff
Patch23: glibc-2.4.90-nscd.diff Patch23: glibc-2.3.3-nscd-db-path.diff
Patch24: glibc-2.3.3-nscd-db-path.diff Patch24: glibc-2.3.5-nscd-zeronegtimeout.diff
Patch25: glibc-2.3.5-nscd-zeronegtimeout.diff Patch25: glibc-2.3.90-langpackdir.diff
Patch26: glibc-2.3.90-langpackdir.diff Patch26: glibc-nptl-2.4-nofixsyscallnr.diff
Patch27: glibc-nptl-2.4-nofixsyscallnr.diff Patch27: glibc-2.6-configure.diff
Patch30: glibc-2.6-configure.diff Patch28: glibc-2.2-sunrpc.diff
Patch31: glibc-2.2-sunrpc.diff Patch29: glibc-2.8-getconf.diff
Patch32: glibc-2.8-getconf.diff Patch30: getaddrinfo-ipv6-sanity.diff
Patch33: getaddrinfo-ipv6-sanity.diff Patch31: ppc-atomic.diff
Patch35: ppc-atomic.diff Patch32: glibc-2.8-clone.diff
Patch36: glibc-2.8-clone.diff Patch33: glibc-compiled-binaries.diff
Patch37: glibc-nss-deepbind.diff Patch34: glibc-selinux.diff
Patch39: glibc-compiled-binaries.diff Patch35: glibc-check-native-missing-include.diff
Patch40: glibc-selinux.diff Patch36: glibc-no-unwind-tables.diff
Patch41: glibc-check-native-missing-include.diff Patch37: glibc-2.10-nscd-nostack.diff
Patch42: glibc-no-unwind-tables.diff Patch38: glibc-cpusetsize.diff
Patch43: glibc-2.10-nscd-nostack.diff Patch39: glibc-2.10.99-ia64-include.diff
Patch44: glibc-cpusetsize.diff Patch40: libm-x86-64-exceptions.diff
Patch46: glibc-2.10.99-ia64-include.diff Patch41: glibc-uio-cell.diff
Patch47: libm-x86-64-exceptions.diff Patch42: glibc-statfs64-ia64.diff
Patch48: glibc-uio-cell.diff Patch43: ld-prelink-unique.diff
Patch54: glibc-statfs64-ia64.diff Patch44: glibc-ppc64-vdso-time.diff
Patch60: ld-prelink-unique.diff Patch45: glibc-gai-private4.diff
Patch61: glibc-ppc64-vdso-time.diff Patch46: glibc-resolv-mdnshint.diff
Patch64: glibc-gai-private4.diff Patch47: glibc-nscd-hconf.diff
Patch65: glibc-resolv-mdnshint.diff Patch48: glibc-malloc-arena-max.diff
Patch69: glibc-nscd-hconf.diff Patch49: glibc-fini-unwind.diff
Patch50: glibc-gconvcache-s390.diff
Patch51: glibc-vfprintf-positional.diff
Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff
Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff
Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff
Patch503: ARM_glibc-2.10.1-local-no-hwcap.diff Patch503: ARM_glibc-2.10.1-local-no-hwcap.diff
# http://sources.redhat.com/bugzilla/show_bug.cgi?id=11155
Patch600: glibc-sparc64-fxstat.diff
Patch601: glibc-2.11.3-bnc658509.diff
Patch602: glibc-2.11.3-bso12397.diff
%description %description
The GNU C Library provides the most important standard libraries used The GNU C Library provides the most important standard libraries used
@ -311,12 +309,10 @@ versions of your software.
%patch10 %patch10
%patch11 %patch11
%patch12 %patch12
#%patch13 %patch13 -E
# strncmp.S triggers amd64 assembler bug [bnc#540647]
#rm sysdeps/x86_64/strncmp.S
%patch14 -E
# We have s_sincos.c in patch13, remove duplicate # We have s_sincos.c in patch13, remove duplicate
rm sysdeps/x86_64/fpu/s_sincos.S rm sysdeps/x86_64/fpu/s_sincos.S
%patch14
%patch15 %patch15
%patch16 %patch16
%patch17 %patch17
@ -324,48 +320,47 @@ rm sysdeps/x86_64/fpu/s_sincos.S
%patch19 %patch19
%patch20 %patch20
%patch21 %patch21
%patch22
# avoid changing nscd_stat.c mtime to avoid code generation # avoid changing nscd_stat.c mtime to avoid code generation
# differences on each rebuild # differences on each rebuild
touch -r nscd/nscd_stat.c nscd/s-stamp touch -r nscd/nscd_stat.c nscd/s-stamp
%patch22
%patch23 %patch23
%patch24 %patch24
%patch25
touch -r nscd/s-stamp nscd/nscd_stat.c touch -r nscd/s-stamp nscd/nscd_stat.c
rm nscd/s-stamp rm nscd/s-stamp
%patch25
%patch26 %patch26
%patch27 %patch27
%patch28
%patch29
%patch30 %patch30
%patch31 %patch31
%patch32 %patch32
%patch33 %patch33
%patch34
%patch35 %patch35
%patch36 %patch36
%patch37 %patch37
%patch38
%patch39 %patch39
%patch40 %patch40
%patch41 %patch41 -p1
%patch42 %patch42
%patch43 %patch43 -p1
%patch44 %patch44 -p1
%patch46 %patch45
%patch47 %patch46 -p1
%patch47 -p1
%patch48 -p1 %patch48 -p1
%patch54 %patch49
%patch60 -p1 %patch50
%patch61 -p1 %patch51 -p1
%patch64
%patch65 -p1
%patch69 -p1
%ifarch %arm armv5tel armv7l %ifarch %arm armv5tel armv7l
%patch500 %patch500
%patch501 %patch501
%patch502 %patch502
%patch503 %patch503
%endif %endif
%patch600 -p1
%patch601
%patch602
# #
# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed! # Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
# #
@ -782,6 +777,7 @@ for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
echo "###X# The following is autogenerated from extra files in the .d directory:" >>"$l" echo "###X# The following is autogenerated from extra files in the .d directory:" >>"$l"
cat "$l.d"/* >>"$l" cat "$l.d"/* >>"$l"
done done
/usr/sbin/iconvconfig
%post info %post info
%install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz %install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz

0
ready Normal file
View File