This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Community source repository for glibc add-on ports branch, master, updated. glibc-2.15-84-ga9e6c76


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Community source repository for glibc add-on ports".

The branch, master has been updated
       via  a9e6c76aae154b7b4a7ba7de5cf3c9b701f27e14 (commit)
       via  ccc074aa35479e5b348bb85f72f6ac3b59ff8bb8 (commit)
       via  258ca456fd46e19279a08a948fca1f0a8b84553d (commit)
       via  27c1f49d4b983cf2274161872d36d30a543392ef (commit)
      from  429ee403b87a92e05bef7a5ab2124d4de8d3cfaa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=a9e6c76aae154b7b4a7ba7de5cf3c9b701f27e14

commit a9e6c76aae154b7b4a7ba7de5cf3c9b701f27e14
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Sat Feb 25 18:18:00 2012 +0100

    m68k: avoid invalid exception for ccosh(NaN+iNaN)

diff --git a/ChangeLog.m68k b/ChangeLog.m68k
index e40c284..02d1355 100644
--- a/ChangeLog.m68k
+++ b/ChangeLog.m68k
@@ -1,3 +1,8 @@
+2012-02-25  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* sysdeps/m68k/m680x0/fpu/s_ccosh.c: Avoid raising invalid
+	exception for NaN+iNaN.
+
 2012-02-24  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update ULPs.
