[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r1935 - in glibc-package/branches/glibc-2.5/debian: . patches patches/hppa script.in sysdeps



Author: aurel32
Date: 2007-02-05 06:23:58 +0100 (Mon, 05 Feb 2007)
New Revision: 1935

Added:
   glibc-package/branches/glibc-2.5/debian/patches/hppa/cvs-hppa-update.diff
Modified:
   glibc-package/branches/glibc-2.5/debian/changelog
   glibc-package/branches/glibc-2.5/debian/patches/hppa/submitted-lt.diff
   glibc-package/branches/glibc-2.5/debian/patches/series
   glibc-package/branches/glibc-2.5/debian/script.in/kernelcheck.sh
   glibc-package/branches/glibc-2.5/debian/sysdeps/hppa.mk
Log:
  * debian/patches/hppa/cvs-hppa-update.diff: new patch (CVS update).
  * debian/sysdeps/hppa.mk, debian/script.in/kernelcheck.sh: bump minimum
    kernel requirement to 2.6.9 on hppa to get LWS CAS support.



Modified: glibc-package/branches/glibc-2.5/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.5/debian/changelog	2007-02-05 04:42:57 UTC (rev 1934)
+++ glibc-package/branches/glibc-2.5/debian/changelog	2007-02-05 05:23:58 UTC (rev 1935)
@@ -1,4 +1,4 @@
-glibc (2.5-0exp3) UNRELEASED; urgency=low
+glibc (2.5-0exp4) UNRELEASED; urgency=low
 
   * New upstream version 2.5.
     - Adds support of POSIX_MADV_* on mips, mipsel, arm and hppa.  Closes:
@@ -64,6 +64,9 @@
   * Build depends on binutils (>= 2.17.50) to enable --hash-style linking.
     Closes: #405738.
   * Build depends on gcc-4.2 on hppa to enable TLS on hppa.  Closes: #397813.
+  * debian/patches/hppa/cvs-hppa-update.diff: new patch (CVS update).
+  * debian/sysdeps/hppa.mk, debian/script.in/kernelcheck.sh: bump minimum
+    kernel requirement to 2.6.9 on hppa to get LWS CAS support.
   * debian/any/patches/local-linuxthreads-semaphore_h.diff: new patch (fix
     /usr/include/semaphore.h with linuxthreads).
   * sysdeps/sparc.mk: install 64-bit headers (actually gnu/stubs-64.h)
@@ -78,9 +81,9 @@
   * Add partial support for armel, from http://armel-debs.applieddata.net/diffs/.
   * debian/debhelper.in/: delete /usr/doc removal from postinst scripts.
   * debian/control.in: drop the dependency on tzdata. It is a required package
-    and the glibc from Etch depends on it, ensuring tzdata is always present 
+    and the glibc from Etch depends on it, ensuring tzdata is always present
     post-Etch.
-  * debian/script.in/kernelcheck.sh, debian/sysdeps/linux.mk: set the minimum 
+  * debian/script.in/kernelcheck.sh, debian/sysdeps/linux.mk: set the minimum
     kernel version to 2.6.1, except on m68k where it is set to 2.4.1.
   * patches/any/cvs-2.5-branch-update.diff: new patch (2.5 branch update) from
     upstream CVS.
@@ -104,7 +107,7 @@
   * Update localedata/fix-lang.diff
   * Update localedata/first_weekday.diff
 
- -- Aurelien Jarno <aurel32@debian.org>  Fri,  2 Feb 2007 22:17:45 +0100
+ -- Aurelien Jarno <aurel32@debian.org>  Mon,  5 Feb 2007 06:11:54 +0100
 
 glibc (2.4-1) UNRELEASED; urgency=low
 

Added: glibc-package/branches/glibc-2.5/debian/patches/hppa/cvs-hppa-update.diff
===================================================================
--- glibc-package/branches/glibc-2.5/debian/patches/hppa/cvs-hppa-update.diff	2007-02-05 04:42:57 UTC (rev 1934)
+++ glibc-package/branches/glibc-2.5/debian/patches/hppa/cvs-hppa-update.diff	2007-02-05 05:23:58 UTC (rev 1935)
@@ -0,0 +1,1647 @@
+diff -xCVS -Nurd ports/ChangeLog.hppa ports/ChangeLog.hppa
+--- ports/ChangeLog.hppa	2006-10-01 19:06:06.000000000 +0200
++++ ports/ChangeLog.hppa	2007-01-08 03:13:14.000000000 +0100
+@@ -1,3 +1,27 @@
++2006-12-03  Carlos O'Donell  <carlos@systemhalted.org>
++
++	* sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Remove non-atomic
++	versions. Adjust jump target to '0b'.
++
++2006-12-03  Carlos O'Donell  <carlos@systemhalted.org>
++
++	* sysdeps/hppa/Makefile: Set long-double-fcts to `no'.
++	* sysdeps/hppa/fpu/libm-test-ulps: Regenerate.
++	* sysdeps/hppa/fpu/bits/mathdef.h: New file.
++
++2006-11-10  Carlos O'Donell  <carlos@systemhalted.org>
++
++	* sysdeps/hppa/nptl/pthread_spin_init.c: New file.
++	* sysdeps/hppa/nptl/pthread_spin_unlock.c: Remove strong alias
++	to pthread_spin_init.
++	* sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Define
++	RTLD_SINGLE_THREAD_P.
++
++2006-09-20  Carlos O'Donell  <carlos@systemhalted.org>
++
++	* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (splice): Add offin
++	and offout arguments to the prototype. 
++
+ 2006-09-15  Carlos O'Donell  <carlos@systemhalted.org>
+ 
+ 	* sysdeps/hppa/nptl/tcb-offsets.sym: Define TID_THREAD_OFFSET.
+diff -xCVS -Nurd ports/sysdeps/hppa/fpu/bits/mathdef.h ports/sysdeps/hppa/fpu/bits/mathdef.h
+--- ports/sysdeps/hppa/fpu/bits/mathdef.h	1970-01-01 01:00:00.000000000 +0100
++++ ports/sysdeps/hppa/fpu/bits/mathdef.h	2006-12-04 00:03:19.000000000 +0100
+@@ -0,0 +1,40 @@
++/* Copyright (C) 2006 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
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#if !defined _MATH_H && !defined _COMPLEX_H
++# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
++#endif
++
++#if defined  __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
++# define _MATH_H_MATHDEF	1
++
++/* GCC does not promote `float' values to `double'.  */
++typedef float float_t;		/* `float' expressions are evaluated as
++				   `float'.  */
++typedef double double_t;	/* `double' expressions are evaluated as
++				   `double'.  */
++
++/* The values returned by `ilogb' for 0 and NaN respectively.  */
++# define FP_ILOGB0	(-2147483647)
++# define FP_ILOGBNAN	(2147483647)
++
++#endif	/* ISO C99 */
++
++/* On hppa `long double' is 64-bits. */
++#undef __NO_LONG_DOUBLE_MATH
++
+diff -xCVS -Nurd ports/sysdeps/hppa/fpu/libm-test-ulps ports/sysdeps/hppa/fpu/libm-test-ulps
+--- ports/sysdeps/hppa/fpu/libm-test-ulps	2006-04-21 02:27:20.000000000 +0200
++++ ports/sysdeps/hppa/fpu/libm-test-ulps	2007-01-08 03:13:14.000000000 +0100
+@@ -1,15 +1,12 @@
+ # Begin of automatic generation
+ 
+ # atan2
+-Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == -1.80338464113663849327153994380":
+-float: 6
+-ifloat: 6
+ Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
+-float: 3
+-ifloat: 3
++float: 1
++ifloat: 1
+ Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
+-float: 3
+-ifloat: 3
++float: 1
++ifloat: 1
+ Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
+ float: 1
+ ifloat: 1
+@@ -20,16 +17,9 @@
+ ifloat: 1
+ 
+ # cacosh
+-Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
+-double: 1
+-float: 7
+-idouble: 1
+-ifloat: 7
+ Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
+-double: 1
+-float: 3
+-idouble: 1
+-ifloat: 3
++float: 1
++ifloat: 1
+ 
+ # casin
+ Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
+@@ -37,6 +27,8 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ # casinh
+ Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
+@@ -44,11 +36,15 @@
+ float: 1
+ idouble: 5
+ ifloat: 1
++ildouble: 5
++ldouble: 5
+ Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
+ double: 3
+ float: 6
+ idouble: 3
+ ifloat: 6
++ildouble: 3
++ldouble: 3
+ Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
+ float: 1
+ ifloat: 1
+@@ -57,44 +53,46 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ # catan
+-Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
+-float: 3
+-ifloat: 3
+ Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
+-Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
+-float: 4
+-ifloat: 4
++ildouble: 1
++ldouble: 1
+ 
+ # catanh
+ Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
+ double: 4
+ idouble: 4
+-Test "Imaginary part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
+-float: 4
+-ifloat: 4
++ildouble: 4
++ldouble: 4
+ Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
+ double: 1
+ idouble: 1
+-Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
+-float: 6
+-ifloat: 6
++ildouble: 1
++ldouble: 1
+ 
+ # cbrt
+ Test "cbrt (-27.0) == -3.0":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "cbrt (0.75) == 0.908560296416069829445605878163630251":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "cbrt (0.9921875) == 0.997389022060725270579075195353955217":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ # ccos
+ Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
+@@ -105,6 +103,8 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "Imaginary part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
+ float: 1
+ ifloat: 1
+@@ -121,10 +121,32 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
+ float: 1
+ ifloat: 1
+ 
++# ceil
++Test "ceil (-4503599627370496.75) == -4503599627370496.0":
++ildouble: 1
++ldouble: 1
++Test "ceil (-4503599627370497.5) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "ceil (-9007199254740991.5) == -9007199254740991.0":
++ildouble: 1
++ldouble: 1
++Test "ceil (-9007199254740993.5) == -9007199254740993.0":
++ildouble: 1
++ldouble: 1
++Test "ceil (4503599627370496.25) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "ceil (4503599627370496.5) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
++
+ # cexp
+ Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
+ float: 1
+@@ -134,9 +156,6 @@
+ ifloat: 1
+ 
+ # clog
+-Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680267437207826593 - 2.1587989303424641704769327722648368 i":
+-float: 3
+-ifloat: 3
+ Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
+ float: 1
+ ifloat: 1
+@@ -150,9 +169,9 @@
+ ifloat: 1
+ Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
+ double: 1
+-float: 5
+ idouble: 1
+-ifloat: 5
++ildouble: 1
++ldouble: 1
+ Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
+ float: 1
+ ifloat: 1
+@@ -196,19 +215,16 @@
+ # cos
+ Test "cos (M_PI_6l * 2.0) == 0.5":
+ double: 1
+-float: 1
+ idouble: 1
+-ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "cos (M_PI_6l * 4.0) == -0.5":
+ double: 2
+ float: 1
+ idouble: 2
+ ifloat: 1
+-Test "cos (pi/2) == 0":
+-double: 1
+-float: 1
+-idouble: 1
+-ifloat: 1
++ildouble: 2
++ldouble: 2
+ 
+ # cpow
+ Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
+@@ -222,16 +238,22 @@
+ float: 4
+ idouble: 1
+ ifloat: 4
++ildouble: 1
++ldouble: 1
+ Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
+ double: 2
+ float: 3
+ idouble: 2
+ ifloat: 3
++ildouble: 2
++ldouble: 2
+ Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
+ double: 1
+ float: 4
+ idouble: 1
+ ifloat: 4
++ildouble: 1
++ldouble: 1
+ Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
+ float: 2
+ ifloat: 2
+@@ -240,11 +262,15 @@
+ float: 2
+ idouble: 2
+ ifloat: 2
++ildouble: 2
++ldouble: 2
+ 
+ # csinh
+ Test "Imaginary part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
+ float: 1
+ ifloat: 1
+@@ -264,6 +290,8 @@
+ Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ # ctanh
+ Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
+@@ -271,25 +299,35 @@
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
+ float: 1
+ ifloat: 1
+ Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ # erf
+ Test "erf (1.25) == 0.922900128256458230136523481197281140":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ # erfc
+ Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ # exp10
+ Test "exp10 (-1) == 0.1":
+@@ -297,25 +335,53 @@
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "exp10 (3) == 1000":
+ double: 6
+ float: 2
+ idouble: 6
+ ifloat: 2
++ildouble: 6
++ldouble: 6
+ 
+ # expm1
+ Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "expm1 (1) == M_El - 1.0":
+ float: 1
+ ifloat: 1
+ 
++# floor
++Test "floor (-4503599627370496.25) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "floor (-4503599627370496.5) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "floor (4503599627370496.75) == 4503599627370496.0":
++ildouble: 1
++ldouble: 1
++Test "floor (4503599627370497.5) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "floor (9007199254740991.5) == 9007199254740991.0":
++ildouble: 1
++ldouble: 1
++Test "floor (9007199254740993.5) == 9007199254740993.0":
++ildouble: 1
++ldouble: 1
++
+ # hypot
+ Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
+ float: 1
+@@ -348,6 +414,8 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "j0 (0.75) == 0.864242275166648623555731103820923211":
+ float: 1
+ ifloat: 1
+@@ -356,6 +424,8 @@
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ Test "j0 (2.0) == 0.223890779141235668051827454649948626":
+ float: 2
+ ifloat: 2
+@@ -364,6 +434,8 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "j0 (8.0) == 0.171650807137553906090869407851972001":
+ float: 1
+ ifloat: 1
+@@ -375,9 +447,13 @@
+ Test "j1 (2.0) == 0.576724807756873387202448242269137087":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "j1 (8.0) == 0.234636346853914624381276651590454612":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ # jn
+ Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
+@@ -385,6 +461,8 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
+ float: 1
+ ifloat: 1
+@@ -393,6 +471,8 @@
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
+ float: 2
+ ifloat: 2
+@@ -401,6 +481,8 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
+ float: 1
+ ifloat: 1
+@@ -410,24 +492,34 @@
+ Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
+ double: 4
+ float: 3
+ idouble: 4
+ ifloat: 3
++ildouble: 4
++ldouble: 4
+ Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
+ float: 4
+ ifloat: 4
+@@ -436,21 +528,29 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
+ double: 3
+ float: 1
+ idouble: 3
+ ifloat: 1
++ildouble: 3
++ldouble: 3
+ Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
+ double: 1
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ 
+ # lgamma
+ Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
+@@ -458,11 +558,291 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
+ double: 1
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
++
++# llrint
++Test "llrint (-72057594037927936.75) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llrint (-72057594037927937.5) == -72057594037927938LL":
++ildouble: 2
++ldouble: 2
++Test "llrint (-9007199254740992.75) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint (72057594037927936.75) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llrint (72057594037927937.5) == 72057594037927938LL":
++ildouble: -2
++ldouble: -2
++Test "llrint (9007199254740992.75) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++
++# llrint_downward
++Test "llrint_downward (-4503599627370496.25) == -4503599627370497LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-4503599627370496.4999999999999) == -4503599627370497LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-4503599627370496.5) == -4503599627370497LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-4503599627370497.4999999999999) == -4503599627370498LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-72057594037927936.25) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-72057594037927936.5) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-72057594037927936.75) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-72057594037927937.5) == -72057594037927938LL":
++ildouble: 2
++ldouble: 2
++Test "llrint_downward (-9007199254740991.4999999999999) == -9007199254740992LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-9007199254740992.25) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-9007199254740992.4999999999999) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-9007199254740992.5) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-9007199254740992.5000000000001) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (-9007199254740992.75) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (4503599627370496.5000000000001) == 4503599627370496LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (4503599627370496.75) == 4503599627370496LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (4503599627370497.5) == 4503599627370497LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (72057594037927935.5) == 72057594037927935LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (72057594037927937.5) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_downward (9007199254740991.5) == 9007199254740991LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (9007199254740991.5000000000001) == 9007199254740991LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (9007199254740993.4999999999999) == 9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (9007199254740993.5) == 9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_downward (9007199254740993.5000000000001) == 9007199254740993LL":
++ildouble: 1
++ldouble: 1
++
++# llrint_tonearest
++Test "llrint_tonearest (-72057594037927936.75) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_tonearest (-72057594037927937.5) == -72057594037927938LL":
++ildouble: 2
++ldouble: 2
++Test "llrint_tonearest (-9007199254740992.75) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_tonearest (72057594037927936.75) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_tonearest (72057594037927937.5) == 72057594037927938LL":
++ildouble: -2
++ldouble: -2
++Test "llrint_tonearest (9007199254740992.75) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++
++# llrint_towardzero
++Test "llrint_towardzero (-4503599627370496.75) == -4503599627370496LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_towardzero (-4503599627370497.5) == -4503599627370497LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_towardzero (-72057594037927935.5) == -72057594037927935LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_towardzero (-72057594037927937.5) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_towardzero (-9007199254740991.5) == -9007199254740991LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_towardzero (-9007199254740993.5) == -9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_towardzero (4503599627370496.75) == 4503599627370496LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_towardzero (4503599627370497.5) == 4503599627370497LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_towardzero (72057594037927935.5) == 72057594037927935LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_towardzero (72057594037927937.5) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_towardzero (9007199254740991.5) == 9007199254740991LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_towardzero (9007199254740993.5) == 9007199254740993LL":
++ildouble: 1
++ldouble: 1
++
++# llrint_upward
++Test "llrint_upward (-4503599627370496.5000000000001) == -4503599627370496LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (-4503599627370496.75) == -4503599627370496LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (-4503599627370497.5) == -4503599627370497LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (-72057594037927935.5) == -72057594037927935LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (-72057594037927937.5) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llrint_upward (-9007199254740991.5) == -9007199254740991LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (-9007199254740991.5000000000001) == -9007199254740991LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (-9007199254740993.4999999999999) == -9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (-9007199254740993.5) == -9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (-9007199254740993.5000000000001) == -9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (4503599627370496.25) == 4503599627370497LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (4503599627370496.4999999999999) == 4503599627370497LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (4503599627370496.5) == 4503599627370497LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (4503599627370497.4999999999999) == 4503599627370498LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (72057594037927936.25) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (72057594037927936.5) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (72057594037927936.75) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (72057594037927937.5) == 72057594037927938LL":
++ildouble: -2
++ldouble: -2
++Test "llrint_upward (9007199254740991.4999999999999) == 9007199254740992LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (9007199254740992.25) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (9007199254740992.4999999999999) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (9007199254740992.5) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (9007199254740992.5000000000001) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llrint_upward (9007199254740992.75) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++
++# llround
++Test "llround (-4503599627370496.5) == -4503599627370497LL":
++ildouble: 1
++ldouble: 1
++Test "llround (-72057594037927936.5) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llround (-72057594037927936.75) == -72057594037927937LL":
++ildouble: 1
++ldouble: 1
++Test "llround (-72057594037927937.5) == -72057594037927938LL":
++ildouble: 2
++ldouble: 2
++Test "llround (-9007199254740992.5) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llround (-9007199254740992.75) == -9007199254740993LL":
++ildouble: 1
++ldouble: 1
++Test "llround (-9223372036854775806.25) == -9223372036854775806LL":
++ildouble: -2
++ldouble: -2
++Test "llround (-9223372036854775806.5) == -9223372036854775807LL":
++ildouble: -1
++ldouble: -1
++Test "llround (-9223372036854775807.0) == -9223372036854775807LL":
++ildouble: -1
++ldouble: -1
++Test "llround (4503599627370496.5) == 4503599627370497LL":
++ildouble: -1
++ldouble: -1
++Test "llround (72057594037927936.5) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llround (72057594037927936.75) == 72057594037927937LL":
++ildouble: -1
++ldouble: -1
++Test "llround (72057594037927937.5) == 72057594037927938LL":
++ildouble: -2
++ldouble: -2
++Test "llround (9007199254740992.5) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llround (9007199254740992.75) == 9007199254740993LL":
++ildouble: -1
++ldouble: -1
++Test "llround (9223372036854775806.25) == 9223372036854775806LL":
++ildouble: 1
++ldouble: 1
+ 
+ # log10
+ Test "log10 (0.75) == -0.124938736608299953132449886193870744":
+@@ -470,6 +850,8 @@
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ Test "log10 (e) == log10(e)":
+ float: 1
+ ifloat: 1
+@@ -479,42 +861,81 @@
+ float: 1
+ ifloat: 1
+ 
+-# lround
+-Test "lround (1071930.0008) == 1071930":
+-double: -214511494
+-idouble: -214511494
++# rint_downward
++Test "rint_downward (-4503599627370496.25) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "rint_downward (-4503599627370496.5) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "rint_downward (4503599627370496.75) == 4503599627370496.0":
++ildouble: 1
++ldouble: 1
++Test "rint_downward (4503599627370497.5) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
++
++# rint_towardzero
++Test "rint_towardzero (-4503599627370496.75) == -4503599627370496.0":
++ildouble: 1
++ldouble: 1
++Test "rint_towardzero (-4503599627370497.5) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "rint_towardzero (4503599627370496.75) == 4503599627370496.0":
++ildouble: 1
++ldouble: 1
++Test "rint_towardzero (4503599627370497.5) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
++
++# rint_upward
++Test "rint_upward (-4503599627370496.75) == -4503599627370496.0":
++ildouble: 1
++ldouble: 1
++Test "rint_upward (-4503599627370497.5) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "rint_upward (4503599627370496.25) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "rint_upward (4503599627370496.5) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
++
++# round
++Test "round (-4503599627370496.5) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "round (4503599627370496.5) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
+ 
+ # sincos
+ Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
+ double: 1
+-float: 1
+ idouble: 1
+-ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
+-Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
+-double: 1
+-float: 1
+-idouble: 1
+-ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
+ float: 1
+ ifloat: 1
+ 
+-# tan
+-Test "tan (pi/4) == 1":
+-double: 1
+-idouble: 1
+-
+ # tgamma
+ Test "tgamma (-0.5) == -2 sqrt (pi)":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "tgamma (0.5) == sqrt (pi)":
+ float: 1
+ ifloat: 1
+@@ -523,6 +944,34 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
++
++# trunc
++Test "trunc (-4503599627370496.75) == -4503599627370496.0":
++ildouble: 1
++ldouble: 1
++Test "trunc (-4503599627370497.5) == -4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "trunc (-9007199254740991.5) == -9007199254740991.0":
++ildouble: 1
++ldouble: 1
++Test "trunc (-9007199254740993.5) == -9007199254740993.0":
++ildouble: 1
++ldouble: 1
++Test "trunc (4503599627370496.75) == 4503599627370496.0":
++ildouble: 1
++ldouble: 1
++Test "trunc (4503599627370497.5) == 4503599627370497.0":
++ildouble: 1
++ldouble: 1
++Test "trunc (9007199254740991.5) == 9007199254740991.0":
++ildouble: 1
++ldouble: 1
++Test "trunc (9007199254740993.5) == 9007199254740993.0":
++ildouble: 1
++ldouble: 1
+ 
+ # y0
+ Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
+@@ -530,11 +979,15 @@
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ Test "y0 (1.5) == 0.382448923797758843955068554978089862":
+ double: 2
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
+ float: 1
+ ifloat: 1
+@@ -543,11 +996,15 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ # y1
+ Test "y1 (0.125) == -5.19993611253477499595928744876579921":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "y1 (1.5) == -0.412308626973911295952829820633445323":
+ float: 1
+ ifloat: 1
+@@ -556,16 +1013,22 @@
+ float: 1
+ idouble: 3
+ ifloat: 1
++ildouble: 3
++ldouble: 3
+ Test "y1 (2.0) == -0.107032431540937546888370772277476637":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "y1 (8.0) == -0.158060461731247494255555266187483550":
+ double: 1
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ 
+ # yn
+ Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
+@@ -573,11 +1036,15 @@
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
+ double: 2
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
+ float: 1
+ ifloat: 1
+@@ -586,9 +1053,13 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
+ float: 1
+ ifloat: 1
+@@ -597,118 +1068,140 @@
+ float: 1
+ idouble: 3
+ ifloat: 1
++ildouble: 3
++ldouble: 3
+ Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
+ double: 1
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
+ double: 2
+ idouble: 2
++ildouble: 2
++ldouble: 2
+ Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ # Maximal error of functions:
+ Function: "atan2":
+-float: 6
+-ifloat: 6
++float: 1
++ifloat: 1
+ 
+ Function: "atanh":
+ float: 1
+ ifloat: 1
+ 
+-Function: Real part of "cacosh":
+-double: 1
+-float: 7
+-idouble: 1
+-ifloat: 7
+-
+ Function: Imaginary part of "cacosh":
+-double: 1
+-float: 3
+-idouble: 1
+-ifloat: 3
++float: 1
++ifloat: 1
+ 
+ Function: Real part of "casin":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: Real part of "casinh":
+ double: 5
+ float: 1
+ idouble: 5
+ ifloat: 1
++ildouble: 5
++ldouble: 5
+ 
+ Function: Imaginary part of "casinh":
+ double: 3
+ float: 6
+ idouble: 3
+ ifloat: 6
+-
+-Function: Real part of "catan":
+-float: 4
+-ifloat: 4
++ildouble: 3
++ldouble: 3
+ 
+ Function: Imaginary part of "catan":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: Real part of "catanh":
+ double: 4
+ idouble: 4
+-
+-Function: Imaginary part of "catanh":
+-float: 6
+-ifloat: 6
++ildouble: 4
++ldouble: 4
+ 
+ Function: "cbrt":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: Real part of "ccos":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: Imaginary part of "ccos":
+ float: 1
+@@ -719,11 +1212,17 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: Imaginary part of "ccosh":
+ float: 1
+ ifloat: 1
+ 
++Function: "ceil":
++ildouble: 1
++ldouble: 1
++
+ Function: Real part of "cexp":
+ float: 1
+ ifloat: 1
+@@ -736,37 +1235,41 @@
+ float: 1
+ ifloat: 1
+ 
+-Function: Imaginary part of "clog":
+-float: 3
+-ifloat: 3
+-
+ Function: Real part of "clog10":
+ float: 1
+ ifloat: 1
+ 
+ Function: Imaginary part of "clog10":
+ double: 1
+-float: 5
++float: 1
+ idouble: 1
+-ifloat: 5
++ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: "cos":
+ double: 2
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ 
+ Function: Real part of "cpow":
+ double: 2
+ float: 4
+ idouble: 2
+ ifloat: 4
++ildouble: 2
++ldouble: 2
+ 
+ Function: Imaginary part of "cpow":
+ double: 2
+ float: 2
+ idouble: 2
+ ifloat: 2
++ildouble: 2
++ldouble: 2
+ 
+ Function: Real part of "csinh":
+ float: 1
+@@ -777,6 +1280,8 @@
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: Real part of "csqrt":
+ float: 1
+@@ -785,12 +1290,16 @@
+ Function: Imaginary part of "ctan":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: Real part of "ctanh":
+ double: 1
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ 
+ Function: Imaginary part of "ctanh":
+ float: 1
+@@ -799,22 +1308,34 @@
+ Function: "erf":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: "erfc":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: "exp10":
+ double: 6
+ float: 2
+ idouble: 6
+ ifloat: 2
++ildouble: 6
++ldouble: 6
+ 
+ Function: "expm1":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
++
++Function: "floor":
++ildouble: 1
++ldouble: 1
+ 
+ Function: "hypot":
+ float: 1
+@@ -825,67 +1346,109 @@
+ float: 2
+ idouble: 2
+ ifloat: 2
++ildouble: 2
++ldouble: 2
+ 
+ Function: "j1":
+ double: 1
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ 
+ Function: "jn":
+ double: 4
+ float: 4
+ idouble: 4
+ ifloat: 4
++ildouble: 4
++ldouble: 4
+ 
+ Function: "lgamma":
+ double: 1
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ 
+ Function: "log10":
+ double: 1
+ float: 2
+ idouble: 1
+ ifloat: 2
++ildouble: 1
++ldouble: 1
+ 
+ Function: "log1p":
+ float: 1
+ ifloat: 1
+ 
++Function: "rint_downward":
++ildouble: 1
++ldouble: 1
++
++Function: "rint_towardzero":
++ildouble: 1
++ldouble: 1
++
++Function: "rint_upward":
++ildouble: 1
++ldouble: 1
++
++Function: "round":
++ildouble: 1
++ldouble: 1
++
+ Function: "sincos":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: "tan":
+ double: 1
+ idouble: 1
++ildouble: 1
++ldouble: 1
+ 
+ Function: "tgamma":
+ double: 1
+ float: 1
+ idouble: 1
+ ifloat: 1
++ildouble: 1
++ldouble: 1
++
++Function: "trunc":
++ildouble: 1
++ldouble: 1
+ 
+ Function: "y0":
+ double: 2
+ float: 1
+ idouble: 2
+ ifloat: 1
++ildouble: 2
++ldouble: 2
+ 
+ Function: "y1":
+ double: 3
+ float: 2
+ idouble: 3
+ ifloat: 2
++ildouble: 3
++ldouble: 3
+ 
+ Function: "yn":
+ double: 3
+ float: 2
+ idouble: 3
+ ifloat: 2
++ildouble: 3
++ldouble: 3
+ 
+ # end of automatic generation
+diff -xCVS -Nurd ports/sysdeps/hppa/Makefile ports/sysdeps/hppa/Makefile
+--- ports/sysdeps/hppa/Makefile	2007-02-02 20:53:52.000000000 +0100
++++ ports/sysdeps/hppa/Makefile	2007-01-08 03:13:14.000000000 +0100
+@@ -40,3 +39,8 @@
+ shared-only-routines += libgcc-compat
+ endif
+ endif
++
++# We implement a 64-bit `long double'. The standard says we can do this.
++# This means our `long double' and `double' are identical.
++long-double-fcts = no 
++
+diff -xCVS -Nurd ports/sysdeps/hppa/nptl/pthread_spin_init.c ports/sysdeps/hppa/nptl/pthread_spin_init.c
+--- ports/sysdeps/hppa/nptl/pthread_spin_init.c	1970-01-01 01:00:00.000000000 +0100
++++ ports/sysdeps/hppa/nptl/pthread_spin_init.c	2006-11-11 15:33:27.000000000 +0100
+@@ -0,0 +1,29 @@
++/* Copyright (C) 2006 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
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include "pthreadP.h"
++
++int
++pthread_spin_init (pthread_spinlock_t *lock, int pshared)
++{
++  int tmp = 0;
++  /* This should be a memory barrier to newer compilers */
++  __asm__ __volatile__ ("stw,ma %1,0(%0)"
++                        : : "r" (lock), "r" (tmp) : "memory");           
++  return 0;
++}
+diff -xCVS -Nurd ports/sysdeps/hppa/nptl/pthread_spin_unlock.c ports/sysdeps/hppa/nptl/pthread_spin_unlock.c
+--- ports/sysdeps/hppa/nptl/pthread_spin_unlock.c	2006-07-14 15:51:24.000000000 +0200
++++ ports/sysdeps/hppa/nptl/pthread_spin_unlock.c	2007-01-08 03:13:14.000000000 +0100
+@@ -16,21 +16,14 @@
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+ 
+-/* Ugly hack to avoid the declaration of pthread_spin_init.  */
+-#define pthread_spin_init pthread_spin_init_XXX
+ #include "pthreadP.h"
+-#undef pthread_spin_init
+ 
+ int
+ pthread_spin_unlock (pthread_spinlock_t *lock)
+ {
+-#if 0
+-  volatile unsigned int *a = __ldcw_align (lock);
+-#endif
+   int tmp = 0;
+   /* This should be a memory barrier to newer compilers */
+   __asm__ __volatile__ ("stw,ma %1,0(%0)"
+                         : : "r" (lock), "r" (tmp) : "memory");           
+   return 0;
+ }
+-strong_alias (pthread_spin_unlock, pthread_spin_init)
+diff -xCVS -Nurd ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
+--- ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h	2006-10-01 19:06:06.000000000 +0200
++++ ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h	2007-01-08 03:13:17.000000000 +0100
+@@ -22,14 +22,10 @@
+ #include <abort-instr.h>
+ #include <kernel-features.h>
+ 
+-/* We need EFAULT, ENONSYS, and EAGAIN */
+-#if !defined EFAULT && !defined ENOSYS && !defined EAGAIN
+-#undef EFAULT
+-#undef ENOSYS
+-#undef EAGAIN
++/* We need EFAULT, ENONSYS */
++#if !defined EFAULT && !defined ENOSYS
+ #define EFAULT	14
+ #define ENOSYS	251
+-#define EAGAIN	11
+ #endif
+ 
+ #ifndef _BITS_ATOMIC_H
+@@ -57,10 +53,10 @@
+ 
+ /* Use the kernel atomic light weight syscalls on hppa */ 
+ #define LWS "0xb0"
+-#define LWS_CAS 0x0
++#define LWS_CAS "0"
+ /* Note r31 is the link register */
+ #define LWS_CLOBBER "r1", "r26", "r25", "r24", "r23", "r22", "r21", "r20", "r28", "r31", "memory"
+-#define ASM_EAGAIN -EAGAIN
++#define ASM_EAGAIN "11" 
+ 
+ #if __ASSUME_LWS_CAS
+ /* The only basic operation needed is compare and exchange.  */
+@@ -74,8 +70,8 @@
+ 	"copy	%4, %%r25			\n\t"			\
+ 	"copy	%5, %%r24			\n\t"			\
+ 	"ble	" LWS "(%%sr2, %%r0)		\n\t"			\
+-	"ldi	0, %%r20			\n\t"			\
+-	"cmpib,=,n " ASM_EAGAIN ",%%r21,0	\n\t"			\
++	"ldi	" LWS_CAS ", %%r20		\n\t"			\
++	"cmpib,=,n " ASM_EAGAIN ",%%r21,0b	\n\t"			\
+ 	"nop					\n\t"			\
+ 	"stw	%%r28, %0			\n\t"			\
+         "sub	%%r0, %%r21, %%r21		\n\t"			\
+@@ -99,22 +95,9 @@
+      (ret != oldval);							\
+    })
+ #else
+-/* Non-atomic primitives. */
+-# define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
+-  ({ __typeof (mem) __gmemp = (mem);				      \
+-     __typeof (*mem) __gret = *__gmemp;				      \
+-     __typeof (*mem) __gnewval = (newval);			      \
+-								      \
+-     if (__gret == (oldval))					      \
+-       *__gmemp = __gnewval;					      \
+-     __gret; })
++# error __ASSUME_LWS_CAS is required to build glibc.
++#endif	
++/* __ASSUME_LWS_CAS */
+ 
+-# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
+-  ({ __typeof (mem) __gmemp = (mem);				      \
+-     __typeof (*mem) __gnewval = (newval);			      \
+-								      \
+-     *__gmemp == (oldval) ? (*__gmemp = __gnewval, 0) : 1; })
+ #endif
+-
+-#endif	/* bits/atomic.h */
+-
++/* _BITS_ATOMIC_H */
+diff -xCVS -Nurd ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
+--- ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h	2006-06-09 02:48:17.000000000 +0200
++++ ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h	2007-01-08 03:13:17.000000000 +0100
+@@ -210,7 +210,8 @@
+ 		     unsigned int __flags);
+ 
+ /* Splice two files together.  */
+-extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags)
++extern int splice (int __fdin, __off64_t *offin, int __fdout, 
++		   __off64_t *__offout, size_t __len, unsigned int __flags)
+     __THROW;
+ 
+ /* In-kernel implementation of tee for pipe buffers.  */
+diff -xCVS -Nurd ports/sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h ports/sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h
+--- ports/sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h	2006-10-01 19:06:06.000000000 +0200
++++ ports/sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h	2007-01-08 03:13:17.000000000 +0100
+@@ -212,4 +212,11 @@
+ # define NO_CANCELLATION 1
+ 
+ #endif
+-/* !defined NOT_IN_libc || defined IS_IN_libpthread */
++/* !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt */
++
++#ifndef __ASSEMBLER__
++# define RTLD_SINGLE_THREAD_P \
++  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
++				   header.multiple_threads) == 0, 1)
++#endif
++

