[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r21797 - in /fsf/trunk/libc: ./ math/ ports/ ports/sysdeps/m68k/ ports/sysdeps/m68k/m680x0/fpu/ ports/sysdeps/unix/sysv/linu...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r21797 - in /fsf/trunk/libc: ./ math/ ports/ ports/sysdeps/m68k/ ports/sysdeps/m68k/m680x0/fpu/ ports/sysdeps/unix/sysv/linu...
- From: eglibc@xxxxxxxxxx
- Date: Mon, 19 Nov 2012 00:01:58 -0000
Author: eglibc
Date: Mon Nov 19 00:01:56 2012
New Revision: 21797
Log:
Import glibc-mainline for 2012-11-19
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/configure
fsf/trunk/libc/configure.in
fsf/trunk/libc/math/libm-test.inc
fsf/trunk/libc/ports/ChangeLog.m68k
fsf/trunk/libc/ports/sysdeps/m68k/dl-machine.h
fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/nptl/sysdep-cancel.h
fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j0f.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j1f.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j0l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j1l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_powl.c
fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Mon Nov 19 00:01:56 2012
@@ -1,3 +1,33 @@
+2012-11-18 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ With help from Joseph Myers.
+ * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Adjust tinyness
+ cutoff to 2**-13.
+ * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Adjust tinyness
+ cutoff to 2**-25.
+ * sysdeps/ieee754/ldbl-128/e_j0l.c (U0): New constant.
+ ( __ieee754_y0l): Avoid arithmetic underflow when 'x' is very
+ small.
+ * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise.
+ * math/libm-test.inc (y0_test): New tests.
+ (y1_test): New tests.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+ * sysdeps/x86_64/fpu/libm-test-ulps: Update.
+ * sysdeps/sparc/fpu/libm-test-ulps: Update.
+
+2012-11-18 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * configure.in (libc_cv_ld_gnu_indirect_function): Use .quad on
+ 64-bit targets.
+ * configure: Regenerated.
+
+2012-11-17 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ [BZ #14811]
+ * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Saturate
+ nonzero exponents with absolute value below 0x1p-128 to +/-
+ 0x1p-128.
+
2012-11-17 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/fxstatat.c: Include <string.h>.
Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Mon Nov 19 00:01:56 2012
@@ -4217,7 +4217,7 @@
if ${libc_cv_ld_gnu_indirect_function+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat > conftest.s <<EOF
+ cat > conftest.S <<EOF
.type foo,%gnu_indirect_function
foo:
.globl _start
@@ -4225,12 +4225,16 @@
.globl __start
__start:
.data
+#ifdef _LP64
+.quad foo
+#else
.long foo
+#endif
EOF
libc_cv_ld_gnu_indirect_function=no
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-nostartfiles -nostdlib \
- -o conftest conftest.s 1>&5 2>&5; then
+ -o conftest conftest.S 1>&5 2>&5; then
# Do a link to see if the backend supports IFUNC relocs.
$READELF -r conftest 1>&5
LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Mon Nov 19 00:01:56 2012
@@ -577,7 +577,7 @@
# For the multi-arch option we need support in the assembler & linker.
AC_CACHE_CHECK([for assembler and linker STT_GNU_IFUNC support],
libc_cv_ld_gnu_indirect_function, [dnl
-cat > conftest.s <<EOF
+cat > conftest.S <<EOF
.type foo,%gnu_indirect_function
foo:
.globl _start
@@ -585,12 +585,16 @@
.globl __start
__start:
.data
+#ifdef _LP64
+.quad foo
+#else
.long foo
+#endif
EOF
libc_cv_ld_gnu_indirect_function=no
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-nostartfiles -nostdlib \
- -o conftest conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
+ -o conftest conftest.S 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
# Do a link to see if the backend supports IFUNC relocs.
$READELF -r conftest 1>&AS_MESSAGE_LOG_FD
LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Mon Nov 19 00:01:56 2012
@@ -10198,6 +10198,18 @@
TEST_f_f (y0, 0x1.ff00000000002p+840L, 1.846591691699331493194965158699937660696e-127L, UNDERFLOW_EXCEPTION_OK);
#endif
+ TEST_f_f (y0, 0x1p-10L, -4.4865150767109739412411806297168793661098L);
+ TEST_f_f (y0, 0x1p-20L, -8.8992283012125827603076426611387876938160L);
+ TEST_f_f (y0, 0x1p-30L, -1.3311940304267782826037118027401817264906e+1L);
+ TEST_f_f (y0, 0x1p-40L, -1.7724652307320814696990854700366226762563e+1L);
+ TEST_f_f (y0, 0x1p-50L, -2.2137364310373846564919987139743760738155e+1L);
+ TEST_f_f (y0, 0x1p-60L, -2.6550076313426878432849115782108205929120e+1L);
+ TEST_f_f (y0, 0x1p-70L, -3.0962788316479910300778244424468159753887e+1L);
+ TEST_f_f (y0, 0x1p-80L, -3.5375500319532942168707373066828113573541e+1L);
+ TEST_f_f (y0, 0x1p-90L, -3.9788212322585974036636501709188067393195e+1L);
+ TEST_f_f (y0, 0x1p-100L, -4.420092432563900590456563035154802121284e+1L);
+ TEST_f_f (y0, 0x1p-110L, -4.861363632869203777249475899390797503250e+1L);
+
END (y0);
}
@@ -10240,6 +10252,18 @@
/* Bug 14155: spurious exception may occur. */
TEST_f_f (y1, 0x1.001000001p+593L, 3.927269966354206207832593635798954916263e-90L, UNDERFLOW_EXCEPTION_OK);
#endif
+
+ TEST_f_f (y1, 0x1p-10L, -6.5190099301063115047395187618929589514382e+02L);
+ TEST_f_f (y1, 0x1p-20L, -6.6754421443450423911167962313100637952285e+05L);
+ TEST_f_f (y1, 0x1p-30L, -6.8356527557643159612937462812258975438856e+08L);
+ TEST_f_f (y1, 0x1p-40L, -6.9997084219026594793707805777425993547887e+11L);
+ TEST_f_f (y1, 0x1p-50L, -7.1677014240283233068755952926181262431559e+14L);
+ TEST_f_f (y1, 0x1p-60L, -7.3397262582050030662406095795388448059822e+17L);
+ TEST_f_f (y1, 0x1p-70L, -7.5158796884019231398303842094477769620063e+20L);
+ TEST_f_f (y1, 0x1p-80L, -7.6962608009235692951863134304745236090943e+23L);
+ TEST_f_f (y1, 0x1p-90L, -7.8809710601457349582707849528059121757126e+26L);
+ TEST_f_f (y1, 0x1p-100L, -8.0701143655892325972692837916732540679297e+29L);
+ TEST_f_f (y1, 0x1p-110L, -8.2637971103633741796037466026734121655600e+32L);
END (y1);
}
Modified: fsf/trunk/libc/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.m68k (original)
+++ fsf/trunk/libc/ports/ChangeLog.m68k Mon Nov 19 00:01:56 2012
@@ -1,3 +1,20 @@
+2012-11-18 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/m68k/nptl/sysdep-cancel.h (_DOCARGS_5)
+ (UNDOCARGS_5): Save %d5 on stack instead of in %a1.
+
+2012-11-15 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/m68k/dl-machine.h (ELF_MACHINE_RUNTIME_FIXUP_PARAMS):
+ Define.
+
+2012-11-06 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update.
+
+ * sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h
+ (lll_futex_timed_wait_bitset): Define.
+
2012-11-03 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/m68k/fpu/fclrexcpt.c (feclearexcept): Add
Modified: fsf/trunk/libc/ports/sysdeps/m68k/dl-machine.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/dl-machine.h (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/dl-machine.h Mon Nov 19 00:01:56 2012
@@ -1,6 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. m68k version.
- Copyright (C) 1996-2001, 2002, 2003, 2004, 2005, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 1996-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -107,6 +106,7 @@
}
#define ELF_MACHINE_RUNTIME_FIXUP_ARGS long int save_a0, long int save_a1
+#define ELF_MACHINE_RUNTIME_FIXUP_PARAMS save_a0, save_a1
/* Mask identifying addresses reserved for the user program,
Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps Mon Nov 19 00:01:56 2012
@@ -675,6 +675,12 @@
Test "Imaginary part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
ildouble: 1
ldouble: 1
+Test "Real part of: clog (0x0.ffffffffffffffffp0 + 0x0.ffffffffffffffffp-15000 i) == -5.421010862427522170184200798202494495630e-20 + 3.548665303440282824232502561095699343814e-4516 i":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x0.ffffffp0 + 0x0.ffffffp-100 i) == -5.960464655174753498633255797994360530379e-8 + 7.888609052210118054117285652827862296732e-31 i":
+float: 1
+ifloat: 1
Test "Imaginary part of: clog (0x1.000566p0 + 0x1.234p-10 i) == 8.298731898331237038231468223024422855654e-5 + 1.110938609507128729312743251313024793990e-3 i":
ildouble: 1
ldouble: 1
@@ -685,6 +691,30 @@
ildouble: 1
ldouble: 1
Test "Imaginary part of: clog (0x1.fp+16383 + 0x1p+16383 i) == 11356.60974243783798653123798337822335902 + 0.4764674194737066993385333770295162295856 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x11682p-23 + 0x7ffed1p-23 i) == 1.1723955140027907954461000991619077811832e-12 + 1.5622968405332756349813737986164832897108 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2dd46725bp-35 + 0x7783a1284p-35 i) == 4.4469229730850767799109418892826021157328e-20 + 1.2046235979300843056806465045930070146351 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i) == 8.3076914081087805757422664530653247447136e-30 + 1.2072712126771536614482822173033535043206 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x602fd5037c4792efp-64 + 0xed3e2086dcca80b8p-64 i) == -2.3362950222592964220878638677292132852104e-37 + 1.1856121127236268105413184264288408265852 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i) == 2.4244570985709679851855191080208817099132e-37 + 1.1393074519572050614551047548718495655972 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x8ecbf810c4ae6p-52 + 0xd479468b09a37p-52 i) == -9.7375017988218644730510244778042114638107e-30 + 0.9790637929494922564724108399524154766631 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa1f2c1p-24 + 0xc643aep-24 i) == -1.0480505352462576151523512837107080269981e-13 + 0.8858771987699967480545613322309315260313 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa4722f19346cp-51 + 0x7f9631c5e7f07p-51 i) == -6.2122796286154679676173624516405339768606e-30 + 1.4904138780720095276446375492434049214172 i":
ildouble: 1
ldouble: 1
Test "Real part of: clog (1.0 + 0x1.234566p-10 i) == 6.172834701221959432440126967147726538097e-7 + 1.111110564353742042376451655136933182201e-3 i":
@@ -755,6 +785,17 @@
idouble: 1
ildouble: 2
ldouble: 2
+Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i) == -4.821637332766435821255375046554377090472e-17 + 4.053112396770095089737411317782466262176e-302 i":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog10 (0x0.ffffffffffffffffp0 + 0x0.ffffffffffffffffp-15000 i) == -2.354315103889861110220423157644627849164e-20 + 1.541165759405643564697852372112893034397e-4516 i":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i) == -2.588596909321764128428416045209904492216e-8 + 3.425979381266895667295625489912064603415e-31 i":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i) == 3.604093470239754109961125085078190708674e-5 + 4.824745078422174667425851670822596859720e-4 i":
double: 1
idouble: 1
@@ -769,9 +810,87 @@
Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i) == 2.217530356103816369479108963807448194409e-31 + 6.821881769209202348667823902864283966959e-1 i":
ildouble: 1
ldouble: 1
+Test "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i) == 1.3918041236396763648388478552321724382899e-29 + 0.6263795733790237053262025311642907438291 i":
+double: 1
+idouble: 1
+Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i) == 2.2081507730821788480616336165447731164865e-32 + 0.5484039935757001196548030312819898864760 i":
+double: 1
+idouble: 1
+Test "Real part of: clog10 (0x1a6p-10 + 0x3a5p-10 i) == -6.2126412844802358329771948751248003038444e-07 + 0.4977135139537443711784513409096950995985 i":
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: clog10 (0x1p-16440 + 0x1p-16441 i) == -4948.884673709346821106688037612752099609 + 0.2013595981366865710389502301937289472543 i":
ildouble: 1
ldouble: 1
+Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i) == 6.6737261053986614395049481326819059203910e-09 + 0.5438241985991753781478398141908629586460 i":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i) == 6.6737261053986614395049481326819059203910e-09 + 0.5438241985991753781478398141908629586460 i":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i) == 1.9312741086596516918394613098872836703188e-20 + 0.5231613813514771042838490538484014771862 i":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i) == -1.9440841725722970687903291200493082253766e-13 + 0.5193774116724956222518530053006822210323 i":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i) == -1.9440841725722970687903291200493082253766e-13 + 0.5193774116724956222518530053006822210323 i":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i) == -6.4375803621988389731799033530075237868110e-21 + 0.4378257977686804492768642780897650927167 i":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i) == -6.4375803621988389731799033530075237868110e-21 + 0.4378257977686804492768642780897650927167 i":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog10 (0x4d4ep-15 + 0x6605p-15 i) == -7.0781945783414996953799915941870192015212e-09 + 0.4005747524909781155537088181659175147564 i":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i) == 3.6079845358966994996207055940336690133424e-30 + 0.5243112258263349992771652393178033846555 i":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog10 (0x659b70ab7971bp-53 + 0x1f5d111e08abecp-53 i) == -1.0893543813872082317104059174982092534059e-30 + 0.5954257879188711495921161433751775633232 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i) == 1.6200701438094619117335617123525612051457e-14 + 0.5049027913635038013499728086604870749732 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i) == 1.0529283395205396881397407610630442563938e-37 + 0.4947949395762683446121140513971996916447 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0x81b7efa81fc35ad1p-65 + 0x1ef4b835f1c79d812p-65 i) == -4.3074341162203896332989394770760901408798e-39 + 0.5709443672155660428417571212549720987784 i":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog10 (0x8ecbf810c4ae6p-52 + 0xd479468b09a37p-52 i) == -4.2289432987513243393180377141513840878196e-30 + 0.4252020027092323591068799049905597805296 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0x8ecbf810c4ae6p-52 + 0xd479468b09a37p-52 i) == -4.2289432987513243393180377141513840878196e-30 + 0.4252020027092323591068799049905597805296 i":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0xa1f2c1p-24 + 0xc643aep-24 i) == -4.5516256421319921959681423447271490869664e-14 + 0.3847315790697197749315054516562206543710 i":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0xa4722f19346cp-51 + 0x7f9631c5e7f07p-51 i) == -2.6979587627476803379953050733225113494503e-30 + 0.6472785229986997177606324374555347813105 i":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i) == 2.6921240173351112953324592659528481616879e-06 + 0.5785726025799636431142862788413361783862 i":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i) == 2.3329549194675052736016290082882121135546e-26 + 0.4561756099441139182878993697611751382976 i":
+double: 1
+idouble: 1
Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i) == 2.680828048441605163181684680300513080769e-7 + 4.825491868832381486767558728169977751564e-4 i":
ildouble: 1
ldouble: 1
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h Mon Nov 19 00:01:56 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Maxim Kuvyrkov <maxim@xxxxxxxxxxxxxxxx>, 2010.
@@ -88,6 +88,18 @@
__ret; \
})
+#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \
+ ({ \
+ INTERNAL_SYSCALL_DECL (__err); \
+ long int __ret; \
+ int __op = FUTEX_WAIT_BITSET | clockbit; \
+ __ret = INTERNAL_SYSCALL (futex, __err, 6, (long) (futexp), \
+ __lll_private_flag (__op, private), \
+ (val), (timespec), NULL /* Unused. */, \
+ FUTEX_BITSET_MATCH_ANY); \
+ INTERNAL_SYSCALL_ERROR_P (__ret, __err) ? -__ret : __ret; \
+ })
+
#define lll_futex_wake(futexp, nr, private) \
({ \
INTERNAL_SYSCALL_DECL (__err); \
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/nptl/sysdep-cancel.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/nptl/sysdep-cancel.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/nptl/sysdep-cancel.h Mon Nov 19 00:01:56 2012
@@ -69,8 +69,6 @@
# define _DOCARGS_2(n) DOCARGS_0 move.l n+4(%sp), %d2; _DOCARGS_1 (n)
# define UNDOCARGS_2 UNDOCARGS_0
-/* TODO: We can optimize DOCARGS_{3, 4} by saving registers to a0 and a1
- instead of pushing them on stack. */
# define DOCARGS_3 _DOCARGS_3 (12)
# define _DOCARGS_3(n) move.l %d3, -(%sp); \
cfi_adjust_cfa_offset (4); cfi_rel_offset (%d3, 0); \
@@ -86,9 +84,11 @@
cfi_adjust_cfa_offset (-4); cfi_restore (%d4);
# define DOCARGS_5 _DOCARGS_5 (20)
-# define _DOCARGS_5(n) move.l %d5, %a1; cfi_register (%d5, a1); \
- move.l n(%sp), %d5; _DOCARGS_4 (n-4)
-# define UNDOCARGS_5 UNDOCARGS_4 move.l %a1, %d5; cfi_restore (%d5);
+# define _DOCARGS_5(n) move.l %d5, -(%sp); \
+ cfi_adjust_cfa_offset (4); cfi_rel_offset (%d5, 0); \
+ move.l n+4(%sp), %d5; _DOCARGS_4 (n)
+# define UNDOCARGS_5 UNDOCARGS_4 move.l (%sp)+, %d5; \
+ cfi_adjust_cfa_offset (-4); cfi_restore (%d5);
# define DOCARGS_6 _DOCARGS_6 (24)
# define _DOCARGS_6(n) move.l n(%sp), %a0; _DOCARGS_5 (n-4)
Modified: fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps Mon Nov 19 00:01:56 2012
@@ -3015,6 +3015,28 @@
Test "y0 (0x1.ff00000000002p+840) == 1.846591691699331493194965158699937660696e-127":
double: 1
idouble: 1
+Test "y0 (0x1p-10) == -4.4865150767109739412411806297168793661098":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-30) == -1.3311940304267782826037118027401817264906e+1":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-40) == -1.7724652307320814696990854700366226762563e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0x1p-60) == -2.6550076313426878432849115782108205929120e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-70) == -3.0962788316479910300778244424468159753887e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-80) == -3.5375500319532942168707373066828113573541e+1":
+double: 1
+idouble: 1
Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
double: 2
float: 1
@@ -3056,6 +3078,9 @@
ifloat: 2
ildouble: 1
ldouble: 1
+Test "y1 (0x1p-10) == -6.5190099301063115047395187618929589514382e+02":
+float: 1
+ifloat: 1
Test "y1 (1.0) == -0.781212821300288716547150000047964821":
double: 1
idouble: 1
Modified: fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j0f.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j0f.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j0f.c Mon Nov 19 00:01:56 2012
@@ -138,7 +138,7 @@
}
return z;
}
- if(ix<=0x32000000) { /* x < 2**-27 */
+ if(ix<=0x39800000) { /* x < 2**-13 */
return(u00 + tpi*__ieee754_logf(x));
}
z = x*x;
Modified: fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j1f.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j1f.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j1f.c Mon Nov 19 00:01:56 2012
@@ -133,7 +133,7 @@
}
return z;
}
- if(__builtin_expect(ix<=0x24800000, 0)) { /* x < 2**-54 */
+ if(__builtin_expect(ix<=0x33000000, 0)) { /* x < 2**-25 */
return(-tpi/x);
}
z = x*x;
Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j0l.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j0l.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j0l.c Mon Nov 19 00:01:56 2012
@@ -809,6 +809,7 @@
/* 1.000000000000000000000000000000000000000E0 */
};
+static const long double U0 = -7.3804295108687225274343927948483016310862e-02L;
/* Bessel function of the second kind, order zero. */
@@ -831,6 +832,8 @@
return -HUGE_VALL + x;
}
xx = fabsl (x);
+ if (xx <= 0x1p-57)
+ return U0 + TWOOPI * __ieee754_logl (x);
if (xx <= 2.0L)
{
/* 0 <= x <= 2 */
Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j1l.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j1l.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j1l.c Mon Nov 19 00:01:56 2012
@@ -838,6 +838,8 @@
return -HUGE_VALL + x;
}
xx = fabsl (x);
+ if (xx <= 0x1p-114)
+ return -TWOOPI / x;
if (xx <= 2.0L)
{
/* 0 <= x <= 2 */
Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_powl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_powl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_powl.c Mon Nov 19 00:01:56 2012
@@ -149,7 +149,7 @@
{
long double z, ax, z_h, z_l, p_h, p_l;
long double y1, t1, t2, r, s, t, u, v, w;
- long double s2, s_h, s_l, t_h, t_l;
+ long double s2, s_h, s_l, t_h, t_l, ay;
int32_t i, j, k, yisint, n;
u_int32_t ix, iy;
int32_t hx, hy;
@@ -281,6 +281,10 @@
if (ix > 0x3fff0000)
return (hy > 0) ? huge * huge : tiny * tiny;
}
+
+ ay = y > 0 ? y : -y;
+ if (ay < 0x1p-128)
+ y = y < 0 ? -0x1p-128 : 0x1p-128;
n = 0;
/* take care subnormal number */
Modified: fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps Mon Nov 19 00:01:56 2012
@@ -1328,8 +1328,8 @@
double: 1
idouble: 1
Test "Imaginary part of: clog10 (0xfd95243681c055c2632286921092p-113 + 0x1bccabcd29ca2152860ec29e34ef7p-113 i) == 2.8774482675253468630312378575186855052697e-66 + 0.4571561610046221605554903008571429975493 i":
-ldouble: 2
-ildouble: 2
+ildouble: 2
+ldouble: 2
Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i) == 2.3329549194675052736016290082882121135546e-26 + 0.4561756099441139182878993697611751382976 i":
double: 1
idouble: 1
@@ -2861,6 +2861,43 @@
idouble: 1
ildouble: 1
ldouble: 1
+Test "y0 (0x1p-10) == -4.4865150767109739412411806297168793661098":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-110) == -4.861363632869203777249475899390797503250e+1":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-20) == -8.8992283012125827603076426611387876938160":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-30) == -1.3311940304267782826037118027401817264906e+1":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "y0 (0x1p-40) == -1.7724652307320814696990854700366226762563e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0x1p-50) == -2.2137364310373846564919987139743760738155e+1":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-60) == -2.6550076313426878432849115782108205929120e+1":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-70) == -3.0962788316479910300778244424468159753887e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-80) == -3.5375500319532942168707373066828113573541e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
double: 2
float: 1
@@ -2897,6 +2934,14 @@
Test "y1 (0x1.27e204p+99) == -8.881610148467797208469612080785210013461e-16":
double: 1
idouble: 1
+Test "y1 (0x1p-10) == -6.5190099301063115047395187618929589514382e+02":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y1 (0x1p-30) == -6.8356527557643159612937462812258975438856e+08":
+ildouble: 1
+ldouble: 1
Test "y1 (1.5) == -0.412308626973911295952829820633445323":
float: 1
ifloat: 1
Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps Mon Nov 19 00:01:56 2012
@@ -2796,6 +2796,38 @@
Test "y0 (0x1.ff00000000002p+840) == 1.846591691699331493194965158699937660696e-127":
double: 1
idouble: 1
+Test "y0 (0x1p-10) == -4.4865150767109739412411806297168793661098":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-110) == -4.861363632869203777249475899390797503250e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-20) == -8.8992283012125827603076426611387876938160":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-30) == -1.3311940304267782826037118027401817264906e+1":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-40) == -1.7724652307320814696990854700366226762563e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0x1p-50) == -2.2137364310373846564919987139743760738155e+1":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-70) == -3.0962788316479910300778244424468159753887e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-80) == -3.5375500319532942168707373066828113573541e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
double: 2
float: 1
@@ -2837,6 +2869,9 @@
ifloat: 1
ildouble: 1
ldouble: 1
+Test "y1 (0x1p-10) == -6.5190099301063115047395187618929589514382e+02":
+double: 1
+idouble: 1
Test "y1 (1.5) == -0.412308626973911295952829820633445323":
float: 1
ifloat: 1
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits