Hello community,
here is the log from the commit of package glibc
checked in at Wed Oct 22 17:26:00 CEST 2008.
--------
--- glibc/glibc.changes 2008-10-13 00:03:31.000000000 +0200
+++ /mounts/work_src_done/STABLE/glibc/glibc.changes 2008-10-21 16:18:25.000000000 +0200
@@ -1,0 +2,20 @@
+Tue Oct 21 09:54:06 CEST 2008 - olh@suse.de
+
+- update glibc_post_upgrade to handle power7 and ppc-cell-be
+- remove libs unconditionally on powerpc to handle libs in
+ subdirectories for which we do not ship optimized versions [bnc#437209]
+
+-------------------------------------------------------------------
+Thu Oct 16 14:42:59 CEST 2008 - olh@suse.de
+
+- enable cpu-tuned libraries for power4, power6 and ppc-cell-be
+ on ppc32 [fate#304000,bnc#408808]
+
+-------------------------------------------------------------------
+Mon Oct 13 14:51:11 CEST 2008 - matz@suse.de
+
+- Update to trunk from 20081013, no longer export paccept,
+ obsoletes some patches (lowlevellock and res_send).
+ Fix overflow in nscd patch.
+
+-------------------------------------------------------------------
@@ -4,0 +25 @@
+- add missing-include-build-fix.diff
calling whatdependson for head-i586
Old:
----
glibc-2.8-386-lowlevellock.diff
glibc-2.8.90-2008090419.tar.bz2
glibc-nptl-2.8.90-2008090419.tar.bz2
res_send.diff
New:
----
glibc-2.8.90-2008101314.tar.bz2
glibc-fix-nscd.diff
glibc-nptl-2.8.90-2008101314.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.y12872/_old 2008-10-22 17:23:07.000000000 +0200
+++ /var/tmp/diff_new_pack.y12872/_new 2008-10-22 17:23:07.000000000 +0200
@@ -25,26 +25,24 @@
%define run_testsuite 0
%define disable_assert 0
%define enable_stackguard_randomization 1
-%ifarch ppc64
-# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
-# Glibc 2.8 introduced the HP_TIMING element to the rtld_global_ro struct # definition.
-# If the base is built prior to power4 the loader won't have this element in
-# the struct whereas the power6 libc will so there will be a disconnect
-# between the size of the rtld_global_ro struct between the two and dl_close
-# ends up getting called incorrectly when it's actually attempting to call a
-# resolver function. This is because the GLRO() macro simply attempts to
-# compute an offset and gets the wrong one.
-# Building the base glibc with --with-cpu=power4 solves this problem.
-# ppc32 can not default to -mcpu=power4 because it would break G3, G4 etc.
+%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
%define powerpc_optimize_cpu_power5 0
%define powerpc_optimize_cpu_power6 1
%define powerpc_optimize_cpu_power7 0
%define powerpc_optimize_cpu_cell 1
+# optimize_power
+%endif
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later
Summary: Standard Shared Libraries (from the GNU C Library)
Group: System/Libraries
@@ -53,8 +51,8 @@
Provides: rtld(GNU_HASH)
AutoReqProv: on
Version: 2.8.90
-Release: 14
-%define snapshot_date 2008090419
+Release: 15
+%define snapshot_date 2008101314
Url: http://www.gnu.org/software/libc/libc.html
PreReq: filesystem
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -110,9 +108,8 @@
Patch37: ppc-atomic.diff
Patch38: glibc-2.8-clone.diff
Patch39: glibc-nss-deepbind.diff
-Patch40: glibc-2.8-386-lowlevellock.diff
+Patch40: glibc-fix-nscd.diff
Patch60: glibc-selinux.patch
-Patch61: res_send.diff
Patch62: glibc-getgroups-fortify.diff
Patch63: missing-include-build-fix.diff
@@ -290,9 +287,26 @@
%patch40
%patch5
%patch60
-%patch61
%patch62 -p1
%patch63
+#
+# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
+#
+# Glibc 2.8 introduced the HP_TIMING element to the rtld_global_ro struct # definition.
+# If the base is built without power4 the loader won't have this element in
+# the struct whereas the power4/5/6/... libc will, so there will be a disconnect
+# between the size of the rtld_global_ro struct between the two and dl_close
+# ends up getting called incorrectly when it's actually attempting to call a
+# resolver function. This is because the GLRO() macro simply attempts to
+# compute an offset and gets the wrong one.
+# Building the base glibc with --with-cpu=power4 solves this problem.
+# But: ppc32 can not default to -mcpu=power4 because it would emit instructions
+# which are not available on G3, G4 etc.
+#
+# We simply remove the power4 files, and build the base glibc for a generic powerpc cpu
+# Additional cputuned libs can now be used on powerpc32
+#
+rm -fv sysdeps/powerpc/powerpc32/power4/hp-timing.c sysdeps/powerpc/powerpc32/power4/hp-timing.h
find . -name configure | xargs touch
%build
@@ -382,14 +396,12 @@
mkdir cc-nptl
cd cc-nptl
configure_and_build_glibc "$BuildFlags" \
-%if %{optimize_power}
+%if %{powerpc_optimize_base_cpu_power4}
"$add_ons,powerpc-cpu" --with-cpu=power4
%else
"$add_ons"
%endif
cd ..
-%ifarch ppc ppc64
-#
%if %{optimize_power}
#
# Build POWER optimized
@@ -421,9 +433,6 @@
%endif
# optimize_power
%endif
-# ppc ppc64
-%endif
-#
#
# Build html documentation
#
@@ -434,8 +443,22 @@
$BuildCC -static -Os -g $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \
-Lcc-nptl -Bcc-nptl/csu \
'-DREMOVE_TLS_DIRS' \
-%if !%{optimize_power}
- '-DREMOVE_PPC_OPTIMIZE_DIRS' \
+%if %{optimize_power}
+%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
+%if !%{powerpc_optimize_cpu_power7}
+ '-DREMOVE_PPC_OPTIMIZE_POWER7' \
+%endif
+%if !%{powerpc_optimize_cpu_cell}
+ '-DREMOVE_PPC_OPTIMIZE_CELL' \
+%endif
%endif
'-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_prefix}/%{_lib}/gconv"'
@@ -468,8 +491,6 @@
touch $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
# Do not install in parallel, timezone Makefile will fail
make install_root=$RPM_BUILD_ROOT install -C cc-nptl
-%ifarch ppc ppc64
-#
%if %{optimize_power}
# run ldconfig to create the library symlinks
# do not use the new ldconfig from the build directory because
@@ -546,8 +567,6 @@
%endif
# optimize_power
%endif
-# ppc ppc64
-%endif
%if %{build_locales}
# Do not install locales in parallel!
cd cc-nptl
@@ -777,7 +796,6 @@
/%{_lib}/libthread_db.so.1
/%{_lib}/libutil-%{version}.so
/%{_lib}/libutil.so.1
-%ifarch ppc ppc64
%if %{optimize_power}
%if %{powerpc_optimize_cpu_power4}
%dir %attr(0755,root,root) /%{_lib}/power4
@@ -879,8 +897,6 @@
%endif
# optimize_power
%endif
-# ppc ppc64
-%endif
%dir %attr(0700,root,root) /var/cache/ldconfig
/sbin/ldconfig
/usr/bin/gencat
@@ -1016,8 +1032,20 @@
%{_libdir}/libdl_p.a
%changelog
+* Tue Oct 21 2008 olh@suse.de
+- update glibc_post_upgrade to handle power7 and ppc-cell-be
+- remove libs unconditionally on powerpc to handle libs in
+ subdirectories for which we do not ship optimized versions [bnc#437209]
+* Thu Oct 16 2008 olh@suse.de
+- enable cpu-tuned libraries for power4, power6 and ppc-cell-be
+ on ppc32 [fate#304000,bnc#408808]
+* Mon Oct 13 2008 matz@suse.de
+- Update to trunk from 20081013, no longer export paccept,
+ obsoletes some patches (lowlevellock and res_send).
+ Fix overflow in nscd patch.
* Mon Oct 13 2008 dmueller@suse.de
- also strip .comment.SUSE.OPTs from the static libs
+- add missing-include-build-fix.diff
* Tue Oct 07 2008 schwab@suse.de
- Fix alignment in resolver.
* Tue Sep 30 2008 olh@suse.de
++++++ glibc-2.4.90-nscd.diff ++++++
--- /var/tmp/diff_new_pack.y12872/_old 2008-10-22 17:23:08.000000000 +0200
+++ /var/tmp/diff_new_pack.y12872/_new 2008-10-22 17:23:08.000000000 +0200
@@ -119,7 +119,7 @@
int propagate;
int reset_res;
const char filename[16];
-+ const char filename2[16];
++ const char filename2[17];
const char *db_filename;
time_t file_mtime;
+ time_t file_mtime2;
++++++ glibc-2.8.90-2008090419.tar.bz2 -> glibc-2.8.90-2008101314.tar.bz2 ++++++
glibc/glibc-2.8.90-2008090419.tar.bz2 /mounts/work_src_done/STABLE/glibc/glibc-2.8.90-2008101314.tar.bz2 differ: byte 11, line 1
++++++ glibc-fix-nscd.diff ++++++
diff -urp nscd.mm/cache.c nscd/cache.c
--- nscd.mm/cache.c 2008-10-13 13:09:35.120009000 +0000
+++ nscd/cache.c 2008-10-13 15:11:17.629844982 +0000
@@ -300,7 +300,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.
diff -urp nscd.mm/connections.c nscd/connections.c
--- nscd.mm/connections.c 2008-10-13 13:09:35.120009000 +0000
+++ nscd/connections.c 2008-10-13 14:55:22.417018210 +0000
@@ -1816,22 +1816,7 @@ main_loop_poll (void)
/* We have a new incoming connection. Accept the connection. */
int fd;
-#ifndef __ASSUME_PACCEPT
- fd = -1;
- if (have_paccept >= 0)
-#endif
- {
- fd = TEMP_FAILURE_RETRY (paccept (sock, NULL, NULL, NULL,
- SOCK_NONBLOCK));
-#ifndef __ASSUME_PACCEPT
- if (have_paccept == 0)
- have_paccept = fd != -1 || errno != ENOSYS ? 1 : -1;
-#endif
- }
-#ifndef __ASSUME_PACCEPT
- if (have_paccept < 0)
- fd = TEMP_FAILURE_RETRY (accept (sock, NULL, NULL));
-#endif
+ fd = TEMP_FAILURE_RETRY (accept (sock, NULL, NULL));
/* Use the descriptor if we have not reached the limit. */
if (fd >= 0)
--- sysdeps/unix/sysv/linux/kernel-features.h.mm 2008-08-25 13:02:49.000000000 +0000
+++ sysdeps/unix/sysv/linux/kernel-features.h 2008-10-13 14:27:31.357847116 +0000
@@ -509,5 +509,4 @@
# define __ASSUME_SOCK_CLOEXEC 1
# define __ASSUME_IN_NONBLOCK 1
# define __ASSUME_PIPE2 1
-# define __ASSUME_PACCEPT 1
#endif
++++++ glibc-nptl-2.8.90-2008090419.tar.bz2 -> glibc-nptl-2.8.90-2008101314.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/ChangeLog new/nptl/ChangeLog
--- old/nptl/ChangeLog 2008-08-25 15:02:45.000000000 +0200
+++ new/nptl/ChangeLog 2008-10-13 14:33:08.000000000 +0200
@@ -1,3 +1,15 @@
+2008-09-11 Martin Schwidefsky