Modified: glibc-package/branches/glibc-2.5/debian/patches/hppa/submitted-lt.diff
===================================================================
--- glibc-package/branches/glibc-2.5/debian/patches/hppa/submitted-lt.diff	2007-02-05 04:42:57 UTC (rev 1934)
+++ glibc-package/branches/glibc-2.5/debian/patches/hppa/submitted-lt.diff	2007-02-05 05:23:58 UTC (rev 1935)
@@ -44,7 +44,7 @@
  #include <pt-machine.h>
 --- libc-orig/linuxthreads/pthread.c	2005-01-28 14:39:43.000000000 -0500
 +++ libc/linuxthreads/pthread.c	2005-01-28 14:15:29.000000000 -0500
-@@ -301,7 +301,7 @@
+@@ -309,7 +309,7 @@
    pthread_descr self;
  
    /* First of all init __pthread_handles[0] and [1] if needed.  */
@@ -53,7 +53,7 @@
    __pthread_handles[0].h_lock = __LOCK_INITIALIZER;
    __pthread_handles[1].h_lock = __LOCK_INITIALIZER;
  # endif
-@@ -371,7 +371,7 @@
+@@ -379,7 +379,7 @@
  # endif
    /* self->p_start_args need not be initialized, it's all zero.  */
    self->p_userstack = 1;