diff --git a/sysdeps/m68k/m680x0/fpu/s_ccosh.c b/sysdeps/m68k/m680x0/fpu/s_ccosh.c
index d272e98..7f1c8ab 100644
--- a/sysdeps/m68k/m680x0/fpu/s_ccosh.c
+++ b/sysdeps/m68k/m680x0/fpu/s_ccosh.c
@@ -1,5 +1,5 @@
 /* Complex cosine hyperbole function.  m68k fpu version
-   Copyright (C) 1997, 1999, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2010, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
 
@@ -67,7 +67,7 @@ s(__ccosh) (__complex__ float_type x)
 	  if (rx_cond & __M81_COND_INF)
 	    __real__ retval = s(fabs) (__real__ x);
 	  else
-	    __real__ retval = 0.0/0.0;
+	    __real__ retval = s(__nan) ("");
 	  __imag__ retval = __imag__ x - __imag__ x;
 	}
     }

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=ccc074aa35479e5b348bb85f72f6ac3b59ff8bb8

commit ccc074aa35479e5b348bb85f72f6ac3b59ff8bb8
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Fri Feb 24 15:14:42 2012 +0100

    m68k: update libm test ULPs

diff --git a/ChangeLog.m68k b/ChangeLog.m68k
index b53feed..e40c284 100644
--- a/ChangeLog.m68k
+++ b/ChangeLog.m68k
@@ -1,5 +1,7 @@
 2012-02-24  Andreas Schwab  <schwab@linux-m68k.org>
 
+	* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update ULPs.
+
 	* sysdeps/m68k/m680x0/fpu/s_expm1.c: Set errno to ERANGE if
 	argument causes overflow.
 	* sysdeps/m68k/m680x0/fpu/s_expm1f.c: Include <s_expm1.c>.
diff --git a/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/sysdeps/m68k/m680x0/fpu/libm-test-ulps
index 854c10c..5f965d2 100644
--- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps
+++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps
@@ -79,14 +79,16 @@ ildouble: 5
 ldouble: 5
 Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
 double: 13
-float: 1
+float: 6
 idouble: 13
-ifloat: 1
+ifloat: 6
 ildouble: 6
 ldouble: 6
 Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "Imaginary part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
 double: 1
 float: 1
@@ -107,6 +109,8 @@ ldouble: 1
 
 # catanh
 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -272,9 +276,11 @@ ifloat: 1
 Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
-float: 1
-ifloat: 1
+float: 3
+ifloat: 3
 ildouble: 9
 ldouble: 9
 Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
@@ -294,9 +300,9 @@ 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: 1
-float: 2
+float: 3
 idouble: 1
-ifloat: 2
+ifloat: 3
 ildouble: 15
 ldouble: 15
 Test "Imaginary part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
@@ -366,6 +372,9 @@ ifloat: 1
 Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
 ildouble: 1
 ldouble: 1
 Test "Real part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
@@ -376,6 +385,9 @@ ildouble: 2
 ldouble: 2
 
 # ctanh
+Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
+ildouble: 1
+ldouble: 1
 Test "Imaginary part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
 ildouble: 1
 ldouble: 1
@@ -397,9 +409,14 @@ ifloat: 1
 Test "erfc (1.25) == 0.0770998717435417698634765188027188596":
 ildouble: 1
 ldouble: 1
+Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
+float: 1
+ifloat: 1
 Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 
 # expm1
 Test "expm1 (1) == M_El - 1.0":
@@ -447,8 +464,8 @@ ifloat: 1
 Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 Test "j0 (0.75) == 0.864242275166648623555731103820923211":
 float: 1
 ifloat: 1
@@ -461,8 +478,11 @@ idouble: 1
 Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
+Test "j0 (8.0) == 0.171650807137553906090869407851972001":
+float: 1
+ifloat: 1
 
 # j1
 Test "j1 (-1.0) == -0.440050585744933515959682203718914913":
@@ -492,8 +512,8 @@ ldouble: 1
 Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
 float: 1
 ifloat: 1
@@ -506,8 +526,11 @@ idouble: 1
 Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
+Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
+float: 1
+ifloat: 1
 Test "jn (1, -1.0) == -0.440050585744933515959682203718914913":
 float: 1
 ifloat: 1
@@ -539,7 +562,9 @@ Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
 float: 1
 ifloat: 1
 Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
+double: 1
 float: 2
+idouble: 1
 ifloat: 2
 ildouble: 2
 ldouble: 2
@@ -560,6 +585,11 @@ float: 2
 ifloat: 2
 ildouble: 1
 ldouble: 1
+Test "jn (2, 2.4048255576957729) == 0.43175480701968038399746111312430703":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "jn (3, -1.0) == -0.0195633539826684059189053216217515083":
 float: 1
 ifloat: 1
@@ -578,8 +608,45 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "jn (4, 2.4048255576957729) == 0.647466661641779720084932282551219891E-1":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "jn (5, 2.4048255576957729) == 0.163892432048058525099230549946147698E-1":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 3
+ldouble: 3
+Test "jn (6, 2.4048255576957729) == 0.34048184720278336646673682895929161E-2":
+float: 4
+ifloat: 4
 ildouble: 1
 ldouble: 1
+Test "jn (7, 2.4048255576957729) == 0.60068836573295394221291569249883076E-3":
+float: 5
+ifloat: 5
+Test "jn (8, 2.4048255576957729) == 0.92165786705344923232879022467054148E-4":
+float: 4
+ifloat: 4
+ildouble: 2
+ldouble: 2
+Test "jn (9, 2.4048255576957729) == 0.12517270977961513005428966643852564E-4":
+float: 3
+ifloat: 3
+ildouble: 2
+ldouble: 2
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -622,6 +689,8 @@ ldouble: 2
 Test "log10 (e) == log10(e)":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 
 # log1p
 Test "log1p (-0.25) == -0.287682072451780927439219005993827432":
@@ -637,6 +706,14 @@ ldouble: 1
 Test "pow (0.75, 1.25) == 0.697953644326574699205914060237425566":
 ildouble: 1
 ldouble: 1
+Test "pow (0x1p64, 0.125) == 256":
+ildouble: 1
+ldouble: 1
+Test "pow (256, 8) == 0x1p64":
+float: 1
+ifloat: 1
+ildouble: 7
+ldouble: 7
 
 # sincos
 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
@@ -706,16 +783,22 @@ ildouble: 1
 ldouble: 1
 Test "y0 (0.75) == -0.137172769385772397522814379396581855":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 2
 ldouble: 2
 Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
 ildouble: 1
 ldouble: 1
 Test "y0 (1.5) == 0.382448923797758843955068554978089862":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "y0 (2.0) == 0.510375672649745119596606592727157873":
@@ -743,6 +826,8 @@ ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "y1 (8.0) == -0.158060461731247494255555266187483550":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -756,16 +841,22 @@ ildouble: 1
 ldouble: 1
 Test "yn (0, 0.75) == -0.137172769385772397522814379396581855":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 2
 ldouble: 2
 Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
 ildouble: 1
 ldouble: 1
 Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "yn (0, 2.0) == 0.510375672649745119596606592727157873":
@@ -796,6 +887,8 @@ ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
@@ -888,17 +981,17 @@ ldouble: 2
 
 Function: Real part of "casinh":
 double: 6
-float: 19
+float: 1
 idouble: 6
-ifloat: 19
+ifloat: 1
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "casinh":
 double: 13
-float: 1
+float: 6
 idouble: 13
-ifloat: 1
+ifloat: 6
 ildouble: 6
 ldouble: 6
 
@@ -913,6 +1006,8 @@ idouble: 1
 ifloat: 1
 
 Function: Real part of "catanh":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -988,17 +1083,17 @@ ldouble: 1
 
 Function: Real part of "cpow":
 double: 1
-float: 2
+float: 3
 idouble: 1
-ifloat: 2
+ifloat: 3
 ildouble: 15
 ldouble: 15
 
 Function: Imaginary part of "cpow":
 double: 2
-float: 6
+float: 5
 idouble: 2
-ifloat: 6
+ifloat: 5
 ildouble: 2
 ldouble: 2
 
@@ -1025,12 +1120,16 @@ ifloat: 1
 Function: Real part of "ctan":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "ctan":
 ildouble: 1
 ldouble: 1
 
-Function: Imaginary part of "ctan":
-ildouble: 2
-ldouble: 2
+Function: Real part of "ctanh":
+ildouble: 1
+ldouble: 1
 
 Function: Imaginary part of "ctanh":
 double: 1
@@ -1063,8 +1162,8 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "j1":
 float: 2
@@ -1077,8 +1176,8 @@ double: 1
 float: 5
 idouble: 1
 ifloat: 5
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
 
 Function: "lgamma":
 double: 1
@@ -1109,8 +1208,10 @@ ildouble: 1
 ldouble: 1
 
 Function: "pow":
-ildouble: 1
-ldouble: 1
+float: 1
+ifloat: 1
+ildouble: 7
+ldouble: 7
 
 Function: "sincos":
 double: 1

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=258ca456fd46e19279a08a948fca1f0a8b84553d

commit 258ca456fd46e19279a08a948fca1f0a8b84553d
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Fri Feb 24 15:00:28 2012 +0100

    m68k: set errno in exp

diff --git a/ChangeLog.m68k b/ChangeLog.m68k
index 9724c30..b53feed 100644
--- a/ChangeLog.m68k
+++ b/ChangeLog.m68k
@@ -1,5 +1,13 @@
 2012-02-24  Andreas Schwab  <schwab@linux-m68k.org>
 
+	* sysdeps/m68k/m680x0/fpu/s_expm1.c: Set errno to ERANGE if
+	argument causes overflow.
+	* sysdeps/m68k/m680x0/fpu/s_expm1f.c: Include <s_expm1.c>.
+	(float_type, o_threshold): Define.
+	* sysdeps/m68k/m680x0/fpu/s_expm1l.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/bits/mathinline.h [__OPTIMIZE__]: Don't
+	define expm1 as inline.
+
 	* sysdeps/m68k/m680x0/fpu/s_sin.c: Set errno to EDOM if argument
 	is infinite.
 	* sysdeps/m68k/m680x0/fpu/s_cos.c: Include <s_sin.c>.
diff --git a/sysdeps/m68k/m680x0/fpu/bits/mathinline.h b/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
index d79f6bd..31d9efe 100644
--- a/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
+++ b/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
@@ -179,7 +179,6 @@ __inline_mathop(tanh, tanh)
 
 # if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
 __inline_mathop(rint, int)
-__inline_mathop(expm1, etoxm1)
 __inline_mathop(log1p, lognp1)
 # endif
 
diff --git a/sysdeps/m68k/m680x0/fpu/s_expm1.c b/sysdeps/m68k/m680x0/fpu/s_expm1.c
index 1ef99e2..3db6f2d 100644
--- a/sysdeps/m68k/m680x0/fpu/s_expm1.c
+++ b/sysdeps/m68k/m680x0/fpu/s_expm1.c
@@ -1,2 +1,44 @@
-#define	FUNC	expm1
-#include <s_atan.c>
+/* Copyright (C) 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
+   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 <math.h>
+#include <errno.h>
+#include "mathimpl.h"
+
+#ifndef FUNC
+# define FUNC expm1
+#endif
+#ifndef float_type
+# define float_type double
+#endif
+#ifndef o_threshold
+# define o_threshold 7.09782712893383973096e+02
+#endif
+
+#define CONCATX(a,b) __CONCAT(a,b)
+
+float_type
+CONCATX(__,FUNC) (float_type x)
+{
+  if ((__m81_test (x) & __M81_COND_INF) == 0 && isgreater (x, o_threshold))
+    __set_errno (ERANGE);
+  return __m81_u(CONCATX(__, FUNC)) (x);
+}
+
+#define weak_aliasx(a, b) weak_alias(a, b)
+weak_aliasx (CONCATX(__, FUNC), FUNC)
diff --git a/sysdeps/m68k/m680x0/fpu/s_expm1f.c b/sysdeps/m68k/m680x0/fpu/s_expm1f.c
index 84935b1..2cd8ffc 100644
--- a/sysdeps/m68k/m680x0/fpu/s_expm1f.c
+++ b/sysdeps/m68k/m680x0/fpu/s_expm1f.c
@@ -1,2 +1,4 @@
-#define	FUNC	expm1f
-#include <s_atanf.c>
+#define	FUNC expm1f
+#define float_type float
+#define o_threshold 8.8722831726e+01F
+#include <s_expm1.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_expm1l.c b/sysdeps/m68k/m680x0/fpu/s_expm1l.c
index feee07a..a2c8086 100644
--- a/sysdeps/m68k/m680x0/fpu/s_expm1l.c
+++ b/sysdeps/m68k/m680x0/fpu/s_expm1l.c
@@ -1,3 +1,6 @@
-#define FUNC expm1l
-#include <s_atanl.c>
+#define	FUNC expm1l
+#define float_type long double
+/* 400c0000b17217f7d1cf79ab */
+#define o_threshold 1.13565234062941439487914863093465101e+04L
+#include <s_expm1.c>
 libm_hidden_def (__expm1l)

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=27c1f49d4b983cf2274161872d36d30a543392ef

