From 3c36f8f7e68fb8c76151319dba4edc6ac8f6712f Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: May 05 2008 12:02:18 +0000 Subject: 2.8-3 --- diff --git a/glibc-fedora.patch b/glibc-fedora.patch index 77fc423..d3281ed 100644 --- a/glibc-fedora.patch +++ b/glibc-fedora.patch @@ -2815,3 +2815,105 @@ cfi_startproc; PSEUDO_END (BP_SYM (__clone)) +--- libc/math/s_clog10l.c.jj 2005-12-14 11:20:38.000000000 +0100 ++++ libc/math/s_clog10l.c 2008-05-05 10:11:11.000000000 +0200 +@@ -34,7 +34,15 @@ __clog10l (__complex__ long double x) + if (rcls == FP_ZERO && icls == FP_ZERO) + { + /* Real and imaginary part are 0.0. */ ++#ifdef __powerpc64__ ++ long double t = 0.0; ++ asm ("" : "+f" (t)); ++ if (signbit (__real__ x)) ++ t = M_PIl; ++ __imag__ result = t; ++#else + __imag__ result = signbit (__real__ x) ? M_PIl : 0.0; ++#endif + __imag__ result = __copysignl (__imag__ result, __imag__ x); + /* Yes, the following line raises an exception. */ + __real__ result = -1.0 / fabsl (__real__ x); +--- libc/math/s_catanhl.c.jj 2005-12-14 11:16:38.000000000 +0100 ++++ libc/math/s_catanhl.c 2008-05-05 10:22:57.000000000 +0200 +@@ -35,14 +35,29 @@ __catanhl (__complex__ long double x) + { + if (icls == FP_INFINITE) + { ++#ifdef __powerpc64__ ++ long double t = M_PI_2l; ++ asm ("" : "+f" (t)); ++ __real__ res = __copysignl (0.0, __real__ x); ++ __imag__ res = __copysignl (t, __imag__ x); ++#else + __real__ res = __copysignl (0.0, __real__ x); + __imag__ res = __copysignl (M_PI_2l, __imag__ x); ++#endif + } + else if (rcls == FP_INFINITE || rcls == FP_ZERO) + { + __real__ res = __copysignl (0.0, __real__ x); + if (icls >= FP_ZERO) ++#ifdef __powerpc64__ ++ { ++ long double t = M_PI_2l; ++ asm ("" : "+f" (t)); ++ __imag__ res = __copysignl (t, __imag__ x); ++ } ++#else + __imag__ res = __copysignl (M_PI_2l, __imag__ x); ++#endif + else + __imag__ res = __nanl (""); + } +--- libc/math/s_cacoshl.c.jj 2006-08-03 22:35:41.000000000 +0200 ++++ libc/math/s_cacoshl.c 2008-05-05 10:08:57.000000000 +0200 +@@ -48,8 +48,18 @@ __cacoshl (__complex__ long double x) + __real__ res = HUGE_VALL; + + if (icls >= FP_ZERO) ++#ifdef __powerpc64__ ++ { ++ long double t = 0.0; ++ asm ("" : "+f" (t)); ++ if (signbit (__real__ x)) ++ t = M_PIl; ++ __imag__ res = __copysignl (t, __imag__ x); ++ } ++#else + __imag__ res = __copysignl (signbit (__real__ x) ? M_PIl : 0.0, + __imag__ x); ++#endif + else + __imag__ res = __nanl (""); + } +--- libc/math/s_clogl.c.jj 2005-12-14 11:21:13.000000000 +0100 ++++ libc/math/s_clogl.c 2008-05-05 09:56:42.000000000 +0200 +@@ -34,7 +34,15 @@ __clogl (__complex__ long double x) + if (rcls == FP_ZERO && icls == FP_ZERO) + { + /* Real and imaginary part are 0.0. */ ++#ifdef __powerpc64__ ++ long double t = 0.0; ++ asm ("" : "+f" (t)); ++ if (signbit (__real__ x)) ++ t = M_PIl; ++ __imag__ result = t; ++#else + __imag__ result = signbit (__real__ x) ? M_PIl : 0.0; ++#endif + __imag__ result = __copysignl (__imag__ result, __imag__ x); + /* Yes, the following line raises an exception. */ + __real__ result = -1.0 / fabsl (__real__ x); +--- libc/fedora/glibc_post_upgrade.c.jj 2008-04-10 21:21:05.000000000 +0200 ++++ libc/fedora/glibc_post_upgrade.c 2008-05-05 10:39:24.000000000 +0200 +@@ -170,8 +170,8 @@ main (void) + /* Check if telinit is available and either SysVInit fifo, + or upstart telinit. */ + if (access ("/sbin/telinit", X_OK) +- || (access ("/dev/initctl", F_OK) +- && access ("/sbin/initctl", X_OK))) ++ || ((!!access ("/dev/initctl", F_OK)) ++ ^ !access ("/sbin/initctl", X_OK))) + _exit (0); + /* Check if we are not inside of some chroot, because we'd just + timeout and leave /etc/initrunlvl. */ diff --git a/glibc.spec b/glibc.spec index 228fdc3..7916c88 100644 --- a/glibc.spec +++ b/glibc.spec @@ -23,7 +23,7 @@ Summary: The GNU libc libraries Name: glibc Version: 2.8 -Release: 2 +Release: 3 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -692,7 +692,7 @@ cd .. %if %{buildxen} echo ====================TESTING -mno-tls-direct-seg-refs============= cd build-%{nptl_target_cpu}-linuxnptl-nosegneg -( make -j$numprocs -k check PARALLELMFLAGS=-s 2>&1 +( make %{?_smp_mflags} -k check PARALLELMFLAGS=-s 2>&1 sleep 10s teepid="`ps -eo ppid,pid,command | awk '($1 == '${parent}' && $3 ~ /^tee/) { print $2 }'`" [ -n "$teepid" ] && kill $teepid @@ -705,7 +705,7 @@ cd build-%{nptl_target_cpu}-linuxnptl-power6 ( if [ -d ../power6emul ]; then export LD_PRELOAD=`cd ../power6emul; pwd`/\$LIB/power6emul.so fi - make -j$numprocs -k check PARALLELMFLAGS=-s 2>&1 + make %{?_smp_mflags} -k check PARALLELMFLAGS=-s 2>&1 sleep 10s teepid="`ps -eo ppid,pid,command | awk '($1 == '${parent}' && $3 ~ /^tee/) { print $2 }'`" [ -n "$teepid" ] && kill $teepid @@ -980,6 +980,12 @@ rm -f *.filelist* %endif %changelog +* Mon May 5 2008 Jakub Jelinek 2.8-3 +- don't run telinit u in %post if both /dev/initctl and + /sbin/initctl exist (#444978) +- workaround GCC ppc64 miscompilation of c{log{,10},acosh,atan}l + (#444996) + * Wed Apr 30 2008 Jakub Jelinek 2.8-2 - fix nscd races during GC (BZ#5381) - rebuilt with fixed GCC to fix regex miscompilation on power6