@@ -62,7 +62,7 @@
    self->p_resume_count = (struct pthread_atomic) __ATOMIC_INITIALIZER;
  # endif
    self->p_alloca_cutoff = __MAX_ALLOCA_CUTOFF;
-@@ -385,7 +385,7 @@
+@@ -393,7 +393,7 @@
  #else  /* USE_TLS */
  
    /* First of all init __pthread_handles[0] and [1].  */
@@ -71,15 +71,17 @@
    __pthread_handles[0].h_lock = __LOCK_INITIALIZER;
    __pthread_handles[1].h_lock = __LOCK_INITIALIZER;
  # endif
-@@ -688,7 +688,7 @@
+@@ -696,8 +696,8 @@
  # endif
    mgr->p_start_args = (struct pthread_start_args) PTHREAD_START_ARGS_INITIALIZER(__pthread_manager);
    mgr->p_nr = 1;
 -# if __LT_SPINLOCK_INIT != 0
+-  self->p_resume_count = (struct pthread_atomic) __ATOMIC_INITIALIZER;
 +# ifdef __LT_INITIALIZER_NOT_ZERO
-   self->p_resume_count = (struct pthread_atomic) __ATOMIC_INITIALIZER;
++  mgr->p_resume_count = (struct pthread_atomic) __ATOMIC_INITIALIZER;
  # endif
    mgr->p_alloca_cutoff = PTHREAD_STACK_MIN / 4;