commit 27c1f49d4b983cf2274161872d36d30a543392ef
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Fri Feb 24 12:22:22 2012 +0100

    m68k: set errno in sin, cos, tan

diff --git a/ChangeLog.m68k b/ChangeLog.m68k
index 7eace92..9724c30 100644
--- a/ChangeLog.m68k
+++ b/ChangeLog.m68k
@@ -1,3 +1,18 @@
+2012-02-24  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* sysdeps/m68k/m680x0/fpu/s_sin.c: Set errno to EDOM if argument
+	is infinite.
+	* sysdeps/m68k/m680x0/fpu/s_cos.c: Include <s_sin.c>.
+	* sysdeps/m68k/m680x0/fpu/s_tan.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_cosf.c: Include <s_sinf.c>.
+	* sysdeps/m68k/m680x0/fpu/s_cosl.c: Include <s_sinl.c>.
+	* sysdeps/m68k/m680x0/fpu/s_sinf.c: Include <s_sin.c>.
+	(FUNC): Don't define if already defined.
+	(float_type): Define.
+	* sysdeps/m68k/m680x0/fpu/s_sinl.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/bits/mathinline.h [__OPTIMIZE__]: Don't
+	define sin, cos, tan as inlines.
+
 2012-02-08  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* sysdeps/m68k/crti.S: New file.
