Accepting request 27940 from Base:System

Copy from Base:System/glibc based on submit request 27940 from user dirkmueller

OBS-URL: https://build.opensuse.org/request/show/27940
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=14
This commit is contained in:
OBS User autobuild 2010-01-03 11:31:34 +00:00 committed by Git OBS Bridge
parent 35b77f97b8
commit e29cecdd47
24 changed files with 3025 additions and 1390 deletions

View File

@ -4,8 +4,10 @@
# called by RPC services. This mostly solves the problem, that a
# RPC service uses a well known port of another service.
#
623 # ASF, used by IPMI on some cards
631 # cups
636 # ldaps
664 # Secure ASF, used by IPMI on some cards
774 # rpasswd
921 # lwresd
993 # imaps

View File

@ -1,49 +0,0 @@
2009-06-15 Petr Baudis <pasky@suse.cz>
* malloc/hooks.c (free_check): Do not invoke mem2chunk_check()
without main_arena mutex held.
Index: malloc/hooks.c
===================================================================
--- malloc/hooks.c.orig
+++ malloc/hooks.c
@@ -276,25 +276,33 @@ free_check(mem, caller) Void_t* mem; con
mchunkptr p;
if(!mem) return;
+#ifndef ATOMIC_FASTBINS
+ (void)mutex_lock(&main_arena.mutex);
+#endif
p = mem2chunk_check(mem, NULL);
if(!p) {
+#ifndef ATOMIC_FASTBINS
+ (void)mutex_unlock(&main_arena.mutex);
+#endif
malloc_printerr(check_action, "free(): invalid pointer", mem);
return;
}
#if HAVE_MMAP
if (chunk_is_mmapped(p)) {
munmap_chunk(p);
- return;
- }
+ } else
#endif
+ {
#if 0 /* Erase freed memory. */
- memset(mem, 0, chunksize(p) - (SIZE_SZ+1));
+ memset(mem, 0, chunksize(p) - (SIZE_SZ+1));
#endif
#ifdef ATOMIC_FASTBINS
- _int_free(&main_arena, p, 0);
+ _int_free(&main_arena, p, 0);
#else
- (void)mutex_lock(&main_arena.mutex);
- _int_free(&main_arena, p);
+ _int_free(&main_arena, p);
+#endif
+ }
+#ifndef ATOMIC_FASTBINS
(void)mutex_unlock(&main_arena.mutex);
#endif
}

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@ Index: elf/dl-load.c
===================================================================
--- elf/dl-load.c.orig
+++ elf/dl-load.c
@@ -1204,6 +1204,9 @@ cannot allocate TLS data structures for
@@ -1207,6 +1207,9 @@ cannot allocate TLS data structures for
goto call_lose_errno;
}
@ -37,7 +37,7 @@ Index: elf/rtld.c
===================================================================
--- elf/rtld.c.orig
+++ elf/rtld.c
@@ -153,6 +153,7 @@ struct rtld_global_ro _rtld_global_ro at
@@ -158,6 +158,7 @@ struct rtld_global_ro _rtld_global_ro at
._dl_lazy = 1,
._dl_fpu_control = _FPU_DEFAULT,
._dl_pointer_guard = 1,
@ -45,7 +45,7 @@ Index: elf/rtld.c
/* Function pointers. */
._dl_debug_printf = _dl_debug_printf,
@@ -2607,6 +2608,14 @@ process_envvars (enum mode *modep)
@@ -2612,6 +2613,14 @@ process_envvars (enum mode *modep)
break;
case 9:
@ -64,7 +64,7 @@ Index: sysdeps/generic/ldsodefs.h
===================================================================
--- sysdeps/generic/ldsodefs.h.orig
+++ sysdeps/generic/ldsodefs.h
@@ -561,6 +561,9 @@ struct rtld_global_ro
@@ -580,6 +580,9 @@ struct rtld_global_ro
/* Do we do lazy relocations? */
EXTERN int _dl_lazy;

View File

@ -2,7 +2,7 @@ Index: elf/rtld.c
===================================================================
--- elf/rtld.c.orig
+++ elf/rtld.c
@@ -1756,6 +1756,53 @@ ERROR: ld.so: object '%s' cannot be load
@@ -1761,6 +1761,53 @@ ERROR: ld.so: object '%s' cannot be load
}
}

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:308f75f9daa64b97485a53420215656b001cc25a9337c34887d2c279efe32bc9
size 328632
oid sha256:a623420e540731e6b0dca8ce2212fdfe048fa8b38c03eb210a8cf168b63d874e
size 328634

View File

@ -89,7 +89,7 @@ Index: localedata/SUPPORTED
===================================================================
--- localedata/SUPPORTED.orig
+++ localedata/SUPPORTED
@@ -303,6 +303,8 @@ nl_NL/ISO-8859-1 \
@@ -305,6 +305,8 @@ nl_NL/ISO-8859-1 \
nl_NL@euro/ISO-8859-15 \
nn_NO.UTF-8/UTF-8 \
nn_NO/ISO-8859-1 \

View File