+ #else
 --- libc-orig/linuxthreads/spinlock.c	2004-01-30 14:13:45.000000000 -0500
 +++ libc/linuxthreads/spinlock.c	2004-01-30 10:47:31.000000000 -0500
 @@ -24,9 +24,9 @@

Modified: glibc-package/branches/glibc-2.5/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-2.5/debian/patches/series	2007-02-05 04:42:57 UTC (rev 1934)
+++ glibc-package/branches/glibc-2.5/debian/patches/series	2007-02-05 05:23:58 UTC (rev 1935)
@@ -49,6 +49,7 @@
 arm/local-ioperm.diff -p0
 arm/local-no-hwcap.diff -p0
 
+hppa/cvs-hppa-update.diff -p0
 hppa/local-Rminkernel.diff -p0
 hppa/submitted-cfi-procend.diff -p1
 hppa/submitted-lt.diff -p1

Modified: glibc-package/branches/glibc-2.5/debian/script.in/kernelcheck.sh
===================================================================
--- glibc-package/branches/glibc-2.5/debian/script.in/kernelcheck.sh	2007-02-05 04:42:57 UTC (rev 1934)
+++ glibc-package/branches/glibc-2.5/debian/script.in/kernelcheck.sh	2007-02-05 05:23:58 UTC (rev 1935)
@@ -57,13 +57,26 @@
     then
 	if kernel_compare_versions "$kernel_ver" lt 2.6.1
 	then