diff --git a/sysdeps/m68k/m680x0/fpu/bits/mathinline.h b/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
index 00ae076..d79f6bd 100644
--- a/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
+++ b/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
@@ -1,5 +1,5 @@
 /* Definitions of inline math functions implemented by the m68881/2.
-   Copyright (C) 1991,92,93,94,96,97,98,99,2000,2002, 2003, 2004, 2008, 2010
+   Copyright (C) 1991,92,93,94,96,97,98,99,2000,2002, 2003, 2004, 2008, 2010, 2012
      Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -175,9 +175,6 @@ __inline_mathop(__trunc, intrz)
 #if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
 
 __inline_mathop(atan, atan)
-__inline_mathop(cos, cos)
-__inline_mathop(sin, sin)
-__inline_mathop(tan, tan)
 __inline_mathop(tanh, tanh)
 
 # if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
diff --git a/sysdeps/m68k/m680x0/fpu/s_cos.c b/sysdeps/m68k/m680x0/fpu/s_cos.c
index 9c96076..2f1adf7 100644
--- a/sysdeps/m68k/m680x0/fpu/s_cos.c
+++ b/sysdeps/m68k/m680x0/fpu/s_cos.c
@@ -1,2 +1,2 @@
 #define	FUNC	cos
-#include <s_atan.c>
+#include <s_sin.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_cosf.c b/sysdeps/m68k/m680x0/fpu/s_cosf.c
index db965b8..b6d6acc 100644
--- a/sysdeps/m68k/m680x0/fpu/s_cosf.c
+++ b/sysdeps/m68k/m680x0/fpu/s_cosf.c
@@ -1,2 +1,2 @@
-#define	FUNC	cosf
-#include <s_atanf.c>
+#define FUNC cosf
+#include <s_sinf.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_cosl.c b/sysdeps/m68k/m680x0/fpu/s_cosl.c
index 4198fee..eb61521 100644
--- a/sysdeps/m68k/m680x0/fpu/s_cosl.c
+++ b/sysdeps/m68k/m680x0/fpu/s_cosl.c
@@ -1,2 +1,2 @@
 #define FUNC cosl
-#include <s_atanl.c>
+#include <s_sinl.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_sin.c b/sysdeps/m68k/m680x0/fpu/s_sin.c
index 0d4abdb..e088b58 100644
--- a/sysdeps/m68k/m680x0/fpu/s_sin.c
+++ b/sysdeps/m68k/m680x0/fpu/s_sin.c
@@ -1,2 +1,41 @@
-#define	FUNC	sin
-#include <s_atan.c>
+/* Copyright (C) 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
+   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 <math.h>
+#include <errno.h>
+#include "mathimpl.h"
+
+#ifndef FUNC
+# define FUNC sin
+#endif
+#ifndef float_type
+# define float_type double
+#endif
+
+#define CONCATX(a,b) __CONCAT(a,b)
+
+float_type
+CONCATX(__,FUNC) (float_type x)
+{
+  if (__m81_test (x) & __M81_COND_INF)
+    __set_errno (EDOM);
+  return __m81_u(CONCATX(__, FUNC)) (x);
+}
+
+#define weak_aliasx(a, b) weak_alias(a, b)
+weak_aliasx (CONCATX(__, FUNC), FUNC)
diff --git a/sysdeps/m68k/m680x0/fpu/s_sinf.c b/sysdeps/m68k/m680x0/fpu/s_sinf.c
index 9b23d48..304f4f7 100644
--- a/sysdeps/m68k/m680x0/fpu/s_sinf.c
+++ b/sysdeps/m68k/m680x0/fpu/s_sinf.c
@@ -1,2 +1,5 @@
-#define	FUNC	sinf
-#include <s_atanf.c>
+#ifndef FUNC
+# define FUNC sinf
+#endif
+#define float_type float
+#include <s_sin.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_sinl.c b/sysdeps/m68k/m680x0/fpu/s_sinl.c
index 9ac532c..31dac0b 100644
--- a/sysdeps/m68k/m680x0/fpu/s_sinl.c
+++ b/sysdeps/m68k/m680x0/fpu/s_sinl.c
@@ -1,2 +1,5 @@
-#define FUNC sinl
-#include <s_atanl.c>
+#ifndef FUNC
+# define FUNC sinl
+#endif
+#define float_type long double
+#include <s_sin.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_tan.c b/sysdeps/m68k/m680x0/fpu/s_tan.c
index ca7fb0e..dfbbbb2 100644
--- a/sysdeps/m68k/m680x0/fpu/s_tan.c
+++ b/sysdeps/m68k/m680x0/fpu/s_tan.c
@@ -1,2 +1,2 @@
 #define	FUNC	tan
-#include <s_atan.c>
+#include <s_sin.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_tanf.c b/sysdeps/m68k/m680x0/fpu/s_tanf.c
index 95fe9c7..9ae66dd 100644
--- a/sysdeps/m68k/m680x0/fpu/s_tanf.c
+++ b/sysdeps/m68k/m680x0/fpu/s_tanf.c
@@ -1,2 +1,2 @@
-#define	FUNC	tanf
-#include <s_atanf.c>
+#define FUNC tanf
+#include <s_sinf.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_tanl.c b/sysdeps/m68k/m680x0/fpu/s_tanl.c
index 64fcb54..27daf8f 100644
--- a/sysdeps/m68k/m680x0/fpu/s_tanl.c
+++ b/sysdeps/m68k/m680x0/fpu/s_tanl.c
@@ -1,2 +1,2 @@
 #define FUNC tanl
-#include <s_atanl.c>
+#include <s_sinl.c>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog.m68k                            |   30 ++++++
 sysdeps/m68k/m680x0/fpu/bits/mathinline.h |    6 +-
 sysdeps/m68k/m680x0/fpu/libm-test-ulps    |  163 +++++++++++++++++++++++------
 sysdeps/m68k/m680x0/fpu/s_ccosh.c         |    4 +-
 sysdeps/m68k/m680x0/fpu/s_cos.c           |    2 +-
 sysdeps/m68k/m680x0/fpu/s_cosf.c          |    4 +-
 sysdeps/m68k/m680x0/fpu/s_cosl.c          |    2 +-
 sysdeps/m68k/m680x0/fpu/s_expm1.c         |   46 ++++++++-
 sysdeps/m68k/m680x0/fpu/s_expm1f.c        |    6 +-
 sysdeps/m68k/m680x0/fpu/s_expm1l.c        |    7 +-
 sysdeps/m68k/m680x0/fpu/s_sin.c           |   43 +++++++-
 sysdeps/m68k/m680x0/fpu/s_sinf.c          |    7 +-
 sysdeps/m68k/m680x0/fpu/s_sinl.c          |    7 +-
 sysdeps/m68k/m680x0/fpu/s_tan.c           |    2 +-
 sysdeps/m68k/m680x0/fpu/s_tanf.c          |    4 +-
 sysdeps/m68k/m680x0/fpu/s_tanl.c          |    2 +-
 16 files changed, 277 insertions(+), 58 deletions(-)


hooks/post-receive
-- 
Community source repository for glibc add-on ports


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]