@ -40,7 +40,7 @@ Index: nscd/cache.c
+ /* now == 0 means just check for changed files */
+ if (now == (time_t)0)
+ return;
+ return 0;
+
/* We run through the table and find values which are not valid anymore.

View File

@ -2,7 +2,7 @@ Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -1360,7 +1360,7 @@ EOF
@@ -1395,7 +1395,7 @@ EOF
fi
fi
fi
@ -11,7 +11,7 @@ Index: configure.in
])
if test $libc_cv_visibility_attribute != yes; then
AC_MSG_ERROR(compiler support for visibility attribute is required)
@@ -1376,7 +1376,7 @@ EOF
@@ -1411,7 +1411,7 @@ EOF
int bar (int x) { return x; }
EOF
libc_cv_broken_visibility_attribute=yes
@ -24,7 +24,7 @@ Index: configure
===================================================================
--- configure.orig
+++ configure
@@ -6221,7 +6221,7 @@ EOF
@@ -6272,7 +6272,7 @@ EOF
fi
fi
fi
@ -33,7 +33,7 @@ Index: configure
fi
{ $as_echo "$as_me:$LINENO: result: $libc_cv_visibility_attribute" >&5
@@ -6245,7 +6245,7 @@ else
@@ -6296,7 +6296,7 @@ else
int bar (int x) { return x; }
EOF
libc_cv_broken_visibility_attribute=yes

View File

@ -11,7 +11,7 @@ Index: config.make.in
===================================================================
--- config.make.in.orig
+++ config.make.in
@@ -96,6 +96,7 @@ add-ons = @add_ons@
@@ -99,6 +99,7 @@ add-ons = @add_ons@
add-on-subdirs = @add_on_subdirs@
sysdeps-add-ons = @sysdeps_add_ons@
cross-compiling = @cross_compiling@
@ -31,7 +31,7 @@ Index: configure
subdirs=
MFLAGS=
MAKEFLAGS=
@@ -741,6 +742,7 @@ CXXFLAGS
@@ -742,6 +743,7 @@ CXXFLAGS
CXX
CPP
cross_compiling
@ -39,7 +39,7 @@ Index: configure
BUILD_CC
OBJEXT
ac_ct_CC
@@ -1291,6 +1293,13 @@ do
@@ -1294,6 +1296,13 @@ do
{ (exit 1); exit 1; }; }
done
@ -53,7 +53,7 @@ Index: configure
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
@@ -1306,6 +1315,7 @@ if test "x$host_alias" != x; then
@@ -1309,6 +1318,7 @@ if test "x$host_alias" != x; then
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
@ -61,7 +61,7 @@ Index: configure
fi
fi
@@ -1498,6 +1508,9 @@ Optional Features:
@@ -1501,6 +1511,9 @@ Optional Features:
enable experimental malloc features
--enable-nss-crypt enable libcrypt to use nss
@ -75,7 +75,7 @@ Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -13,6 +13,7 @@ if test $host != $build; then
@@ -16,6 +16,7 @@ if test $host != $build; then
AC_CHECK_PROGS(BUILD_CC, gcc cc)
fi
AC_SUBST(cross_compiling)

39
glibc-ia64-memchr.diff Normal file
View File

@ -0,0 +1,39 @@
On Mon, Nov 09, 2009 at 11:57:06AM -0800, H.J. Lu wrote:
> When data is shorter than software pipeline, recovery may fail. This
> patch avoids it by using a simple loop on data shorter than software
> pipeline.
>
Here is an updated patch. This one properly handles the shorter read
on speculative load.
H.J.
---
2009-11-09 H.J. Lu <hongjiu.lu@intel.com>
PR libc/10162
* sysdeps/ia64/memchr.S: Properly recover from shorter read.
diff --git a/sysdeps/ia64/memchr.S b/sysdeps/ia64/memchr.S
index cd062b2..cdd71ca 100644
--- a/sysdeps/ia64/memchr.S
+++ b/sysdeps/ia64/memchr.S
@@ -126,7 +126,16 @@ ENTRY(__memchr)
br.ret.sptk.many b0
.recovery:
- adds ret0 = -((MEMLAT + 1) * 8), ret0;;
+#if MEMLAT != 6
+# error "MEMLAT must be 6!"
+#endif
+(p[MEMLAT-6]) add ret0 = -8, ret0;;
+(p[MEMLAT-5]) add ret0 = -8, ret0;;
+(p[MEMLAT-4]) add ret0 = -8, ret0;;
+(p[MEMLAT-3]) add ret0 = -8, ret0;;
+(p[MEMLAT-2]) add ret0 = -8, ret0;;
+(p[MEMLAT-1]) add ret0 = -8, ret0;;
+(p[MEMLAT]) add ret0 = -8, ret0;;
(p[MEMLAT+1]) add ret0 = -8, ret0;;
(p[MEMLAT+2]) add ret0 = -8, ret0;;
.l4:

View File

@ -0,0 +1,29 @@
2009-11-20 Petr Baudis <pasky@suse.cz>
[BZ #10851]
* resolv/res_init.c (__res_vinit): Initialize nscount again to
one so that the default localhost nameserver record is used.
diff --git a/resolv/res_init.c b/resolv/res_init.c
index 40dbe7d..99ef8cf 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -183,7 +183,7 @@ __res_vinit(res_state statp, int preinit) {
#endif
statp->nsaddr.sin_family = AF_INET;
statp->nsaddr.sin_port = htons(NAMESERVER_PORT);
- statp->nscount = 0;
+ statp->nscount = 1;
statp->ndots = 1;
statp->pfcode = 0;
statp->_vcsock = -1;
@@ -420,7 +420,8 @@ __res_vinit(res_state statp, int preinit) {
continue;
}
}
- statp->nscount = nservall;
+ if (nservall > 0)
+ statp->nscount = nservall;
#ifdef _LIBC
if (nservall - nserv > 0) {
statp->_u._ext.nscount6 = nservall - nserv;

View File

@ -87,7 +87,7 @@ Index: nis/nss_compat/compat-initgroups.c
static service_user *ni;
/* Type of the lookup function. */
static enum nss_status (*nss_initgroups_dyn) (const char *, gid_t,
@@ -103,7 +106,10 @@ init_nss_interface (void)
@@ -107,7 +110,10 @@ init_nss_interface (void)
if (ni == NULL
&& __nss_database_lookup ("group_compat", NULL, "nis", &ni) >= 0)
{
@ -98,4 +98,4 @@ Index: nis/nss_compat/compat-initgroups.c
+ nss_initgroups_dyn = __nss_lookup_function (ni, "initgroups_dyn");
nss_getgrnam_r = __nss_lookup_function (ni, "getgrnam_r");
nss_getgrgid_r = __nss_lookup_function (ni, "getgrgid_r");
nss_getgrent_r = __nss_lookup_function (ni, "getgrent_r");
nss_setgrent = __nss_lookup_function (ni, "setgrent");

View File

@ -2,7 +2,7 @@ Index: nptl/pthreadP.h
===================================================================
--- nptl/pthreadP.h.orig
+++ nptl/pthreadP.h
@@ -575,15 +575,4 @@ extern void __wait_lookup_done (void) at
@@ -577,15 +577,4 @@ extern void __wait_lookup_done (void) at
# define PTHREAD_STATIC_FN_REQUIRE(name) __asm (".globl " #name);
#endif

View File

@ -1,141 +0,0 @@
2009-08-18 Anders Johansson <ajohansson@novell.com>
* nscd/aicache.c: Fix mixing up dataset and dataset->resp
offsets and record sizes in assert()s and response sending.
* nscd/grpcache.c: Likewise.
* nscd/hstcache.c: Likewise.
* nscd/initgrcache.c: Likewise.
* nscd/pwdcache.c: Likewise.
Index: nscd/aicache.c
===================================================================
--- nscd/aicache.c.orig
+++ nscd/aicache.c
@@ -453,13 +453,13 @@ addhstaiX (struct database_dyn *db, int
{
assert (db->wr_fd != -1);
assert ((char *) &dataset->resp > (char *) db->data);
- assert ((char *) &dataset->resp - (char *) db->head + total
+ assert ((char *) dataset - (char *) db->head + total
<= (sizeof (struct database_pers_head)
+ db->head->module * sizeof (ref_t)
+ db->head->data_size));
ssize_t written;
written = sendfileall (fd, db->wr_fd, (char *) &dataset->resp
- - (char *) db->head, total);
+ - (char *) db->head, dataset->head.recsize);
# ifndef __ASSUME_SENDFILE
if (written == -1 && errno == ENOSYS)
goto use_write;
@@ -470,7 +470,7 @@ addhstaiX (struct database_dyn *db, int
use_write:
# endif
#endif
- writeall (fd, &dataset->resp, total);
+ writeall (fd, &dataset->resp, dataset->head.recsize);
}
goto out;
Index: nscd/grpcache.c
===================================================================
--- nscd/grpcache.c.orig
+++ nscd/grpcache.c
@@ -299,14 +299,14 @@ cache_addgr (struct database_dyn *db, in
{
assert (db->wr_fd != -1);
assert ((char *) &dataset->resp > (char *) db->data);
- assert ((char *) &dataset->resp - (char *) db->head
+ assert ((char *) dataset - (char *) db->head
+ total
<= (sizeof (struct database_pers_head)
+ db->head->module * sizeof (ref_t)
+ db->head->data_size));
written = sendfileall (fd, db->wr_fd,
(char *) &dataset->resp
- - (char *) db->head, total);
+ - (char *) db->head, dataset->head.recsize);
# ifndef __ASSUME_SENDFILE
if (written == -1 && errno == ENOSYS)
goto use_write;
@@ -317,7 +317,7 @@ cache_addgr (struct database_dyn *db, in
use_write:
# endif
#endif
- written = writeall (fd, &dataset->resp, total);
+ written = writeall (fd, &dataset->resp, dataset->head.recsize);
}
/* Add the record to the database. But only if it has not been
Index: nscd/hstcache.c
===================================================================
--- nscd/hstcache.c.orig
+++ nscd/hstcache.c
@@ -341,7 +341,7 @@ cache_addhst (struct database_dyn *db, i
{
assert (db->wr_fd != -1);
assert ((char *) &dataset->resp > (char *) db->data);
- assert ((char *) &dataset->resp - (char *) db->head
+ assert ((char *) dataset - (char *) db->head
+ total
<= (sizeof (struct database_pers_head)
+ db->head->module * sizeof (ref_t)
Index: nscd/initgrcache.c
===================================================================
--- nscd/initgrcache.c.orig
+++ nscd/initgrcache.c
@@ -354,14 +354,14 @@ addinitgroupsX (struct database_dyn *db,
{
assert (db->wr_fd != -1);
assert ((char *) &dataset->resp > (char *) db->data);
- assert ((char *) &dataset->resp - (char *) db->head
+ assert ((char *) dataset - (char *) db->head
+ total
<= (sizeof (struct database_pers_head)
+ db->head->module * sizeof (ref_t)
+ db->head->data_size));
written = sendfileall (fd, db->wr_fd,
(char *) &dataset->resp
- - (char *) db->head, total);
+ - (char *) db->head, dataset->head.recsize);
# ifndef __ASSUME_SENDFILE
if (written == -1 && errno == ENOSYS)
goto use_write;
@@ -372,7 +372,7 @@ addinitgroupsX (struct database_dyn *db,
use_write:
# endif
#endif
- written = writeall (fd, &dataset->resp, total);
+ written = writeall (fd, &dataset->resp, dataset->head.recsize);
}
Index: nscd/pwdcache.c
===================================================================
--- nscd/pwdcache.c.orig
+++ nscd/pwdcache.c
@@ -294,14 +294,14 @@ cache_addpw (struct database_dyn *db, in
{
assert (db->wr_fd != -1);
assert ((char *) &dataset->resp > (char *) db->data);
- assert ((char *) &dataset->resp - (char *) db->head
+ assert ((char *) dataset - (char *) db->head
+ total
<= (sizeof (struct database_pers_head)
+ db->head->module * sizeof (ref_t)
+ db->head->data_size));
written = sendfileall (fd, db->wr_fd,
(char *) &dataset->resp
- - (char *) db->head, total);
+ - (char *) db->head, dataset->head.recsize );
# ifndef __ASSUME_SENDFILE
if (written == -1 && errno == ENOSYS)
goto use_write;
@@ -312,7 +312,7 @@ cache_addpw (struct database_dyn *db, in
use_write:
# endif
#endif
- written = writeall (fd, &dataset->resp, total);
+ written = writeall (fd, &dataset->resp, dataset->head.recsize);
}

View File

@ -1,13 +0,0 @@
Index: nscd/cache.c
===================================================================
--- nscd/cache.c.orig
+++ nscd/cache.c
@@ -290,7 +290,7 @@ prune_cache (struct database_dyn *table,
/* now == 0 means just check for changed files */
if (now == (time_t)0)
- return;
+ return 0;
/* We run through the table and find values which are not valid anymore.

26
glibc-uio-cell.diff Normal file
View File

@ -0,0 +1,26 @@
2009-11-06 Petr Baudis <pasky@suse.cz>
* include/sys/uio.h: Change __vector to __iovec to avoid clash
with altivec.
diff --git a/include/sys/uio.h b/include/sys/uio.h
index 8c2b016..bfaec59 100644
--- a/include/sys/uio.h
+++ b/include/sys/uio.h
@@ -2,12 +2,12 @@
#include <misc/sys/uio.h>
/* Now define the internal interfaces. */
-extern ssize_t __readv (int __fd, __const struct iovec *__vector,
+extern ssize_t __readv (int __fd, __const struct iovec *__iovec,
int __count);
-extern ssize_t __libc_readv (int __fd, __const struct iovec *__vector,
+extern ssize_t __libc_readv (int __fd, __const struct iovec *__iovec,
int __count);
-extern ssize_t __writev (int __fd, __const struct iovec *__vector,
+extern ssize_t __writev (int __fd, __const struct iovec *__iovec,
int __count);
-extern ssize_t __libc_writev (int __fd, __const struct iovec *__vector,
+extern ssize_t __libc_writev (int __fd, __const struct iovec *__iovec,
int __count);
#endif

View File

@ -1,18 +0,0 @@
On extremely loaded systems, the default timeout may not be enough and some
entries may not appear in the utmp log. With 30s login delay, the system
should still stay usable for repair in case the utmp locking somehow breaks
down.
Index: login/utmp_file.c
===================================================================
--- login/utmp_file.c.orig
+++ login/utmp_file.c
@@ -45,7 +45,7 @@ static struct utmp last_entry;
/* Locking timeout. */
#ifndef TIMEOUT
-# define TIMEOUT 1
+# define TIMEOUT 30
#endif
/* Do-nothing handler for locking timeout. */

View File

@ -1,3 +1,117 @@
-------------------------------------------------------------------
Mon Dec 14 23:49:33 CET 2009 - jengelh@medozas.de
- add baselibs.conf as a source
-------------------------------------------------------------------
Fri Dec 11 13:13:01 CET 2009 - jengelh@medozas.de
- libnldbl_nonshared is only built for sparc32
-------------------------------------------------------------------
Tue Dec 8 20:50:26 CET 2009 - jengelh@medozas.de
- package libnldbl_nonshared for SPARC
-------------------------------------------------------------------
Fri Nov 20 01:55:16 CET 2009 - pbaudis@suse.cz
- Upgrade to latest release/2.11/master - glibc-2.11-1bc1954c7357:
- This snapshot is slated to become 2.11.1 if all goes well
- Mix of fixes for various recently found out issues
- Retired patches:
glibc-ifunc-dlsym-fixup.diff
- [IA64] Fix memchr() on mmap(MAP_SHARED) boundary [fix lighttpd crashes]
- Again use 127.0.0.1 as default nameserver in case of empty
/etc/resolv.conf [bnc#473308]
-------------------------------------------------------------------
Thu Nov 19 13:15:41 CET 2009 - pbaudis@suse.cz
- Add 623 and 664 to /etc/bindresvport.blacklist to fix problems with
port conflict on some IPMI network cards [bnc#513961]
- Allow external additions to /usr/share/locale/locale.alias and
/usr/lib/gconv/gconv-modules, required for the SAP-locales package.
- Add delimiter in front of external additions to locale/gconv lists
- Remove AMD-provided strlen(), upstream is faster.
- Keep .symtab and .strtab for all glibc-related .so libraries [FATE#307090]
[bnc#545721]
- [ppc,ppc64] Enable optimized builds for power7; no separate power4, power5
builds are generated anymore, instead default glibc is built for power4
at least, tuned for power5 execution [FATE#307021]
- Large clean-up of the specfile
-------------------------------------------------------------------
Fri Nov 13 22:47:47 CET 2009 - pbaudis@suse.cz
- Upgrade to Git HEAD as of 20091105 - glibc-2.11-13f6812ffb5b:
* New interfaces: execvpe, pthread_sigqueue, mkstemps, mkstemps64, mkostemps,
mkostemps64
Implemented by Ulrich Drepper.
* Checking version of longjmp added that fails if an uninitialized stack
frame would be created. Implemented by Ulrich Drepper.
* STT_GNU_IFUNC is now supported in static executables.
Implemented by H.J. Lu.
* STT_GNU_IFUNC implemented for PPC by Alan Modra.
* New optimized string functions for x86-64: strstr, strcasestr, memcmp,
strcspn, strpbrk, strspn, strcpy, stpcpy, strncpy, strcmp (SSE2, SSE4.2),
strncmp (SSE2, SSE4.2), strchr (SSE4.2), strrchr (SSE4.2).
Contributed by H.J. Lu.
strlen, rawmemchr, strcmp (SSSE3), strncmp (SSSE3).
Implemented by Ulrich Drepper.
* New optimized string functions for x86: strlen, strcspn, strspn, strpbrk,
strstr, strcasestr.
Contributed by H.J. Lu.
* Support for fma instruction in AVX on x86-64.
Implemented by H.J. Lu and Ulrich Drepper.
* AVX support in x86-64 auditing support in ld.so.
Implemented by H.J. Lu.
* STB_GNU_UNIQUE support added.
Implemented by Ulrich Drepper.
* Implement second fallback mode for optimized DNS lookup for even more
broken environments. If two requests from the same port are not
handled correctly close the socket and open a new one before sending
the second request. The 'single-request-reopen' option in /etc/resolv.conf
can be used to select this mode right away, instead of rediscovering the
necessity is every process again.
Implemented by Ulrich Drepper.
* New resolver flag RES_USE_DNSSEC to enable use of verified lookup.
Implemented by Adam Tkac.
* Optimized iconv conversions for S390x.
Implemented by Andreas Krebbel.
* Using condvars with PI mutexes is now more efficient due to kernel
support for requeueing to PI futexes. NPTL support added for x86-64.
Implemented by Ulrich Drepper.
* New locales: ps_AF, my_MM
- Retired patches:
glibc-utmp-timeout-raise.diff
glibc-nscd-assert.diff
glibc-2.10-mcheck-free-race.diff
glibc-nscd-prune-ret.diff
- Made ifunc compile on IA64 using patch by H.J.Lu
- Fixed compilation on PPC Cell
- Lowered utmp locking timeout from 30s to 10s to be compatible
with upstream
- Allow external additions to /usr/share/locale/locale.alias and
/usr/lib/gconv/gconv-modules, required for the SAP-locales package.
- Remove AMD-provided strlen(), upstream is faster.
- ARM is currently non-functional
-------------------------------------------------------------------
Fri Nov 13 20:18:27 CET 2009 - pbaudis@suse.cz

View File

@ -1,7 +1,7 @@
#
# spec file for package glibc (Version 2.10.1)
# spec file for package glibc (Version 2.11)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -27,35 +27,20 @@ BuildRequires: libselinux-devel
%define disable_assert 0
%define enable_stackguard_randomization 1
%ifarch ppc ppc64
%define optimize_power 1
%define optimize_power 1
%define powerpc_optimize_base power4
%define powerpc_optimize_tune power5
%define powerpc_optimize_cpu_power6 1
%define powerpc_optimize_cpu_power7 1
%define powerpc_optimize_cpu_cell 1
%else
%define optimize_power 0
%endif
%define powerpc_optimize_base_cpu_power4 0
%if %{optimize_power}
%define powerpc_optimize_cpu_power4 1
%ifarch ppc64
%define powerpc_optimize_base_cpu_power4 1
%define powerpc_optimize_cpu_power4 0
%endif
%ifarch ppc
%define powerpc_optimize_cpu_power5 1
%else
%define powerpc_optimize_cpu_power5 0
%endif
%define powerpc_optimize_cpu_power5_compile 0
%define powerpc_optimize_cpu_power6 1
%define powerpc_optimize_cpu_power7 0
%define powerpc_optimize_cpu_cell 1
%else
%define powerpc_optimize_cpu_power4 0
%define powerpc_optimize_cpu_power5 0
%define powerpc_optimize_cpu_power6 0
%define powerpc_optimize_cpu_power7 0
%define powerpc_optimize_cpu_cell 0
# optimize_power
%endif
License: BSD 3-clause (or similar) ; GPL v2 or later ; LGPL v2.1 or later
%define optimize_power 0
%define powerpc_optimize_base 0
%define powerpc_optimize_cpu_power6 0
%define powerpc_optimize_cpu_power7 0
%define powerpc_optimize_cpu_cell 0
%endif # ppc, ppc64
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Standard Shared Libraries (from the GNU C Library)
Group: System/Libraries
Obsoletes: ngpt <= 2.2.2 ngpt-devel <= 2.2.2
@ -69,15 +54,13 @@ Obsoletes: glibc-32bit
%endif
Provides: rtld(GNU_HASH)
AutoReqProv: on
Version: 2.10.1
Release: 10
Version: 2.11
Release: 1
Url: http://www.gnu.org/software/libc/libc.html
PreReq: filesystem
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# The glibc source comes from http://repo.or.cz/w/glibc/pb-stable.git
# glibc-2.10-branch.
Source: glibc-%{version}-44dbdf3777.tar.bz2
Source2: glibc-ports-%{version}-2b2b217196.tar.bz2
Source: glibc-%{version}-1bc1954c7357.tar.bz2
Source2: glibc-ports-2.10.1-2b2b217196.tar.bz2
Source3: noversion.tar.bz2
Source4: manpages.tar.bz2
Source5: usr.sbin.nscd
@ -88,8 +71,9 @@ Source11: ctype_b.c
Source12: glibc_post_upgrade.c
Source14: powerpc-cpu.tar.bz2
Source15: glibc.rpmlintrc
Source16: baselibs.conf
%if %_target_cpu == "i686"
# We need to avoid to have only the srv rpm from i686 on the media,
# We need to avoid to have only the src rpm from i686 on the media,
# since it does not work on other architectures.
NoSource: 0
%endif
@ -129,7 +113,6 @@ Patch33: getaddrinfo-ipv6-sanity.diff
Patch35: ppc-atomic.diff
Patch36: glibc-2.8-clone.diff
Patch37: glibc-nss-deepbind.diff
Patch38: glibc-nscd-prune-ret.diff
Patch39: glibc-compiled-binaries.diff
Patch40: glibc-selinux.diff
Patch41: glibc-check-native-missing-include.diff
@ -137,11 +120,11 @@ Patch42: glibc-no-unwind-tables.diff
Patch43: glibc-2.10-nscd-nostack.diff
Patch44: glibc-cpusetsize.diff
Patch45: glibc-nis-splitgroups.diff
Patch46: glibc-2.10-mcheck-free-race.diff
Patch47: glibc-2.10.99-ia64-include.diff
Patch48: glibc-utmp-timeout-raise.diff
Patch49: glibc-nscd-assert.diff
Patch50: libm-x86-64-exceptions.diff
Patch46: glibc-2.10.99-ia64-include.diff
Patch47: libm-x86-64-exceptions.diff
Patch48: glibc-uio-cell.diff
Patch49: glibc-ia64-memchr.diff
Patch50: glibc-nameserver-localhost.diff
Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff
Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff
Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff
@ -156,7 +139,7 @@ without these libraries.
%package info
License: GPL v2 or later
License: GPLv2+
Summary: Info Files for the GNU C Library
Group: Documentation/Other
PreReq: %{install_info_prereq}
@ -170,7 +153,7 @@ complete and is partially out of date.
%package html
License: GPL v2 or later ; LGPL v2.1 or later
License: GPLv2+ ; LGPLv2.1+
Summary: HTML Documentation for the GNU C Library
Group: Documentation/HTML
AutoReqProv: on
@ -183,7 +166,7 @@ partially out of date.
%package i18ndata
License: LGPL v2.1 or later
License: LGPLv2.1+
Summary: Database Sources for 'locale'
Group: System/Libraries
AutoReqProv: on
@ -197,7 +180,7 @@ created.
%package locale
License: GPL v2 or later ; LGPL v2.1 or later
License: GPLv2+ ; LGPLv2.1+
Summary: Locale Data for Localized Programs
Group: System/Libraries
Requires: glibc = %{version}
@ -216,7 +199,7 @@ Locale data for the internationalisation features of the GNU C library.
%package -n nscd
License: LGPL v2.1 or later
License: LGPLv2.1+
Summary: Name Service Caching Daemon
Group: System/Daemons
Provides: glibc:/usr/sbin/nscd aaa_base:/etc/init.d/nscd
@ -229,7 +212,7 @@ performance with NIS, NIS+, and LDAP.
%package profile
License: LGPL v2.1 or later
License: LGPLv2.1+
Summary: Libc Profiling and Debugging Versions
Group: Development/Libraries/C and C++
Requires: glibc = %{version}
@ -249,7 +232,7 @@ necessary for profiling and debugging.
%package devel
License: BSD 3-clause (or similar) ; GPL v2 or later ; LGPL v2.1 or later
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Include Files and Libraries Mandatory for Development
Group: Development/Libraries/C and C++
Obsoletes: epoll = 1.0
@ -272,7 +255,7 @@ library.
%package obsolete
License: BSD 3-clause (or similar) ; GPL v2 or later ; LGPL v2.1 or later
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Obsolete Shared Libraries from the GNU C Library
Group: System/Libraries
Requires: glibc = %{version}
@ -293,6 +276,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
%setup -n glibc-%{version} -q -a 2 -a 3 -a 4 -a 14
%else
# any other leave out ports
@ -336,7 +321,6 @@ rm sysdeps/x86_64/fpu/s_sincos.S
%patch35
%patch36
%patch37
%patch38
%patch39
%patch40
%patch41
@ -346,9 +330,9 @@ rm sysdeps/x86_64/fpu/s_sincos.S
%patch45
%patch46
%patch47
%patch48
%patch49
%patch50
%patch48 -p1
%patch49 -p1
%patch50 -p1
%ifarch %arm armv5tel armv7l
%patch500
%patch501
@ -374,12 +358,17 @@ rm sysdeps/x86_64/fpu/s_sincos.S
#
rm -fv sysdeps/powerpc/powerpc32/power4/hp-timing.c sysdeps/powerpc/powerpc32/power4/hp-timing.h
find . -name configure | xargs touch
#######################################################################
###
### BUILD
###
#######################################################################
%build
if [ -x /bin/uname.bin ]; then
/bin/uname.bin -a
/bin/uname.bin -a
else
uname -a
uname -a
fi
uptime || :
ulimit -a
@ -400,312 +389,242 @@ PARALLEL="%{?jobs:-j%jobs}"
#now overwrite for some architectures
#
%ifarch sparc64
BuildFlags="-O2 -mcpu=ultrasparc -mvis -fcall-used-g6"
BuildCC="gcc -m64"
BuildCCplus="$BuildCCplus -m64"
BuildFlags="-O2 -mcpu=ultrasparc -mvis -fcall-used-g6"
BuildCC="gcc -m64"
BuildCCplus="$BuildCCplus -m64"
%endif
%ifarch sparc
BuildFlags="$BuildFlags -fcall-used-g6"
BuildCC="gcc -m32"
BuildCCplus="$BuildCCplus -m32"
BuildFlags="$BuildFlags -fcall-used-g6"
BuildCC="gcc -m32"
BuildCCplus="$BuildCCplus -m32"
%endif
%ifarch sparcv9
BuildFlags="$BuildFlags -mcpu=ultrasparc -fcall-used-g6"
BuildCC="gcc -m32"
BuildCCplus="$BuildCCplus -m32"
BuildFlags="$BuildFlags -mcpu=ultrasparc -fcall-used-g6"
BuildCC="gcc -m32"
BuildCCplus="$BuildCCplus -m32"
%endif
%ifarch alphaev6
BuildFlags="-mcpu=ev6"
BuildFlags="-mcpu=ev6"
%endif
%ifarch ppc ppc64
BuildFlags="$(echo $BuildFlags | sed 's#-mminimal-toc##')"
BuildFlags="$(echo $BuildFlags | sed 's#-mminimal-toc##')"
%endif
%ifarch ppc64
BuildCC="$BuildCC -m64"
BuildCCplus="$BuildCCplus -m64"
BuildCC="$BuildCC -m64"
BuildCCplus="$BuildCCplus -m64"
%endif
%ifarch hppa
BuildFlags="$BuildFlags -mpa-risc-1-1 -fstrict-aliasing"
BuildFlags="$BuildFlags -mpa-risc-1-1 -fstrict-aliasing"
%endif
%ifarch %ix86 x86_64
BuildFlags="$BuildFlags -mno-tls-direct-seg-refs"
BuildFlags="$BuildFlags -mno-tls-direct-seg-refs"
%endif
# Add flags for all plattforms except AXP
%ifnarch alpha
BuildFlags="$BuildFlags -g"
BuildFlags="$BuildFlags -g"
%endif
%if %{disable_assert}
BuildFlags="$BuildFlags -DNDEBUG=1"
BuildFlags="$BuildFlags -DNDEBUG=1"
%endif
%ifarch %ix86
add_ons=$add_ons,noversion
add_ons=$add_ons,noversion
%endif
%ifarch %arm armv5tel armv7l
add_ons=$add_ons,ports
BuildFlags="-march=armv5te -O2 -Wall"
# fails to build otherwise - need to recheck and fix
%define enable_stackguard_randomization 0
add_ons=$add_ons,ports
BuildFlags="-march=armv5te -O2 -Wall"
# fails to build otherwise - need to recheck and fix
%define enable_stackguard_randomization 0
%endif
configure_and_build_glibc() {
local cflags="$1"
local addons="$2"
shift 2
local dirname="$1"; shift
local cflags="$1"; shift
local addons="$1"; shift
mkdir "cc-$dirname"
cd "cc-$dirname"
CFLAGS="$cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \
--prefix=%{_prefix} \
--libexecdir=%{_libdir} --infodir=%{_infodir} \
--enable-add-ons=nptl$addons --without-cvs --enable-profile \
"$@" \
--prefix=%{_prefix} \
--libexecdir=%{_libdir} --infodir=%{_infodir} \
--enable-add-ons=nptl$addons --without-cvs --enable-profile \
"$@" \
%if %{enable_stackguard_randomization}
--enable-stackguard-randomization \
--enable-stackguard-randomization \
%endif
%ifarch %arm armv5tel armv7l
--build=%{_target_cpu}-suse-linux-gnueabi \
--build=%{_target_cpu}-suse-linux-gnueabi \
%else
--build=%{_target_cpu}-suse-linux \
--build=%{_target_cpu}-suse-linux \
%endif
--with-tls --with-__thread --enable-kernel=2.6.4
make $PARALLEL
--with-tls --with-__thread --enable-kernel=2.6.4
make $PARALLEL
cd ..
}
#
# Build nptl
#
mkdir cc-nptl
cd cc-nptl
configure_and_build_glibc "$BuildFlags" \
%if %{powerpc_optimize_base_cpu_power4}
"$add_ons,powerpc-cpu" --with-cpu=power4
%if !%{optimize_power}
#
# Build base glibc
#
configure_and_build_glibc base "$BuildFlags" "$add_ons"
%else
"$add_ons"
%endif
cd ..
%if %{optimize_power}
#
# Build POWER optimized
#
for pcpu in \
%if %{powerpc_optimize_cpu_power4}
power4 \
%endif
%if %{powerpc_optimize_cpu_power5}
%if %{powerpc_optimize_cpu_power5_compile}
power5 \
%endif
%endif
%if %{powerpc_optimize_cpu_power6}
power6 \
%endif
%if %{powerpc_optimize_cpu_power7}
power7 \
%endif
; do
mkdir cc-$pcpu
cd cc-$pcpu
configure_and_build_glibc "$BuildFlags -mcpu=$pcpu" "$add_ons,powerpc-cpu" --with-cpu=$pcpu --disable-runbinaries
cd ..
done
%if %{powerpc_optimize_cpu_cell}
mkdir cc-ppc-cell-be
cd cc-ppc-cell-be
configure_and_build_glibc "$BuildFlags -mcpu=cell" "$add_ons" --disable-runbinaries
cd ..
%endif
# optimize_power
%endif
#
# Build POWER-optimized glibc
#
# First, base build:
pBuildFlags="$BuildFlags -mcpu=%{powerpc_optimize_base} -mtune=%{powerpc_optimize_tune}"
configure_and_build_glibc base "$pBuildFlags" "$add_ons,powerpc-cpu" --with-cpu=%{powerpc_optimize_base}
# Then other power variants:
for pcpu in \
%if %{powerpc_optimize_cpu_power6}
power6 \
%endif
%if %{powerpc_optimize_cpu_power7}
power7 \
%endif
; do
configure_and_build_glibc $pcpu "$BuildFlags -mcpu=$pcpu" "$add_ons,powerpc-cpu" \
--with-cpu=$pcpu --disable-runbinaries
done
# Eventually, special Cell variant:
%if %{powerpc_optimize_cpu_cell}
configure_and_build_glibc ppc-cell-be "$BuildFlags -mcpu=cell" "$add_ons" --disable-runbinaries
%endif
%endif # optimize_power
#
# Build html documentation
#
make -C cc-nptl html
make -C cc-base html
#
# Build glibc_post_upgrade binary
#
$BuildCC -static -Os -g $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \
-Lcc-nptl -Bcc-nptl/csu \
-Lcc-base -Bcc-base/csu \
'-DREMOVE_TLS_DIRS' \
%ifarch ppc ppc64
%if !%{powerpc_optimize_cpu_power4}
'-DREMOVE_PPC_OPTIMIZE_POWER4' \
%endif
%if !%{powerpc_optimize_cpu_power5}
'-DREMOVE_PPC_OPTIMIZE_POWER5' \
%endif
%if !%{powerpc_optimize_cpu_power6}
%if !%{powerpc_optimize_cpu_power6}
'-DREMOVE_PPC_OPTIMIZE_POWER6' \
%endif
%if !%{powerpc_optimize_cpu_power7}
%endif
%if !%{powerpc_optimize_cpu_power7}
'-DREMOVE_PPC_OPTIMIZE_POWER7' \
%endif
%if !%{powerpc_optimize_cpu_cell}
%endif
%if !%{powerpc_optimize_cpu_cell}
'-DREMOVE_PPC_OPTIMIZE_CELL' \
%endif
%endif
%endif
'-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_prefix}/%{_lib}/gconv"'
#######################################################################
###
### CHECK
###
#######################################################################
%check
%if %{run_testsuite}
# Increase timeout
export TIMEOUTFACTOR=16
%ifarch alpha %ix86 ppc ppc64 ia64 s390 s390x x86_64
# ix86: tst-cputimer? fails
# ia64: tst-timer4 fails
# ppc64: tst-pselect, ftwtest fails
# s390,s390x: tst-timer* fails
make -C cc-nptl -k check || echo make check failed
%else
make -C cc-nptl check
# Increase timeout
export TIMEOUTFACTOR=16
%ifarch alpha %ix86 ppc ppc64 ia64 s390 s390x x86_64
# ix86: tst-cputimer? fails
# ia64: tst-timer4 fails
# ppc64: tst-pselect, ftwtest fails
# s390,s390x: tst-timer* fails
make -C cc-base -k check || echo make check failed
%else
make -C cc-base check
%endif
%endif
%endif
make -C cc-nptl check-abi || echo check-abi failed
make -C cc-base check-abi || echo check-abi failed
#######################################################################
###
### INSTALL
###
#######################################################################
%install
# We don't want to strip the .symtab from our libraries in find-debuginfo.sh,
# at least not from libpthread.so.* because it is used by libthread_db to find
# certainly not from libpthread.so.* because it is used by libthread_db to find
# some non-exported symbols in order to detect if threading support
# should be enabled. These symbols are _not_ exported, and we can't easily
# export them retroactively without changing the ABI. So we have to
# continue to "export" them via .symtab, instead of .dynsym :-(
export STRIP_KEEP_SYMTAB=libpthread*
# But we also want to keep .symtab and .strtab of other libraries since some
# debugging tools currently require these sections directly inside the main
# files - specifically valgrind and PurifyPlus.
export STRIP_KEEP_SYMTAB=*.so*
# Make sure we will create the gconv-modules.cache
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gconv
touch $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
# Install base glibc
# Do not install in parallel, timezone Makefile will fail
make install_root=$RPM_BUILD_ROOT install -C cc-nptl
make install_root=$RPM_BUILD_ROOT install -C cc-base
# Install power-optimized glibc
%if %{optimize_power}
# run ldconfig to create the library symlinks
# do not use the new ldconfig from the build directory because
# it may contain instructions not suitable for the cpu on the builhost
my_ldconfig=/sbin/ldconfig
#
for pcpu in \
%if %{powerpc_optimize_cpu_power4}
power4 \
%endif
%if %{powerpc_optimize_cpu_power5}
%if %{powerpc_optimize_cpu_power5_compile}
power5 \
%endif
%endif
%if %{powerpc_optimize_cpu_power6}
power6 \
%endif
%if %{powerpc_optimize_cpu_power7}
power7 \
%endif
%if %{powerpc_optimize_cpu_cell}
ppc-cell-be \
%endif
; do
make install_root=${RPM_BUILD_ROOT}/$pcpu install -C cc-$pcpu
mkdir -p $RPM_BUILD_ROOT/%{_lib}/$pcpu
for i in libc-%{version} libm-%{version} libpthread-%{version} libthread_db-1.0 librt-%{version}
do
mv $RPM_BUILD_ROOT/$pcpu/%{_lib}/$i.so $RPM_BUILD_ROOT/%{_lib}/$pcpu
# run ldconfig to create the library symlinks
# do not use the new ldconfig from the build directory because
# it may contain instructions not suitable for the cpu on the builhost
my_ldconfig=/sbin/ldconfig
for pcpu in \
%if %{powerpc_optimize_cpu_power6}
power6 \
%endif
%if %{powerpc_optimize_cpu_power7}
power7 \
%endif
%if %{powerpc_optimize_cpu_cell}
ppc-cell-be \
%endif
; do
make install_root=${RPM_BUILD_ROOT}/$pcpu install -C cc-$pcpu
mkdir -p $RPM_BUILD_ROOT/%{_lib}/$pcpu
for i in libc-%{version} libm-%{version} libpthread-%{version} libthread_db-1.0 librt-%{version}; do
mv $RPM_BUILD_ROOT/$pcpu/%{_lib}/$i.so $RPM_BUILD_ROOT/%{_lib}/$pcpu
done
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/$pcpu/
rm -rf $RPM_BUILD_ROOT/$pcpu
done
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/$pcpu/
rm -rf $RPM_BUILD_ROOT/$pcpu
done
%if %{powerpc_optimize_cpu_power4}
# ppc970 is compatible with power4, unless compiled with altivec support
# doing a symlink doesnt work, ldconfig follows them and accepts only the first real dir
if test -d $RPM_BUILD_ROOT/%{_lib}/power4
then
mkdir -p $RPM_BUILD_ROOT/%{_lib}/ppc970
for i in $RPM_BUILD_ROOT/%{_lib}/power4/*.so ; do
b=`basename $i`
ln -vs ../power4/$b \
$RPM_BUILD_ROOT/%{_lib}/ppc970/$b
done
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/ppc970/
fi
%endif
%if %{powerpc_optimize_cpu_power5}
# power5+ is compatible with power5 (adds only a few floating point instructions)
# doing a symlink doesnt work, ldconfig follows them and accepts only the first real dir
# symlink to power4 directory, which is built only on ppc32
%if %{powerpc_optimize_cpu_power5_compile}
if test -d $RPM_BUILD_ROOT/%{_lib}/power5
then
mkdir -p $RPM_BUILD_ROOT/%{_lib}/power5+
for i in $RPM_BUILD_ROOT/%{_lib}/power5/*.so ; do
b=`basename $i`
ln -vs ../power5/$b \
$RPM_BUILD_ROOT/%{_lib}/power5+/$b
done
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/power5+/
fi
%else
if test -d $RPM_BUILD_ROOT/%{_lib}/power4
then
mkdir -p $RPM_BUILD_ROOT/%{_lib}/power5
mkdir -p $RPM_BUILD_ROOT/%{_lib}/power5+
for i in $RPM_BUILD_ROOT/%{_lib}/power4/*.so ; do
b=`basename $i`
ln -vs ../power4/$b \
$RPM_BUILD_ROOT/%{_lib}/power5/$b
ln -vs ../power4/$b \
$RPM_BUILD_ROOT/%{_lib}/power5+/$b
done
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/power5/
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/power5+/
fi
%endif
%endif
%if %{powerpc_optimize_cpu_power6}
# power6 is compatible with power6x
# doing a symlink doesnt work, ldconfig follows them and accepts only the first real dir
if test -d $RPM_BUILD_ROOT/%{_lib}/power6
then
mkdir -p $RPM_BUILD_ROOT/%{_lib}/power6x
for i in $RPM_BUILD_ROOT/%{_lib}/power6/*.so ; do
b=`basename $i`
ln -vs ../power6/$b \
$RPM_BUILD_ROOT/%{_lib}/power6x/$b
done
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/power6x/
fi
%endif
# optimize_power
%endif
%if %{powerpc_optimize_cpu_power6}
# power6 is compatible with power6x
# doing a symlink doesnt work, ldconfig follows them and accepts only the first real dir
if test -d $RPM_BUILD_ROOT/%{_lib}/power6; then
mkdir -p $RPM_BUILD_ROOT/%{_lib}/power6x
for i in $RPM_BUILD_ROOT/%{_lib}/power6/*.so; do
b=`basename $i`
ln -vs ../power6/$b $RPM_BUILD_ROOT/%{_lib}/power6x/$b
done
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/power6x/
fi
%endif
%endif # optimize_power
# Install locales
%if %{build_locales}
# Do not install locales in parallel!
cd cc-nptl
make install_root=$RPM_BUILD_ROOT install-locales -C ../localedata objdir=`pwd`
cd ..
# Do not install locales in parallel!
cd cc-base
make install_root=$RPM_BUILD_ROOT install-locales -C ../localedata objdir=`pwd`
cd ..
%endif
#create file list for glibc-locale package
# Create file list for glibc-locale package
%{find_lang} libc
cd manpages; make install_root=$RPM_BUILD_ROOT install; cd ..
# Prepare obsolete/, used only on some architectures:
export RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete
#
# NPTL <bits/stdio-lock.h> is not usable outside of glibc, so include
# the generic one (RH#162634)
#
cp -av bits/stdio-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/stdio-lock.h
%ifarch s390x
#
# s390x is different ...
#
mkdir $RPM_BUILD_ROOT/lib
ln -sf ../%{_lib}/ld-%{version}.so $RPM_BUILD_ROOT/lib/ld64.so.1
# s390x is different ...
mkdir $RPM_BUILD_ROOT/lib
ln -sf ../%{_lib}/ld-%{version}.so $RPM_BUILD_ROOT/lib/ld64.so.1
%endif
#
# Install glibc_post_upgrade tool
#
# Miscelanna:
install -m 0700 glibc_post_upgrade $RPM_BUILD_ROOT%{_sbindir}
#
# Install the mapv4v6* header files
#
install -m 644 $RPM_SOURCE_DIR/bindresvport.blacklist $RPM_BUILD_ROOT/etc
install -m 644 $RPM_SOURCE_DIR/nsswitch.conf $RPM_BUILD_ROOT/etc
install -m 644 posix/gai.conf $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT/etc/default
install -m 644 nis/nss $RPM_BUILD_ROOT/etc/default/
mkdir -p $RPM_BUILD_ROOT/usr/include/resolv
install -m 0644 resolv/mapv4v6addr.h $RPM_BUILD_ROOT/usr/include/resolv/
install -m 0644 resolv/mapv4v6hostent.h $RPM_BUILD_ROOT/usr/include/resolv/
#
# glibc documentation in HTML
#
mkdir -p $RPM_BUILD_ROOT/usr/share/doc/glibc
cp -p manual/libc/*.html $RPM_BUILD_ROOT/usr/share/doc/glibc
#
# Install nscd tools
#
cd manpages; make install_root=$RPM_BUILD_ROOT install; cd ..
# nscd tools:
cp nscd/nscd.conf $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT/etc/apparmor.d
cp $RPM_SOURCE_DIR/usr.sbin.nscd $RPM_BUILD_ROOT/etc/apparmor.d
@ -715,8 +634,6 @@ ln -sf /etc/init.d/nscd $RPM_BUILD_ROOT/usr/sbin/rcnscd
mkdir -p $RPM_BUILD_ROOT/var/run/nscd
touch $RPM_BUILD_ROOT/var/run/nscd/{passwd,group,hosts}
touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid}
# Install bindresvport.blacklist
install -m 644 $RPM_SOURCE_DIR/bindresvport.blacklist $RPM_BUILD_ROOT/etc
#
# Create ld.so.conf
#
@ -753,44 +670,31 @@ include /etc/ld.so.conf.d/*.conf
EOF
# Add ldconfig cache directory for directory ownership
mkdir -p $RPM_BUILD_ROOT/var/cache/ldconfig
#
# install nsswitch.conf
#
install -m 644 $RPM_SOURCE_DIR/nsswitch.conf $RPM_BUILD_ROOT/etc
#
# install /etc/default/nss
#
mkdir -p $RPM_BUILD_ROOT/etc/default
install -m 644 nis/nss $RPM_BUILD_ROOT/etc/default/
#
# install /etc/gai.conf
#
install -m 644 posix/gai.conf $RPM_BUILD_ROOT/etc
%ifarch %ix86
#
# Remove static library and .so symlink, not needed
rm -f $RPM_BUILD_ROOT%{_libdir}/libNoVersion*
# Move to lib/obsolete
mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete/noversion
mv -v $RPM_BUILD_ROOT/%{_lib}/libNoVersion* $RPM_BUILD_ROOT/%{_lib}/obsolete/noversion/
%endif
#
# Don't look at it! We don't wish a /bin/sh requires
chmod 644 $RPM_BUILD_ROOT/usr/bin/ldd
#
# Remove not needed files from BuildRoot
# Also, we now take timezone stuff from a separate package
# create empty cache file
# Empty the ld.so.cache:
rm -f $RPM_BUILD_ROOT/etc/ld.so.cache
touch $RPM_BUILD_ROOT/etc/ld.so.cache
# libNoVersion belongs only to glibc-obsolete:
%ifarch %ix86
rm -f $RPM_BUILD_ROOT%{_libdir}/libNoVersion*
mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete/noversion
mv -v $RPM_BUILD_ROOT/%{_lib}/libNoVersion* $RPM_BUILD_ROOT/%{_lib}/obsolete/noversion/
%endif
# Don't look at ldd! We don't wish a /bin/sh requires
chmod 644 $RPM_BUILD_ROOT/usr/bin/ldd
# Remove timezone data, now coming in standalone package:
for i in sbin/sln usr/bin/tzselect usr/sbin/zic usr/sbin/zdump etc/localtime; do
rm -f $RPM_BUILD_ROOT/$i
done
rm -rf $RPM_BUILD_ROOT/usr/share/zoneinfo
# remove the buildflags tracking section and the build-id
# Remove the buildflags tracking section and the build-id
for o in $RPM_BUILD_ROOT/%{_libdir}/crt[1in].o $RPM_BUILD_ROOT/%{_libdir}/lib*_nonshared.a; do
objcopy -R ".comment.SUSE.OPTs" -R ".note.gnu.build-id" $o
objcopy -R ".comment.SUSE.OPTs" -R ".note.gnu.build-id" $o
done
#######################################################################
###
### ...
###
#######################################################################
%clean
rm -rf $RPM_BUILD_ROOT
@ -799,6 +703,13 @@ rm -rf $RPM_BUILD_ROOT
%postun -p /sbin/ldconfig
%post locale
for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
[ -d "$l.d" ] || continue
echo "###X# The following is autogenerated from extra files in the .d directory:" >>"$l"
cat "$l.d"/* >>"$l"
done
%post info
%install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
@ -815,9 +726,12 @@ rm -rf $RPM_BUILD_ROOT
%restart_on_update nscd
%insserv_cleanup
exit 0
#
#######################################################################
###
### FILES
###
#######################################################################
# glibc
#
%files
%defattr(-,root,root)
@ -836,28 +750,28 @@ exit 0
%doc %{_mandir}/man8/rpcinfo.8.gz
/%{_lib}/ld-%{version}.so
%ifarch ppc s390 mips hppa
/%{_lib}/ld.so.1
/%{_lib}/ld.so.1
%else
%ifarch ia64
/%{_lib}/ld-linux-ia64.so.2
%else
%ifarch s390x ppc64
/%{_lib}/ld64.so.1
%ifarch s390x
/lib/ld64.so.1
%endif
%else
%ifarch x86_64
/%{_lib}/ld-linux-x86-64.so.2
%else
%ifarch %arm armv5tel armv7l
/%{_lib}/ld-linux.so.3
%else
/%{_lib}/ld-linux.so.2
%endif
%endif
%endif
%endif
%ifarch ia64
/%{_lib}/ld-linux-ia64.so.2
%else
%ifarch s390x ppc64
/%{_lib}/ld64.so.1
%ifarch s390x
/lib/ld64.so.1
%endif
%else
%ifarch x86_64
/%{_lib}/ld-linux-x86-64.so.2
%else
%ifarch %arm armv5tel armv7l
/%{_lib}/ld-linux.so.3
%else
/%{_lib}/ld-linux.so.2
%endif
%endif
%endif
%endif
%endif
/%{_lib}/libBrokenLocale-%{version}.so
/%{_lib}/libBrokenLocale.so.1
@ -901,38 +815,29 @@ exit 0
/%{_lib}/libutil-%{version}.so
/%{_lib}/libutil.so.1
%if %{optimize_power}
%define optimized_libs() \
%dir %attr(0755,root,root) /%{_lib}/%1\
/%{_lib}/%1/libc-%{version}.so\
/%{_lib}/%1/libc.so.6*\
/%{_lib}/%1/libm-%{version}.so\
/%{_lib}/%1/libm.so.6*\
/%{_lib}/%1/libpthread-%{version}.so\
/%{_lib}/%1/libpthread.so.0\
/%{_lib}/%1/librt-%{version}.so\
/%{_lib}/%1/librt.so.1\
/%{_lib}/%1/libthread_db-1.0.so\
/%{_lib}/%1/libthread_db.so.1
%if %{powerpc_optimize_cpu_power4}
%{optimized_libs power4}
%{optimized_libs ppc970}
%endif
%if %{powerpc_optimize_cpu_power5}
%{optimized_libs power5}
%{optimized_libs power5+}
%endif
%if %{powerpc_optimize_cpu_power6}
%{optimized_libs power6}
%{optimized_libs power6x}
%endif
%if %{powerpc_optimize_cpu_power7}
%{optimized_libs power7}
%endif
%if %{powerpc_optimize_cpu_cell}
%{optimized_libs ppc-cell-be}
%endif
# optimize_power
%endif
%define optimized_libs() \
%dir %attr(0755,root,root) /%{_lib}/%1\
/%{_lib}/%1/libc-%{version}.so\
/%{_lib}/%1/libc.so.6*\
/%{_lib}/%1/libm-%{version}.so\
/%{_lib}/%1/libm.so.6*\
/%{_lib}/%1/libpthread-%{version}.so\
/%{_lib}/%1/libpthread.so.0\
/%{_lib}/%1/librt-%{version}.so\
/%{_lib}/%1/librt.so.1\
/%{_lib}/%1/libthread_db-1.0.so\
/%{_lib}/%1/libthread_db.so.1
%if %{powerpc_optimize_cpu_power6}
%{optimized_libs power6}
%{optimized_libs power6x}
%endif
%if %{powerpc_optimize_cpu_power7}
%{optimized_libs power7}
%endif
%if %{powerpc_optimize_cpu_cell}
%{optimized_libs ppc-cell-be}
%endif
%endif # optimize_power
%dir %attr(0700,root,root) /var/cache/ldconfig
/sbin/ldconfig
/usr/bin/gencat
@ -941,7 +846,7 @@ exit 0
/usr/bin/iconv
%attr(755,root,root) /usr/bin/ldd
%ifarch %ix86 sparc sparcv9
/usr/bin/lddlibc4
/usr/bin/lddlibc4
%endif
/usr/bin/locale
/usr/bin/localedef
@ -956,19 +861,16 @@ exit 0
%defattr (755,root,root,755)
%dir /%{_lib}/obsolete/
%ifarch %ix86
%dir /%{_lib}/obsolete/noversion
/%{_lib}/obsolete/noversion/libNoVersion-%{version}.so
/%{_lib}/obsolete/noversion/libNoVersion.so.1
%dir /%{_lib}/obsolete/noversion
/%{_lib}/obsolete/noversion/libNoVersion-%{version}.so
/%{_lib}/obsolete/noversion/libNoVersion.so.1
%endif
#
# locale subpackage
#
%files locale -f libc.lang
%defattr(-,root,root)
/usr/share/locale/locale.alias
%if %{build_locales}
/usr/lib/locale
/usr/lib/locale
%endif
%{_libdir}/gconv
@ -997,8 +899,9 @@ exit 0
%{_libdir}/libdl.a
%{_libdir}/libg.a
%{_libdir}/libieee.a
%ifarch ppc ppc64 s390 s390x
%{_libdir}/libnldbl_nonshared.a
%ifarch ppc ppc64 s390 s390x sparc sparcv8 sparcv9 sparcv9v
# This is not built on sparc64.
%{_libdir}/libnldbl_nonshared.a
%endif
%{_libdir}/libm.a
%{_libdir}/libmcheck.a
@ -1009,32 +912,20 @@ exit 0
%{_libdir}/librpcsvc.a
%{_libdir}/librt.a
%{_libdir}/libutil.a
#
# glibc-info
#
%files info
%defattr(-,root,root)
%doc %{_infodir}/libc.info.gz
%doc %{_infodir}/libc.info-?.gz
%doc %{_infodir}/libc.info-??.gz
#
# glibc-html
#
%files html
%defattr(-,root,root)
%doc %{_prefix}/share/doc/glibc
#
# glibc-i18ndata
#
%files i18ndata
%defattr(-,root,root)
%{_prefix}/share/i18n
#
# nscd
#
%files -n nscd
%defattr(-,root,root)
@ -1050,9 +941,6 @@ exit 0
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
#
# glibc-profile
#
%files profile
%defattr(-,root,root)

View File

@ -43,14 +43,6 @@ main (void)
"/lib/i686/",
#endif
#ifdef __powerpc64__
#ifdef REMOVE_PPC_OPTIMIZE_POWER4
"/lib64/power4/",
"/lib64/ppc970/",
#endif
#ifdef REMOVE_PPC_OPTIMIZE_POWER5
"/lib64/power5/",
"/lib64/power5+/",
#endif
#ifdef REMOVE_PPC_OPTIMIZE_POWER6
"/lib64/power6/",
"/lib64/power6x/",
@ -63,14 +55,6 @@ main (void)
#endif
#endif /* __powerpc64__ */
#ifdef __powerpc__
#ifdef REMOVE_PPC_OPTIMIZE_POWER4
"/lib/power4/",
"/lib/ppc970/",
#endif
#ifdef REMOVE_PPC_OPTIMIZE_POWER5
"/lib/power5/",
"/lib/power5+/",
#endif
#ifdef REMOVE_PPC_OPTIMIZE_POWER6
"/lib/power6/",
"/lib/power6x/",

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:349cdc0d042ccd828d6906a0e2498bdacfa89e2a3df0e706fc429756caa39895
size 76349
oid sha256:a64d26aaeef0d9ee062260b5540910b138a6e0df89033dd4fe4b39d905574b19
size 76334