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:
parent
35b77f97b8
commit
e29cecdd47
@ -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
|
||||
|
@ -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
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e7a101729724f4487592df4011be0f9766992cc6cf70b39b07c45875897ce742
|
||||
size 15594985
|
3
glibc-2.11-1bc1954c7357.tar.bz2
Normal file
3
glibc-2.11-1bc1954c7357.tar.bz2
Normal 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
@ -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;
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:308f75f9daa64b97485a53420215656b001cc25a9337c34887d2c279efe32bc9
|
||||
size 328632
|
||||
oid sha256:a623420e540731e6b0dca8ce2212fdfe048fa8b38c03eb210a8cf168b63d874e
|
||||
size 328634
|
||||
|
@ -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 \
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
39
glibc-ia64-memchr.diff
Normal 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:
|
29
glibc-nameserver-localhost.diff
Normal file
29
glibc-nameserver-localhost.diff
Normal 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;
|
@ -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");
|
||||
|
@ -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
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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
26
glibc-uio-cell.diff
Normal 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
|
@ -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. */
|
114
glibc.changes
114
glibc.changes
@ -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
|
||||
|
||||
|
364
glibc.spec
364
glibc.spec
@ -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
|
||||
@ -28,34 +28,19 @@ BuildRequires: libselinux-devel
|
||||
%define enable_stackguard_randomization 1
|
||||
%ifarch ppc ppc64
|
||||
%define optimize_power 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_base power4
|
||||
%define powerpc_optimize_tune power5
|
||||
%define powerpc_optimize_cpu_power6 1
|
||||
%define powerpc_optimize_cpu_power7 0
|
||||
%define powerpc_optimize_cpu_power7 1
|
||||
%define powerpc_optimize_cpu_cell 1
|
||||
%else
|
||||
%define powerpc_optimize_cpu_power4 0
|
||||
%define powerpc_optimize_cpu_power5 0
|
||||
%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
|
||||
# optimize_power
|
||||
%endif
|
||||
License: BSD 3-clause (or similar) ; GPL v2 or later ; LGPL v2.1 or later
|
||||
%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,6 +358,11 @@ 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
|
||||
@ -447,9 +436,11 @@ BuildFlags="-march=armv5te -O2 -Wall"
|
||||
%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} \
|
||||
@ -465,32 +456,22 @@ configure_and_build_glibc() {
|
||||
%endif
|
||||
--with-tls --with-__thread --enable-kernel=2.6.4
|
||||
make $PARALLEL
|
||||
}
|
||||
#
|
||||
# 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
|
||||
%else
|
||||
"$add_ons"
|
||||
%endif
|
||||
cd ..
|
||||
%if %{optimize_power}
|
||||
}
|
||||
%if !%{optimize_power}
|
||||
#
|
||||
# Build POWER optimized
|
||||
# Build base glibc
|
||||
#
|
||||
configure_and_build_glibc base "$BuildFlags" "$add_ons"
|
||||
%else
|
||||
#
|
||||
# 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_power4}
|
||||
power4 \
|
||||
%endif
|
||||
%if %{powerpc_optimize_cpu_power5}
|
||||
%if %{powerpc_optimize_cpu_power5_compile}
|
||||
power5 \
|
||||
%endif
|
||||
%endif
|
||||
%if %{powerpc_optimize_cpu_power6}
|
||||
power6 \
|
||||
%endif
|
||||
@ -498,36 +479,25 @@ power6 \
|
||||
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 ..
|
||||
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}
|
||||
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
|
||||
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}
|
||||
'-DREMOVE_PPC_OPTIMIZE_POWER6' \
|
||||
%endif
|
||||
@ -539,6 +509,11 @@ $BuildCC -static -Os -g $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgra
|
||||
%endif
|
||||
%endif
|
||||
'-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_prefix}/%{_lib}/gconv"'
|
||||
#######################################################################
|
||||
###
|
||||
### CHECK
|
||||
###
|
||||
#######################################################################
|
||||
|
||||
%check
|
||||
%if %{run_testsuite}
|
||||
@ -549,41 +524,42 @@ export TIMEOUTFACTOR=16
|
||||
# ia64: tst-timer4 fails
|
||||
# ppc64: tst-pselect, ftwtest fails
|
||||
# s390,s390x: tst-timer* fails
|
||||
make -C cc-nptl -k check || echo make check failed
|
||||
make -C cc-base -k check || echo make check failed
|
||||
%else
|
||||
make -C cc-nptl check
|
||||
make -C cc-base check
|
||||
%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
|
||||
@ -596,116 +572,59 @@ ppc-cell-be \
|
||||
; 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
|
||||
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
|
||||
%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
|
||||
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
|
||||
ln -vs ../power6/$b $RPM_BUILD_ROOT/%{_lib}/power6x/$b
|
||||
done
|
||||
$my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/power6x/
|
||||
fi
|
||||
%endif
|
||||
# optimize_power
|
||||
%endif
|
||||
%endif # optimize_power
|
||||
# Install locales
|
||||
%if %{build_locales}
|
||||
# Do not install locales in parallel!
|
||||
cd cc-nptl
|
||||
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
|
||||
%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
|
||||
# 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
|
||||
#
|
||||
# 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
|
||||
# Don't look at ldd! 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
|
||||
rm -f $RPM_BUILD_ROOT/etc/ld.so.cache
|
||||
touch $RPM_BUILD_ROOT/etc/ld.so.cache
|
||||
# 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
|
||||
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)
|
||||
@ -913,14 +827,6 @@ exit 0
|
||||
/%{_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}
|
||||
@ -931,8 +837,7 @@ exit 0
|
||||
%if %{powerpc_optimize_cpu_cell}
|
||||
%{optimized_libs ppc-cell-be}
|
||||
%endif
|
||||
# optimize_power
|
||||
%endif
|
||||
%endif # optimize_power
|
||||
%dir %attr(0700,root,root) /var/cache/ldconfig
|
||||
/sbin/ldconfig
|
||||
/usr/bin/gencat
|
||||
@ -960,9 +865,6 @@ exit 0
|
||||
/%{_lib}/obsolete/noversion/libNoVersion-%{version}.so
|
||||
/%{_lib}/obsolete/noversion/libNoVersion.so.1
|
||||
%endif
|
||||
#
|
||||
# locale subpackage
|
||||
#
|
||||
|
||||
%files locale -f libc.lang
|
||||
%defattr(-,root,root)
|
||||
@ -997,7 +899,8 @@ exit 0
|
||||
%{_libdir}/libdl.a
|
||||
%{_libdir}/libg.a
|
||||
%{_libdir}/libieee.a
|
||||
%ifarch ppc ppc64 s390 s390x
|
||||
%ifarch ppc ppc64 s390 s390x sparc sparcv8 sparcv9 sparcv9v
|
||||
# This is not built on sparc64.
|
||||
%{_libdir}/libnldbl_nonshared.a
|
||||
%endif
|
||||
%{_libdir}/libm.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)
|
||||
|
@ -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/",
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:349cdc0d042ccd828d6906a0e2498bdacfa89e2a3df0e706fc429756caa39895
|
||||
size 76349
|
||||
oid sha256:a64d26aaeef0d9ee062260b5540910b138a6e0df89033dd4fe4b39d905574b19
|
||||
size 76334
|
||||
|
Loading…
Reference in New Issue
Block a user