-	    echo WARNING: POSIX threads library NPTL requires 2.6 and
+	    echo WARNING: POSIX threads library NPTL requires 2.6.1 and
 	    echo later kernel.  If you use 2.4 kernel, please upgrade your
 	    echo kernel before installing glibc.
 	    exit_check
 	fi
     fi
-    
+
+    # HPPA boxes require latest fixes in the kernel to function properly.
+    if [ "$realarch" = parisc ]
+    then
+	if kernel_compare_versions "$kernel_ver" lt 2.6.9
+	then
+	    echo WARNING: This version of glibc requires that you be running
+	    echo kernel version 2.6.9 or later.  Earlier kernels contained
+	    echo bugs that may render the system unusable if a modern version
+	    echo of glibc is installed.
+	    exit_check
+	fi	
+    fi
+
     # The GNU libc is now built with --with-kernel= >= 2.4.1 on m68k
     if [ "$realarch" = m68k ]
     then

Modified: glibc-package/branches/glibc-2.5/debian/sysdeps/hppa.mk
===================================================================
--- glibc-package/branches/glibc-2.5/debian/sysdeps/hppa.mk	2007-02-05 04:42:57 UTC (rev 1934)
+++ glibc-package/branches/glibc-2.5/debian/sysdeps/hppa.mk	2007-02-05 05:23:58 UTC (rev 1935)
@@ -9,6 +9,9 @@
 CC = gcc-4.2
 BUILD_CC = gcc-4.2
 
+# We need LWS CAS support
+libc_MIN_KERNEL_SUPPORTED = 2.6.9
+
 # hppa64 needs symlink /usr/hppa64-linux/include to /usr/include
 # (See: Bug#239020)  In future we may drop this file with supporting hppa64.
 



Reply to: