From e92584001a07a7e1a4ad2a4997a429075d36e76a Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 6 Mar 2012 11:15:26 -0800 Subject: Fix several build warnings on sparc. / * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c (set_obp_int): New function. (get_obp_int): New function. (__get_clockfreq_via_dev_openprom): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_SYSCALL_ERROR_P): Avoid unused variable warnings on 'val' and use builtin_expect. (INLINE_SYSCALL): Don't wrap INTERNAL_SYSCALL_ERROR_P with builtin_expect. (INLINE_CLONE_SYSCALL): Likewise. nptl/ * sysdeps/unix/sysv/linux/sparc/sem_post.c (__new_sem_post): Use atomic_increment and remove unused local variable. (__old_sem_post): Likewise. --- .../unix/sysv/linux/sparc/sparc64/get_clockfreq.c | 27 +++++++++++++++++----- sysdeps/unix/sysv/linux/sparc/sysdep.h | 7 +++--- 2 files changed, 25 insertions(+), 9 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c b/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c index e181d9d36b..ba44a61c86 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c @@ -154,6 +154,22 @@ __get_clockfreq_via_proc_openprom (void) return result; } +static void set_obp_int (struct openpromio *op, int val) +{ + char *cp = op->oprom_array; + int *ip = (int *) cp; + + *ip = val; +} + +static int get_obp_int (struct openpromio *op) +{ + char *cp = op->oprom_array; + int *ip = (int *) cp; + + return *ip; +} + static hp_timing_t __get_clockfreq_via_dev_openprom (void) { @@ -171,11 +187,11 @@ __get_clockfreq_via_dev_openprom (void) obp_cmd->oprom_size = sizeof (obp_buf) - sizeof (unsigned int); - *(int *) obp_cmd->oprom_array = 0; + set_obp_int (obp_cmd, 0); ret = ioctl (obp_dev_fd, OPROMCHILD, (char *) obp_cmd); if (ret == 0) { - int cur_node = *(int *) obp_cmd->oprom_array; + int cur_node = get_obp_int (obp_cmd); while (cur_node != 0 && cur_node != -1) { @@ -190,15 +206,14 @@ __get_clockfreq_via_dev_openprom (void) strcpy (obp_cmd->oprom_array, "clock-frequency"); ret = ioctl (obp_dev_fd, OPROMGETPROP, (char *) obp_cmd); if (ret == 0) - result = - (hp_timing_t) *(unsigned int *) obp_cmd->oprom_array; + result = (hp_timing_t) get_obp_int (obp_cmd); } obp_cmd->oprom_size = sizeof (obp_buf) - sizeof (unsigned int); - *(int *) obp_cmd->oprom_array = cur_node; + set_obp_int (obp_cmd, cur_node); ret = ioctl (obp_dev_fd, OPROMNEXT, (char *) obp_cmd); if (ret < 0) break; - cur_node = *(int *)obp_cmd->oprom_array; + cur_node = get_obp_int (obp_cmd); } } } diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h index 336c8538b5..30144b9f6d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h @@ -23,7 +23,7 @@ #define INLINE_SYSCALL(name, nr, args...) \ ({ INTERNAL_SYSCALL_DECL(err); \ unsigned int resultvar = INTERNAL_SYSCALL(name, err, nr, args); \ - if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (resultvar, err), 0)) \ + if (INTERNAL_SYSCALL_ERROR_P (resultvar, err)) \ { \ __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, err)); \ resultvar = 0xffffffff; \ @@ -44,7 +44,8 @@ inline_syscall##nr(__SYSCALL_STRING, err, name, args) #undef INTERNAL_SYSCALL_ERROR_P -#define INTERNAL_SYSCALL_ERROR_P(val, err) ((err) != 0) +#define INTERNAL_SYSCALL_ERROR_P(val, err) \ + ((void) (val), __builtin_expect((err) != 0, 0)) #undef INTERNAL_SYSCALL_ERRNO #define INTERNAL_SYSCALL_ERRNO(val, err) (-(val)) @@ -152,7 +153,7 @@ "0" (__g1), "1" (__o0), "2" (__o1), \ "r" (__o2), "r" (__o3), "r" (__o4) : \ __SYSCALL_CLOBBERS); \ - if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (__o0, __g1), 0)) \ + if (INTERNAL_SYSCALL_ERROR_P (__o0, __g1)) \ { \ __set_errno (INTERNAL_SYSCALL_ERRNO (__o0, __g1)); \ __o0 = -1L; \ -- cgit 1.4.1 From a53b7a4e4b39d90f5964841c63492cf233aa17b8 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Tue, 6 Mar 2012 22:05:56 +0100 Subject: Fix up long double fphex. --- ChangeLog | 8 +++++++ NEWS | 4 ++-- stdio-common/Makefile | 2 +- stdio-common/tst-long-dbl-fphex.c | 38 ++++++++++++++++++++++++++++++++++ sysdeps/ieee754/ldbl-96/printf_fphex.c | 3 ++- sysdeps/x86_64/fpu/printf_fphex.c | 3 ++- 6 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 stdio-common/tst-long-dbl-fphex.c (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 2b47391f98..3c640dd8f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2012-03-06 Marek Polacek + + [BZ #13726] + * sysdeps/ieee754/ldbl-96/printf_fphex.c: Adjust position of wnumstr. + * sysdeps/x86_64/fpu/printf_fphex.c: Likewise. + * stdio-common/Makefile (tests): Add tst-long-dbl-fphex. + * stdio-common/tst-long-dbl-fphex.c: New file. + 2012-03-06 David S. Miller * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c diff --git a/NEWS b/NEWS index 056249bb64..61cc1dca1e 100644 --- a/NEWS +++ b/NEWS @@ -13,8 +13,8 @@ Version 2.16 5077, 5461, 5805, 5993, 6884, 6907, 9739, 9902, 10110, 10135, 10140, 10210, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553, - 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13738, - 13786, 13792 + 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13726, + 13738, 13786, 13792 * ISO C11 support: diff --git a/stdio-common/Makefile b/stdio-common/Makefile index 080badc36c..831fafefb9 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -60,7 +60,7 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \ tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \ bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \ scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \ - bug-vfprintf-nargs + bug-vfprintf-nargs tst-long-dbl-fphex test-srcs = tst-unbputc tst-printf diff --git a/stdio-common/tst-long-dbl-fphex.c b/stdio-common/tst-long-dbl-fphex.c new file mode 100644 index 0000000000..b57fb85ad7 --- /dev/null +++ b/stdio-common/tst-long-dbl-fphex.c @@ -0,0 +1,38 @@ +/* This file is part of the GNU C Library. + Copyright (C) 2012 Free Software Foundation, Inc. + Contributed by Marek Polacek , 2012. + + 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, see + . */ + +#include + +/* Prototype for our test function. */ +static int do_test (void); + +static int +do_test (void) +{ + const long double x = 24.5; + wchar_t a[16 * sizeof (wchar_t)]; + swprintf (a, 16 * sizeof (wchar_t), L"%La\n", x); + wchar_t A[16 * sizeof (wchar_t)]; + swprintf (A, 16 * sizeof (wchar_t), L"%LA\n", x); + + return (wmemcmp (a, L"0xc.4p+1", 8) != 0 + || wmemcmp (A, L"0XC.4P+1", 8) != 0); +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" diff --git a/sysdeps/ieee754/ldbl-96/printf_fphex.c b/sysdeps/ieee754/ldbl-96/printf_fphex.c index b1c9d7364c..acb0508b87 100644 --- a/sysdeps/ieee754/ldbl-96/printf_fphex.c +++ b/sysdeps/ieee754/ldbl-96/printf_fphex.c @@ -1,5 +1,5 @@ /* Print floating point number in hexadecimal notation according to ISO C99. - Copyright (C) 1997, 1998, 1999, 2000, 2005 Free Software Foundation, Inc. + Copyright (C) 1997-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 @@ -58,6 +58,7 @@ do { \ \ /* We use a full nibble for the leading digit. */ \ leading = *numstr++; \ + wnumstr++; \ \ /* We have 3 bits from the mantissa in the leading nibble. \ Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'. */ \ diff --git a/sysdeps/x86_64/fpu/printf_fphex.c b/sysdeps/x86_64/fpu/printf_fphex.c index 0b6bfc6bdc..7de7283c4c 100644 --- a/sysdeps/x86_64/fpu/printf_fphex.c +++ b/sysdeps/x86_64/fpu/printf_fphex.c @@ -1,5 +1,5 @@ /* Print floating point number in hexadecimal notation according to ISO C99. - Copyright (C) 1997,1998,1999,2000,2001,2005 Free Software Foundation, Inc. + Copyright (C) 1997-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 @@ -57,6 +57,7 @@ do { \ \ /* We use a full nibble for the leading digit. */ \ leading = *numstr++; \ + wnumstr++; \ \ /* We have 3 bits from the mantissa in the leading nibble. \ Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'. */ \ -- cgit 1.4.1 From d1d3431a3a9dd14501eedb701436bd5005b1db7d Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 7 Mar 2012 15:15:19 +0000 Subject: Fix signs of zeros from casinh, cacosh etc. (bug 10716). --- ChangeLog | 14 ++ NEWS | 8 +- math/libm-test.inc | 104 +++++++++++++ math/s_cacosh.c | 12 +- math/s_cacoshf.c | 14 +- math/s_cacoshl.c | 14 +- math/s_casinh.c | 7 +- math/s_casinhf.c | 7 +- math/s_casinhl.c | 7 +- sysdeps/i386/fpu/libm-test-ulps | 286 ++++++++++++++++++++++++++++++++++++ sysdeps/x86_64/fpu/libm-test-ulps | 298 ++++++++++++++++++++++++++++++++++++++ 11 files changed, 750 insertions(+), 21 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index b3dbb5d63b..e3842807df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2012-03-07 Joseph Myers + + [BZ #10716] + * math/s_cacosh.c (__cacosh): Convert negative log results to 0. + * math/s_cacoshf.c (__cacoshf): Likewise. + * math/s_cacoshl.c (__cacoshl): Likewise. + * math/s_casinh.c (__casinh): Set signs of result from argument. + * math/s_casinhf.c (__casinhf): Likewise. + * math/s_casinhl.c (__casinhl): Likewise. + * math/libm-test.inc (cacos_test, cacosh_test, casin_test) + (casinh_test): Add more tests. + * sysdeps/i386/fpu/libm-test-ulps: Update. + * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. + 2012-03-07 Ulrich Drepper * login/Makefile (distribute): Remove variable. diff --git a/NEWS b/NEWS index 61cc1dca1e..180aec41c9 100644 --- a/NEWS +++ b/NEWS @@ -11,10 +11,10 @@ Version 2.16 174, 350, 411, 2541, 2547, 2548, 3335, 3976, 3992, 4026, 4108, 4596, 4822, 5077, 5461, 5805, 5993, 6884, 6907, 9739, 9902, 10110, 10135, 10140, - 10210, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527, - 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553, - 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13726, - 13738, 13786, 13792 + 10210, 10716, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, + 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, + 13553, 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, + 13726, 13738, 13786, 13792 * ISO C11 support: diff --git a/math/libm-test.inc b/math/libm-test.inc index 9bdbc4cb98..39cda6663c 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -1065,6 +1065,32 @@ cacos_test (void) TEST_c_c (cacos, nan_value, nan_value, nan_value, nan_value); + TEST_c_c (cacos, plus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L); + TEST_c_c (cacos, minus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L); + TEST_c_c (cacos, plus_zero, -1.0L, M_PI_2l, 0.8813735870195430252326093249797923090282L); + TEST_c_c (cacos, minus_zero, -1.0L, M_PI_2l, 0.8813735870195430252326093249797923090282L); + TEST_c_c (cacos, plus_zero, -0.5L, M_PI_2l, 0.4812118250596034474977589134243684231352L); + TEST_c_c (cacos, minus_zero, -0.5L, M_PI_2l, 0.4812118250596034474977589134243684231352L); + TEST_c_c (cacos, plus_zero, 0.5L, M_PI_2l, -0.4812118250596034474977589134243684231352L); + TEST_c_c (cacos, minus_zero, 0.5L, M_PI_2l, -0.4812118250596034474977589134243684231352L); + TEST_c_c (cacos, plus_zero, 1.0L, M_PI_2l, -0.8813735870195430252326093249797923090282L); + TEST_c_c (cacos, minus_zero, 1.0L, M_PI_2l, -0.8813735870195430252326093249797923090282L); + TEST_c_c (cacos, plus_zero, 1.5L, M_PI_2l, -1.194763217287109304111930828519090523536L); + TEST_c_c (cacos, minus_zero, 1.5L, M_PI_2l, -1.194763217287109304111930828519090523536L); + + TEST_c_c (cacos, -1.5L, plus_zero, M_PIl, -0.9624236501192068949955178268487368462704L); + TEST_c_c (cacos, -1.5L, minus_zero, M_PIl, 0.9624236501192068949955178268487368462704L); + TEST_c_c (cacos, -1.0L, plus_zero, M_PIl, minus_zero); + TEST_c_c (cacos, -1.0L, minus_zero, M_PIl, plus_zero); + TEST_c_c (cacos, -0.5L, plus_zero, 2.094395102393195492308428922186335256131L, minus_zero); + TEST_c_c (cacos, -0.5L, minus_zero, 2.094395102393195492308428922186335256131L, plus_zero); + TEST_c_c (cacos, 0.5L, plus_zero, 1.047197551196597746154214461093167628066L, minus_zero); + TEST_c_c (cacos, 0.5L, minus_zero, 1.047197551196597746154214461093167628066L, plus_zero); + TEST_c_c (cacos, 1.0L, plus_zero, plus_zero, minus_zero); + TEST_c_c (cacos, 1.0L, minus_zero, plus_zero, plus_zero); + TEST_c_c (cacos, 1.5L, plus_zero, plus_zero, -0.9624236501192068949955178268487368462704L); + TEST_c_c (cacos, 1.5L, minus_zero, plus_zero, 0.9624236501192068949955178268487368462704L); + TEST_c_c (cacos, 0.75L, 1.25L, 1.11752014915610270578240049553777969L, -1.13239363160530819522266333696834467L); TEST_c_c (cacos, -2, -3, 2.1414491111159960199416055713254211L, 1.9833870299165354323470769028940395L); @@ -1127,6 +1153,32 @@ cacosh_test (void) TEST_c_c (cacosh, nan_value, nan_value, nan_value, nan_value); + TEST_c_c (cacosh, plus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l); + TEST_c_c (cacosh, minus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l); + TEST_c_c (cacosh, plus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -M_PI_2l); + TEST_c_c (cacosh, minus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -M_PI_2l); + TEST_c_c (cacosh, plus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -M_PI_2l); + TEST_c_c (cacosh, minus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -M_PI_2l); + TEST_c_c (cacosh, plus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, M_PI_2l); + TEST_c_c (cacosh, minus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, M_PI_2l); + TEST_c_c (cacosh, plus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, M_PI_2l); + TEST_c_c (cacosh, minus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, M_PI_2l); + TEST_c_c (cacosh, plus_zero, 1.5L, 1.194763217287109304111930828519090523536L, M_PI_2l); + TEST_c_c (cacosh, minus_zero, 1.5L, 1.194763217287109304111930828519090523536L, M_PI_2l); + + TEST_c_c (cacosh, -1.5L, plus_zero, 0.9624236501192068949955178268487368462704L, M_PIl); + TEST_c_c (cacosh, -1.5L, minus_zero, 0.9624236501192068949955178268487368462704L, -M_PIl); + TEST_c_c (cacosh, -1.0L, plus_zero, plus_zero, M_PIl); + TEST_c_c (cacosh, -1.0L, minus_zero, plus_zero, -M_PIl); + TEST_c_c (cacosh, -0.5L, plus_zero, plus_zero, 2.094395102393195492308428922186335256131L); + TEST_c_c (cacosh, -0.5L, minus_zero, plus_zero, -2.094395102393195492308428922186335256131L); + TEST_c_c (cacosh, 0.5L, plus_zero, plus_zero, 1.047197551196597746154214461093167628066L); + TEST_c_c (cacosh, 0.5L, minus_zero, plus_zero, -1.047197551196597746154214461093167628066L); + TEST_c_c (cacosh, 1.0L, plus_zero, plus_zero, plus_zero); + TEST_c_c (cacosh, 1.0L, minus_zero, plus_zero, minus_zero); + TEST_c_c (cacosh, 1.5L, plus_zero, 0.9624236501192068949955178268487368462704L, plus_zero); + TEST_c_c (cacosh, 1.5L, minus_zero, 0.9624236501192068949955178268487368462704L, minus_zero); + TEST_c_c (cacosh, 0.75L, 1.25L, 1.13239363160530819522266333696834467L, 1.11752014915610270578240049553777969L); TEST_c_c (cacosh, -2, -3, 1.9833870299165354323470769028940395L, -2.1414491111159960199416055713254211L); @@ -1258,6 +1310,32 @@ casin_test (void) TEST_c_c (casin, nan_value, nan_value, nan_value, nan_value); + TEST_c_c (casin, plus_zero, -1.5L, plus_zero, -1.194763217287109304111930828519090523536L); + TEST_c_c (casin, minus_zero, -1.5L, minus_zero, -1.194763217287109304111930828519090523536L); + TEST_c_c (casin, plus_zero, -1.0L, plus_zero, -0.8813735870195430252326093249797923090282L); + TEST_c_c (casin, minus_zero, -1.0L, minus_zero, -0.8813735870195430252326093249797923090282L); + TEST_c_c (casin, plus_zero, -0.5L, plus_zero, -0.4812118250596034474977589134243684231352L); + TEST_c_c (casin, minus_zero, -0.5L, minus_zero, -0.4812118250596034474977589134243684231352L); + TEST_c_c (casin, plus_zero, 0.5L, plus_zero, 0.4812118250596034474977589134243684231352L); + TEST_c_c (casin, minus_zero, 0.5L, minus_zero, 0.4812118250596034474977589134243684231352L); + TEST_c_c (casin, plus_zero, 1.0L, plus_zero, 0.8813735870195430252326093249797923090282L); + TEST_c_c (casin, minus_zero, 1.0L, minus_zero, 0.8813735870195430252326093249797923090282L); + TEST_c_c (casin, plus_zero, 1.5L, plus_zero, 1.194763217287109304111930828519090523536L); + TEST_c_c (casin, minus_zero, 1.5L, minus_zero, 1.194763217287109304111930828519090523536L); + + TEST_c_c (casin, -1.5L, plus_zero, -M_PI_2l, 0.9624236501192068949955178268487368462704L); + TEST_c_c (casin, -1.5L, minus_zero, -M_PI_2l, -0.9624236501192068949955178268487368462704L); + TEST_c_c (casin, -1.0L, plus_zero, -M_PI_2l, plus_zero); + TEST_c_c (casin, -1.0L, minus_zero, -M_PI_2l, minus_zero); + TEST_c_c (casin, -0.5L, plus_zero, -0.5235987755982988730771072305465838140329L, plus_zero); + TEST_c_c (casin, -0.5L, minus_zero, -0.5235987755982988730771072305465838140329L, minus_zero); + TEST_c_c (casin, 0.5L, plus_zero, 0.5235987755982988730771072305465838140329L, plus_zero); + TEST_c_c (casin, 0.5L, minus_zero, 0.5235987755982988730771072305465838140329L, minus_zero); + TEST_c_c (casin, 1.0L, plus_zero, M_PI_2l, plus_zero); + TEST_c_c (casin, 1.0L, minus_zero, M_PI_2l, minus_zero); + TEST_c_c (casin, 1.5L, plus_zero, M_PI_2l, 0.9624236501192068949955178268487368462704L); + TEST_c_c (casin, 1.5L, minus_zero, M_PI_2l, -0.9624236501192068949955178268487368462704L); + TEST_c_c (casin, 0.75L, 1.25L, 0.453276177638793913448921196101971749L, 1.13239363160530819522266333696834467L); TEST_c_c (casin, -2, -3, -0.57065278432109940071028387968566963L, -1.9833870299165354323470769028940395L); @@ -1322,6 +1400,32 @@ casinh_test (void) TEST_c_c (casinh, nan_value, nan_value, nan_value, nan_value); + TEST_c_c (casinh, plus_zero, -1.5L, 0.9624236501192068949955178268487368462704L, -M_PI_2l); + TEST_c_c (casinh, minus_zero, -1.5L, -0.9624236501192068949955178268487368462704L, -M_PI_2l); + TEST_c_c (casinh, plus_zero, -1.0L, plus_zero, -M_PI_2l); + TEST_c_c (casinh, minus_zero, -1.0L, minus_zero, -M_PI_2l); + TEST_c_c (casinh, plus_zero, -0.5L, plus_zero, -0.5235987755982988730771072305465838140329L); + TEST_c_c (casinh, minus_zero, -0.5L, minus_zero, -0.5235987755982988730771072305465838140329L); + TEST_c_c (casinh, plus_zero, 0.5L, plus_zero, 0.5235987755982988730771072305465838140329L); + TEST_c_c (casinh, minus_zero, 0.5L, minus_zero, 0.5235987755982988730771072305465838140329L); + TEST_c_c (casinh, plus_zero, 1.0L, plus_zero, M_PI_2l); + TEST_c_c (casinh, minus_zero, 1.0L, minus_zero, M_PI_2l); + TEST_c_c (casinh, plus_zero, 1.5L, 0.9624236501192068949955178268487368462704L, M_PI_2l); + TEST_c_c (casinh, minus_zero, 1.5L, -0.9624236501192068949955178268487368462704L, M_PI_2l); + + TEST_c_c (casinh, -1.5L, plus_zero, -1.194763217287109304111930828519090523536L, plus_zero); + TEST_c_c (casinh, -1.5L, minus_zero, -1.194763217287109304111930828519090523536L, minus_zero); + TEST_c_c (casinh, -1.0L, plus_zero, -0.8813735870195430252326093249797923090282L, plus_zero); + TEST_c_c (casinh, -1.0L, minus_zero, -0.8813735870195430252326093249797923090282L, minus_zero); + TEST_c_c (casinh, -0.5L, plus_zero, -0.4812118250596034474977589134243684231352L, plus_zero); + TEST_c_c (casinh, -0.5L, minus_zero, -0.4812118250596034474977589134243684231352L, minus_zero); + TEST_c_c (casinh, 0.5L, plus_zero, 0.4812118250596034474977589134243684231352L, plus_zero); + TEST_c_c (casinh, 0.5L, minus_zero, 0.4812118250596034474977589134243684231352L, minus_zero); + TEST_c_c (casinh, 1.0L, plus_zero, 0.8813735870195430252326093249797923090282L, plus_zero); + TEST_c_c (casinh, 1.0L, minus_zero, 0.8813735870195430252326093249797923090282L, minus_zero); + TEST_c_c (casinh, 1.5L, plus_zero, 1.194763217287109304111930828519090523536L, plus_zero); + TEST_c_c (casinh, 1.5L, minus_zero, 1.194763217287109304111930828519090523536L, minus_zero); + TEST_c_c (casinh, 0.75L, 1.25L, 1.03171853444778027336364058631006594L, 0.911738290968487636358489564316731207L); TEST_c_c (casinh, -2, -3, -1.9686379257930962917886650952454982L, -0.96465850440760279204541105949953237L); diff --git a/math/s_cacosh.c b/math/s_cacosh.c index 95bf005cd3..ef49088c3d 100644 --- a/math/s_cacosh.c +++ b/math/s_cacosh.c @@ -1,5 +1,5 @@ /* Return arc hyperbole cosine for double value. - Copyright (C) 1997, 2006, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -66,9 +66,13 @@ __cacosh (__complex__ double x) } /* The factor 16 is just a guess. */ else if (16.0 * fabs (__imag__ x) < fabs (__real__ x)) - /* Kahan's formula which avoid cancellation through subtraction in - some cases. */ - res = 2.0 * __clog (__csqrt ((x + 1.0) / 2.0) + __csqrt ((x - 1.0) / 2.0)); + { + /* Kahan's formula which avoid cancellation through subtraction in + some cases. */ + res = 2.0 * __clog (__csqrt ((x + 1.0) / 2.0) + __csqrt ((x - 1.0) / 2.0)); + if (signbit (__real__ res)) + __real__ res = 0.0; + } else { __complex__ double y; diff --git a/math/s_cacoshf.c b/math/s_cacoshf.c index d634a1b756..fc716ac519 100644 --- a/math/s_cacoshf.c +++ b/math/s_cacoshf.c @@ -1,5 +1,5 @@ /* Return arc hyperbole cosine for float value. - Copyright (C) 1997, 2006, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -66,10 +66,14 @@ __cacoshf (__complex__ float x) } /* The factor 16 is just a guess. */ else if (16.0 * fabsf (__imag__ x) < fabsf (__real__ x)) - /* Kahan's formula which avoid cancellation through subtraction in - some cases. */ - res = 2.0 * __clogf (__csqrtf ((x + 1.0) / 2.0) - + __csqrtf ((x - 1.0) / 2.0)); + { + /* Kahan's formula which avoid cancellation through subtraction in + some cases. */ + res = 2.0 * __clogf (__csqrtf ((x + 1.0) / 2.0) + + __csqrtf ((x - 1.0) / 2.0)); + if (signbit (__real__ res)) + __real__ res = 0.0f; + } else { __complex__ float y; diff --git a/math/s_cacoshl.c b/math/s_cacoshl.c index dcdb1d5a64..3bcab1d277 100644 --- a/math/s_cacoshl.c +++ b/math/s_cacoshl.c @@ -1,5 +1,5 @@ /* Return arc hyperbole cosine for long double value. - Copyright (C) 1997, 1998, 2006, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -66,10 +66,14 @@ __cacoshl (__complex__ long double x) } /* The factor 16 is just a guess. */ else if (16.0L * fabsl (__imag__ x) < fabsl (__real__ x)) - /* Kahan's formula which avoid cancellation through subtraction in - some cases. */ - res = 2.0L * __clogl (__csqrtl ((x + 1.0L) / 2.0L) - + __csqrtl ((x - 1.0L) / 2.0L)); + { + /* Kahan's formula which avoid cancellation through subtraction in + some cases. */ + res = 2.0L * __clogl (__csqrtl ((x + 1.0L) / 2.0L) + + __csqrtl ((x - 1.0L) / 2.0L)); + if (signbit (__real__ res)) + __real__ res = 0.0L; + } else { __complex__ long double y; diff --git a/math/s_casinh.c b/math/s_casinh.c index e06be1cdc6..24ae676a8f 100644 --- a/math/s_casinh.c +++ b/math/s_casinh.c @@ -1,5 +1,5 @@ /* Return arc hyperbole sine for double value. - Copyright (C) 1997, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -73,6 +73,11 @@ __casinh (__complex__ double x) __imag__ y += __imag__ x; res = __clog (y); + + /* Ensure zeros have correct sign and results are correct if + very close to branch cuts. */ + __real__ res = __copysign (__real__ res, __real__ x); + __imag__ res = __copysign (__imag__ res, __imag__ x); } return res; diff --git a/math/s_casinhf.c b/math/s_casinhf.c index 37c67401a3..c7098ef309 100644 --- a/math/s_casinhf.c +++ b/math/s_casinhf.c @@ -1,5 +1,5 @@ /* Return arc hyperbole sine for float value. - Copyright (C) 1997, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -73,6 +73,11 @@ __casinhf (__complex__ float x) __imag__ y += __imag__ x; res = __clogf (y); + + /* Ensure zeros have correct sign and results are correct if + very close to branch cuts. */ + __real__ res = __copysignf (__real__ res, __real__ x); + __imag__ res = __copysignf (__imag__ res, __imag__ x); } return res; diff --git a/math/s_casinhl.c b/math/s_casinhl.c index de41cb8999..80d7bf500d 100644 --- a/math/s_casinhl.c +++ b/math/s_casinhl.c @@ -1,5 +1,5 @@ /* Return arc hyperbole sine for long double value. - Copyright (C) 1997, 1998, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -73,6 +73,11 @@ __casinhl (__complex__ long double x) __imag__ y += __imag__ x; res = __clogl (y); + + /* Ensure zeros have correct sign and results are correct if + very close to branch cuts. */ + __real__ res = __copysignl (__real__ res, __real__ x); + __imag__ res = __copysignl (__imag__ res, __imag__ x); } return res; diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index c5568b9832..977a3abd14 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -28,13 +28,147 @@ ildouble: 2 ldouble: 1 # cacos +Test "Imaginary part of: cacos (+0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i": +double: 2 +idouble: 2 +Test "Imaginary part of: cacos (+0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (+0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: cacos (+0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (+0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (+0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i": +double: 2 +idouble: 2 +Test "Imaginary part of: cacos (-0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (-0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: cacos (-0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-1.5 + +0 i) == pi - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-1.5 - 0 i) == pi + 0.9624236501192068949955178268487368462704 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 + +0 i) == 1.047197551196597746154214461093167628066 - 0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 - 0 i) == 1.047197551196597746154214461093167628066 + +0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i": float: 1 ifloat: 1 ildouble: 2 ldouble: 2 +Test "Imaginary part of: cacos (1.5 + +0 i) == +0 - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (1.5 - 0 i) == +0 + 0.9624236501192068949955178268487368462704 i": +ildouble: 1 +ldouble: 1 # cacosh +Test "Real part of: cacosh (+0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (+0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + +0 i) == +0 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0 i) == +0 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + pi i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - pi i": +float: 1 +ifloat: 1 Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i": double: 1 float: 9 @@ -52,8 +186,74 @@ ldouble: 1 Test "Real part of: cacosh (0.75 + 1.25 i) == 1.13239363160530819522266333696834467 + 1.11752014915610270578240049553777969 i": ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + +0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - 0 i": +float: 1 +ifloat: 1 # casin +Test "Imaginary part of: casin (+0 + 0.5 i) == +0 + 0.4812118250596034474977589134243684231352 i": +double: 2 +idouble: 2 +Test "Imaginary part of: casin (+0 + 1.0 i) == +0 + 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (+0 + 1.5 i) == +0 + 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: casin (+0 - 0.5 i) == +0 - 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (+0 - 1.0 i) == +0 - 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (+0 - 1.5 i) == +0 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0 + 0.5 i) == -0 + 0.4812118250596034474977589134243684231352 i": +double: 2 +idouble: 2 +Test "Imaginary part of: casin (-0 + 1.0 i) == -0 + 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0 + 1.5 i) == -0 + 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: casin (-0 - 0.5 i) == -0 - 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0 - 1.0 i) == -0 - 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0 - 1.5 i) == -0 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-1.5 + +0 i) == -pi/2 + 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-1.5 - 0 i) == -pi/2 - 0.9624236501192068949955178268487368462704 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i": double: 1 float: 1 @@ -66,8 +266,62 @@ float: 1 ifloat: 1 ildouble: 2 ldouble: 2 +Test "Imaginary part of: casin (1.5 + +0 i) == pi/2 + 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (1.5 - 0 i) == pi/2 - 0.9624236501192068949955178268487368462704 i": +ildouble: 1 +ldouble: 1 # casinh +Test "Real part of: casinh (+0 + 1.5 i) == 0.9624236501192068949955178268487368462704 + pi/2 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (+0 - 1.5 i) == 0.9624236501192068949955178268487368462704 - pi/2 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0 + 1.5 i) == -0.9624236501192068949955178268487368462704 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0 - 1.5 i) == -0.9624236501192068949955178268487368462704 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + +0 i) == -0.4812118250596034474977589134243684231352 + +0 i": +double: 2 +idouble: 2 +Test "Real part of: casinh (-0.5 - 0 i) == -0.4812118250596034474977589134243684231352 - 0 i": +double: 2 +idouble: 2 +Test "Real part of: casinh (-1.0 + +0 i) == -0.8813735870195430252326093249797923090282 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-1.0 - 0 i) == -0.8813735870195430252326093249797923090282 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-1.5 + +0 i) == -1.194763217287109304111930828519090523536 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Real part of: casinh (-1.5 - 0 i) == -1.194763217287109304111930828519090523536 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i": double: 5 float: 1 @@ -82,6 +336,12 @@ idouble: 3 ifloat: 6 ildouble: 5 ldouble: 5 +Test "Real part of: casinh (0.5 + +0 i) == 0.4812118250596034474977589134243684231352 + +0 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0 i) == 0.4812118250596034474977589134243684231352 - 0 i": +float: 1 +ifloat: 1 Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i": float: 1 ifloat: 1 @@ -92,6 +352,22 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (1.0 + +0 i) == 0.8813735870195430252326093249797923090282 + +0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0 i) == 0.8813735870195430252326093249797923090282 - 0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.5 + +0 i) == 1.194763217287109304111930828519090523536 + +0 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.5 - 0 i) == 1.194763217287109304111930828519090523536 - 0 i": +double: 1 +idouble: 1 # catan Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": @@ -1544,8 +1820,16 @@ Function: "atanh": ildouble: 2 ldouble: 1 +Function: Real part of "cacos": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 + Function: Imaginary part of "cacos": +double: 2 float: 1 +idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 @@ -1575,7 +1859,9 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "casin": +double: 2 float: 1 +idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 269dca6d03..867e8dd41f 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -41,13 +41,151 @@ ildouble: 1 ldouble: 1 # cacos +Test "Imaginary part of: cacos (+0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: cacos (+0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (+0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: cacos (+0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (+0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (+0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: cacos (-0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (-0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: cacos (-0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-1.5 + +0 i) == pi - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-1.5 - 0 i) == pi + 0.9624236501192068949955178268487368462704 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 + +0 i) == 1.047197551196597746154214461093167628066 - 0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 - 0 i) == 1.047197551196597746154214461093167628066 + +0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i": float: 1 ifloat: 1 ildouble: 2 ldouble: 2 +Test "Imaginary part of: cacos (1.5 + +0 i) == +0 - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (1.5 - 0 i) == +0 + 0.9624236501192068949955178268487368462704 i": +ildouble: 1 +ldouble: 1 # cacosh +Test "Real part of: cacosh (+0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (+0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + +0 i) == +0 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0 i) == +0 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + pi i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - pi i": +float: 1 +ifloat: 1 Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i": double: 1 float: 7 @@ -65,8 +203,78 @@ ldouble: 1 Test "Real part of: cacosh (0.75 + 1.25 i) == 1.13239363160530819522266333696834467 + 1.11752014915610270578240049553777969 i": ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + +0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - 0 i": +float: 1 +ifloat: 1 # casin +Test "Imaginary part of: casin (+0 + 0.5 i) == +0 + 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: casin (+0 + 1.0 i) == +0 + 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (+0 + 1.5 i) == +0 + 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: casin (+0 - 0.5 i) == +0 - 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (+0 - 1.0 i) == +0 - 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (+0 - 1.5 i) == +0 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0 + 0.5 i) == -0 + 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: casin (-0 + 1.0 i) == -0 + 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0 + 1.5 i) == -0 + 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Imaginary part of: casin (-0 - 0.5 i) == -0 - 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0 - 1.0 i) == -0 - 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0 - 1.5 i) == -0 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-1.5 + +0 i) == -pi/2 + 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-1.5 - 0 i) == -pi/2 - 0.9624236501192068949955178268487368462704 i": +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i": double: 1 float: 1 @@ -79,8 +287,66 @@ float: 1 ifloat: 1 ildouble: 2 ldouble: 2 +Test "Imaginary part of: casin (1.5 + +0 i) == pi/2 + 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (1.5 - 0 i) == pi/2 - 0.9624236501192068949955178268487368462704 i": +ildouble: 1 +ldouble: 1 # casinh +Test "Real part of: casinh (+0 + 1.5 i) == 0.9624236501192068949955178268487368462704 + pi/2 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (+0 - 1.5 i) == 0.9624236501192068949955178268487368462704 - pi/2 i": +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0 + 1.5 i) == -0.9624236501192068949955178268487368462704 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0 - 1.5 i) == -0.9624236501192068949955178268487368462704 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + +0 i) == -0.4812118250596034474977589134243684231352 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Real part of: casinh (-0.5 - 0 i) == -0.4812118250596034474977589134243684231352 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Real part of: casinh (-1.0 + +0 i) == -0.8813735870195430252326093249797923090282 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-1.0 - 0 i) == -0.8813735870195430252326093249797923090282 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-1.5 + +0 i) == -1.194763217287109304111930828519090523536 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +Test "Real part of: casinh (-1.5 - 0 i) == -1.194763217287109304111930828519090523536 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i": double: 5 float: 1 @@ -95,6 +361,12 @@ idouble: 3 ifloat: 6 ildouble: 5 ldouble: 5 +Test "Real part of: casinh (0.5 + +0 i) == 0.4812118250596034474977589134243684231352 + +0 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0 i) == 0.4812118250596034474977589134243684231352 - 0 i": +float: 1 +ifloat: 1 Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i": float: 1 ifloat: 1 @@ -105,6 +377,22 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (1.0 + +0 i) == 0.8813735870195430252326093249797923090282 + +0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0 i) == 0.8813735870195430252326093249797923090282 - 0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.5 + +0 i) == 1.194763217287109304111930828519090523536 + +0 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.5 - 0 i) == 1.194763217287109304111930828519090523536 - 0 i": +double: 1 +idouble: 1 # catan Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": @@ -1498,8 +1786,16 @@ ifloat: 1 ildouble: 1 ldouble: 1 +Function: Real part of "cacos": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 + Function: Imaginary part of "cacos": +double: 2 float: 1 +idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 @@ -1529,7 +1825,9 @@ ildouble: 2 ldouble: 2 Function: Imaginary part of "casin": +double: 2 float: 1 +idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 -- cgit 1.4.1 From af6a1e37554a1245d468ffe44d2c981998a4e0eb Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 7 Mar 2012 20:51:54 +0000 Subject: Fix sysdeps/i386/configure.in cpuid.h test for bootstrapping. --- ChangeLog | 4 + sysdeps/i386/configure | 480 +--------------------------------------------- sysdeps/i386/configure.in | 5 +- 3 files changed, 8 insertions(+), 481 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index e3842807df..d5b96fb828 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2012-03-07 Joseph Myers + * sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no + default includes instead of AC_HEADER_CHECK. + * sysdeps/i386/configure: Regenerated. + [BZ #10716] * math/s_cacosh.c (__cacosh): Convert negative log results to 0. * math/s_cacoshf.c (__cacoshf): Likewise. diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure index bc7900ee2e..49330e389d 100644 --- a/sysdeps/i386/configure +++ b/sysdeps/i386/configure @@ -16,23 +16,6 @@ as_fn_exit () as_fn_set_status $1 exit $1 } # as_fn_exit -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -97,42 +80,6 @@ $as_echo X/"$0" | exit } -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - # ac_fn_c_try_compile LINENO # -------------------------- @@ -172,172 +119,6 @@ fi } # ac_fn_c_try_compile -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in @@ -372,267 +153,8 @@ $as_echo "$ac_res" >&6; } # Local configure fragment for sysdeps/i386. - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "/* No default includes. */ " -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default" if test "x$ac_cv_header_cpuid_h" = xyes; then : else diff --git a/sysdeps/i386/configure.in b/sysdeps/i386/configure.in index 59a4cd6ea1..f769019acf 100644 --- a/sysdeps/i386/configure.in +++ b/sysdeps/i386/configure.in @@ -1,8 +1,9 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # Local configure fragment for sysdeps/i386. -AC_HEADER_CHECK([cpuid.h], , - [AC_MSG_ERROR([gcc must provide the header])]) +AC_CHECK_HEADER([cpuid.h], , + [AC_MSG_ERROR([gcc must provide the header])], + [/* No default includes. */]) AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp, libc_cv_cpp_asm_debuginfo, [dnl -- cgit 1.4.1 From a7a93d5086103f52367d3e9776976eb0b0bc6c7b Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 8 Mar 2012 01:27:38 +0000 Subject: Clean up glibc manual references to "GNU system" (bug 6911). --- ChangeLog | 44 ++++++++++++++++++++++++++++++++++++++++++++ INSTALL | 13 +++++++------ manual/charset.texi | 8 ++++---- manual/conf.texi | 4 ++-- manual/errno.texi | 35 ++++++++++++++++++----------------- manual/filesys.texi | 29 +++++++++++++++-------------- manual/install.texi | 13 +++++++------ manual/intro.texi | 2 +- manual/io.texi | 18 +++++++++--------- manual/job.texi | 2 +- manual/llio.texi | 42 ++++++++++++++++++++++-------------------- manual/macros.texi | 30 ++++++++++++++++++++++++++++++ manual/maint.texi | 2 +- manual/memory.texi | 6 +++--- manual/pattern.texi | 2 +- manual/pipe.texi | 4 ++-- manual/process.texi | 8 ++++---- manual/resource.texi | 3 --- manual/setjmp.texi | 2 +- manual/signal.texi | 20 ++++++++++---------- manual/startup.texi | 4 ++-- manual/stdio.texi | 18 +++++++++--------- manual/terminal.texi | 51 +++++++++++++++++++++++++++++---------------------- manual/time.texi | 12 ++++++------ manual/users.texi | 26 +++++++++++++------------- sysdeps/gnu/errlist.c | 20 ++++++++++---------- 26 files changed, 251 insertions(+), 167 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 80e2040204..9b1fe0ca51 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,49 @@ 2012-03-08 Joseph Myers + [BZ #6911] + * manual/macros.texi (gnusystems): New macro. + (nongnusystems): Likewise. + (gnulinuxhurdsystems): Likewise. + (gnuhurdsystems): Likewise.. + (gnulinuxsystems): Likewise. + * manual/charset.texi: Use new macros or @theglibc{} to refer to + variants of the GNU system, not "GNU system". + * manual/conf.texi: Likewise. + * manual/errno.texi: Likewise. Update example of errno macro + expansion. + * manual/filesys.texi: Likewise. + (getumask): Document as specific to GNU/Hurd. + * manual/install.texi: Likewise. Reword some references to + GNU/Linux. + * manual/intro.texi: Likewise. + * manual/io.texi: Likewise. + (File Name Portability): Detail which constraints are inapplicable + to all GNU systems and which are only inapplicable to GNU/Hurd. + * manual/job.texi: Likewise. + * manual/llio.texi: Likewise. + (O_NOCTTY): Document as present on GNU/Linux. + * manual/maint.texi: Likewise. + * manual/memory.texi: Likewise. + * manual/pattern.texi: Likewise. + * manual/pipe.texi: Likewise. + * manual/process.texi: Likewise. + * manual/resource.texi: Likewise. + (RUSAGE_CHILDREN): Remove statement about specifying a particular + child on GNU/Hurd. + * manual/setjmp.texi: Likewise. + * manual/signal.texi: Likewise. + * manual/startup.texi: Likewise. + * manual/stdio.texi: Likewise. + * manual/terminal.texi: Likewise. + (ONLCR): Document as POSIX. + (OXTABS): Document availability on GNU/Linux as XTABS. + (ONOEOT): Document availability separately from other bits. + (VLNEXT, VDISCARD, VSTATUS): Document availability individually. + * manual/time.texi: Likewise. + * manual/users.texi: Likewise. + * INSTALL: Regenerated. + * sysdeps/gnu/errlist.c: Regenerated. + * aclocal.m4 (LIBC_TRY_LINK_STATIC): New macro. * configure.in (libc_cv_preinit_array): Use LIBC_TRY_LINK_STATIC. (libc_cv_ctors_header): Likewise. Use asm ("") instead of calling diff --git a/INSTALL b/INSTALL index 737a44d462..e0433d459b 100644 --- a/INSTALL +++ b/INSTALL @@ -339,7 +339,7 @@ patches, although we try to avoid this. Specific advice for GNU/Linux systems ===================================== -If you are installing the GNU C Library on a GNU/Linux system, you need +If you are installing the GNU C Library on GNU/Linux systems, you need to have the header files from a 2.6.19.1 or newer kernel around for reference. These headers must be installed using `make headers_install'; the headers present in the kernel source directory @@ -370,11 +370,12 @@ required if not compiling programs using those interfaces. You do not need to copy kernel headers if you did not specify an alternate kernel header source using `--with-headers'. - GNU/Linux expects some components of the GNU C Library installation -to be in `/lib' and some in `/usr/lib'. This is handled automatically -if you configure the GNU C Library with `--prefix=/usr'. If you set -some other prefix or allow it to default to `/usr/local', then all the -components are installed there. + The Filesystem Hierarchy Standard for GNU/Linux systems expects some +components of the GNU C Library installation to be in `/lib' and some +in `/usr/lib'. This is handled automatically if you configure the GNU +C Library with `--prefix=/usr'. If you set some other prefix or allow +it to default to `/usr/local', then all the components are installed +there. You cannot use `nscd' with 2.0 kernels, due to bugs in the kernel-side thread support. `nscd' happens to hit these bugs diff --git a/manual/charset.texi b/manual/charset.texi index 610db90858..97fb2bed2d 100644 --- a/manual/charset.texi +++ b/manual/charset.texi @@ -112,7 +112,7 @@ this type is capable of storing all elements of the basic character set. Therefore it would be legitimate to define @code{wchar_t} as @code{char}, which might make sense for embedded systems. -But for GNU systems @code{wchar_t} is always 32 bits wide and, therefore, +But in @theglibc{} @code{wchar_t} is always 32 bits wide and, therefore, capable of representing all UCS-4 values and, therefore, covering all of @w{ISO 10646}. Some Unix systems define @code{wchar_t} as a 16-bit type and thereby follow Unicode very strictly. This definition is perfectly @@ -393,7 +393,7 @@ We already said above that the currently selected locale for the by the functions we are about to describe. Each locale uses its own character set (given as an argument to @code{localedef}) and this is the one assumed as the external multibyte encoding. The wide character -set is always UCS-4, at least on GNU systems. +set is always UCS-4 in @theglibc{}. A characteristic of each multibyte character set is the maximum number of bytes that can be necessary to represent one character. This @@ -537,8 +537,8 @@ Code using @code{mbsinit} often looks similar to this: The code to emit the escape sequence to get back to the initial state is interesting. The @code{wcsrtombs} function can be used to determine the -necessary output code (@pxref{Converting Strings}). Please note that on -GNU systems it is not necessary to perform this extra action for the +necessary output code (@pxref{Converting Strings}). Please note that with +@theglibc{} it is not necessary to perform this extra action for the conversion from multibyte text to wide character text since the wide character encoding is not stateful. But there is nothing mentioned in any standard that prohibits making @code{wchar_t} using a stateful diff --git a/manual/conf.texi b/manual/conf.texi index bc5b9282a7..2cd41f6c73 100644 --- a/manual/conf.texi +++ b/manual/conf.texi @@ -1185,7 +1185,7 @@ represents the maximum length of a file name string. It is defined in Unlike @code{PATH_MAX}, this macro is defined even if there is no actual limit imposed. In such a case, its value is typically a very large -number. @strong{This is always the case on the GNU system.} +number. @strong{This is always the case on @gnuhurdsystems{}.} @strong{Usage Note:} Don't use @code{FILENAME_MAX} as the size of an array in which to store a file name! You can't possibly make an array @@ -1252,7 +1252,7 @@ particular file, call @code{pathconf} or @code{fpathconf}. Here are the names for the POSIX minimum upper bounds for some of the above parameters. The significance of these values is that you can safely push to these limits without checking whether the particular -system you are using can go that far. In most cases GNU systems do not +system you are using can go that far. In most cases @gnusystems{} do not have these strict limitations. The actual limit should be requested if necessary. diff --git a/manual/errno.texi b/manual/errno.texi index f155db749f..fa88b1e8a1 100644 --- a/manual/errno.texi +++ b/manual/errno.texi @@ -66,8 +66,9 @@ function returns an error. @strong{Portability Note:} @w{ISO C} specifies @code{errno} as a ``modifiable lvalue'' rather than as a variable, permitting it to be implemented as a macro. For example, its expansion might involve a -function call, like @w{@code{*_errno ()}}. In fact, that is what it is -on the GNU system itself. @Theglibc{}, on non-GNU systems, does +function call, like @w{@code{*__errno_location ()}}. In fact, that is +what it is +on @gnulinuxhurdsystems{}. @Theglibc{}, on each system, does whatever is right for the particular system. There are a few library functions, like @code{sqrt} and @code{atan}, @@ -96,10 +97,10 @@ codes of their own for other situations. The only values that are guaranteed to be meaningful for a particular library function are the ones that this manual lists for that function. -On non-GNU systems, almost any system call can return @code{EFAULT} if +Except on @gnuhurdsystems{}, almost any system call can return @code{EFAULT} if it is given an invalid pointer as an argument. Since this could only happen as a result of a bug in your program, and since it will not -happen on the GNU system, we have saved space by not mentioning +happen on @gnuhurdsystems{}, we have saved space by not mentioning @code{EFAULT} in the descriptions of individual functions. In some Unix systems, many system calls can also return @code{EFAULT} if @@ -114,7 +115,7 @@ allocated memory instead of stack memory on that system. @pindex errno.h The error code macros are defined in the header file @file{errno.h}. All of them expand into integer constant values. Some of these error -codes can't occur on the GNU system, but they can occur using @theglibc{} +codes can't occur on @gnusystems{}, but they can occur using @theglibc{} on other systems. @comment errno.h @@ -178,8 +179,8 @@ computer. @comment errno 7 @c DO NOT REMOVE Argument list too long; used when the arguments passed to a new program being executed with one of the @code{exec} functions (@pxref{Executing a -File}) occupy too much memory space. This condition never arises in the -GNU system. +File}) occupy too much memory space. This condition never arises on +@gnuhurdsystems{}. @end deftypevr @comment errno.h @@ -238,7 +239,7 @@ Permission denied; the file permissions do not allow the attempted operation. @deftypevr Macro int EFAULT @comment errno 14 @c DO NOT REMOVE Bad address; an invalid pointer was detected. -In the GNU system, this error never happens; you get a signal instead. +On @gnuhurdsystems{}, this error never happens; you get a signal instead. @end deftypevr @comment errno.h @@ -326,7 +327,7 @@ want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; @comment errno 23 @c DO NOT REMOVE There are too many distinct file openings in the entire system. Note that any number of linked channels count as just one file opening; see -@ref{Linked Channels}. This error never occurs in the GNU system. +@ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}. @end deftypevr @comment errno.h @@ -345,7 +346,7 @@ An attempt to execute a file that is currently open for writing, or write to a file that is currently being executed. Often using a debugger to run a program is considered having it open for writing and will cause this error. (The name stands for ``text file busy''.) This -is not an error in the GNU system; the text is copied as necessary. +is not an error on @gnuhurdsystems{}; the text is copied as necessary. @end deftypevr @comment errno.h @@ -533,7 +534,7 @@ The socket type is not supported. @comment errno 45 @c DO NOT REMOVE The operation you requested is not supported. Some socket functions don't make sense for all types of sockets, and others may not be -implemented for all communications protocols. In the GNU system, this +implemented for all communications protocols. On @gnuhurdsystems{}, this error can happen for many calls when the object does not support the particular operation; it is a generic indication that the server knows nothing to do for that call. @@ -754,7 +755,7 @@ the NFS file system on the local host. An attempt was made to NFS-mount a remote file system with a file name that already specifies an NFS-mounted file. (This is an error on some operating systems, but we expect it to work -properly on the GNU system, making this error code impossible.) +properly on @gnuhurdsystems{}, making this error code impossible.) @end deftypevr @comment errno.h @@ -797,7 +798,7 @@ properly on the GNU system, making this error code impossible.) @deftypevr Macro int ENOLCK @comment errno 77 @c DO NOT REMOVE No locks available. This is used by the file locking facilities; see -@ref{File Locks}. This error is never generated by the GNU system, but +@ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but it can result from an operation to an NFS server running another operating system. @end deftypevr @@ -868,7 +869,7 @@ or an incomplete sequence of bytes or the given wide character is invalid. @comment GNU: Inappropriate operation for background process @deftypevr Macro int EBACKGROUND @comment errno 100 @c DO NOT REMOVE -In the GNU system, servers supporting the @code{term} protocol return +On @gnuhurdsystems{}, servers supporting the @code{term} protocol return this error for certain operations when the caller is not in the foreground process group of the terminal. Users do not usually see this error because functions such as @code{read} and @code{write} translate @@ -880,7 +881,7 @@ for information on process groups and these signals. @comment GNU: Translator died @deftypevr Macro int EDIED @comment errno 101 @c DO NOT REMOVE -In the GNU system, opening a file returns this error when the file is +On @gnuhurdsystems{}, opening a file returns this error when the file is translated by a program and the translator program dies while starting up, before it has connected to the file. @end deftypevr @@ -1346,8 +1347,8 @@ The function @code{perror} is declared in @file{stdio.h}. @end deftypefun @code{strerror} and @code{perror} produce the exact same message for any -given error code; the precise text varies from system to system. On the -GNU system, the messages are fairly short; there are no multi-line +given error code; the precise text varies from system to system. With +@theglibc{}, the messages are fairly short; there are no multi-line messages or embedded newlines. Each error message begins with a capital letter and does not include any terminating punctuation. diff --git a/manual/filesys.texi b/manual/filesys.texi index 872e3710a0..dc570df181 100644 --- a/manual/filesys.texi +++ b/manual/filesys.texi @@ -121,8 +121,8 @@ the buffer. @Theglibc{} provides @code{getwd} only for backwards compatibility with BSD. The @var{buffer} argument should be a pointer to an array at least -@code{PATH_MAX} bytes long (@pxref{Limits for Files}). In the GNU -system there is no limit to the size of a file name, so this is not +@code{PATH_MAX} bytes long (@pxref{Limits for Files}). On @gnuhurdsystems{} +there is no limit to the size of a file name, so this is not necessarily enough space to contain the directory name. That is why this function is deprecated. @end deftypefn @@ -242,7 +242,7 @@ field you can count on in all POSIX systems. @item ino_t d_fileno This is the file serial number. For BSD compatibility, you can also -refer to this member as @code{d_ino}. In the GNU system and most POSIX +refer to this member as @code{d_ino}. On @gnulinuxhurdsystems{} and most POSIX systems, for most files this the same as the @code{st_ino} member that @code{stat} will return for the file. @xref{File Attributes}. @@ -354,7 +354,7 @@ The process has too many files open. @item ENFILE The entire system, or perhaps the file system which contains the directory, cannot support any additional open files at the moment. -(This problem cannot happen on the GNU system.) +(This problem cannot happen on @gnuhurdsystems{}.) @item ENOMEM Not enough memory available. @@ -1075,7 +1075,8 @@ The directory or file system that would contain the new link is full and cannot be extended. @item EPERM -In the GNU system and some others, you cannot make links to directories. +On @gnulinuxhurdsystems{} and some others, you cannot make links to +directories. Many systems allow only privileged users to do so. This error is used to report the problem. @@ -1099,7 +1100,7 @@ A hardware error occurred while trying to read or write the to filesystem. @cindex symbolic link @cindex link, symbolic -The GNU system supports @dfn{soft links} or @dfn{symbolic links}. This +@gnusystems{} support @dfn{soft links} or @dfn{symbolic links}. This is a kind of ``file'' that is essentially a pointer to another file name. Unlike hard links, symbolic links can be made to directories or across file systems with no restrictions. You can also make a symbolic @@ -1352,8 +1353,8 @@ The file name to be deleted doesn't exist. @item EPERM On some systems @code{unlink} cannot be used to delete the name of a directory, or at least can only be used this way by a privileged user. -To avoid such problems, use @code{rmdir} to delete directories. (In the -GNU system @code{unlink} can never delete the name of a directory.) +To avoid such problems, use @code{rmdir} to delete directories. (On +@gnulinuxhurdsystems{} @code{unlink} can never delete the name of a directory.) @item EROFS The directory containing the file name to be deleted is on a read-only @@ -1381,7 +1382,7 @@ The directory to be deleted is not empty. @end table These two error codes are synonymous; some systems use one, and some use -the other. The GNU system always uses @code{ENOTEMPTY}. +the other. @gnulinuxhurdsystems{} always use @code{ENOTEMPTY}. The prototype for this function is declared in the header file @file{unistd.h}. @@ -1458,7 +1459,7 @@ that are the current working directories of processes. @item ENOTEMPTY @itemx EEXIST -The directory @var{newname} isn't empty. The GNU system always returns +The directory @var{newname} isn't empty. @gnulinuxhurdsystems{} always return @code{ENOTEMPTY} for this, but some other systems return @code{EEXIST}. @item EINVAL @@ -2480,16 +2481,16 @@ read_umask (void) @end smallexample @noindent -However, it is better to use @code{getumask} if you just want to read -the mask value, because it is reentrant (at least if you use the GNU -operating system). +However, on @gnuhurdsystems{} it is better to use @code{getumask} if +you just want to read the mask value, because it is reentrant. @end deftypefun @comment sys/stat.h @comment GNU @deftypefun mode_t getumask (void) Return the current value of the file creation mask for the current -process. This function is a GNU extension. +process. This function is a GNU extension and is only available on +@gnuhurdsystems{}. @end deftypefun @comment sys/stat.h diff --git a/manual/install.texi b/manual/install.texi index 03cab71845..00db2b8478 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -58,8 +58,8 @@ directory, especially some files in the manual subdirectory. mandatory is @samp{--prefix}. This option tells @code{configure} where you want @theglibc{} installed. This defaults to @file{/usr/local}, but the normal setting to install as the standard system library is -@samp{--prefix=/usr} for GNU/Linux systems and @samp{--prefix=} (an -empty prefix) for GNU/Hurd systems. +@samp{--prefix=/usr} for @gnulinuxsystems{} and @samp{--prefix=} (an +empty prefix) for @gnuhurdsystems{}. It may also be useful to set the @var{CC} and @var{CFLAGS} variables in the environment when running @code{configure}. @var{CC} selects the C @@ -104,7 +104,7 @@ relative to the build directory (that is, the current working directory). For example, @samp{--enable-add-ons=nptl,../glibc-libidn-@var{version}}. @item --enable-kernel=@var{version} -This option is currently only useful on GNU/Linux systems. The +This option is currently only useful on @gnulinuxsystems{}. The @var{version} parameter should have the form X.Y.Z and describes the smallest version of the Linux kernel the generated library is expected to support. The higher the @var{version} number is, the less @@ -386,10 +386,10 @@ You may also need these packages if you upgrade your source tree using patches, although we try to avoid this. @node Linux -@appendixsec Specific advice for GNU/Linux systems +@appendixsec Specific advice for @gnulinuxsystems{} @cindex kernel header files -If you are installing @theglibc{} on a GNU/Linux system, you need to have +If you are installing @theglibc{} on @gnulinuxsystems{}, you need to have the header files from a 2.6.19.1 or newer kernel around for reference. These headers must be installed using @samp{make headers_install}; the headers present in the kernel source directory are not suitable for @@ -421,7 +421,8 @@ are not required if not compiling programs using those interfaces. You do not need to copy kernel headers if you did not specify an alternate kernel header source using @samp{--with-headers}. -GNU/Linux expects some components of the @glibcadj{} installation to be in +The Filesystem Hierarchy Standard for @gnulinuxsystems{} expects some +components of the @glibcadj{} installation to be in @file{/lib} and some in @file{/usr/lib}. This is handled automatically if you configure @theglibc{} with @samp{--prefix=/usr}. If you set some other prefix or allow it to default to @file{/usr/local}, then all the diff --git a/manual/intro.texi b/manual/intro.texi index bfe30d76e0..4a709edf72 100644 --- a/manual/intro.texi +++ b/manual/intro.texi @@ -12,7 +12,7 @@ programs. @Theglibc{}, described in this document, defines all of the library functions that are specified by the @w{ISO C} standard, as well as additional features specific to POSIX and other derivatives of the Unix -operating system, and extensions specific to the GNU system. +operating system, and extensions specific to @gnusystems{}. The purpose of this manual is to tell you how to use the facilities of @theglibc{}. We have mentioned which features belong to which diff --git a/manual/io.texi b/manual/io.texi index 0286fa4bf9..bd82f76ee8 100644 --- a/manual/io.texi +++ b/manual/io.texi @@ -121,7 +121,7 @@ and formatted output functions (@pxref{Formatted Output}). If you are concerned about portability of your programs to systems other than GNU, you should also be aware that file descriptors are not as portable as streams. You can expect any system running @w{ISO C} to -support streams, but non-GNU systems may not support file descriptors at +support streams, but @nongnusystems{} may not support file descriptors at all, or may only implement a subset of the GNU functions that operate on file descriptors. Most of the file descriptor functions in @theglibc{} are included in the POSIX.1 standard, however. @@ -131,7 +131,7 @@ are included in the POSIX.1 standard, however. One of the attributes of an open file is its @dfn{file position} that keeps track of where in the file the next character is to be read or -written. In the GNU system, and all POSIX.1 systems, the file position +written. On @gnusystems{}, and all POSIX.1 systems, the file position is simply an integer representing the number of bytes from the beginning of the file. @@ -304,7 +304,7 @@ but the empty string is not a meaningful file name. If you want to refer to the current working directory, use a file name of @file{.} or @file{./}. -Unlike some other operating systems, the GNU system doesn't have any +Unlike some other operating systems, @gnusystems{} don't have any built-in support for file types (or extensions) or file versions as part of its file name syntax. Many programs and utilities use conventions for file names---for example, files containing C source code usually @@ -332,7 +332,7 @@ This error is used when either the total length of a file name is greater than @code{PATH_MAX}, or when an individual file name component has a length greater than @code{NAME_MAX}. @xref{Limits for Files}. -In the GNU system, there is no imposed limit on overall file name +On @gnuhurdsystems{}, there is no imposed limit on overall file name length, but some file systems may place limits on the length of a component. @@ -357,7 +357,7 @@ way to detect loops. @xref{Symbolic Links}. @subsection Portability of File Names The rules for the syntax of file names discussed in @ref{File Names}, -are the rules normally used by the GNU system and by other POSIX +are the rules normally used by @gnusystems{} and by other POSIX systems. However, other operating systems may use other conventions. There are two reasons why it can be important for you to be aware of @@ -389,7 +389,7 @@ some operating systems and not by others. The POSIX.1 standard allows implementations to put additional restrictions on file name syntax, concerning what characters are permitted in file names and on the length of file name and file name -component strings. However, in the GNU system, you do not need to worry -about these restrictions; any character except the null character is -permitted in a file name string, and there are no limits on the length -of file name strings. +component strings. However, on @gnusystems{}, any character except +the null character is permitted in a file name string, and +on @gnuhurdsystems{} there are no limits on the length of file name +strings. diff --git a/manual/job.texi b/manual/job.texi index cd16c6c74e..4efeed3451 100644 --- a/manual/job.texi +++ b/manual/job.texi @@ -106,7 +106,7 @@ controlling terminal, @section Job Control is Optional @cindex job control is optional -Not all operating systems support job control. The GNU system does +Not all operating systems support job control. @gnusystems{} do support job control, but if you are using @theglibc{} on some other system, that system may not support job control itself. diff --git a/manual/llio.texi b/manual/llio.texi index f3ed542724..d75fe71502 100644 --- a/manual/llio.texi +++ b/manual/llio.texi @@ -120,7 +120,7 @@ The maximum number of file descriptors is controlled by the @item ENFILE The entire system, or perhaps the file system which contains the directory, cannot support any additional open files at the moment. -(This problem cannot happen on the GNU system.) +(This problem cannot happen on @gnuhurdsystems{}.) @item ENOENT The named file does not exist, and @code{O_CREAT} is not specified. @@ -341,8 +341,8 @@ file can also fail with @code{EAGAIN} if the kernel cannot find enough physical memory to lock down the user's pages. This is limited to devices that transfer with direct memory access into the user's memory, which means it does not include terminals, since they always use -separate buffers inside the kernel. This problem never happens in the -GNU system. +separate buffers inside the kernel. This problem never happens on +@gnuhurdsystems{}. Any condition that could result in @code{EAGAIN} can instead result in a successful @code{read} which returns fewer bytes than requested. @@ -492,8 +492,8 @@ file can also fail with @code{EAGAIN} if the kernel cannot find enough physical memory to lock down the user's pages. This is limited to devices that transfer with direct memory access into the user's memory, which means it does not include terminals, since they always use -separate buffers inside the kernel. This problem does not arise in the -GNU system. +separate buffers inside the kernel. This problem does not arise on +@gnuhurdsystems{}. @item EBADF The @var{filedes} argument is not a valid file descriptor, @@ -687,7 +687,7 @@ file offset is not valid. A file offset is invalid. @item ESPIPE The @var{filedes} corresponds to an object that cannot be positioned, such as a pipe, FIFO or terminal device. (POSIX.1 specifies this error -only for pipes and FIFOs, but in the GNU system, you always get +only for pipes and FIFOs, but on @gnusystems{}, you always get @code{ESPIPE} if the object is not seekable.) @end table @@ -830,7 +830,7 @@ The @code{fdopen} function returns a new stream for the file descriptor The @var{opentype} argument is interpreted in the same way as for the @code{fopen} function (@pxref{Opening Streams}), except that -the @samp{b} option is not permitted; this is because GNU makes no +the @samp{b} option is not permitted; this is because @gnusystems{} make no distinction between text and binary files. Also, @code{"w"} and @code{"w+"} do not cause truncation of the file; these have an effect only when opening a file, and in this case the file has already been opened. @@ -2154,7 +2154,7 @@ the moment. The error status for each element of @var{list} must be checked to determine which request failed. Another reason could be that the system wide limit of AIO requests is -exceeded. This cannot be the case for the implementation on GNU systems +exceeded. This cannot be the case for the implementation on @gnusystems{} since no arbitrary limits exist. @item EINVAL The @var{mode} parameter is invalid or @var{nent} is larger than @@ -2895,7 +2895,7 @@ The symbols in this section are defined in the header file @subsection File Access Modes The file access modes allow a file descriptor to be used for reading, -writing, or both. (In the GNU system, they can also allow none of these, +writing, or both. (On @gnuhurdsystems{}, they can also allow none of these, and allow execution of the file as a program.) The access modes are chosen when the file is opened, and never change. @@ -2917,13 +2917,13 @@ Open the file for write access. Open the file for both reading and writing. @end deftypevr -In the GNU system (and not in other systems), @code{O_RDONLY} and +On @gnuhurdsystems{} (and not on other systems), @code{O_RDONLY} and @code{O_WRONLY} are independent bits that can be bitwise-ORed together, and it is valid for either bit to be set or clear. This means that @code{O_RDWR} is the same as @code{O_RDONLY|O_WRONLY}. A file access mode of zero is permissible; it allows no operations that do input or output to the file, but does allow other operations such as -@code{fchmod}. On the GNU system, since ``read-only'' or ``write-only'' +@code{fchmod}. On @gnuhurdsystems{}, since ``read-only'' or ``write-only'' is a misnomer, @file{fcntl.h} defines additional names for the file access modes. These names are preferred when writing GNU-specific code. But most programs will want to be portable to other POSIX.1 systems and @@ -2948,8 +2948,9 @@ Open the file for executing. Only defined on GNU. @end deftypevr To determine the file access mode with @code{fcntl}, you must extract -the access mode bits from the retrieved file status flags. In the GNU -system, you can just test the @code{O_READ} and @code{O_WRITE} bits in +the access mode bits from the retrieved file status flags. On +@gnuhurdsystems{}, +you can just test the @code{O_READ} and @code{O_WRITE} bits in the flags word. But in other POSIX.1 systems, reading and writing access modes are not stored as distinct bit flags. The portable way to extract the file access mode bits is with @code{O_ACCMODE}. @@ -2960,7 +2961,7 @@ extract the file access mode bits is with @code{O_ACCMODE}. This macro stands for a mask that can be bitwise-ANDed with the file status flag value to produce a value representing the file access mode. The mode will be @code{O_RDONLY}, @code{O_WRONLY}, or @code{O_RDWR}. -(In the GNU system it could also be zero, and it never includes the +(On @gnuhurdsystems{} it could also be zero, and it never includes the @code{O_EXEC} bit.) @end deftypevr @@ -3033,15 +3034,16 @@ If the named file is a terminal device, don't make it the controlling terminal for the process. @xref{Job Control}, for information about what it means to be the controlling terminal. -In the GNU system and 4.4 BSD, opening a file never makes it the -controlling terminal and @code{O_NOCTTY} is zero. However, other -systems may use a nonzero value for @code{O_NOCTTY} and set the +On @gnuhurdsystems{} and 4.4 BSD, opening a file never makes it the +controlling terminal and @code{O_NOCTTY} is zero. However, @gnulinuxsystems{} +and some other systems use a nonzero value for @code{O_NOCTTY} and set the controlling terminal when you open a file that is a terminal device; so to be portable, use @code{O_NOCTTY} when it is important to avoid this. @cindex controlling terminal, setting @end deftypevr -The following three file name translation flags exist only in the GNU system. +The following three file name translation flags exist only on +@gnuhurdsystems{}. @comment fcntl.h @comment GNU @@ -3417,7 +3419,7 @@ function: The lock cannot be set because it is blocked by an existing lock on the file. Some systems use @code{EAGAIN} in this case, and other systems use @code{EACCES}; your program should treat them alike, after -@code{F_SETLK}. (The GNU system always uses @code{EAGAIN}.) +@code{F_SETLK}. (@gnulinuxhurdsystems{} always use @code{EAGAIN}.) @item EBADF Either: the @var{filedes} argument is invalid; you requested a read lock @@ -3594,7 +3596,7 @@ There is no process or process group corresponding to @var{pid}. @cindex generic i/o control operations @cindex IOCTLs -The GNU system can handle most input/output operations on many different +@gnusystems{} can handle most input/output operations on many different devices and objects in terms of a few file primitives - @code{read}, @code{write} and @code{lseek}. However, most devices also have a few peculiar operations which do not fit into this model. Such as: diff --git a/manual/macros.texi b/manual/macros.texi index c9b73d3c56..daaf1c0aad 100644 --- a/manual/macros.texi +++ b/manual/macros.texi @@ -17,4 +17,34 @@ the GNU C Library GNU C Library @end macro +@c Description applying to all GNU systems; that is, used in +@c describing a property of a system such that no system without that +@c property would be considered a variant of the GNU system. +@macro gnusystems +GNU systems +@end macro + +@c Systems that are not GNU systems. +@macro nongnusystems +non-GNU systems +@end macro + +@c Description applying to GNU/Linux and GNU/Hurd systems, but not +@c necessarily to other variants of the GNU system. +@macro gnulinuxhurdsystems +GNU/Linux and GNU/Hurd systems +@end macro + +@c Descrption applying to GNU/Hurd systems; that is, systems using the +@c GNU Hurd with the GNU C Library. +@macro gnuhurdsystems +GNU/Hurd systems +@end macro + +@c Descrption applying to GNU/Linux systems; that is, systems using +@c the Linux kernel with the GNU C Library. +@macro gnulinuxsystems +GNU/Linux systems +@end macro + @end ifclear diff --git a/manual/maint.texi b/manual/maint.texi index 0c2ed5923e..e1fdbdbd2c 100644 --- a/manual/maint.texi +++ b/manual/maint.texi @@ -399,7 +399,7 @@ This directory is for @code{socket} and related functions on Unix systems. @item mach This is the directory for things based on the Mach microkernel from CMU -(including the GNU operating system). Other basic operating systems +(including @gnuhurdsystems{}). Other basic operating systems (VMS, for example) would have their own directories at the top level of the @file{sysdeps} hierarchy, parallel to @file{unix} and @file{mach}. @end table diff --git a/manual/memory.texi b/manual/memory.texi index ce32af066b..35fed23c7f 100644 --- a/manual/memory.texi +++ b/manual/memory.texi @@ -379,7 +379,7 @@ savestring (const char *ptr, size_t len) @end smallexample The block that @code{malloc} gives you is guaranteed to be aligned so -that it can hold any type of data. In the GNU system, the address is +that it can hold any type of data. On @gnusystems{}, the address is always a multiple of eight on most systems, and a multiple of 16 on 64-bit systems. Only rarely is any higher boundary (such as a page boundary) necessary; for those cases, use @code{memalign}, @@ -614,7 +614,7 @@ after calling @code{free} wastes memory. The size threshold for @cindex alignment (with @code{malloc}) @pindex stdlib.h The address of a block returned by @code{malloc} or @code{realloc} in -the GNU system is always a multiple of eight (or sixteen on 64-bit +@gnusystems{} is always a multiple of eight (or sixteen on 64-bit systems). If you need a block whose address is a multiple of a higher power of two than that, use @code{memalign}, @code{posix_memalign}, or @code{valloc}. @code{memalign} is declared in @file{malloc.h} and @@ -2295,7 +2295,7 @@ the one you would get from an infinite recursion; probably a segmentation violation (@pxref{Program Error Signals}). @item -Some non-GNU systems fail to support @code{alloca}, so it is less +Some @nongnusystems{} fail to support @code{alloca}, so it is less portable. However, a slower emulation of @code{alloca} written in C is available for use on systems with this deficiency. @end itemize diff --git a/manual/pattern.texi b/manual/pattern.texi index 48eba75cd4..28b1d74b9f 100644 --- a/manual/pattern.texi +++ b/manual/pattern.texi @@ -670,7 +670,7 @@ type @code{glob64_t} which were allocated by @code{glob64}. @Theglibc{} supports two interfaces for matching regular expressions. One is the standard POSIX.2 interface, and the other is -what the GNU system has had for many years. +what @theglibc{} has had for many years. Both interfaces are declared in the header file @file{regex.h}. If you define @w{@code{_POSIX_C_SOURCE}}, then only the POSIX.2 diff --git a/manual/pipe.texi b/manual/pipe.texi index 67e446f2d1..21a8a34978 100644 --- a/manual/pipe.texi +++ b/manual/pipe.texi @@ -74,8 +74,8 @@ The process has too many files open. @item ENFILE There are too many open files in the entire system. @xref{Error Codes}, -for more information about @code{ENFILE}. This error never occurs in -the GNU system. +for more information about @code{ENFILE}. This error never occurs on +@gnuhurdsystems{}. @end table @end deftypefun diff --git a/manual/process.texi b/manual/process.texi index 45d3ed45b9..e962941503 100644 --- a/manual/process.texi +++ b/manual/process.texi @@ -350,8 +350,8 @@ file name searching as the @code{execvp} function. @end deftypefun The size of the argument list and environment list taken together must -not be greater than @code{ARG_MAX} bytes. @xref{General Limits}. In -the GNU system, the size (which compares against @code{ARG_MAX}) +not be greater than @code{ARG_MAX} bytes. @xref{General Limits}. On +@gnuhurdsystems{}, the size (which compares against @code{ARG_MAX}) includes, for each string, the number of characters in the string, plus the size of a @code{char *}, plus one, rounded up to a multiple of the size of a @code{char *}. Other systems may have somewhat different @@ -366,7 +366,7 @@ usual file name errors (@pxref{File Name Errors}), the following @table @code @item E2BIG The combined size of the new program's argument list and environment -list is larger than @code{ARG_MAX} bytes. The GNU system has no +list is larger than @code{ARG_MAX} bytes. @gnuhurdsystems{} have no specific limit on the argument list size, so this error code cannot result, but you may get @code{ENOMEM} instead if the arguments are too big for available memory. @@ -406,7 +406,7 @@ Pending alarms. @xref{Setting an Alarm}. @item Current working directory and root directory. @xref{Working -Directory}. In the GNU system, the root directory is not copied when +Directory}. On @gnuhurdsystems{}, the root directory is not copied when executing a setuid program; instead the system default root directory is used for the new program. diff --git a/manual/resource.texi b/manual/resource.texi index 1e2fcaf958..cb25d2440c 100644 --- a/manual/resource.texi +++ b/manual/resource.texi @@ -42,9 +42,6 @@ Just the current process. All child processes (direct and indirect) that have already terminated. @end table -In the GNU system, you can also inquire about a particular child process -by specifying its process ID. - The return value of @code{getrusage} is zero for success, and @code{-1} for failure. diff --git a/manual/setjmp.texi b/manual/setjmp.texi index cc76352553..b0cd91ad1d 100644 --- a/manual/setjmp.texi +++ b/manual/setjmp.texi @@ -182,7 +182,7 @@ behavior. The behavior of @code{setjmp} and @code{longjmp} in @theglibc{} is controlled by feature test macros; see @ref{Feature Test Macros}. The -default in the GNU system is the POSIX.1 behavior rather than the BSD +default in @theglibc{} is the POSIX.1 behavior rather than the BSD behavior. The facilities in this section are declared in the header file diff --git a/manual/signal.texi b/manual/signal.texi index 9d5e26ce3d..18db3d2266 100644 --- a/manual/signal.texi +++ b/manual/signal.texi @@ -274,7 +274,7 @@ When one of these program error signals terminates a process, it also writes a @dfn{core dump file} which records the state of the process at the time of termination. The core dump file is named @file{core} and is written in whichever directory is current in the process at the time. -(On the GNU system, you can specify the file name for core dumps with +(On @gnuhurdsystems{}, you can specify the file name for core dumps with the environment variable @code{COREFILE}.) The purpose of core dump files is so that you can examine them with a debugger to investigate what caused the error. @@ -309,7 +309,7 @@ this argument, you must define the handler to accept two arguments, which means you must cast it to a one-argument function type in order to establish the handler. @Theglibc{} does provide this extra argument, but the value is meaningful only on operating systems that -provide the information (BSD systems and GNU systems). +provide the information (BSD systems and @gnusystems{}). @table @code @comment signal.h @@ -625,7 +625,7 @@ On most operating systems, terminals and sockets are the only kinds of files that can generate @code{SIGIO}; other kinds, including ordinary files, never generate @code{SIGIO} even if you ask them to. -In the GNU system @code{SIGIO} will always be generated properly +On @gnusystems{} @code{SIGIO} will always be generated properly if you successfully set asynchronous mode with @code{fcntl}. @end deftypevr @@ -759,14 +759,14 @@ process would probably not be very useful, since there is no shell program that will notice it stop and allow the user to continue it. What happens instead depends on the operating system you are using. Some systems may do nothing; others may deliver another signal instead, -such as @code{SIGKILL} or @code{SIGHUP}. In the GNU system, the process +such as @code{SIGKILL} or @code{SIGHUP}. On @gnuhurdsystems{}, the process dies with @code{SIGKILL}; this avoids the problem of many stopped, orphaned processes lying around the system. @ignore -On the GNU system, it is possible to reattach to the orphaned process +On @gnuhurdsystems{}, it is possible to reattach to the orphaned process group and continue it, so stop signals do stop the process as usual on -a GNU system unless you have requested POSIX compatibility ``till it +@gnuhurdsystems{} unless you have requested POSIX compatibility ``till it hurts.'' @end ignore @@ -805,7 +805,7 @@ that isn't connected. @xref{Sending Data}. Resource lost. This signal is generated when you have an advisory lock on an NFS file, and the NFS server reboots and forgets about your lock. -In the GNU system, @code{SIGLOST} is generated when any server program +On @gnuhurdsystems{}, @code{SIGLOST} is generated when any server program dies unexpectedly. It is usually fine to ignore the signal; whatever call was made to the server that died just returns an error. @end deftypevr @@ -864,7 +864,7 @@ reformat its display accordingly. @comment signal.h @comment BSD @deftypevr Macro int SIGINFO -Information request. In 4.4 BSD and the GNU system, this signal is sent +Information request. On 4.4 BSD and @gnuhurdsystems{}, this signal is sent to all the processes in the foreground process group of the controlling terminal when the user types the STATUS character in canonical mode; @pxref{Signal Characters}. @@ -1223,7 +1223,7 @@ examine it with @code{sigaction}, the handler address that you get may not be the same as what you specified with @code{signal}. It may not even be suitable for use as an action argument with @code{signal}. But you can rely on using it as an argument to @code{sigaction}. This -problem never happens on the GNU system. +problem never happens on @gnusystems{}. So, you're better off using one or the other of the mechanisms consistently within a single program. @@ -1894,7 +1894,7 @@ could ``lose'' one of the objects. @ignore !!! not true -On the GNU system, @code{malloc} and @code{free} are safe to use in +In @theglibc{}, @code{malloc} and @code{free} are safe to use in signal handlers because they block signals. As a result, the library functions that allocate space for a result are also safe in signal handlers. The obstack allocation functions are safe as long as you diff --git a/manual/startup.texi b/manual/startup.texi index caf8156a95..93dca303ca 100644 --- a/manual/startup.texi +++ b/manual/startup.texi @@ -169,7 +169,7 @@ To specify an argument for a long option, write @samp{--@var{name}=@var{value}}. This syntax enables a long option to accept an argument that is itself optional. -Eventually, the GNU system will provide completion for long option names +Eventually, @gnusystems{} will provide completion for long option names in the shell. @node Parsing Program Arguments, , Argument Syntax, Program Arguments @@ -423,7 +423,7 @@ If you just want to get the value of an environment variable, use @code{getenv}. @end deftypevar -Unix systems, and the GNU system, pass the initial value of +Unix systems, and @gnusystems{}, pass the initial value of @code{environ} as the third argument to @code{main}. @xref{Program Arguments}. diff --git a/manual/stdio.texi b/manual/stdio.texi index dd4d064c4b..0d23daae2c 100644 --- a/manual/stdio.texi +++ b/manual/stdio.texi @@ -110,7 +110,7 @@ diagnostics issued by the program. @end deftypevar @cindex standard error stream -In the GNU system, you can specify what files or processes correspond to +On @gnusystems{}, you can specify what files or processes correspond to these streams using the pipe and redirection facilities provided by the shell. (The primitives shells use to implement these facilities are described in @ref{File System Interface}.) Most other operating systems @@ -206,7 +206,7 @@ Closing Files}). The character @samp{b} in @var{opentype} has a standard meaning; it requests a binary stream rather than a text stream. But this makes no -difference in POSIX systems (including the GNU system). If both +difference in POSIX systems (including @gnusystems{}). If both @samp{+} and @samp{b} are specified, they can appear in either order. @xref{Binary Streams}. @@ -2174,7 +2174,7 @@ The @samp{%p} conversion prints a pointer value. The corresponding argument must be of type @code{void *}. In practice, you can use any type of pointer. -In the GNU system, non-null pointers are printed as unsigned integers, +In @theglibc{}, non-null pointers are printed as unsigned integers, as if a @samp{%#x} conversion were used. Null pointers print as @samp{(nil)}. (Pointers might print differently in other systems.) @@ -4045,7 +4045,7 @@ descriptor is not usually advisable. @node Binary Streams @section Text and Binary Streams -The GNU system and other POSIX-compatible operating systems organize all +@gnusystems{} and other POSIX-compatible operating systems organize all files as uniform sequences of characters. However, some other systems make a distinction between files containing text and files containing binary data, and the input and output facilities of @w{ISO C} provide for @@ -4108,7 +4108,7 @@ restrictions that text streams sometimes have. The @dfn{file position} of a stream describes where in the file the stream is currently reading or writing. I/O on the stream advances the -file position through the file. In the GNU system, the file position is +file position through the file. On @gnusystems{}, the file position is represented as an integer, which counts the number of bytes from the beginning of the file. @xref{File Position}. @@ -4301,7 +4301,7 @@ An alias for @code{SEEK_END}. @node Portable Positioning @section Portable File-Position Functions -On the GNU system, the file position is truly a character count. You +On @gnusystems{}, the file position is truly a character count. You can specify any character count value as an argument to @code{fseek} or @code{fseeko} and get reliable results for any random access file. However, some @w{ISO C} systems do not represent file positions in this @@ -4361,7 +4361,7 @@ This is the type of an object that can encode information about the file position of a stream, for use by the functions @code{fgetpos} and @code{fsetpos}. -In the GNU system, @code{fpos_t} is an opaque data structure that +In @theglibc{}, @code{fpos_t} is an opaque data structure that contains internal data to represent file offset and conversion state information. In other systems, it might have a different internal representation. @@ -4378,7 +4378,7 @@ This is the type of an object that can encode information about the file position of a stream, for use by the functions @code{fgetpos64} and @code{fsetpos64}. -In the GNU system, @code{fpos64_t} is an opaque data structure that +In @theglibc{}, @code{fpos64_t} is an opaque data structure that contains internal data to represent file offset and conversion state information. In other systems, it might have a different internal representation. @@ -4578,7 +4578,7 @@ This function is declared in the @file{stdio_ext.h} header. been known to be so thoroughly fixated on line-oriented input and output that flushing a line buffered stream causes a newline to be written! Fortunately, this ``feature'' seems to be becoming less common. You do -not need to worry about this in the GNU system. +not need to worry about this with @theglibc{}. In some situations it might be useful to not flush the output pending for a stream but instead simply forget it. If transmission is costly diff --git a/manual/terminal.texi b/manual/terminal.texi index c93082dfe1..8321237f60 100644 --- a/manual/terminal.texi +++ b/manual/terminal.texi @@ -319,7 +319,7 @@ This is like @code{TCSADRAIN}, but also discards any queued input. This is a flag bit that you can add to any of the above alternatives. Its meaning is to inhibit alteration of the state of the terminal hardware. It is a BSD extension; it is only supported on BSD systems -and the GNU system. +and @gnuhurdsystems{}. Using @code{TCSASOFT} is exactly the same as setting the @code{CIGNORE} bit in the @code{c_cflag} member of the structure @var{termios-p} points @@ -574,7 +574,8 @@ If this bit is set, any input character restarts output when output has been suspended with the STOP character. Otherwise, only the START character restarts output. -This is a BSD extension; it exists only on BSD systems and the GNU system. +This is a BSD extension; it exists only on BSD systems and +@gnulinuxhurdsystems{}. @end deftypevr @comment termios.h @@ -611,12 +612,10 @@ carriage return and linefeed pairs. If this bit isn't set, the characters are transmitted as-is. @end deftypevr -The following three bits are BSD features, and they exist only BSD -systems and the GNU system. They are effective only if @code{OPOST} is -set. +The following three bits are effective only if @code{OPOST} is set. @comment termios.h -@comment BSD +@comment POSIX.1 @deftypevr Macro tcflag_t ONLCR If this bit is set, convert the newline character on output into a pair of characters, carriage return followed by linefeed. @@ -626,7 +625,9 @@ of characters, carriage return followed by linefeed. @comment BSD @deftypevr Macro tcflag_t OXTABS If this bit is set, convert tab characters on output into the appropriate -number of spaces to emulate a tab stop every eight columns. +number of spaces to emulate a tab stop every eight columns. This bit +exists only on BSD systems and @gnuhurdsystems{}; on +@gnulinuxsystems{} it is available as @code{XTABS}. @end deftypevr @comment termios.h @@ -634,6 +635,7 @@ number of spaces to emulate a tab stop every eight columns. @deftypevr Macro tcflag_t ONOEOT If this bit is set, discard @kbd{C-d} characters (code @code{004}) on output. These characters cause many dial-up terminals to disconnect. +This bit exists only on BSD systems and @gnuhurdsystems{}. @end deftypevr @node Control Modes @@ -747,8 +749,8 @@ This specifies seven bits per byte. This specifies eight bits per byte. @end deftypevr -The following four bits are BSD extensions; this exist only on BSD -systems and the GNU system. +The following four bits are BSD extensions; these exist only on BSD +systems and @gnuhurdsystems{}. @comment termios.h @comment BSD @@ -839,8 +841,8 @@ character erased. Typing the ERASE character again just prints the next character erased. Then, the next time you type a normal character, a @samp{/} character is printed before the character echoes. -This is a BSD extension, and exists only in BSD systems and the -GNU system. +This is a BSD extension, and exists only in BSD systems and +@gnulinuxhurdsystems{}. @end deftypevr @comment termios.h @@ -865,8 +867,8 @@ input, without which @code{ECHOK} is simply irrelevant. @deftypevr Macro tcflag_t ECHOKE This bit is similar to @code{ECHOK}. It enables special display of the KILL character by erasing on the screen the entire line that has been -killed. This is a BSD extension, and exists only in BSD systems and the -GNU system. +killed. This is a BSD extension, and exists only in BSD systems and +@gnulinuxhurdsystems{}. @end deftypevr @comment termios.h @@ -886,8 +888,8 @@ Thus, control-A echoes as @samp{^A}. This is usually the preferred mode for interactive input, because echoing a control character back to the terminal could have some undesired effect on the terminal. -This is a BSD extension, and exists only in BSD systems and the -GNU system. +This is a BSD extension, and exists only in BSD systems and +@gnulinuxhurdsystems{}. @end deftypevr @comment termios.h @@ -914,7 +916,8 @@ signals associated with these characters, or to escape from the program. POSIX.1 gives @code{IEXTEN} implementation-defined meaning, so you cannot rely on this interpretation on all systems. -On BSD systems and the GNU system, it enables the LNEXT and DISCARD characters. +On BSD systems and @gnulinuxhurdsystems{}, it enables the LNEXT and +DISCARD characters. @xref{Other Special}. @end deftypevr @@ -934,8 +937,8 @@ If this bit is set and the system supports job control, then attempt to write to the terminal. @xref{Access to the Terminal}. @end deftypevr -The following bits are BSD extensions; they exist only in BSD systems -and the GNU system. +The following bits are BSD extensions; they exist only on BSD systems +and @gnuhurdsystems{}. @comment termios.h @comment BSD @@ -1245,7 +1248,7 @@ terminate an input line, by setting EOL to one of them and EOL2 to the other. The EOL2 character is a BSD extension; it exists only on BSD systems -and the GNU system. +and @gnulinuxhurdsystems{}. @end deftypevr @comment termios.h @@ -1404,7 +1407,7 @@ The DSUSP (suspend) character is recognized only if the implementation supports job control (@pxref{Job Control}). It sends a @code{SIGTSTP} signal, like the SUSP character, but not right away---only when the program tries to read it as input. Not all systems with job control -support DSUSP; only BSD-compatible systems (including the GNU system). +support DSUSP; only BSD-compatible systems (including @gnuhurdsystems{}). @xref{Signal Handling}, for more information about signals. @@ -1461,8 +1464,6 @@ regardless of what you specify. @node Other Special @subsubsection Other Special Characters -These special characters exist only in BSD systems and the GNU system. - @comment termios.h @comment BSD @deftypevr Macro int VLNEXT @@ -1479,6 +1480,8 @@ signal, it is read as a plain character. This is the analogue of the @kbd{C-q} command in Emacs. ``LNEXT'' stands for ``literal next.'' The LNEXT character is usually @kbd{C-v}. + +This character is available on BSD systems and @gnulinuxhurdsystems{}. @end deftypevr @comment termios.h @@ -1494,6 +1497,8 @@ in both canonical and noncanonical mode. Its effect is to toggle the discard-output flag. When this flag is set, all program output is discarded. Setting the flag also discards all output currently in the output buffer. Typing any other character resets the flag. + +This character is available on BSD systems and @gnulinuxhurdsystems{}. @end deftypevr @comment termios.h @@ -1509,6 +1514,8 @@ the current process is running. The STATUS character is recognized only in canonical mode, and only if @code{NOKERNINFO} is not set. + +This character is available only on BSD systems and @gnuhurdsystems{}. @end deftypevr @node Noncanonical Input diff --git a/manual/time.texi b/manual/time.texi index a2e11a1a9d..a410def3eb 100644 --- a/manual/time.texi +++ b/manual/time.texi @@ -84,7 +84,7 @@ time between calendar time @var{time1} and calendar time @var{time0}, as a value of type @code{double}. The difference ignores leap seconds unless leap second support is enabled. -In the GNU system, you can simply subtract @code{time_t} values. But on +In @theglibc{}, you can simply subtract @code{time_t} values. But on other systems, the @code{time_t} data type might use some other encoding where subtraction doesn't work directly. @end deftypefun @@ -163,7 +163,7 @@ you can get the information with the functions in this section. CPU time (@pxref{Time Basics}) is represented by the data type @code{clock_t}, which is a number of @dfn{clock ticks}. It gives the total amount of time a process has actively used a CPU since some -arbitrary event. On the GNU system, that event is the creation of the +arbitrary event. On @gnusystems{}, that event is the creation of the process. While arbitrary in general, the event is always the same event for any particular process, so you can always measure how much time on the CPU a particular computation takes by examining the process' CPU @@ -172,7 +172,7 @@ time before and after the computation. @cindex clock ticks @cindex ticks, clock -In the GNU system, @code{clock_t} is equivalent to @code{long int} and +On @gnulinuxhurdsystems{}, @code{clock_t} is equivalent to @code{long int} and @code{CLOCKS_PER_SEC} is an integer value. But in other systems, both @code{clock_t} and the macro @code{CLOCKS_PER_SEC} can be either integer or floating-point types. Casting CPU time values to @code{double}, as @@ -319,7 +319,7 @@ indicate failure. @strong{Portability Note:} The @code{clock} function described in @ref{CPU Time} is specified by the @w{ISO C} standard. The -@code{times} function is a feature of POSIX.1. In the GNU system, the +@code{times} function is a feature of POSIX.1. On @gnusystems{}, the CPU time is defined to be equivalent to the sum of the @code{tms_utime} and @code{tms_stime} fields returned by @code{times}. @@ -487,7 +487,7 @@ following @code{errno} error condition is defined for this function: @table @code @item ENOSYS The operating system does not support getting time zone information, and -@var{tzp} is not a null pointer. The GNU operating system does not +@var{tzp} is not a null pointer. @gnusystems{} do not support using @w{@code{struct timezone}} to represent time zone information; that is an obsolete feature of 4.3 BSD. Instead, use the facilities described in @ref{Time Zone Functions}. @@ -2462,7 +2462,7 @@ handler. And, if @code{sleep} is interrupted by delivery of a signal whose handler requests an alarm or alters the handling of @code{SIGALRM}, this handler and @code{sleep} will interfere. -On the GNU system, it is safe to use @code{sleep} and @code{SIGALRM} in +On @gnusystems{}, it is safe to use @code{sleep} and @code{SIGALRM} in the same program, because @code{sleep} does not work by means of @code{SIGALRM}. diff --git a/manual/users.texi b/manual/users.texi index 819d35fcc4..1ee5a0b178 100644 --- a/manual/users.texi +++ b/manual/users.texi @@ -884,7 +884,7 @@ The exit status of the process. @deftp {Data Type} {struct utmp} The @code{utmp} data structure is used to hold information about entries -in the user accounting database. On the GNU system it has the following +in the user accounting database. On @gnusystems{} it has the following members: @table @code @@ -1217,7 +1217,7 @@ database specified by @var{wtmp_file}. For possible values for the subset of these functions, they are not standardized. There are often subtle differences in the return types, and there are considerable differences between the various definitions of @code{struct utmp}. When -programming for the GNU system, it is probably best to stick +programming for @theglibc{}, it is probably best to stick with the functions described in this section. If however, you want your program to be portable, consider using the XPG functions described in @ref{XPG Functions}, or take a look at the BSD compatible functions in @@ -1257,14 +1257,14 @@ Time the entry was made. For entries of type @code{OLD_TIME} this is the time when the system clock changed, and for entries of type @code{NEW_TIME} this is the time the system clock was set to. @end table -On the GNU system, @code{struct utmpx} is identical to @code{struct +In @theglibc{}, @code{struct utmpx} is identical to @code{struct utmp} except for the fact that including @file{utmpx.h} does not make visible the declaration of @code{struct exit_status}. @end deftp The following macros are defined for use as values for the @code{ut_type} member of the @code{utmpx} structure. The values are -integer constants and are, on the GNU system, identical to the +integer constants and are, in @theglibc{}, identical to the definitions in @file{utmp.h}. @table @code @@ -1330,7 +1330,7 @@ can be found using the @code{sizeof} operator. @comment utmpx.h @comment XPG4.2 @deftypefun void setutxent (void) -This function is similar to @code{setutent}. On the GNU system it is +This function is similar to @code{setutent}. In @theglibc{} it is simply an alias for @code{setutent}. @end deftypefun @@ -1338,14 +1338,14 @@ simply an alias for @code{setutent}. @comment XPG4.2 @deftypefun {struct utmpx *} getutxent (void) The @code{getutxent} function is similar to @code{getutent}, but returns -a pointer to a @code{struct utmpx} instead of @code{struct utmp}. On -the GNU system it simply is an alias for @code{getutent}. +a pointer to a @code{struct utmpx} instead of @code{struct utmp}. In +@theglibc{} it simply is an alias for @code{getutent}. @end deftypefun @comment utmpx.h @comment XPG4.2 @deftypefun void endutxent (void) -This function is similar to @code{endutent}. On the GNU system it is +This function is similar to @code{endutent}. In @theglibc{} it is simply an alias for @code{endutent}. @end deftypefun @@ -1353,7 +1353,7 @@ simply an alias for @code{endutent}. @comment XPG4.2 @deftypefun {struct utmpx *} getutxid (const struct utmpx *@var{id}) This function is similar to @code{getutid}, but uses @code{struct utmpx} -instead of @code{struct utmp}. On the GNU system it is simply an alias +instead of @code{struct utmp}. In @theglibc{} it is simply an alias for @code{getutid}. @end deftypefun @@ -1361,7 +1361,7 @@ for @code{getutid}. @comment XPG4.2 @deftypefun {struct utmpx *} getutxline (const struct utmpx *@var{line}) This function is similar to @code{getutid}, but uses @code{struct utmpx} -instead of @code{struct utmp}. On the GNU system it is simply an alias +instead of @code{struct utmp}. In @theglibc{} it is simply an alias for @code{getutline}. @end deftypefun @@ -1370,7 +1370,7 @@ for @code{getutline}. @deftypefun {struct utmpx *} pututxline (const struct utmpx *@var{utmp}) The @code{pututxline} function is functionally identical to @code{pututline}, but uses @code{struct utmpx} instead of @code{struct -utmp}. On the GNU system, @code{pututxline} is simply an alias for +utmp}. In @theglibc{}, @code{pututxline} is simply an alias for @code{pututline}. @end deftypefun @@ -1378,12 +1378,12 @@ utmp}. On the GNU system, @code{pututxline} is simply an alias for @comment XPG4.2 @deftypefun int utmpxname (const char *@var{file}) The @code{utmpxname} function is functionally identical to -@code{utmpname}. On the GNU system, @code{utmpxname} is simply an +@code{utmpname}. In @theglibc{}, @code{utmpxname} is simply an alias for @code{utmpname}. @end deftypefun You can translate between a traditional @code{struct utmp} and an XPG -@code{struct utmpx} with the following functions. On the GNU system, +@code{struct utmpx} with the following functions. In @theglibc{}, these functions are merely copies, since the two structures are identical. diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c index 62613ff891..e3d2faf56e 100644 --- a/sysdeps/gnu/errlist.c +++ b/sysdeps/gnu/errlist.c @@ -89,8 +89,8 @@ TRANS computer. */ /* TRANS Argument list too long; used when the arguments passed to a new program TRANS being executed with one of the @code{exec} functions (@pxref{Executing a -TRANS File}) occupy too much memory space. This condition never arises in the -TRANS GNU system. */ +TRANS File}) occupy too much memory space. This condition never arises on +TRANS @gnuhurdsystems{}. */ [ERR_REMAP (E2BIG)] = N_("Argument list too long"), # if E2BIG > ERR_MAX # undef ERR_MAX @@ -163,7 +163,7 @@ TRANS Permission denied; the file permissions do not allow the attempted operati #ifdef EFAULT /* TRANS Bad address; an invalid pointer was detected. -TRANS In the GNU system, this error never happens; you get a signal instead. */ +TRANS On @gnuhurdsystems{}, this error never happens; you get a signal instead. */ [ERR_REMAP (EFAULT)] = N_("Bad address"), # if EFAULT > ERR_MAX # undef ERR_MAX @@ -271,7 +271,7 @@ TRANS @pxref{Limits on Resources}. */ /* TRANS There are too many distinct file openings in the entire system. Note TRANS that any number of linked channels count as just one file opening; see -TRANS @ref{Linked Channels}. This error never occurs in the GNU system. */ +TRANS @ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}. */ [ERR_REMAP (ENFILE)] = N_("Too many open files in system"), # if ENFILE > ERR_MAX # undef ERR_MAX @@ -294,7 +294,7 @@ TRANS An attempt to execute a file that is currently open for writing, or TRANS write to a file that is currently being executed. Often using a TRANS debugger to run a program is considered having it open for writing and TRANS will cause this error. (The name stands for ``text file busy''.) This -TRANS is not an error in the GNU system; the text is copied as necessary. */ +TRANS is not an error on @gnuhurdsystems{}; the text is copied as necessary. */ [ERR_REMAP (ETXTBSY)] = N_("Text file busy"), # if ETXTBSY > ERR_MAX # undef ERR_MAX @@ -520,7 +520,7 @@ TRANS The socket type is not supported. */ /* TRANS The operation you requested is not supported. Some socket functions TRANS don't make sense for all types of sockets, and others may not be -TRANS implemented for all communications protocols. In the GNU system, this +TRANS implemented for all communications protocols. On @gnuhurdsystems{}, this TRANS error can happen for many calls when the object does not support the TRANS particular operation; it is a generic indication that the server knows TRANS nothing to do for that call. */ @@ -795,7 +795,7 @@ TRANS the NFS file system on the local host. */ TRANS An attempt was made to NFS-mount a remote file system with a file name that TRANS already specifies an NFS-mounted file. TRANS (This is an error on some operating systems, but we expect it to work -TRANS properly on the GNU system, making this error code impossible.) */ +TRANS properly on @gnuhurdsystems{}, making this error code impossible.) */ [ERR_REMAP (EREMOTE)] = N_("Object is remote"), # if EREMOTE > ERR_MAX # undef ERR_MAX @@ -850,7 +850,7 @@ TRANS ??? */ #ifdef ENOLCK /* TRANS No locks available. This is used by the file locking facilities; see -TRANS @ref{File Locks}. This error is never generated by the GNU system, but +TRANS @ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but TRANS it can result from an operation to an NFS server running another TRANS operating system. */ [ERR_REMAP (ENOLCK)] = N_("No locks available"), @@ -935,7 +935,7 @@ TRANS or an incomplete sequence of bytes or the given wide character is invalid. #endif #ifdef EBACKGROUND /* -TRANS In the GNU system, servers supporting the @code{term} protocol return +TRANS On @gnuhurdsystems{}, servers supporting the @code{term} protocol return TRANS this error for certain operations when the caller is not in the TRANS foreground process group of the terminal. Users do not usually see this TRANS error because functions such as @code{read} and @code{write} translate @@ -949,7 +949,7 @@ TRANS for information on process groups and these signals. */ #endif #ifdef EDIED /* -TRANS In the GNU system, opening a file returns this error when the file is +TRANS On @gnuhurdsystems{}, opening a file returns this error when the file is TRANS translated by a program and the translator program dies while starting TRANS up, before it has connected to the file. */ [ERR_REMAP (EDIED)] = N_("Translator died"), -- cgit 1.4.1 From 82d86f28445f3231f7f9e94ac6678065ab476a8e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 8 Mar 2012 11:49:43 +0100 Subject: Fix struct timespec normalization (as used in many other places). --- ChangeLog | 7 +++++++ resolv/gai_misc.c | 4 ++-- rt/tst-cpuclock2.c | 2 +- sysdeps/pthread/aio_misc.c | 5 ++--- 4 files changed, 12 insertions(+), 6 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 698655939c..1c2c928ddf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-03-08 Thomas Schwinge + + * resolv/gai_misc.c (handle_requests): Fix struct timespec + normalization. + * rt/tst-cpuclock2.c (test_nanosleep): Likewise. + * sysdeps/pthread/aio_misc.c (handle_fildes_io): Likewise. + 2012-03-08 Ulrich Drepper * stdio-common/tst-fphex.c: Various cleanups. The macros cannot diff --git a/resolv/gai_misc.c b/resolv/gai_misc.c index 33ebd54255..35f1133e69 100644 --- a/resolv/gai_misc.c +++ b/resolv/gai_misc.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2006 Free Software Foundation, Inc. +/* Copyright (C) 2001-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -364,7 +364,7 @@ handle_requests (void *arg) gettimeofday (&now, NULL); wakeup_time.tv_sec = now.tv_sec + optim.gai_idle_time; wakeup_time.tv_nsec = now.tv_usec * 1000; - if (wakeup_time.tv_nsec > 1000000000) + if (wakeup_time.tv_nsec >= 1000000000) { wakeup_time.tv_nsec -= 1000000000; ++wakeup_time.tv_sec; diff --git a/rt/tst-cpuclock2.c b/rt/tst-cpuclock2.c index e3545f2e3c..9a74eb014b 100644 --- a/rt/tst-cpuclock2.c +++ b/rt/tst-cpuclock2.c @@ -110,7 +110,7 @@ test_nanosleep (clockid_t clock, const char *which, struct timespec sleeptimeabs = sleeptime; sleeptimeabs.tv_sec += after.tv_sec; sleeptimeabs.tv_nsec += after.tv_nsec; - while (sleeptimeabs.tv_nsec > 1000000000) + while (sleeptimeabs.tv_nsec >= 1000000000) { ++sleeptimeabs.tv_sec; sleeptimeabs.tv_nsec -= 1000000000; diff --git a/sysdeps/pthread/aio_misc.c b/sysdeps/pthread/aio_misc.c index 601feb8980..d5bb95bd49 100644 --- a/sysdeps/pthread/aio_misc.c +++ b/sysdeps/pthread/aio_misc.c @@ -1,6 +1,5 @@ /* Handle general operations. - Copyright (C) 1997-2001, 2003, 2004, 2006, 2007, 2009, 2011 - Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -635,7 +634,7 @@ handle_fildes_io (void *arg) gettimeofday (&now, NULL); wakeup_time.tv_sec = now.tv_sec + optim.aio_idle_time; wakeup_time.tv_nsec = now.tv_usec * 1000; - if (wakeup_time.tv_nsec > 1000000000) + if (wakeup_time.tv_nsec >= 1000000000) { wakeup_time.tv_nsec -= 1000000000; ++wakeup_time.tv_sec; -- cgit 1.4.1 From c64bf5feb39e7ad7235ed140a8cdb142bd28608b Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 8 Mar 2012 00:46:09 -0800 Subject: Update copyright year after my most recent changes. nptl/ * sysdeps/unix/sysv/linux/sparc/sem_post.c: Update copyright year. / * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Update copyright year. * sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise. --- ChangeLog | 6 ++++++ nptl/ChangeLog | 4 ++++ nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c | 2 +- sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c | 2 +- sysdeps/unix/sysv/linux/sparc/sysdep.h | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 1c2c928ddf..9b6de42385 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-03-08 David S. Miller + + * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Update + copyright year. + * sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise. + 2012-03-08 Thomas Schwinge * resolv/gai_misc.c (handle_requests): Fix struct timespec diff --git a/nptl/ChangeLog b/nptl/ChangeLog index ddd0ee2027..6d5f847261 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,7 @@ +2012-03-08 David S. Miller + + * sysdeps/unix/sysv/linux/sparc/sem_post.c: Update copyright year. + 2012-03-08 Thomas Schwinge * sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait): diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c b/nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c index 28e06f6327..f2c2113561 100644 --- a/nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c +++ b/nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c @@ -1,5 +1,5 @@ /* sem_post -- post to a POSIX semaphore. SPARC version. - Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2007, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2003. diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c b/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c index ba44a61c86..e3cea9fb50 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c @@ -1,5 +1,5 @@ /* Get frequency of the system processor. sparc64 version. - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 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 diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h index 30144b9f6d..542e94040c 100644 --- a/sysdeps/unix/sysv/linux/sparc/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2002, 2003, 2004, 2007 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2002-2004, 2007, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 2000. -- cgit 1.4.1 From 38842f4553f5dfebd8c276e07dbbbadc60921fef Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 7 Mar 2012 09:19:26 -0800 Subject: Use target-specific math_private.h in math_ldbl_opt.h. --- ChangeLog | 5 +++++ sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 9b6de42385..0f89a951c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-08 Richard Henderson + + * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Include , + not . + 2012-03-08 David S. Miller * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Update diff --git a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h index 77ab26370d..b0b863cba5 100644 --- a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h +++ b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h @@ -37,7 +37,7 @@ #ifndef __ASSEMBLER__ # include -# include +# include /* Set temporarily to non-zero if long double should be considered the same as double. */ -- cgit 1.4.1 From 64e21edef13c6d2592f276d599d8eed01a1b1a9a Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 6 Mar 2012 15:41:14 -0800 Subject: x86_64: Convert __ieee754_sqrt{,f,l} from macros to inlines. --- ChangeLog | 4 +++ sysdeps/x86_64/fpu/math_private.h | 54 +++++++++++++++++++++++---------------- 2 files changed, 36 insertions(+), 22 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 0f89a951c9..d8d167aaa2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2012-03-08 Richard Henderson + * sysdeps/x86_64/fpu/math_private.h (__ieee754_sqrt): Convert from + macro to inline function. + (__ieee754_sqrtf, __ieee754_sqrtl): Likewise. + * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Include , not . diff --git a/sysdeps/x86_64/fpu/math_private.h b/sysdeps/x86_64/fpu/math_private.h index 8e79718262..07bc7e30c4 100644 --- a/sysdeps/x86_64/fpu/math_private.h +++ b/sysdeps/x86_64/fpu/math_private.h @@ -1,4 +1,5 @@ -#ifndef _MATH_PRIVATE_H +#ifndef X86_64_MATH_PRIVATE_H +#define X86_64_MATH_PRIVATE_H 1 #define math_opt_barrier(x) \ ({ __typeof(x) __x; \ @@ -67,7 +68,6 @@ f = f__; \ } while (0) -#endif #define __isnan(d) \ ({ long int __di; EXTRACT_WORDS64 (__di, (double) (d)); \ @@ -90,29 +90,37 @@ ({ int __di; GET_FLOAT_WORD (__di, (float) d); \ (__di & 0x7fffffff) < 0x7f800000; }) +extern __always_inline double +__ieee754_sqrt (double d) +{ + double res; #if defined __AVX__ || defined SSE2AVX -# define __ieee754_sqrt(d) \ - ({ double __res; \ - asm ("vsqrtsd %1, %0, %0" : "=x" (__res) : "xm" ((double) (d))); \ - __res; }) -# define __ieee754_sqrtf(d) \ - ({ float __res; \ - asm ("vsqrtss %1, %0, %0" : "=x" (__res) : "xm" ((float) (d))); \ - __res; }) + asm ("vsqrtsd %1, %0, %0" : "=x" (res) : "xm" (d)); #else -# define __ieee754_sqrt(d) \ - ({ double __res; \ - asm ("sqrtsd %1, %0" : "=x" (__res) : "xm" ((double) (d))); \ - __res; }) -# define __ieee754_sqrtf(d) \ - ({ float __res; \ - asm ("sqrtss %1, %0" : "=x" (__res) : "xm" ((float) (d))); \ - __res; }) + asm ("sqrtsd %1, %0" : "=x" (res) : "xm" (d)); #endif -#define __ieee754_sqrtl(d) \ - ({ long double __res; \ - asm ("fsqrt" : "=t" (__res) : "0" ((long double) (d))); \ - __res; }) + return res; +} + +extern __always_inline float +__ieee754_sqrtf (float d) +{ + float res; +#if defined __AVX__ || defined SSE2AVX + asm ("vsqrtss %1, %0, %0" : "=x" (res) : "xm" (d)); +#else + asm ("sqrtss %1, %0" : "=x" (res) : "xm" (d)); +#endif + return res; +} + +extern __always_inline long double +__ieee754_sqrtl (long double d) +{ + long double res; + asm ("fsqrt" : "=t" (res) : "0" (d)); + return res; +} #ifdef __SSE4_1__ # ifndef __rint @@ -226,3 +234,5 @@ #undef libc_feupdateenvf #define libc_feupdateenvf(e) libc_feupdateenv (e) // #define libc_feupdateenvl(e) (void) feupdateenv (e) + +#endif /* X86_64_MATH_PRIVATE_H */ -- cgit 1.4.1 From 15194b4b3d39e3d2099f9159f3a8abb52d37cc00 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 6 Mar 2012 15:58:51 -0800 Subject: x86_64: Convert __rint* and __floor* from macros to inlines. --- ChangeLog | 4 ++ sysdeps/x86_64/fpu/math_private.h | 92 ++++++++++++++++++--------------------- 2 files changed, 47 insertions(+), 49 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index d8d167aaa2..59d7e9e822 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2012-03-08 Richard Henderson + * sysdeps/x86_64/fpu/math_private.h (__rint): Convert from macro + to inline function. + (__rintf, __floor, __floorf): Likewise. + * sysdeps/x86_64/fpu/math_private.h (__ieee754_sqrt): Convert from macro to inline function. (__ieee754_sqrtf, __ieee754_sqrtl): Likewise. diff --git a/sysdeps/x86_64/fpu/math_private.h b/sysdeps/x86_64/fpu/math_private.h index 07bc7e30c4..9b8d31de87 100644 --- a/sysdeps/x86_64/fpu/math_private.h +++ b/sysdeps/x86_64/fpu/math_private.h @@ -123,60 +123,54 @@ __ieee754_sqrtl (long double d) } #ifdef __SSE4_1__ -# ifndef __rint -# if defined __AVX__ || defined SSE2AVX -# define __rint(d) \ - ({ double __res; \ - asm ("vroundsd $4, %1, %0, %0" : "=x" (__res) : "xm" ((double) (d))); \ - __res; }) -# else -# define __rint(d) \ - ({ double __res; \ - asm ("roundsd $4, %1, %0" : "=x" (__res) : "xm" ((double) (d))); \ - __res; }) -# endif +extern __always_inline double +__rint (double d) +{ + double res; +# if defined __AVX__ || defined SSE2AVX + asm ("vroundsd $4, %1, %0, %0" : "=x" (res) : "xm" (d)); +# else + asm ("roundsd $4, %1, %0" : "=x" (res) : "xm" (d)); # endif -# ifndef __rintf -# if defined __AVX__ || defined SSE2AVX -# define __rintf(d) \ - ({ float __res; \ - asm ("vroundss $4, %1, %0, %0" : "=x" (__res) : "xm" ((float) (d))); \ - __res; }) -# else -# define __rintf(d) \ - ({ float __res; \ - asm ("roundss $4, %1, %0" : "=x" (__res) : "xm" ((float) (d))); \ - __res; }) -# endif + return res; +} + +extern __always_inline float +__rintf (float d) +{ + float res; +# if defined __AVX__ || defined SSE2AVX + asm ("vroundss $4, %1, %0, %0" : "=x" (res) : "xm" (d)); +# else + asm ("roundss $4, %1, %0" : "=x" (res) : "xm" (d)); # endif + return res; +} -# ifndef __floor -# if defined __AVX__ || defined SSE2AVX -# define __floor(d) \ - ({ double __res; \ - asm ("vroundsd $1, %1, %0, %0" : "=x" (__res) : "xm" ((double) (d))); \ - __res; }) -# else -# define __floor(d) \ - ({ double __res; \ - asm ("roundsd $1, %1, %0" : "=x" (__res) : "xm" ((double) (d))); \ - __res; }) -# endif +extern __always_inline double +__floor (double d) +{ + double res; +# if defined __AVX__ || defined SSE2AVX + asm ("vroundsd $1, %1, %0, %0" : "=x" (res) : "xm" (d)); +# else + asm ("roundsd $1, %1, %0" : "=x" (res) : "xm" (d)); # endif -# ifndef __floorf -# if defined __AVX__ || defined SSE2AVX -# define __floorf(d) \ - ({ float __res; \ - asm ("vroundss $1, %1, %0, %0" : "=x" (__res) : "xm" ((float) (d))); \ - __res; }) -# else -# define __floorf(d) \ - ({ float __res; \ - asm ("roundss $1, %1, %0" : "=x" (__res) : "xm" ((float) (d))); \ - __res; }) + return res; +} + +extern __always_inline float +__floorf (float d) +{ + float res; +# if defined __AVX__ || defined SSE2AVX + asm ("vroundss $1, %1, %0, %0" : "=x" (res) : "xm" (d)); +# else + asm ("roundss $1, %1, %0" : "=x" (res) : "xm" (d)); # endif -# endif -#endif + return res; +} +#endif /* __SSE4_1__ */ /* Specialized variants of the interfaces which only handle -- cgit 1.4.1 From 67bb6da6798d55fff7ed759af51799dfeca740d3 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 7 Mar 2012 09:16:59 -0800 Subject: powerpc: Convert __ieee754_sqrt{,f} from macros to inlines. --- ChangeLog | 5 ++ sysdeps/powerpc/fpu/math_private.h | 106 +++++++++++++------------------------ 2 files changed, 41 insertions(+), 70 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 59d7e9e822..3cc0d2dab6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2012-03-08 Richard Henderson + * sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrt): Convert + from macro to inline function; merge with the + !__LIBC_INTERNAL_MATH_INLINES version. + (__ieee754_sqrtf): Likewise. + * sysdeps/x86_64/fpu/math_private.h (__rint): Convert from macro to inline function. (__rintf, __floor, __floorf): Likewise. diff --git a/sysdeps/powerpc/fpu/math_private.h b/sysdeps/powerpc/fpu/math_private.h index 7bacecb245..28628f0540 100644 --- a/sysdeps/powerpc/fpu/math_private.h +++ b/sysdeps/powerpc/fpu/math_private.h @@ -23,35 +23,49 @@ #include #include #include - #include # if __WORDSIZE == 64 || defined _ARCH_PWR4 # define __CPU_HAS_FSQRT 1 - -#ifndef __ieee754_sqrt -# define __ieee754_sqrt(x) \ - ({ double __z; \ - __asm __volatile ( \ - " fsqrt %0,%1\n" \ - : "=f" (__z) \ - : "f"(x)); \ - __z; }) -#endif -#ifndef __ieee754_sqrtf -# define __ieee754_sqrtf(x) \ - ({ float __z; \ - __asm __volatile ( \ - " fsqrts %0,%1\n" \ - : "=f" (__z) \ - : "f"(x)); \ - __z; }) -#endif - # else # define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) -# endif // __WORDSIZE == 64 || defined _ARCH_PWR4 +# endif + +extern double __slow_ieee754_sqrt (double); +extern __always_inline double +__ieee754_sqrt (double __x) +{ + double __z; + if (__CPU_HAS_FSQRT) + { + /* Volatile is required to prevent the compiler from moving the + fsqrt instruction above the branch. */ + __asm __volatile ("fsqrt %0,%1" : "=f" (__z) : "f" (__x)); + } + else + __z = __slow_ieee754_sqrt(__x); + + return __z; +} + +extern float __slow_ieee754_sqrtf (float); +extern __always_inline float +__ieee754_sqrtf (float __x) +{ + float __z; + + if (__CPU_HAS_FSQRT) + { + /* Volatile is required to prevent the compiler from moving the + fsqrts instruction above the branch. */ + __asm __volatile ("fsqrts %0,%1" : "=f" (__z) : "f" (__x)); + } + else + __z = __slow_ieee754_sqrtf(__x); + + return __z; +} #if defined _ARCH_PWR5X @@ -162,52 +176,4 @@ #endif /* defined _ARCH_PWR6 */ - -# ifndef __LIBC_INTERNAL_MATH_INLINES -extern double __slow_ieee754_sqrt (double); -__inline double -__ieee754_sqrt (double __x) -{ - double __z; - - /* If the CPU is 64-bit we can use the optional FP instructions. */ - if (__CPU_HAS_FSQRT) - { - /* Volatile is required to prevent the compiler from moving the - fsqrt instruction above the branch. */ - __asm __volatile ( - " fsqrt %0,%1\n" - : "=f" (__z) - : "f" (__x)); - } - else - __z = __slow_ieee754_sqrt(__x); - - return __z; -} - -extern float __slow_ieee754_sqrtf (float); - -__inline float -__ieee754_sqrtf (float __x) -{ - float __z; - - /* If the CPU is 64-bit we can use the optional FP instructions. */ - if (__CPU_HAS_FSQRT) - { - /* Volatile is required to prevent the compiler from moving the - fsqrts instruction above the branch. */ - __asm __volatile ( - " fsqrts %0,%1\n" - : "=f" (__z) - : "f" (__x)); - } - else - __z = __slow_ieee754_sqrtf(__x); - - return __z; -} -#endif /* __LIBC_INTERNAL_MATH_INLINES */ - #endif /* _PPC_MATH_PRIVATE_H_ */ -- cgit 1.4.1 From 02a6f887cb3e2c048937111eb4cf150d397609de Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 9 Mar 2012 22:36:06 +0000 Subject: Split enum __socket_type from bits/socket.h to bits/socket_type.h. --- ChangeLog | 9 + sysdeps/unix/sysv/linux/Makefile | 3 +- sysdeps/unix/sysv/linux/bits/socket.h | 35 +- sysdeps/unix/sysv/linux/bits/socket_type.h | 55 +++ sysdeps/unix/sysv/linux/sparc/bits/socket.h | 438 ----------------------- sysdeps/unix/sysv/linux/sparc/bits/socket_type.h | 55 +++ 6 files changed, 123 insertions(+), 472 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/bits/socket_type.h delete mode 100644 sysdeps/unix/sysv/linux/sparc/bits/socket.h create mode 100644 sysdeps/unix/sysv/linux/sparc/bits/socket_type.h (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index d2e15f0a8e..1fed786c7f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2012-03-09 Joseph Myers + * sysdeps/unix/sysv/linux/bits/socket_type.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/socket_type.h: Likewise. + * sysdeps/unix/sysv/linux/bits/socket.h: Get enum __socket_type + from . + (enum __socket_type): Don't define here. + * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Remove. + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/socket_type.h. + [BZ #13566] * libio/stdio.h (gets): Always declare for C++ up to C++11 without checking __USE_GNU. diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 458658df29..a97487fbc9 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -33,7 +33,8 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ sys/ultrasound.h sys/raw.h sys/personality.h sys/epoll.h \ bits/a.out.h sys/inotify.h sys/signalfd.h sys/eventfd.h \ sys/timerfd.h sys/fanotify.h bits/eventfd.h bits/inotify.h \ - bits/signalfd.h bits/timerfd.h bits/epoll.h + bits/signalfd.h bits/timerfd.h bits/epoll.h \ + bits/socket_type.h install-others += $(inst_includedir)/bits/syscall.h diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h index 0b052a4a66..7fa7eea6cf 100644 --- a/sysdeps/unix/sysv/linux/bits/socket.h +++ b/sysdeps/unix/sysv/linux/bits/socket.h @@ -35,39 +35,8 @@ typedef __socklen_t socklen_t; # define __socklen_t_defined #endif -/* Types of sockets. */ -enum __socket_type -{ - SOCK_STREAM = 1, /* Sequenced, reliable, connection-based - byte streams. */ -#define SOCK_STREAM SOCK_STREAM - SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams - of fixed maximum length. */ -#define SOCK_DGRAM SOCK_DGRAM - SOCK_RAW = 3, /* Raw protocol interface. */ -#define SOCK_RAW SOCK_RAW - SOCK_RDM = 4, /* Reliably-delivered messages. */ -#define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, - datagrams of fixed maximum length. */ -#define SOCK_SEQPACKET SOCK_SEQPACKET - SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ -#define SOCK_DCCP SOCK_DCCP - SOCK_PACKET = 10, /* Linux specific way of getting packets - at the dev level. For writing rarp and - other similar things on the user level. */ -#define SOCK_PACKET SOCK_PACKET - - /* Flags to be ORed into the type parameter of socket and socketpair and - used for the flags parameter of paccept. */ - - SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the - new descriptor(s). */ -#define SOCK_CLOEXEC SOCK_CLOEXEC - SOCK_NONBLOCK = 04000 /* Atomically mark descriptor(s) as - non-blocking. */ -#define SOCK_NONBLOCK SOCK_NONBLOCK -}; +/* Get the architecture-dependent definition of enum __socket_type. */ +#include /* Protocol families. */ #define PF_UNSPEC 0 /* Unspecified. */ diff --git a/sysdeps/unix/sysv/linux/bits/socket_type.h b/sysdeps/unix/sysv/linux/bits/socket_type.h new file mode 100644 index 0000000000..7df2b18f8e --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for generic Linux. + Copyright (C) 1991-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, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_STREAM = 1, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ +#define SOCK_DCCP SOCK_DCCP + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00004000 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; diff --git a/sysdeps/unix/sysv/linux/sparc/bits/socket.h b/sysdeps/unix/sysv/linux/sparc/bits/socket.h deleted file mode 100644 index 221009e796..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/bits/socket.h +++ /dev/null @@ -1,438 +0,0 @@ -/* System-specific socket constants and types. Linux/SPARC version. - Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009, 2011, 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, see - . */ - -#ifndef __BITS_SOCKET_H -#define __BITS_SOCKET_H - -#ifndef _SYS_SOCKET_H -# error "Never include directly; use instead." -#endif - -#define __need_size_t -#include - -#include - -/* Type for length arguments in socket calls. */ -#ifndef __socklen_t_defined -typedef __socklen_t socklen_t; -# define __socklen_t_defined -#endif - -/* Types of sockets. */ -enum __socket_type -{ - SOCK_STREAM = 1, /* Sequenced, reliable, connection-based - byte streams. */ -#define SOCK_STREAM SOCK_STREAM - SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams - of fixed maximum length. */ -#define SOCK_DGRAM SOCK_DGRAM - SOCK_RAW = 3, /* Raw protocol interface. */ -#define SOCK_RAW SOCK_RAW - SOCK_RDM = 4, /* Reliably-delivered messages. */ -#define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, - datagrams of fixed maximum length. */ -#define SOCK_SEQPACKET SOCK_SEQPACKET - SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ -#define SOCK_DCCP SOCK_DCCP - SOCK_PACKET = 10, /* Linux specific way of getting packets - at the dev level. For writing rarp and - other similar things on the user level. */ -#define SOCK_PACKET SOCK_PACKET - - /* Flags to be ORed into the type parameter of socket and socketpair and - used for the flags parameter of paccept. */ - - SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the - new descriptor(s). */ -#define SOCK_CLOEXEC SOCK_CLOEXEC - SOCK_NONBLOCK = 0x4000 /* Atomically mark descriptor(s) as - non-blocking. */ -#define SOCK_NONBLOCK SOCK_NONBLOCK -}; - -/* Protocol families. */ -#define PF_UNSPEC 0 /* Unspecified. */ -#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */ -#define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */ -#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */ -#define PF_INET 2 /* IP protocol family. */ -#define PF_AX25 3 /* Amateur Radio AX.25. */ -#define PF_IPX 4 /* Novell Internet Protocol. */ -#define PF_APPLETALK 5 /* Appletalk DDP. */ -#define PF_NETROM 6 /* Amateur radio NetROM. */ -#define PF_BRIDGE 7 /* Multiprotocol bridge. */ -#define PF_ATMPVC 8 /* ATM PVCs. */ -#define PF_X25 9 /* Reserved for X.25 project. */ -#define PF_INET6 10 /* IP version 6. */ -#define PF_ROSE 11 /* Amateur Radio X.25 PLP. */ -#define PF_DECnet 12 /* Reserved for DECnet project. */ -#define PF_NETBEUI 13 /* Reserved for 802.2LLC project. */ -#define PF_SECURITY 14 /* Security callback pseudo AF. */ -#define PF_KEY 15 /* PF_KEY key management API. */ -#define PF_NETLINK 16 -#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD. */ -#define PF_PACKET 17 /* Packet family. */ -#define PF_ASH 18 /* Ash. */ -#define PF_ECONET 19 /* Acorn Econet. */ -#define PF_ATMSVC 20 /* ATM SVCs. */ -#define PF_RDS 21 /* RDS sockets. */ -#define PF_SNA 22 /* Linux SNA Project */ -#define PF_IRDA 23 /* IRDA sockets. */ -#define PF_PPPOX 24 /* PPPoX sockets. */ -#define PF_WANPIPE 25 /* Wanpipe API sockets. */ -#define PF_LLC 26 /* Linux LLC. */ -#define PF_CAN 29 /* Controller Area Network. */ -#define PF_TIPC 30 /* TIPC sockets. */ -#define PF_BLUETOOTH 31 /* Bluetooth sockets. */ -#define PF_IUCV 32 /* IUCV sockets. */ -#define PF_RXRPC 33 /* RxRPC sockets. */ -#define PF_ISDN 34 /* mISDN sockets. */ -#define PF_PHONET 35 /* Phonet sockets. */ -#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */ -#define PF_CAIF 37 /* CAIF sockets. */ -#define PF_ALG 38 /* Algorithm sockets. */ -#define PF_NFC 39 /* NFC sockets. */ -#define PF_MAX 40 /* For now.. */ - -/* Address families. */ -#define AF_UNSPEC PF_UNSPEC -#define AF_LOCAL PF_LOCAL -#define AF_UNIX PF_UNIX -#define AF_FILE PF_FILE -#define AF_INET PF_INET -#define AF_AX25 PF_AX25 -#define AF_IPX PF_IPX -#define AF_APPLETALK PF_APPLETALK -#define AF_NETROM PF_NETROM -#define AF_BRIDGE PF_BRIDGE -#define AF_ATMPVC PF_ATMPVC -#define AF_X25 PF_X25 -#define AF_INET6 PF_INET6 -#define AF_ROSE PF_ROSE -#define AF_DECnet PF_DECnet -#define AF_NETBEUI PF_NETBEUI -#define AF_SECURITY PF_SECURITY -#define AF_KEY PF_KEY -#define AF_NETLINK PF_NETLINK -#define AF_ROUTE PF_ROUTE -#define AF_PACKET PF_PACKET -#define AF_ASH PF_ASH -#define AF_ECONET PF_ECONET -#define AF_ATMSVC PF_ATMSVC -#define AF_RDS PF_RDS -#define AF_SNA PF_SNA -#define AF_IRDA PF_IRDA -#define AF_PPPOX PF_PPPOX -#define AF_WANPIPE PF_WANPIPE -#define AF_LLC PF_LLC -#define AF_CAN PF_CAN -#define AF_TIPC PF_TIPC -#define AF_BLUETOOTH PF_BLUETOOTH -#define AF_IUCV PF_IUCV -#define AF_RXRPC PF_RXRPC -#define AF_ISDN PF_ISDN -#define AF_PHONET PF_PHONET -#define AF_IEEE802154 PF_IEEE802154 -#define AF_CAIF PF_CAIF -#define AF_ALG PF_ALG -#define AF_NFC PF_NFC -#define AF_MAX PF_MAX - -/* Socket level values. Others are defined in the appropriate headers. - - XXX These definitions also should go into the appropriate headers as - far as they are available. */ -#define SOL_RAW 255 -#define SOL_DECNET 261 -#define SOL_X25 262 -#define SOL_PACKET 263 -#define SOL_ATM 264 /* ATM layer (cell level). */ -#define SOL_AAL 265 /* ATM Adaption Layer (packet level). */ -#define SOL_IRDA 266 - -/* Maximum queue length specifiable by listen. */ -#define SOMAXCONN 128 - -/* Get the definition of the macro to define the common sockaddr members. */ -#include - -/* Structure describing a generic socket address. */ -struct sockaddr - { - __SOCKADDR_COMMON (sa_); /* Common data: address family and length. */ - char sa_data[14]; /* Address data. */ - }; - - -/* Structure large enough to hold any socket address (with the historical - exception of AF_UNIX). We reserve 128 bytes. */ -#define __ss_aligntype unsigned long int -#define _SS_SIZE 128 -#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype))) - -struct sockaddr_storage - { - __SOCKADDR_COMMON (ss_); /* Address family, etc. */ - __ss_aligntype __ss_align; /* Force desired alignment. */ - char __ss_padding[_SS_PADSIZE]; - }; - - -/* Bits in the FLAGS argument to `send', `recv', et al. */ -enum - { - MSG_OOB = 0x01, /* Process out-of-band data. */ -#define MSG_OOB MSG_OOB - MSG_PEEK = 0x02, /* Peek at incoming messages. */ -#define MSG_PEEK MSG_PEEK - MSG_DONTROUTE = 0x04, /* Don't use local routing. */ -#define MSG_DONTROUTE MSG_DONTROUTE -#ifdef __USE_GNU - /* DECnet uses a different name. */ - MSG_TRYHARD = MSG_DONTROUTE, -# define MSG_TRYHARD MSG_DONTROUTE -#endif - MSG_CTRUNC = 0x08, /* Control data lost before delivery. */ -#define MSG_CTRUNC MSG_CTRUNC - MSG_PROXY = 0x10, /* Supply or ask second address. */ -#define MSG_PROXY MSG_PROXY - MSG_TRUNC = 0x20, -#define MSG_TRUNC MSG_TRUNC - MSG_DONTWAIT = 0x40, /* Nonblocking IO. */ -#define MSG_DONTWAIT MSG_DONTWAIT - MSG_EOR = 0x80, /* End of record. */ -#define MSG_EOR MSG_EOR - MSG_WAITALL = 0x100, /* Wait for a full request. */ -#define MSG_WAITALL MSG_WAITALL - MSG_FIN = 0x200, -#define MSG_FIN MSG_FIN - MSG_SYN = 0x400, -#define MSG_SYN MSG_SYN - MSG_CONFIRM = 0x800, /* Confirm path validity. */ -#define MSG_CONFIRM MSG_CONFIRM - MSG_RST = 0x1000, -#define MSG_RST MSG_RST - MSG_ERRQUEUE = 0x2000, /* Fetch message from error queue. */ -#define MSG_ERRQUEUE MSG_ERRQUEUE - MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */ -#define MSG_NOSIGNAL MSG_NOSIGNAL - MSG_MORE = 0x8000, /* Sender will send more. */ -#define MSG_MORE MSG_MORE - MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/ -#define MSG_WAITFORONE MSG_WAITFORONE - - MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file - descriptor received through - SCM_RIGHTS. */ -#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC - }; - - -/* Structure describing messages sent by - `sendmsg' and received by `recvmsg'. */ -struct msghdr - { - void *msg_name; /* Address to send to/receive from. */ - socklen_t msg_namelen; /* Length of address data. */ - - struct iovec *msg_iov; /* Vector of data to send/receive into. */ - size_t msg_iovlen; /* Number of elements in the vector. */ - - void *msg_control; /* Ancillary data (eg BSD filedesc passing). */ - size_t msg_controllen; /* Ancillary data buffer length. - !! The type should be socklen_t but the - definition of the kernel is incompatible - with this. */ - - int msg_flags; /* Flags on received message. */ - }; - -#ifdef __USE_GNU -/* For `recvmmsg'. */ -struct mmsghdr - { - struct msghdr msg_hdr; /* Actual message header. */ - unsigned int msg_len; /* Number of received bytes for the entry. */ - }; -#endif - -/* Structure used for storage of ancillary data object information. */ -struct cmsghdr - { - size_t cmsg_len; /* Length of data in cmsg_data plus length - of cmsghdr structure. - !! The type should be socklen_t but the - definition of the kernel is incompatible - with this. */ - int cmsg_level; /* Originating protocol. */ - int cmsg_type; /* Protocol specific type. */ -#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L - __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */ -#endif - }; - -/* Ancillary data object manipulation macros. */ -#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L -# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data) -#else -# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1)) -#endif -#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg) -#define CMSG_FIRSTHDR(mhdr) \ - ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \ - ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0) -#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \ - & (size_t) ~(sizeof (size_t) - 1)) -#define CMSG_SPACE(len) (CMSG_ALIGN (len) \ - + CMSG_ALIGN (sizeof (struct cmsghdr))) -#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) - -extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, - struct cmsghdr *__cmsg) __THROW; -#ifdef __USE_EXTERN_INLINES -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE __extern_inline -# endif -_EXTERN_INLINE struct cmsghdr * -__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)) -{ - if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) - /* The kernel header does this so there may be a reason. */ - return (struct cmsghdr *) 0; - - __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg - + CMSG_ALIGN (__cmsg->cmsg_len)); - if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control - + __mhdr->msg_controllen) - || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len) - > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) - /* No more entries. */ - return (struct cmsghdr *) 0; - return __cmsg; -} -#endif /* Use `extern inline'. */ - -/* Socket level message types. This must match the definitions in - . */ -enum - { - SCM_RIGHTS = 0x01 /* Transfer file descriptors. */ -#define SCM_RIGHTS SCM_RIGHTS -#ifdef __USE_GNU - , SCM_CREDENTIALS = 0x02 /* Credentials passing. */ -# define SCM_CREDENTIALS SCM_CREDENTIALS -#endif - }; - -#ifdef __USE_GNU -/* User visible structure for SCM_CREDENTIALS message */ -struct ucred -{ - pid_t pid; /* PID of sending process. */ - uid_t uid; /* UID of sending process. */ - gid_t gid; /* GID of sending process. */ -}; -#endif - -/* Ugly workaround for unclean kernel headers. */ -#if !defined __USE_MISC && !defined __USE_GNU -# ifndef FIOGETOWN -# define __SYS_SOCKET_H_undef_FIOGETOWN -# endif -# ifndef FIOSETOWN -# define __SYS_SOCKET_H_undef_FIOSETOWN -# endif -# ifndef SIOCATMARK -# define __SYS_SOCKET_H_undef_SIOCATMARK -# endif -# ifndef SIOCGPGRP -# define __SYS_SOCKET_H_undef_SIOCGPGRP -# endif -# ifndef SIOCGSTAMP -# define __SYS_SOCKET_H_undef_SIOCGSTAMP -# endif -# ifndef SIOCGSTAMPNS -# define __SYS_SOCKET_H_undef_SIOCGSTAMPNS -# endif -# ifndef SIOCSPGRP -# define __SYS_SOCKET_H_undef_SIOCSPGRP -# endif -#endif - -/* Get socket manipulation related informations from kernel headers. */ -#include - -#if !defined __USE_MISC && !defined __USE_GNU -# ifdef __SYS_SOCKET_H_undef_FIOGETOWN -# undef __SYS_SOCKET_H_undef_FIOGETOWN -# undef FIOGETOWN -# endif -# ifdef __SYS_SOCKET_H_undef_FIOSETOWN -# undef __SYS_SOCKET_H_undef_FIOSETOWN -# undef FIOSETOWN -# endif -# ifdef __SYS_SOCKET_H_undef_SIOCATMARK -# undef __SYS_SOCKET_H_undef_SIOCATMARK -# undef SIOCATMARK -# endif -# ifdef __SYS_SOCKET_H_undef_SIOCGPGRP -# undef __SYS_SOCKET_H_undef_SIOCGPGRP -# undef SIOCGPGRP -# endif -# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMP -# undef __SYS_SOCKET_H_undef_SIOCGSTAMP -# undef SIOCGSTAMP -# endif -# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMPNS -# undef __SYS_SOCKET_H_undef_SIOCGSTAMPNS -# undef SIOCGSTAMPNS -# endif -# ifdef __SYS_SOCKET_H_undef_SIOCSPGRP -# undef __SYS_SOCKET_H_undef_SIOCSPGRP -# undef SIOCSPGRP -# endif -#endif - -/* Structure used to manipulate the SO_LINGER option. */ -struct linger - { - int l_onoff; /* Nonzero to linger on close. */ - int l_linger; /* Time to linger. */ - }; - - -__BEGIN_DECLS - -#ifdef __USE_GNU -/* Receive a message as described by MESSAGE from socket FD. - Returns the number of bytes read or -1 for errors. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int recvmmsg (int __fd, struct mmsghdr *__vmessages, - unsigned int __vlen, int __flags, - const struct timespec *__tmo); -#endif - -__END_DECLS - -#endif /* bits/socket.h */ diff --git a/sysdeps/unix/sysv/linux/sparc/bits/socket_type.h b/sysdeps/unix/sysv/linux/sparc/bits/socket_type.h new file mode 100644 index 0000000000..b9f429e80a --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/SPARC. + Copyright (C) 1991-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, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_STREAM = 1, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ +#define SOCK_DCCP SOCK_DCCP + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; -- cgit 1.4.1 From 1ed0291c3154c25633107d93e122c1b0c0f7c975 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Fri, 9 Mar 2012 11:29:16 -0800 Subject: Use <> for math.h and math_private.h everywhere. Entire tree edited via find | grep | sed. --- ChangeLog | 214 +++++++++++++++++++++++ sysdeps/i386/fpu/s_fpclassifyl.c | 2 +- sysdeps/i386/fpu/s_isinfl.c | 4 +- sysdeps/i386/fpu/s_isnanl.c | 4 +- sysdeps/i386/fpu/s_nextafterl.c | 2 +- sysdeps/i386/fpu/s_nexttoward.c | 2 +- sysdeps/i386/fpu/s_nexttowardf.c | 2 +- sysdeps/ieee754/dbl-64/branred.c | 2 +- sysdeps/ieee754/dbl-64/doasin.c | 2 +- sysdeps/ieee754/dbl-64/dosincos.c | 2 +- sysdeps/ieee754/dbl-64/e_acosh.c | 4 +- sysdeps/ieee754/dbl-64/e_asin.c | 2 +- sysdeps/ieee754/dbl-64/e_atan2.c | 2 +- sysdeps/ieee754/dbl-64/e_atanh.c | 4 +- sysdeps/ieee754/dbl-64/e_cosh.c | 4 +- sysdeps/ieee754/dbl-64/e_exp.c | 2 +- sysdeps/ieee754/dbl-64/e_fmod.c | 4 +- sysdeps/ieee754/dbl-64/e_hypot.c | 4 +- sysdeps/ieee754/dbl-64/e_j0.c | 4 +- sysdeps/ieee754/dbl-64/e_j1.c | 4 +- sysdeps/ieee754/dbl-64/e_jn.c | 4 +- sysdeps/ieee754/dbl-64/e_lgamma_r.c | 4 +- sysdeps/ieee754/dbl-64/e_log.c | 2 +- sysdeps/ieee754/dbl-64/e_log10.c | 4 +- sysdeps/ieee754/dbl-64/e_log2.c | 4 +- sysdeps/ieee754/dbl-64/e_pow.c | 2 +- sysdeps/ieee754/dbl-64/e_rem_pio2.c | 4 +- sysdeps/ieee754/dbl-64/e_remainder.c | 2 +- sysdeps/ieee754/dbl-64/e_sinh.c | 4 +- sysdeps/ieee754/dbl-64/e_sqrt.c | 2 +- sysdeps/ieee754/dbl-64/halfulp.c | 2 +- sysdeps/ieee754/dbl-64/k_rem_pio2.c | 4 +- sysdeps/ieee754/dbl-64/s_asinh.c | 4 +- sysdeps/ieee754/dbl-64/s_atan.c | 2 +- sysdeps/ieee754/dbl-64/s_cbrt.c | 4 +- sysdeps/ieee754/dbl-64/s_ceil.c | 4 +- sysdeps/ieee754/dbl-64/s_copysign.c | 4 +- sysdeps/ieee754/dbl-64/s_erf.c | 4 +- sysdeps/ieee754/dbl-64/s_expm1.c | 4 +- sysdeps/ieee754/dbl-64/s_fabs.c | 4 +- sysdeps/ieee754/dbl-64/s_finite.c | 4 +- sysdeps/ieee754/dbl-64/s_floor.c | 4 +- sysdeps/ieee754/dbl-64/s_fpclassify.c | 2 +- sysdeps/ieee754/dbl-64/s_frexp.c | 4 +- sysdeps/ieee754/dbl-64/s_ilogb.c | 4 +- sysdeps/ieee754/dbl-64/s_isinf.c | 4 +- sysdeps/ieee754/dbl-64/s_isinf_ns.c | 4 +- sysdeps/ieee754/dbl-64/s_isnan.c | 4 +- sysdeps/ieee754/dbl-64/s_llrint.c | 2 +- sysdeps/ieee754/dbl-64/s_llround.c | 2 +- sysdeps/ieee754/dbl-64/s_log1p.c | 4 +- sysdeps/ieee754/dbl-64/s_logb.c | 4 +- sysdeps/ieee754/dbl-64/s_lrint.c | 2 +- sysdeps/ieee754/dbl-64/s_lround.c | 2 +- sysdeps/ieee754/dbl-64/s_modf.c | 4 +- sysdeps/ieee754/dbl-64/s_nearbyint.c | 4 +- sysdeps/ieee754/dbl-64/s_remquo.c | 2 +- sysdeps/ieee754/dbl-64/s_rint.c | 4 +- sysdeps/ieee754/dbl-64/s_round.c | 2 +- sysdeps/ieee754/dbl-64/s_scalbln.c | 4 +- sysdeps/ieee754/dbl-64/s_scalbn.c | 4 +- sysdeps/ieee754/dbl-64/s_signbit.c | 2 +- sysdeps/ieee754/dbl-64/s_sin.c | 2 +- sysdeps/ieee754/dbl-64/s_sincos.c | 2 +- sysdeps/ieee754/dbl-64/s_tan.c | 4 +- sysdeps/ieee754/dbl-64/s_tanh.c | 4 +- sysdeps/ieee754/dbl-64/s_trunc.c | 2 +- sysdeps/ieee754/dbl-64/sincos32.c | 2 +- sysdeps/ieee754/dbl-64/slowexp.c | 2 +- sysdeps/ieee754/dbl-64/slowpow.c | 2 +- sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_isinf_ns.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c | 2 +- sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c | 2 +- sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c | 2 +- sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_round.c | 2 +- sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c | 4 +- sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c | 2 +- sysdeps/ieee754/flt-32/e_acosf.c | 4 +- sysdeps/ieee754/flt-32/e_acoshf.c | 4 +- sysdeps/ieee754/flt-32/e_asinf.c | 4 +- sysdeps/ieee754/flt-32/e_atan2f.c | 4 +- sysdeps/ieee754/flt-32/e_atanhf.c | 4 +- sysdeps/ieee754/flt-32/e_coshf.c | 4 +- sysdeps/ieee754/flt-32/e_fmodf.c | 4 +- sysdeps/ieee754/flt-32/e_hypotf.c | 4 +- sysdeps/ieee754/flt-32/e_j0f.c | 4 +- sysdeps/ieee754/flt-32/e_j1f.c | 4 +- sysdeps/ieee754/flt-32/e_jnf.c | 4 +- sysdeps/ieee754/flt-32/e_lgammaf_r.c | 4 +- sysdeps/ieee754/flt-32/e_log10f.c | 4 +- sysdeps/ieee754/flt-32/e_log2f.c | 4 +- sysdeps/ieee754/flt-32/e_logf.c | 4 +- sysdeps/ieee754/flt-32/e_powf.c | 4 +- sysdeps/ieee754/flt-32/e_rem_pio2f.c | 4 +- sysdeps/ieee754/flt-32/e_remainderf.c | 4 +- sysdeps/ieee754/flt-32/e_sinhf.c | 4 +- sysdeps/ieee754/flt-32/e_sqrtf.c | 4 +- sysdeps/ieee754/flt-32/k_cosf.c | 4 +- sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +- sysdeps/ieee754/flt-32/k_sinf.c | 4 +- sysdeps/ieee754/flt-32/k_tanf.c | 4 +- sysdeps/ieee754/flt-32/s_asinhf.c | 4 +- sysdeps/ieee754/flt-32/s_atanf.c | 4 +- sysdeps/ieee754/flt-32/s_cbrtf.c | 4 +- sysdeps/ieee754/flt-32/s_ceilf.c | 4 +- sysdeps/ieee754/flt-32/s_copysignf.c | 4 +- sysdeps/ieee754/flt-32/s_cosf.c | 4 +- sysdeps/ieee754/flt-32/s_erff.c | 4 +- sysdeps/ieee754/flt-32/s_expm1f.c | 4 +- sysdeps/ieee754/flt-32/s_fabsf.c | 4 +- sysdeps/ieee754/flt-32/s_finitef.c | 4 +- sysdeps/ieee754/flt-32/s_floorf.c | 4 +- sysdeps/ieee754/flt-32/s_fpclassifyf.c | 2 +- sysdeps/ieee754/flt-32/s_frexpf.c | 4 +- sysdeps/ieee754/flt-32/s_ilogbf.c | 4 +- sysdeps/ieee754/flt-32/s_isinf_nsf.c | 4 +- sysdeps/ieee754/flt-32/s_isinff.c | 4 +- sysdeps/ieee754/flt-32/s_isnanf.c | 4 +- sysdeps/ieee754/flt-32/s_llrintf.c | 2 +- sysdeps/ieee754/flt-32/s_llroundf.c | 2 +- sysdeps/ieee754/flt-32/s_log1pf.c | 4 +- sysdeps/ieee754/flt-32/s_logbf.c | 4 +- sysdeps/ieee754/flt-32/s_lrintf.c | 2 +- sysdeps/ieee754/flt-32/s_lroundf.c | 2 +- sysdeps/ieee754/flt-32/s_modff.c | 4 +- sysdeps/ieee754/flt-32/s_nearbyintf.c | 4 +- sysdeps/ieee754/flt-32/s_nextafterf.c | 2 +- sysdeps/ieee754/flt-32/s_remquof.c | 2 +- sysdeps/ieee754/flt-32/s_rintf.c | 4 +- sysdeps/ieee754/flt-32/s_roundf.c | 2 +- sysdeps/ieee754/flt-32/s_scalblnf.c | 4 +- sysdeps/ieee754/flt-32/s_scalbnf.c | 4 +- sysdeps/ieee754/flt-32/s_signbitf.c | 2 +- sysdeps/ieee754/flt-32/s_sincosf.c | 2 +- sysdeps/ieee754/flt-32/s_sinf.c | 4 +- sysdeps/ieee754/flt-32/s_tanf.c | 4 +- sysdeps/ieee754/flt-32/s_tanhf.c | 4 +- sysdeps/ieee754/flt-32/s_truncf.c | 2 +- sysdeps/ieee754/k_standard.c | 4 +- sysdeps/ieee754/ldbl-128/e_acoshl.c | 4 +- sysdeps/ieee754/ldbl-128/e_acosl.c | 4 +- sysdeps/ieee754/ldbl-128/e_asinl.c | 4 +- sysdeps/ieee754/ldbl-128/e_atan2l.c | 4 +- sysdeps/ieee754/ldbl-128/e_atanhl.c | 4 +- sysdeps/ieee754/ldbl-128/e_coshl.c | 4 +- sysdeps/ieee754/ldbl-128/e_fmodl.c | 4 +- sysdeps/ieee754/ldbl-128/e_hypotl.c | 4 +- sysdeps/ieee754/ldbl-128/e_j0l.c | 4 +- sysdeps/ieee754/ldbl-128/e_j1l.c | 4 +- sysdeps/ieee754/ldbl-128/e_jnl.c | 4 +- sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 4 +- sysdeps/ieee754/ldbl-128/e_log10l.c | 4 +- sysdeps/ieee754/ldbl-128/e_log2l.c | 4 +- sysdeps/ieee754/ldbl-128/e_logl.c | 2 +- sysdeps/ieee754/ldbl-128/e_powl.c | 4 +- sysdeps/ieee754/ldbl-128/e_rem_pio2l.c | 4 +- sysdeps/ieee754/ldbl-128/e_remainderl.c | 4 +- sysdeps/ieee754/ldbl-128/e_sinhl.c | 4 +- sysdeps/ieee754/ldbl-128/k_cosl.c | 4 +- sysdeps/ieee754/ldbl-128/k_sincosl.c | 4 +- sysdeps/ieee754/ldbl-128/k_sinl.c | 4 +- sysdeps/ieee754/ldbl-128/k_tanl.c | 4 +- sysdeps/ieee754/ldbl-128/s_asinhl.c | 4 +- sysdeps/ieee754/ldbl-128/s_atanl.c | 2 +- sysdeps/ieee754/ldbl-128/s_cbrtl.c | 4 +- sysdeps/ieee754/ldbl-128/s_ceill.c | 4 +- sysdeps/ieee754/ldbl-128/s_copysignl.c | 4 +- sysdeps/ieee754/ldbl-128/s_cosl.c | 4 +- sysdeps/ieee754/ldbl-128/s_erfl.c | 4 +- sysdeps/ieee754/ldbl-128/s_expm1l.c | 4 +- sysdeps/ieee754/ldbl-128/s_fabsl.c | 4 +- sysdeps/ieee754/ldbl-128/s_finitel.c | 4 +- sysdeps/ieee754/ldbl-128/s_floorl.c | 4 +- sysdeps/ieee754/ldbl-128/s_fpclassifyl.c | 2 +- sysdeps/ieee754/ldbl-128/s_frexpl.c | 4 +- sysdeps/ieee754/ldbl-128/s_ilogbl.c | 4 +- sysdeps/ieee754/ldbl-128/s_isinf_nsl.c | 4 +- sysdeps/ieee754/ldbl-128/s_isinfl.c | 4 +- sysdeps/ieee754/ldbl-128/s_isnanl.c | 4 +- sysdeps/ieee754/ldbl-128/s_llrintl.c | 2 +- sysdeps/ieee754/ldbl-128/s_llroundl.c | 2 +- sysdeps/ieee754/ldbl-128/s_log1pl.c | 4 +- sysdeps/ieee754/ldbl-128/s_logbl.c | 4 +- sysdeps/ieee754/ldbl-128/s_lrintl.c | 2 +- sysdeps/ieee754/ldbl-128/s_lroundl.c | 2 +- sysdeps/ieee754/ldbl-128/s_modfl.c | 4 +- sysdeps/ieee754/ldbl-128/s_nearbyintl.c | 4 +- sysdeps/ieee754/ldbl-128/s_nextafterl.c | 2 +- sysdeps/ieee754/ldbl-128/s_nexttoward.c | 2 +- sysdeps/ieee754/ldbl-128/s_nexttowardf.c | 4 +- sysdeps/ieee754/ldbl-128/s_remquol.c | 2 +- sysdeps/ieee754/ldbl-128/s_rintl.c | 4 +- sysdeps/ieee754/ldbl-128/s_roundl.c | 2 +- sysdeps/ieee754/ldbl-128/s_scalblnl.c | 4 +- sysdeps/ieee754/ldbl-128/s_scalbnl.c | 4 +- sysdeps/ieee754/ldbl-128/s_signbitl.c | 2 +- sysdeps/ieee754/ldbl-128/s_sincosl.c | 2 +- sysdeps/ieee754/ldbl-128/s_sinl.c | 4 +- sysdeps/ieee754/ldbl-128/s_tanhl.c | 4 +- sysdeps/ieee754/ldbl-128/s_tanl.c | 4 +- sysdeps/ieee754/ldbl-128/s_truncl.c | 2 +- sysdeps/ieee754/ldbl-128/w_expl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_acoshl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_acosl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_asinl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_atan2l.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_atanhl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_coshl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_fmodl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_hypotl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_log10l.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_log2l.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_logl.c | 2 +- sysdeps/ieee754/ldbl-128ibm/e_powl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_remainderl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/e_sinhl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/k_cosl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/k_sincosl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/k_sinl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/k_tanl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_asinhl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_atanl.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_copysignl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_cosl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_ctanl.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_erfl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_expm1l.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_fabsl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_finitel.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_frexpl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_isinfl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_isnanl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_log1pl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_logbl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_modfl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_remquol.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_signbitl.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_sincosl.c | 2 +- sysdeps/ieee754/ldbl-128ibm/s_sinl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_tanhl.c | 4 +- sysdeps/ieee754/ldbl-128ibm/s_tanl.c | 4 +- sysdeps/ieee754/ldbl-96/e_acoshl.c | 4 +- sysdeps/ieee754/ldbl-96/e_asinl.c | 4 +- sysdeps/ieee754/ldbl-96/e_atan2l.c | 4 +- sysdeps/ieee754/ldbl-96/e_atanhl.c | 4 +- sysdeps/ieee754/ldbl-96/e_coshl.c | 4 +- sysdeps/ieee754/ldbl-96/e_hypotl.c | 4 +- sysdeps/ieee754/ldbl-96/e_j0l.c | 4 +- sysdeps/ieee754/ldbl-96/e_j1l.c | 4 +- sysdeps/ieee754/ldbl-96/e_jnl.c | 4 +- sysdeps/ieee754/ldbl-96/e_lgammal_r.c | 4 +- sysdeps/ieee754/ldbl-96/e_remainderl.c | 4 +- sysdeps/ieee754/ldbl-96/e_sinhl.c | 4 +- sysdeps/ieee754/ldbl-96/s_asinhl.c | 4 +- sysdeps/ieee754/ldbl-96/s_cbrtl.c | 4 +- sysdeps/ieee754/ldbl-96/s_ceill.c | 4 +- sysdeps/ieee754/ldbl-96/s_copysignl.c | 4 +- sysdeps/ieee754/ldbl-96/s_cosl.c | 4 +- sysdeps/ieee754/ldbl-96/s_erfl.c | 4 +- sysdeps/ieee754/ldbl-96/s_fabsl.c | 4 +- sysdeps/ieee754/ldbl-96/s_finitel.c | 4 +- sysdeps/ieee754/ldbl-96/s_floorl.c | 4 +- sysdeps/ieee754/ldbl-96/s_fpclassifyl.c | 2 +- sysdeps/ieee754/ldbl-96/s_frexpl.c | 4 +- sysdeps/ieee754/ldbl-96/s_ilogbl.c | 4 +- sysdeps/ieee754/ldbl-96/s_isinf_nsl.c | 4 +- sysdeps/ieee754/ldbl-96/s_isinfl.c | 4 +- sysdeps/ieee754/ldbl-96/s_isnanl.c | 4 +- sysdeps/ieee754/ldbl-96/s_llrintl.c | 2 +- sysdeps/ieee754/ldbl-96/s_llroundl.c | 2 +- sysdeps/ieee754/ldbl-96/s_logbl.c | 4 +- sysdeps/ieee754/ldbl-96/s_lrintl.c | 2 +- sysdeps/ieee754/ldbl-96/s_lroundl.c | 2 +- sysdeps/ieee754/ldbl-96/s_modfl.c | 4 +- sysdeps/ieee754/ldbl-96/s_nearbyintl.c | 4 +- sysdeps/ieee754/ldbl-96/s_nextafterl.c | 2 +- sysdeps/ieee754/ldbl-96/s_nexttoward.c | 2 +- sysdeps/ieee754/ldbl-96/s_nexttowardf.c | 2 +- sysdeps/ieee754/ldbl-96/s_remquol.c | 2 +- sysdeps/ieee754/ldbl-96/s_rintl.c | 4 +- sysdeps/ieee754/ldbl-96/s_roundl.c | 2 +- sysdeps/ieee754/ldbl-96/s_scalblnl.c | 4 +- sysdeps/ieee754/ldbl-96/s_scalbnl.c | 4 +- sysdeps/ieee754/ldbl-96/s_signbitl.c | 2 +- sysdeps/ieee754/ldbl-96/s_sincosl.c | 2 +- sysdeps/ieee754/ldbl-96/s_sinl.c | 4 +- sysdeps/ieee754/ldbl-96/s_tanhl.c | 4 +- sysdeps/ieee754/ldbl-96/s_tanl.c | 4 +- sysdeps/ieee754/ldbl-96/s_truncl.c | 2 +- sysdeps/ieee754/s_lib_version.c | 4 +- sysdeps/ieee754/s_matherr.c | 4 +- sysdeps/ieee754/s_signgam.c | 4 +- sysdeps/powerpc/fpu/e_hypot.c | 4 +- sysdeps/powerpc/fpu/e_hypotf.c | 4 +- sysdeps/powerpc/fpu/e_rem_pio2f.c | 2 +- sysdeps/powerpc/fpu/k_cosf.c | 4 +- sysdeps/powerpc/fpu/k_rem_pio2f.c | 2 +- sysdeps/powerpc/fpu/k_sinf.c | 4 +- sysdeps/powerpc/fpu/s_cosf.c | 4 +- sysdeps/powerpc/fpu/s_float_bitwise.h | 2 +- sysdeps/powerpc/fpu/s_isnan.c | 2 +- sysdeps/powerpc/fpu/s_rint.c | 2 +- sysdeps/powerpc/fpu/s_rintf.c | 2 +- sysdeps/powerpc/fpu/s_sinf.c | 4 +- sysdeps/powerpc/fpu/w_sqrt.c | 4 +- sysdeps/powerpc/fpu/w_sqrtf.c | 4 +- sysdeps/powerpc/powerpc32/fpu/s_llrintf.c | 2 +- sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c | 2 +- sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c | 2 +- sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c | 2 +- sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c | 2 +- sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c | 4 +- sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c | 4 +- 336 files changed, 790 insertions(+), 576 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 6c0390615b..096a32b219 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,217 @@ +2012-03-09 Richard Henderson + + * sysdeps/i386/fpu/s_fpclassifyl.c, sysdeps/i386/fpu/s_isinfl.c, + sysdeps/i386/fpu/s_isnanl.c, sysdeps/i386/fpu/s_nextafterl.c, + sysdeps/i386/fpu/s_nexttoward.c, sysdeps/i386/fpu/s_nexttowardf.c, + sysdeps/ieee754/dbl-64/branred.c, sysdeps/ieee754/dbl-64/doasin.c, + sysdeps/ieee754/dbl-64/dosincos.c, sysdeps/ieee754/dbl-64/e_acosh.c, + sysdeps/ieee754/dbl-64/e_asin.c, sysdeps/ieee754/dbl-64/e_atan2.c, + sysdeps/ieee754/dbl-64/e_atanh.c, sysdeps/ieee754/dbl-64/e_cosh.c, + sysdeps/ieee754/dbl-64/e_exp.c, sysdeps/ieee754/dbl-64/e_fmod.c, + sysdeps/ieee754/dbl-64/e_hypot.c, sysdeps/ieee754/dbl-64/e_j0.c, + sysdeps/ieee754/dbl-64/e_j1.c, sysdeps/ieee754/dbl-64/e_jn.c, + sysdeps/ieee754/dbl-64/e_lgamma_r.c, sysdeps/ieee754/dbl-64/e_log.c, + sysdeps/ieee754/dbl-64/e_log10.c, sysdeps/ieee754/dbl-64/e_log2.c, + sysdeps/ieee754/dbl-64/e_pow.c, sysdeps/ieee754/dbl-64/e_rem_pio2.c, + sysdeps/ieee754/dbl-64/e_remainder.c, sysdeps/ieee754/dbl-64/e_sinh.c, + sysdeps/ieee754/dbl-64/e_sqrt.c, sysdeps/ieee754/dbl-64/halfulp.c, + sysdeps/ieee754/dbl-64/k_rem_pio2.c, sysdeps/ieee754/dbl-64/s_asinh.c, + sysdeps/ieee754/dbl-64/s_atan.c, sysdeps/ieee754/dbl-64/s_cbrt.c, + sysdeps/ieee754/dbl-64/s_ceil.c, sysdeps/ieee754/dbl-64/s_copysign.c, + sysdeps/ieee754/dbl-64/s_erf.c, sysdeps/ieee754/dbl-64/s_expm1.c, + sysdeps/ieee754/dbl-64/s_fabs.c, sysdeps/ieee754/dbl-64/s_finite.c, + sysdeps/ieee754/dbl-64/s_floor.c, sysdeps/ieee754/dbl-64/s_fpclassify.c, + sysdeps/ieee754/dbl-64/s_frexp.c, sysdeps/ieee754/dbl-64/s_ilogb.c, + sysdeps/ieee754/dbl-64/s_isinf.c, sysdeps/ieee754/dbl-64/s_isinf_ns.c, + sysdeps/ieee754/dbl-64/s_isnan.c, sysdeps/ieee754/dbl-64/s_llrint.c, + sysdeps/ieee754/dbl-64/s_llround.c, sysdeps/ieee754/dbl-64/s_log1p.c, + sysdeps/ieee754/dbl-64/s_logb.c, sysdeps/ieee754/dbl-64/s_lrint.c, + sysdeps/ieee754/dbl-64/s_lround.c, sysdeps/ieee754/dbl-64/s_modf.c, + sysdeps/ieee754/dbl-64/s_nearbyint.c, sysdeps/ieee754/dbl-64/s_remquo.c, + sysdeps/ieee754/dbl-64/s_rint.c, sysdeps/ieee754/dbl-64/s_round.c, + sysdeps/ieee754/dbl-64/s_scalbln.c, sysdeps/ieee754/dbl-64/s_scalbn.c, + sysdeps/ieee754/dbl-64/s_signbit.c, sysdeps/ieee754/dbl-64/s_sin.c, + sysdeps/ieee754/dbl-64/s_sincos.c, sysdeps/ieee754/dbl-64/s_tan.c, + sysdeps/ieee754/dbl-64/s_tanh.c, sysdeps/ieee754/dbl-64/s_trunc.c, + sysdeps/ieee754/dbl-64/sincos32.c, sysdeps/ieee754/dbl-64/slowexp.c, + sysdeps/ieee754/dbl-64/slowpow.c, + sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c, + sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c, + sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_isinf_ns.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_round.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c, + sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c, + sysdeps/ieee754/flt-32/e_acosf.c, sysdeps/ieee754/flt-32/e_acoshf.c, + sysdeps/ieee754/flt-32/e_asinf.c, sysdeps/ieee754/flt-32/e_atan2f.c, + sysdeps/ieee754/flt-32/e_atanhf.c, sysdeps/ieee754/flt-32/e_coshf.c, + sysdeps/ieee754/flt-32/e_fmodf.c, sysdeps/ieee754/flt-32/e_hypotf.c, + sysdeps/ieee754/flt-32/e_j0f.c, sysdeps/ieee754/flt-32/e_j1f.c, + sysdeps/ieee754/flt-32/e_jnf.c, sysdeps/ieee754/flt-32/e_lgammaf_r.c, + sysdeps/ieee754/flt-32/e_log10f.c, sysdeps/ieee754/flt-32/e_log2f.c, + sysdeps/ieee754/flt-32/e_logf.c, sysdeps/ieee754/flt-32/e_powf.c, + sysdeps/ieee754/flt-32/e_rem_pio2f.c, + sysdeps/ieee754/flt-32/e_remainderf.c, + sysdeps/ieee754/flt-32/e_sinhf.c, sysdeps/ieee754/flt-32/e_sqrtf.c, + sysdeps/ieee754/flt-32/k_cosf.c, sysdeps/ieee754/flt-32/k_rem_pio2f.c, + sysdeps/ieee754/flt-32/k_sinf.c, sysdeps/ieee754/flt-32/k_tanf.c, + sysdeps/ieee754/flt-32/s_asinhf.c, sysdeps/ieee754/flt-32/s_atanf.c, + sysdeps/ieee754/flt-32/s_cbrtf.c, sysdeps/ieee754/flt-32/s_ceilf.c, + sysdeps/ieee754/flt-32/s_copysignf.c, sysdeps/ieee754/flt-32/s_cosf.c, + sysdeps/ieee754/flt-32/s_erff.c, sysdeps/ieee754/flt-32/s_expm1f.c, + sysdeps/ieee754/flt-32/s_fabsf.c, sysdeps/ieee754/flt-32/s_finitef.c, + sysdeps/ieee754/flt-32/s_floorf.c, sysdeps/ieee754/flt-32/s_fpclassifyf.c, + sysdeps/ieee754/flt-32/s_frexpf.c, sysdeps/ieee754/flt-32/s_ilogbf.c, + sysdeps/ieee754/flt-32/s_isinf_nsf.c, sysdeps/ieee754/flt-32/s_isinff.c, + sysdeps/ieee754/flt-32/s_isnanf.c, sysdeps/ieee754/flt-32/s_llrintf.c, + sysdeps/ieee754/flt-32/s_llroundf.c, sysdeps/ieee754/flt-32/s_log1pf.c, + sysdeps/ieee754/flt-32/s_logbf.c, sysdeps/ieee754/flt-32/s_lrintf.c, + sysdeps/ieee754/flt-32/s_lroundf.c, sysdeps/ieee754/flt-32/s_modff.c, + sysdeps/ieee754/flt-32/s_nearbyintf.c, + sysdeps/ieee754/flt-32/s_nextafterf.c, + sysdeps/ieee754/flt-32/s_remquof.c, sysdeps/ieee754/flt-32/s_rintf.c, + sysdeps/ieee754/flt-32/s_roundf.c, sysdeps/ieee754/flt-32/s_scalblnf.c, + sysdeps/ieee754/flt-32/s_scalbnf.c, sysdeps/ieee754/flt-32/s_signbitf.c, + sysdeps/ieee754/flt-32/s_sincosf.c, sysdeps/ieee754/flt-32/s_sinf.c, + sysdeps/ieee754/flt-32/s_tanf.c, sysdeps/ieee754/flt-32/s_tanhf.c, + sysdeps/ieee754/flt-32/s_truncf.c, sysdeps/ieee754/k_standard.c, + sysdeps/ieee754/ldbl-128/e_acoshl.c, sysdeps/ieee754/ldbl-128/e_acosl.c, + sysdeps/ieee754/ldbl-128/e_asinl.c, sysdeps/ieee754/ldbl-128/e_atan2l.c, + sysdeps/ieee754/ldbl-128/e_atanhl.c, sysdeps/ieee754/ldbl-128/e_coshl.c, + sysdeps/ieee754/ldbl-128/e_fmodl.c, sysdeps/ieee754/ldbl-128/e_hypotl.c, + sysdeps/ieee754/ldbl-128/e_j0l.c, sysdeps/ieee754/ldbl-128/e_j1l.c, + sysdeps/ieee754/ldbl-128/e_jnl.c, sysdeps/ieee754/ldbl-128/e_lgammal_r.c, + sysdeps/ieee754/ldbl-128/e_log10l.c, sysdeps/ieee754/ldbl-128/e_log2l.c, + sysdeps/ieee754/ldbl-128/e_logl.c, sysdeps/ieee754/ldbl-128/e_powl.c, + sysdeps/ieee754/ldbl-128/e_rem_pio2l.c, + sysdeps/ieee754/ldbl-128/e_remainderl.c, + sysdeps/ieee754/ldbl-128/e_sinhl.c, sysdeps/ieee754/ldbl-128/k_cosl.c, + sysdeps/ieee754/ldbl-128/k_sincosl.c, sysdeps/ieee754/ldbl-128/k_sinl.c, + sysdeps/ieee754/ldbl-128/k_tanl.c, sysdeps/ieee754/ldbl-128/s_asinhl.c, + sysdeps/ieee754/ldbl-128/s_atanl.c, sysdeps/ieee754/ldbl-128/s_cbrtl.c, + sysdeps/ieee754/ldbl-128/s_ceill.c, sysdeps/ieee754/ldbl-128/s_copysignl.c, + sysdeps/ieee754/ldbl-128/s_cosl.c, sysdeps/ieee754/ldbl-128/s_erfl.c, + sysdeps/ieee754/ldbl-128/s_expm1l.c, sysdeps/ieee754/ldbl-128/s_fabsl.c, + sysdeps/ieee754/ldbl-128/s_finitel.c, sysdeps/ieee754/ldbl-128/s_floorl.c, + sysdeps/ieee754/ldbl-128/s_fpclassifyl.c, + sysdeps/ieee754/ldbl-128/s_frexpl.c, sysdeps/ieee754/ldbl-128/s_ilogbl.c, + sysdeps/ieee754/ldbl-128/s_isinf_nsl.c, + sysdeps/ieee754/ldbl-128/s_isinfl.c, sysdeps/ieee754/ldbl-128/s_isnanl.c, + sysdeps/ieee754/ldbl-128/s_llrintl.c, sysdeps/ieee754/ldbl-128/s_llroundl.c, + sysdeps/ieee754/ldbl-128/s_log1pl.c, sysdeps/ieee754/ldbl-128/s_logbl.c, + sysdeps/ieee754/ldbl-128/s_lrintl.c, sysdeps/ieee754/ldbl-128/s_lroundl.c, + sysdeps/ieee754/ldbl-128/s_modfl.c, sysdeps/ieee754/ldbl-128/s_nearbyintl.c, + sysdeps/ieee754/ldbl-128/s_nextafterl.c, + sysdeps/ieee754/ldbl-128/s_nexttoward.c, + sysdeps/ieee754/ldbl-128/s_nexttowardf.c, + sysdeps/ieee754/ldbl-128/s_remquol.c, sysdeps/ieee754/ldbl-128/s_rintl.c, + sysdeps/ieee754/ldbl-128/s_roundl.c, sysdeps/ieee754/ldbl-128/s_scalblnl.c, + sysdeps/ieee754/ldbl-128/s_scalbnl.c, sysdeps/ieee754/ldbl-128/s_signbitl.c, + sysdeps/ieee754/ldbl-128/s_sincosl.c, sysdeps/ieee754/ldbl-128/s_sinl.c, + sysdeps/ieee754/ldbl-128/s_tanhl.c, sysdeps/ieee754/ldbl-128/s_tanl.c, + sysdeps/ieee754/ldbl-128/s_truncl.c, sysdeps/ieee754/ldbl-128/w_expl.c, + sysdeps/ieee754/ldbl-128ibm/e_acoshl.c, + sysdeps/ieee754/ldbl-128ibm/e_acosl.c, + sysdeps/ieee754/ldbl-128ibm/e_asinl.c, + sysdeps/ieee754/ldbl-128ibm/e_atan2l.c, + sysdeps/ieee754/ldbl-128ibm/e_atanhl.c, + sysdeps/ieee754/ldbl-128ibm/e_coshl.c, + sysdeps/ieee754/ldbl-128ibm/e_fmodl.c, + sysdeps/ieee754/ldbl-128ibm/e_hypotl.c, + sysdeps/ieee754/ldbl-128ibm/e_jnl.c, + sysdeps/ieee754/ldbl-128ibm/e_log10l.c, + sysdeps/ieee754/ldbl-128ibm/e_log2l.c, + sysdeps/ieee754/ldbl-128ibm/e_logl.c, sysdeps/ieee754/ldbl-128ibm/e_powl.c, + sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c, + sysdeps/ieee754/ldbl-128ibm/e_remainderl.c, + sysdeps/ieee754/ldbl-128ibm/e_sinhl.c, sysdeps/ieee754/ldbl-128ibm/k_cosl.c, + sysdeps/ieee754/ldbl-128ibm/k_sincosl.c, + sysdeps/ieee754/ldbl-128ibm/k_sinl.c, sysdeps/ieee754/ldbl-128ibm/k_tanl.c, + sysdeps/ieee754/ldbl-128ibm/s_asinhl.c, + sysdeps/ieee754/ldbl-128ibm/s_atanl.c, + sysdeps/ieee754/ldbl-128ibm/s_copysignl.c, + sysdeps/ieee754/ldbl-128ibm/s_cosl.c, + sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c, + sysdeps/ieee754/ldbl-128ibm/s_ctanl.c, + sysdeps/ieee754/ldbl-128ibm/s_erfl.c, + sysdeps/ieee754/ldbl-128ibm/s_expm1l.c, + sysdeps/ieee754/ldbl-128ibm/s_fabsl.c, + sysdeps/ieee754/ldbl-128ibm/s_finitel.c, + sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c, + sysdeps/ieee754/ldbl-128ibm/s_frexpl.c, + sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c, + sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c, + sysdeps/ieee754/ldbl-128ibm/s_isinfl.c, + sysdeps/ieee754/ldbl-128ibm/s_isnanl.c, + sysdeps/ieee754/ldbl-128ibm/s_log1pl.c, + sysdeps/ieee754/ldbl-128ibm/s_logbl.c, + sysdeps/ieee754/ldbl-128ibm/s_modfl.c, + sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c, + sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c, + sysdeps/ieee754/ldbl-128ibm/s_remquol.c, + sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c, + sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c, + sysdeps/ieee754/ldbl-128ibm/s_signbitl.c, + sysdeps/ieee754/ldbl-128ibm/s_sincosl.c, + sysdeps/ieee754/ldbl-128ibm/s_sinl.c, + sysdeps/ieee754/ldbl-128ibm/s_tanhl.c, + sysdeps/ieee754/ldbl-128ibm/s_tanl.c, + sysdeps/ieee754/ldbl-96/e_acoshl.c, sysdeps/ieee754/ldbl-96/e_asinl.c, + sysdeps/ieee754/ldbl-96/e_atan2l.c, sysdeps/ieee754/ldbl-96/e_atanhl.c, + sysdeps/ieee754/ldbl-96/e_coshl.c, sysdeps/ieee754/ldbl-96/e_hypotl.c, + sysdeps/ieee754/ldbl-96/e_j0l.c, sysdeps/ieee754/ldbl-96/e_j1l.c, + sysdeps/ieee754/ldbl-96/e_jnl.c, sysdeps/ieee754/ldbl-96/e_lgammal_r.c, + sysdeps/ieee754/ldbl-96/e_remainderl.c, sysdeps/ieee754/ldbl-96/e_sinhl.c, + sysdeps/ieee754/ldbl-96/s_asinhl.c, sysdeps/ieee754/ldbl-96/s_cbrtl.c, + sysdeps/ieee754/ldbl-96/s_ceill.c, sysdeps/ieee754/ldbl-96/s_copysignl.c, + sysdeps/ieee754/ldbl-96/s_cosl.c, sysdeps/ieee754/ldbl-96/s_erfl.c, + sysdeps/ieee754/ldbl-96/s_fabsl.c, sysdeps/ieee754/ldbl-96/s_finitel.c, + sysdeps/ieee754/ldbl-96/s_floorl.c, sysdeps/ieee754/ldbl-96/s_fpclassifyl.c, + sysdeps/ieee754/ldbl-96/s_frexpl.c, sysdeps/ieee754/ldbl-96/s_ilogbl.c, + sysdeps/ieee754/ldbl-96/s_isinf_nsl.c, sysdeps/ieee754/ldbl-96/s_isinfl.c, + sysdeps/ieee754/ldbl-96/s_isnanl.c, sysdeps/ieee754/ldbl-96/s_llrintl.c, + sysdeps/ieee754/ldbl-96/s_llroundl.c, sysdeps/ieee754/ldbl-96/s_logbl.c, + sysdeps/ieee754/ldbl-96/s_lrintl.c, sysdeps/ieee754/ldbl-96/s_lroundl.c, + sysdeps/ieee754/ldbl-96/s_modfl.c, sysdeps/ieee754/ldbl-96/s_nearbyintl.c, + sysdeps/ieee754/ldbl-96/s_nextafterl.c, + sysdeps/ieee754/ldbl-96/s_nexttoward.c, + sysdeps/ieee754/ldbl-96/s_nexttowardf.c, + sysdeps/ieee754/ldbl-96/s_remquol.c, sysdeps/ieee754/ldbl-96/s_rintl.c, + sysdeps/ieee754/ldbl-96/s_roundl.c, sysdeps/ieee754/ldbl-96/s_scalblnl.c, + sysdeps/ieee754/ldbl-96/s_scalbnl.c, sysdeps/ieee754/ldbl-96/s_signbitl.c, + sysdeps/ieee754/ldbl-96/s_sincosl.c, sysdeps/ieee754/ldbl-96/s_sinl.c, + sysdeps/ieee754/ldbl-96/s_tanhl.c, sysdeps/ieee754/ldbl-96/s_tanl.c, + sysdeps/ieee754/ldbl-96/s_truncl.c, sysdeps/ieee754/s_lib_version.c, + sysdeps/ieee754/s_matherr.c, sysdeps/ieee754/s_signgam.c, + sysdeps/powerpc/fpu/e_hypot.c, sysdeps/powerpc/fpu/e_hypotf.c, + sysdeps/powerpc/fpu/e_rem_pio2f.c, sysdeps/powerpc/fpu/k_cosf.c, + sysdeps/powerpc/fpu/k_rem_pio2f.c, sysdeps/powerpc/fpu/k_sinf.c, + sysdeps/powerpc/fpu/s_cosf.c, sysdeps/powerpc/fpu/s_float_bitwise.h, + sysdeps/powerpc/fpu/s_isnan.c, sysdeps/powerpc/fpu/s_rint.c, + sysdeps/powerpc/fpu/s_rintf.c, sysdeps/powerpc/fpu/s_sinf.c, + sysdeps/powerpc/fpu/w_sqrt.c, sysdeps/powerpc/fpu/w_sqrtf.c, + sysdeps/powerpc/powerpc32/fpu/s_llrintf.c, + sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c, + sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c, + sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c, + sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c, + sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c, + sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c: Use <> to include both + and . + 2012-03-09 Joseph Myers * sunrpc/rpc_cout.c: Remove __GNU_LIBRARY__ conditionals. diff --git a/sysdeps/i386/fpu/s_fpclassifyl.c b/sysdeps/i386/fpu/s_fpclassifyl.c index c7fd703cb6..3643db9254 100644 --- a/sysdeps/i386/fpu/s_fpclassifyl.c +++ b/sysdeps/i386/fpu/s_fpclassifyl.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include int diff --git a/sysdeps/i386/fpu/s_isinfl.c b/sysdeps/i386/fpu/s_isinfl.c index 7c9a82beda..cdd77183fa 100644 --- a/sysdeps/i386/fpu/s_isinfl.c +++ b/sysdeps/i386/fpu/s_isinfl.c @@ -14,8 +14,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinfl(long double x) { diff --git a/sysdeps/i386/fpu/s_isnanl.c b/sysdeps/i386/fpu/s_isnanl.c index b00ee8832f..816396d8fb 100644 --- a/sysdeps/i386/fpu/s_isnanl.c +++ b/sysdeps/i386/fpu/s_isnanl.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isnanl(long double x) { diff --git a/sysdeps/i386/fpu/s_nextafterl.c b/sysdeps/i386/fpu/s_nextafterl.c index f0325b7fcd..bafe7437fa 100644 --- a/sysdeps/i386/fpu/s_nextafterl.c +++ b/sysdeps/i386/fpu/s_nextafterl.c @@ -26,7 +26,7 @@ static char rcsid[] = "$NetBSD: $"; * Special cases: */ -#include "math.h" +#include #include long double __nextafterl(long double x, long double y) diff --git a/sysdeps/i386/fpu/s_nexttoward.c b/sysdeps/i386/fpu/s_nexttoward.c index 075d0fd989..e5f0164ce1 100644 --- a/sysdeps/i386/fpu/s_nexttoward.c +++ b/sysdeps/i386/fpu/s_nexttoward.c @@ -26,7 +26,7 @@ static char rcsid[] = "$NetBSD: $"; * Special cases: */ -#include "math.h" +#include #include #include diff --git a/sysdeps/i386/fpu/s_nexttowardf.c b/sysdeps/i386/fpu/s_nexttowardf.c index 0a540403e1..89e8771481 100644 --- a/sysdeps/i386/fpu/s_nexttowardf.c +++ b/sysdeps/i386/fpu/s_nexttowardf.c @@ -18,7 +18,7 @@ static char rcsid[] = "$NetBSD: $"; #endif -#include "math.h" +#include #include #include diff --git a/sysdeps/ieee754/dbl-64/branred.c b/sysdeps/ieee754/dbl-64/branred.c index 5b19c8ed8f..a32daa990d 100644 --- a/sysdeps/ieee754/dbl-64/branred.c +++ b/sysdeps/ieee754/dbl-64/branred.c @@ -35,7 +35,7 @@ #include "endian.h" #include "mydefs.h" #include "branred.h" -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/doasin.c b/sysdeps/ieee754/dbl-64/doasin.c index c48ae364df..c041612b60 100644 --- a/sysdeps/ieee754/dbl-64/doasin.c +++ b/sysdeps/ieee754/dbl-64/doasin.c @@ -31,7 +31,7 @@ #include "endian.h" #include "mydefs.h" #include -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/dosincos.c b/sysdeps/ieee754/dbl-64/dosincos.c index c201d28cf0..e472438a95 100644 --- a/sysdeps/ieee754/dbl-64/dosincos.c +++ b/sysdeps/ieee754/dbl-64/dosincos.c @@ -36,7 +36,7 @@ #include "mydefs.h" #include #include "dosincos.h" -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/e_acosh.c b/sysdeps/ieee754/dbl-64/e_acosh.c index 6ef10cb84b..b24a6f6459 100644 --- a/sysdeps/ieee754/dbl-64/e_acosh.c +++ b/sysdeps/ieee754/dbl-64/e_acosh.c @@ -24,8 +24,8 @@ * acosh(NaN) is NaN without signal. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0, diff --git a/sysdeps/ieee754/dbl-64/e_asin.c b/sysdeps/ieee754/dbl-64/e_asin.c index 056650df2e..a9b1bc2165 100644 --- a/sysdeps/ieee754/dbl-64/e_asin.c +++ b/sysdeps/ieee754/dbl-64/e_asin.c @@ -39,7 +39,7 @@ #include "powtwo.tbl" #include "MathLib.h" #include "uasncs.h" -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/e_atan2.c b/sysdeps/ieee754/dbl-64/e_atan2.c index d25e3f9c94..dcef55f072 100644 --- a/sysdeps/ieee754/dbl-64/e_atan2.c +++ b/sysdeps/ieee754/dbl-64/e_atan2.c @@ -41,7 +41,7 @@ #include "MathLib.h" #include "uatan.tbl" #include "atnat2.h" -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/e_atanh.c b/sysdeps/ieee754/dbl-64/e_atanh.c index 5f471b1d79..6cec1093c3 100644 --- a/sysdeps/ieee754/dbl-64/e_atanh.c +++ b/sysdeps/ieee754/dbl-64/e_atanh.c @@ -36,8 +36,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const double huge = 1e300; diff --git a/sysdeps/ieee754/dbl-64/e_cosh.c b/sysdeps/ieee754/dbl-64/e_cosh.c index b9f79e47a9..229d5a2fb3 100644 --- a/sysdeps/ieee754/dbl-64/e_cosh.c +++ b/sysdeps/ieee754/dbl-64/e_cosh.c @@ -31,8 +31,8 @@ * only cosh(0)=1 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0, half=0.5, huge = 1.0e300; diff --git a/sysdeps/ieee754/dbl-64/e_exp.c b/sysdeps/ieee754/dbl-64/e_exp.c index 8231c5698c..cb8d9e8d9d 100644 --- a/sysdeps/ieee754/dbl-64/e_exp.c +++ b/sysdeps/ieee754/dbl-64/e_exp.c @@ -37,7 +37,7 @@ #include "mydefs.h" #include "MathLib.h" #include "uexp.tbl" -#include "math_private.h" +#include #include #ifndef SECTION diff --git a/sysdeps/ieee754/dbl-64/e_fmod.c b/sysdeps/ieee754/dbl-64/e_fmod.c index 0328b011d2..b8548fae4b 100644 --- a/sysdeps/ieee754/dbl-64/e_fmod.c +++ b/sysdeps/ieee754/dbl-64/e_fmod.c @@ -15,8 +15,8 @@ * Method: shift and subtract */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0, Zero[] = {0.0, -0.0,}; diff --git a/sysdeps/ieee754/dbl-64/e_hypot.c b/sysdeps/ieee754/dbl-64/e_hypot.c index a89ccaa35e..2dd681cf1a 100644 --- a/sysdeps/ieee754/dbl-64/e_hypot.c +++ b/sysdeps/ieee754/dbl-64/e_hypot.c @@ -42,8 +42,8 @@ * than 1 ulps (units in the last place) */ -#include "math.h" -#include "math_private.h" +#include +#include double __ieee754_hypot(double x, double y) diff --git a/sysdeps/ieee754/dbl-64/e_j0.c b/sysdeps/ieee754/dbl-64/e_j0.c index 48584a60b4..f393a762b2 100644 --- a/sysdeps/ieee754/dbl-64/e_j0.c +++ b/sysdeps/ieee754/dbl-64/e_j0.c @@ -58,8 +58,8 @@ * 3. Special cases: y0(0)=-inf, y0(x<0)=NaN, y0(inf)=0. */ -#include "math.h" -#include "math_private.h" +#include +#include static double pzero(double), qzero(double); diff --git a/sysdeps/ieee754/dbl-64/e_j1.c b/sysdeps/ieee754/dbl-64/e_j1.c index fdc6b5b896..cba4d46b18 100644 --- a/sysdeps/ieee754/dbl-64/e_j1.c +++ b/sysdeps/ieee754/dbl-64/e_j1.c @@ -58,8 +58,8 @@ * by method mentioned above. */ -#include "math.h" -#include "math_private.h" +#include +#include static double pone(double), qone(double); diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c index f8b8e2ee6a..63788c5a24 100644 --- a/sysdeps/ieee754/dbl-64/e_jn.c +++ b/sysdeps/ieee754/dbl-64/e_jn.c @@ -36,8 +36,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const double invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */ diff --git a/sysdeps/ieee754/dbl-64/e_lgamma_r.c b/sysdeps/ieee754/dbl-64/e_lgamma_r.c index e26ce8a247..af7d06c82f 100644 --- a/sysdeps/ieee754/dbl-64/e_lgamma_r.c +++ b/sysdeps/ieee754/dbl-64/e_lgamma_r.c @@ -77,8 +77,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const double two52= 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */ diff --git a/sysdeps/ieee754/dbl-64/e_log.c b/sysdeps/ieee754/dbl-64/e_log.c index 97657d2941..15f3dccce3 100644 --- a/sysdeps/ieee754/dbl-64/e_log.c +++ b/sysdeps/ieee754/dbl-64/e_log.c @@ -38,7 +38,7 @@ #include #include "mpa.h" #include "MathLib.h" -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/e_log10.c b/sysdeps/ieee754/dbl-64/e_log10.c index 6a630bcef7..9fce937085 100644 --- a/sysdeps/ieee754/dbl-64/e_log10.c +++ b/sysdeps/ieee754/dbl-64/e_log10.c @@ -43,8 +43,8 @@ * shown. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ diff --git a/sysdeps/ieee754/dbl-64/e_log2.c b/sysdeps/ieee754/dbl-64/e_log2.c index be41cb4e68..6891ee2389 100644 --- a/sysdeps/ieee754/dbl-64/e_log2.c +++ b/sysdeps/ieee754/dbl-64/e_log2.c @@ -54,8 +54,8 @@ * to produce the hexadecimal values shown. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double ln2 = 0.69314718055994530942, diff --git a/sysdeps/ieee754/dbl-64/e_pow.c b/sysdeps/ieee754/dbl-64/e_pow.c index f668b4b5fc..550633cf9b 100644 --- a/sysdeps/ieee754/dbl-64/e_pow.c +++ b/sysdeps/ieee754/dbl-64/e_pow.c @@ -40,7 +40,7 @@ #include "mydefs.h" #include "MathLib.h" #include "upow.tbl" -#include "math_private.h" +#include #include #ifndef SECTION diff --git a/sysdeps/ieee754/dbl-64/e_rem_pio2.c b/sysdeps/ieee754/dbl-64/e_rem_pio2.c index a82b291dd5..4478be0b07 100644 --- a/sysdeps/ieee754/dbl-64/e_rem_pio2.c +++ b/sysdeps/ieee754/dbl-64/e_rem_pio2.c @@ -17,8 +17,8 @@ * use __kernel_rem_pio2() */ -#include "math.h" -#include "math_private.h" +#include +#include /* * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi diff --git a/sysdeps/ieee754/dbl-64/e_remainder.c b/sysdeps/ieee754/dbl-64/e_remainder.c index af4730cf9e..304b45d95f 100644 --- a/sysdeps/ieee754/dbl-64/e_remainder.c +++ b/sysdeps/ieee754/dbl-64/e_remainder.c @@ -33,7 +33,7 @@ #include "mydefs.h" #include "urem.h" #include "MathLib.h" -#include "math_private.h" +#include /**************************************************************************/ /* An ultimate remainder routine. Given two IEEE double machine numbers x */ diff --git a/sysdeps/ieee754/dbl-64/e_sinh.c b/sysdeps/ieee754/dbl-64/e_sinh.c index 50463c3048..b954100baa 100644 --- a/sysdeps/ieee754/dbl-64/e_sinh.c +++ b/sysdeps/ieee754/dbl-64/e_sinh.c @@ -32,8 +32,8 @@ static char rcsid[] = "$NetBSD: e_sinh.c,v 1.7 1995/05/10 20:46:13 jtc Exp $"; * only sinh(0)=0 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0, shuge = 1.0e307; diff --git a/sysdeps/ieee754/dbl-64/e_sqrt.c b/sysdeps/ieee754/dbl-64/e_sqrt.c index 33fec43d98..3dc64c7d50 100644 --- a/sysdeps/ieee754/dbl-64/e_sqrt.c +++ b/sysdeps/ieee754/dbl-64/e_sqrt.c @@ -37,7 +37,7 @@ #include #include "MathLib.h" #include "root.tbl" -#include "math_private.h" +#include /*********************************************************************/ /* An ultimate sqrt routine. Given an IEEE double machine number x */ diff --git a/sysdeps/ieee754/dbl-64/halfulp.c b/sysdeps/ieee754/dbl-64/halfulp.c index 4ddd109cb6..33c14e1aa0 100644 --- a/sysdeps/ieee754/dbl-64/halfulp.c +++ b/sysdeps/ieee754/dbl-64/halfulp.c @@ -37,7 +37,7 @@ #include "endian.h" #include "mydefs.h" #include -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/k_rem_pio2.c b/sysdeps/ieee754/dbl-64/k_rem_pio2.c index 53be066e05..a1e0c6d72d 100644 --- a/sysdeps/ieee754/dbl-64/k_rem_pio2.c +++ b/sysdeps/ieee754/dbl-64/k_rem_pio2.c @@ -130,8 +130,8 @@ static char rcsid[] = "$NetBSD: k_rem_pio2.c,v 1.7 1995/05/10 20:46:25 jtc Exp $ * to produce the hexadecimal values shown. */ -#include "math.h" -#include "math_private.h" +#include +#include static const int init_jk[] = {2,3,4,6}; /* initial value for jk */ diff --git a/sysdeps/ieee754/dbl-64/s_asinh.c b/sysdeps/ieee754/dbl-64/s_asinh.c index 93789fb41e..68e854f5f4 100644 --- a/sysdeps/ieee754/dbl-64/s_asinh.c +++ b/sysdeps/ieee754/dbl-64/s_asinh.c @@ -21,8 +21,8 @@ * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ diff --git a/sysdeps/ieee754/dbl-64/s_atan.c b/sysdeps/ieee754/dbl-64/s_atan.c index 545b818dcb..4e125deb45 100644 --- a/sysdeps/ieee754/dbl-64/s_atan.c +++ b/sysdeps/ieee754/dbl-64/s_atan.c @@ -41,7 +41,7 @@ #include "MathLib.h" #include "uatan.tbl" #include "atnat.h" -#include "math.h" +#include void __mpatan(mp_no *,mp_no *,int); /* see definition in mpatan.c */ static double atanMp(double,const int[]); diff --git a/sysdeps/ieee754/dbl-64/s_cbrt.c b/sysdeps/ieee754/dbl-64/s_cbrt.c index 114b862fcf..30bd3a630d 100644 --- a/sysdeps/ieee754/dbl-64/s_cbrt.c +++ b/sysdeps/ieee754/dbl-64/s_cbrt.c @@ -18,8 +18,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include #define CBRT2 1.2599210498948731648 /* 2^(1/3) */ diff --git a/sysdeps/ieee754/dbl-64/s_ceil.c b/sysdeps/ieee754/dbl-64/s_ceil.c index de50e29bf2..e048c81c20 100644 --- a/sysdeps/ieee754/dbl-64/s_ceil.c +++ b/sysdeps/ieee754/dbl-64/s_ceil.c @@ -19,8 +19,8 @@ * Inexact flag raised if x not equal to ceil(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const double huge = 1.0e300; diff --git a/sysdeps/ieee754/dbl-64/s_copysign.c b/sysdeps/ieee754/dbl-64/s_copysign.c index 63f3bd3ccc..a541ceb05d 100644 --- a/sysdeps/ieee754/dbl-64/s_copysign.c +++ b/sysdeps/ieee754/dbl-64/s_copysign.c @@ -20,8 +20,8 @@ static char rcsid[] = "$NetBSD: s_copysign.c,v 1.8 1995/05/10 20:46:57 jtc Exp $ * with the sign bit of y. */ -#include "math.h" -#include "math_private.h" +#include +#include double __copysign(double x, double y) { diff --git a/sysdeps/ieee754/dbl-64/s_erf.c b/sysdeps/ieee754/dbl-64/s_erf.c index 97d7e34ffa..e25e28d9d5 100644 --- a/sysdeps/ieee754/dbl-64/s_erf.c +++ b/sysdeps/ieee754/dbl-64/s_erf.c @@ -112,8 +112,8 @@ static char rcsid[] = "$NetBSD: s_erf.c,v 1.8 1995/05/10 20:47:05 jtc Exp $"; */ -#include "math.h" -#include "math_private.h" +#include +#include static const double tiny = 1e-300, diff --git a/sysdeps/ieee754/dbl-64/s_expm1.c b/sysdeps/ieee754/dbl-64/s_expm1.c index 589128c08c..1a4bcd979a 100644 --- a/sysdeps/ieee754/dbl-64/s_expm1.c +++ b/sysdeps/ieee754/dbl-64/s_expm1.c @@ -109,8 +109,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include #define one Q[0] static const double huge = 1.0e+300, diff --git a/sysdeps/ieee754/dbl-64/s_fabs.c b/sysdeps/ieee754/dbl-64/s_fabs.c index 6dca1dec06..86f1d52be6 100644 --- a/sysdeps/ieee754/dbl-64/s_fabs.c +++ b/sysdeps/ieee754/dbl-64/s_fabs.c @@ -18,8 +18,8 @@ static char rcsid[] = "$NetBSD: s_fabs.c,v 1.7 1995/05/10 20:47:13 jtc Exp $"; * fabs(x) returns the absolute value of x. */ -#include "math.h" -#include "math_private.h" +#include +#include double __fabs(double x) { diff --git a/sysdeps/ieee754/dbl-64/s_finite.c b/sysdeps/ieee754/dbl-64/s_finite.c index cf3d8d8914..47dad5df2c 100644 --- a/sysdeps/ieee754/dbl-64/s_finite.c +++ b/sysdeps/ieee754/dbl-64/s_finite.c @@ -19,8 +19,8 @@ static char rcsid[] = "$NetBSD: s_finite.c,v 1.8 1995/05/10 20:47:17 jtc Exp $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __finite int __finite(double x) diff --git a/sysdeps/ieee754/dbl-64/s_floor.c b/sysdeps/ieee754/dbl-64/s_floor.c index 139e2f5cb5..5c7297842c 100644 --- a/sysdeps/ieee754/dbl-64/s_floor.c +++ b/sysdeps/ieee754/dbl-64/s_floor.c @@ -19,8 +19,8 @@ * Inexact flag raised if x not equal to floor(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const double huge = 1.0e300; diff --git a/sysdeps/ieee754/dbl-64/s_fpclassify.c b/sysdeps/ieee754/dbl-64/s_fpclassify.c index 311b814c40..4884b377f8 100644 --- a/sysdeps/ieee754/dbl-64/s_fpclassify.c +++ b/sysdeps/ieee754/dbl-64/s_fpclassify.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include int diff --git a/sysdeps/ieee754/dbl-64/s_frexp.c b/sysdeps/ieee754/dbl-64/s_frexp.c index e927274178..516f561a17 100644 --- a/sysdeps/ieee754/dbl-64/s_frexp.c +++ b/sysdeps/ieee754/dbl-64/s_frexp.c @@ -24,8 +24,8 @@ static char rcsid[] = "$NetBSD: s_frexp.c,v 1.9 1995/05/10 20:47:24 jtc Exp $"; * with *exp=0. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double two54 = 1.80143985094819840000e+16; /* 0x43500000, 0x00000000 */ diff --git a/sysdeps/ieee754/dbl-64/s_ilogb.c b/sysdeps/ieee754/dbl-64/s_ilogb.c index a2395a10a2..05c66d70fe 100644 --- a/sysdeps/ieee754/dbl-64/s_ilogb.c +++ b/sysdeps/ieee754/dbl-64/s_ilogb.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: s_ilogb.c,v 1.9 1995/05/10 20:47:28 jtc Exp $"; */ #include -#include "math.h" -#include "math_private.h" +#include +#include int __ilogb(double x) { diff --git a/sysdeps/ieee754/dbl-64/s_isinf.c b/sysdeps/ieee754/dbl-64/s_isinf.c index 24b29ae013..886b346f51 100644 --- a/sysdeps/ieee754/dbl-64/s_isinf.c +++ b/sysdeps/ieee754/dbl-64/s_isinf.c @@ -13,8 +13,8 @@ static char rcsid[] = "$NetBSD: s_isinf.c,v 1.3 1995/05/11 23:20:14 jtc Exp $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinf (double x) diff --git a/sysdeps/ieee754/dbl-64/s_isinf_ns.c b/sysdeps/ieee754/dbl-64/s_isinf_ns.c index 065522ed80..0ce50352c7 100644 --- a/sysdeps/ieee754/dbl-64/s_isinf_ns.c +++ b/sysdeps/ieee754/dbl-64/s_isinf_ns.c @@ -7,8 +7,8 @@ * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __isinf_ns int diff --git a/sysdeps/ieee754/dbl-64/s_isnan.c b/sysdeps/ieee754/dbl-64/s_isnan.c index c87eb69b18..f8958dcbbf 100644 --- a/sysdeps/ieee754/dbl-64/s_isnan.c +++ b/sysdeps/ieee754/dbl-64/s_isnan.c @@ -19,8 +19,8 @@ static char rcsid[] = "$NetBSD: s_isnan.c,v 1.8 1995/05/10 20:47:36 jtc Exp $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __isnan int __isnan(double x) diff --git a/sysdeps/ieee754/dbl-64/s_llrint.c b/sysdeps/ieee754/dbl-64/s_llrint.c index b80fdb6dde..5bb50090cd 100644 --- a/sysdeps/ieee754/dbl-64/s_llrint.c +++ b/sysdeps/ieee754/dbl-64/s_llrint.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include static const double two52[2] = { diff --git a/sysdeps/ieee754/dbl-64/s_llround.c b/sysdeps/ieee754/dbl-64/s_llround.c index 6d931062e0..89516bae59 100644 --- a/sysdeps/ieee754/dbl-64/s_llround.c +++ b/sysdeps/ieee754/dbl-64/s_llround.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include long long int diff --git a/sysdeps/ieee754/dbl-64/s_log1p.c b/sysdeps/ieee754/dbl-64/s_log1p.c index f82048f204..e3e6860966 100644 --- a/sysdeps/ieee754/dbl-64/s_log1p.c +++ b/sysdeps/ieee754/dbl-64/s_log1p.c @@ -78,8 +78,8 @@ * See HP-15C Advanced Functions Handbook, p.193. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ diff --git a/sysdeps/ieee754/dbl-64/s_logb.c b/sysdeps/ieee754/dbl-64/s_logb.c index 46743c0cbf..2382fbb414 100644 --- a/sysdeps/ieee754/dbl-64/s_logb.c +++ b/sysdeps/ieee754/dbl-64/s_logb.c @@ -20,8 +20,8 @@ static char rcsid[] = "$NetBSD: s_logb.c,v 1.8 1995/05/10 20:47:50 jtc Exp $"; * Use ilogb instead. */ -#include "math.h" -#include "math_private.h" +#include +#include double __logb(double x) { diff --git a/sysdeps/ieee754/dbl-64/s_lrint.c b/sysdeps/ieee754/dbl-64/s_lrint.c index 61dc164ac2..d1561bfd25 100644 --- a/sysdeps/ieee754/dbl-64/s_lrint.c +++ b/sysdeps/ieee754/dbl-64/s_lrint.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include static const double two52[2] = { diff --git a/sysdeps/ieee754/dbl-64/s_lround.c b/sysdeps/ieee754/dbl-64/s_lround.c index 523cc7c6a5..4cb9ca42f4 100644 --- a/sysdeps/ieee754/dbl-64/s_lround.c +++ b/sysdeps/ieee754/dbl-64/s_lround.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include long int diff --git a/sysdeps/ieee754/dbl-64/s_modf.c b/sysdeps/ieee754/dbl-64/s_modf.c index a884de5d5f..b9911c1af6 100644 --- a/sysdeps/ieee754/dbl-64/s_modf.c +++ b/sysdeps/ieee754/dbl-64/s_modf.c @@ -19,8 +19,8 @@ * No exception. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0; diff --git a/sysdeps/ieee754/dbl-64/s_nearbyint.c b/sysdeps/ieee754/dbl-64/s_nearbyint.c index 184fa70177..d780150a90 100644 --- a/sysdeps/ieee754/dbl-64/s_nearbyint.c +++ b/sysdeps/ieee754/dbl-64/s_nearbyint.c @@ -25,8 +25,8 @@ static char rcsid[] = "$NetBSD: s_rint.c,v 1.8 1995/05/10 20:48:04 jtc Exp $"; */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const double TWO52[2]={ diff --git a/sysdeps/ieee754/dbl-64/s_remquo.c b/sysdeps/ieee754/dbl-64/s_remquo.c index 4498c564da..174dde40f8 100644 --- a/sysdeps/ieee754/dbl-64/s_remquo.c +++ b/sysdeps/ieee754/dbl-64/s_remquo.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include static const double zero = 0.0; diff --git a/sysdeps/ieee754/dbl-64/s_rint.c b/sysdeps/ieee754/dbl-64/s_rint.c index a671a6277e..c45d7848d7 100644 --- a/sysdeps/ieee754/dbl-64/s_rint.c +++ b/sysdeps/ieee754/dbl-64/s_rint.c @@ -20,8 +20,8 @@ * Inexact flag raised if x not equal to rint(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const double TWO52[2]={ diff --git a/sysdeps/ieee754/dbl-64/s_round.c b/sysdeps/ieee754/dbl-64/s_round.c index 12b0b3749f..046d5863ad 100644 --- a/sysdeps/ieee754/dbl-64/s_round.c +++ b/sysdeps/ieee754/dbl-64/s_round.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include static const double huge = 1.0e300; diff --git a/sysdeps/ieee754/dbl-64/s_scalbln.c b/sysdeps/ieee754/dbl-64/s_scalbln.c index b5903c97d0..271a24c3ea 100644 --- a/sysdeps/ieee754/dbl-64/s_scalbln.c +++ b/sysdeps/ieee754/dbl-64/s_scalbln.c @@ -16,8 +16,8 @@ * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ diff --git a/sysdeps/ieee754/dbl-64/s_scalbn.c b/sysdeps/ieee754/dbl-64/s_scalbn.c index c2488fbbee..1f302557ef 100644 --- a/sysdeps/ieee754/dbl-64/s_scalbn.c +++ b/sysdeps/ieee754/dbl-64/s_scalbn.c @@ -16,8 +16,8 @@ * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ diff --git a/sysdeps/ieee754/dbl-64/s_signbit.c b/sysdeps/ieee754/dbl-64/s_signbit.c index c893ad36d1..3e576f7a31 100644 --- a/sysdeps/ieee754/dbl-64/s_signbit.c +++ b/sysdeps/ieee754/dbl-64/s_signbit.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include int __signbit (double x) diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c index 32ba66d1a0..e3e3a2a965 100644 --- a/sysdeps/ieee754/dbl-64/s_sin.c +++ b/sysdeps/ieee754/dbl-64/s_sin.c @@ -52,7 +52,7 @@ #include "mydefs.h" #include "usncs.h" #include "MathLib.h" -#include "math_private.h" +#include #include #ifndef SECTION diff --git a/sysdeps/ieee754/dbl-64/s_sincos.c b/sysdeps/ieee754/dbl-64/s_sincos.c index 73258b352b..4d55c71dad 100644 --- a/sysdeps/ieee754/dbl-64/s_sincos.c +++ b/sysdeps/ieee754/dbl-64/s_sincos.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include void diff --git a/sysdeps/ieee754/dbl-64/s_tan.c b/sysdeps/ieee754/dbl-64/s_tan.c index 2c26756ff2..acff67c987 100644 --- a/sysdeps/ieee754/dbl-64/s_tan.c +++ b/sysdeps/ieee754/dbl-64/s_tan.c @@ -38,8 +38,8 @@ #include #include "mpa.h" #include "MathLib.h" -#include "math.h" -#include "math_private.h" +#include +#include #include #ifndef SECTION diff --git a/sysdeps/ieee754/dbl-64/s_tanh.c b/sysdeps/ieee754/dbl-64/s_tanh.c index 63ef4b88a4..ded0d6025d 100644 --- a/sysdeps/ieee754/dbl-64/s_tanh.c +++ b/sysdeps/ieee754/dbl-64/s_tanh.c @@ -38,8 +38,8 @@ static char rcsid[] = "$NetBSD: s_tanh.c,v 1.7 1995/05/10 20:48:22 jtc Exp $"; * only tanh(0)=0 is exact for finite argument. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one=1.0, two=2.0, tiny = 1.0e-300; diff --git a/sysdeps/ieee754/dbl-64/s_trunc.c b/sysdeps/ieee754/dbl-64/s_trunc.c index 359a2ff3d4..cf43482f21 100644 --- a/sysdeps/ieee754/dbl-64/s_trunc.c +++ b/sysdeps/ieee754/dbl-64/s_trunc.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include double diff --git a/sysdeps/ieee754/dbl-64/sincos32.c b/sysdeps/ieee754/dbl-64/sincos32.c index f3418fe964..038d1bdf22 100644 --- a/sysdeps/ieee754/dbl-64/sincos32.c +++ b/sysdeps/ieee754/dbl-64/sincos32.c @@ -42,7 +42,7 @@ #include "endian.h" #include "mpa.h" #include "sincos32.h" -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/slowexp.c b/sysdeps/ieee754/dbl-64/slowexp.c index fa32826cf7..887a06b2dd 100644 --- a/sysdeps/ieee754/dbl-64/slowexp.c +++ b/sysdeps/ieee754/dbl-64/slowexp.c @@ -28,7 +28,7 @@ /* e^x */ /**************************************************************************/ #include "mpa.h" -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/slowpow.c b/sysdeps/ieee754/dbl-64/slowpow.c index 89a914adcd..7c829c74f7 100644 --- a/sysdeps/ieee754/dbl-64/slowpow.c +++ b/sysdeps/ieee754/dbl-64/slowpow.c @@ -32,7 +32,7 @@ /*************************************************************************/ #include "mpa.h" -#include "math_private.h" +#include #ifndef SECTION # define SECTION diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c index 83c28479d3..26268f2498 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c @@ -24,8 +24,8 @@ * acosh(NaN) is NaN without signal. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0, diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c index 41dc42c0af..b8ab748304 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c @@ -31,8 +31,8 @@ * only cosh(0)=1 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0, half=0.5, huge = 1.0e300; diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c index 0e20571a74..6d2540447f 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c @@ -16,8 +16,8 @@ * Method: shift and subtract */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0, Zero[] = {0.0, -0.0,}; diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c index 346dab7995..c687525d4b 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c @@ -19,8 +19,8 @@ * Inexact flag raised if x not equal to ceil(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const double huge = 1.0e300; diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c index 93a39a6835..f25ede8f9c 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c @@ -14,8 +14,8 @@ * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __finite int diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c index 8ee914e321..34fa6dad5e 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c @@ -30,8 +30,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include /* * floor(x) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c index 0d5da875a2..5ca6b0f97e 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c @@ -17,8 +17,8 @@ . */ #include -#include "math.h" -#include "math_private.h" +#include +#include /* * for non-zero, finite x diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c index c48e979a84..163fc31efc 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c @@ -9,8 +9,8 @@ * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinf (double x) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_isinf_ns.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_isinf_ns.c index 09dcc94532..9d78ed13ae 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_isinf_ns.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_isinf_ns.c @@ -7,8 +7,8 @@ * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __isinf_ns int diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c index 86d0ac8bbc..70a620cf64 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c @@ -15,8 +15,8 @@ * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __isnan int __isnan(double x) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c index 7760266290..2ad6c7ddbd 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include double diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c index 7fa2685e47..e3a1db0d50 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c @@ -22,7 +22,7 @@ #include -#include "math_private.h" +#include long int diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c index 0cba548abd..89743168cb 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c @@ -20,8 +20,8 @@ * No exception. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double one = 1.0; diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c index 861da20b10..a3809984e2 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c @@ -21,8 +21,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const double TWO52[2]={ diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c index 6b645b9af7..d634d67f46 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include static const double zero = 0.0; diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c index 571b3811ab..20eef3c5ea 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c @@ -19,8 +19,8 @@ * Inexact flag raised if x not equal to rint(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const double TWO52[2]={ diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c index 6a26197fd2..4d2012ae2f 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_round.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include static const double huge = 1.0e300; diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c index 1d0da687c1..c00db68ddf 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c @@ -16,8 +16,8 @@ * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c index e183c3875f..3822e1737d 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c @@ -16,8 +16,8 @@ * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include static const double two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c index f94826a8f5..bfb773d3a9 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include double diff --git a/sysdeps/ieee754/flt-32/e_acosf.c b/sysdeps/ieee754/flt-32/e_acosf.c index a258e2f918..c0f1d4ea74 100644 --- a/sysdeps/ieee754/flt-32/e_acosf.c +++ b/sysdeps/ieee754/flt-32/e_acosf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0000000000e+00, /* 0x3F800000 */ diff --git a/sysdeps/ieee754/flt-32/e_acoshf.c b/sysdeps/ieee754/flt-32/e_acoshf.c index 5999b747a2..aabfb85df7 100644 --- a/sysdeps/ieee754/flt-32/e_acoshf.c +++ b/sysdeps/ieee754/flt-32/e_acoshf.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: e_acoshf.c,v 1.5 1995/05/12 04:57:20 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0, diff --git a/sysdeps/ieee754/flt-32/e_asinf.c b/sysdeps/ieee754/flt-32/e_asinf.c index 595f957f6b..91ca9afd00 100644 --- a/sysdeps/ieee754/flt-32/e_asinf.c +++ b/sysdeps/ieee754/flt-32/e_asinf.c @@ -39,8 +39,8 @@ static char rcsid[] = "$NetBSD: e_asinf.c,v 1.5 1995/05/12 04:57:25 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0000000000e+00, /* 0x3F800000 */ diff --git a/sysdeps/ieee754/flt-32/e_atan2f.c b/sysdeps/ieee754/flt-32/e_atan2f.c index abbde88bdf..29eefc0dd6 100644 --- a/sysdeps/ieee754/flt-32/e_atan2f.c +++ b/sysdeps/ieee754/flt-32/e_atan2f.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float tiny = 1.0e-30, diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c index 7af2f6ce67..84e080df5a 100644 --- a/sysdeps/ieee754/flt-32/e_atanhf.c +++ b/sysdeps/ieee754/flt-32/e_atanhf.c @@ -36,8 +36,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const float huge = 1e30; diff --git a/sysdeps/ieee754/flt-32/e_coshf.c b/sysdeps/ieee754/flt-32/e_coshf.c index 1887639a6b..7eeea4d8da 100644 --- a/sysdeps/ieee754/flt-32/e_coshf.c +++ b/sysdeps/ieee754/flt-32/e_coshf.c @@ -14,8 +14,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float huge = 1.0e30; static const float one = 1.0, half=0.5; diff --git a/sysdeps/ieee754/flt-32/e_fmodf.c b/sysdeps/ieee754/flt-32/e_fmodf.c index e82a9ceab7..8d8fad4eb5 100644 --- a/sysdeps/ieee754/flt-32/e_fmodf.c +++ b/sysdeps/ieee754/flt-32/e_fmodf.c @@ -19,8 +19,8 @@ * Method: shift and subtract */ -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0, Zero[] = {0.0, -0.0,}; diff --git a/sysdeps/ieee754/flt-32/e_hypotf.c b/sysdeps/ieee754/flt-32/e_hypotf.c index 7ec8ae66bc..97e7d34b64 100644 --- a/sysdeps/ieee754/flt-32/e_hypotf.c +++ b/sysdeps/ieee754/flt-32/e_hypotf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include float __ieee754_hypotf(float x, float y) diff --git a/sysdeps/ieee754/flt-32/e_j0f.c b/sysdeps/ieee754/flt-32/e_j0f.c index 0cc52c94c4..0729cd04e0 100644 --- a/sysdeps/ieee754/flt-32/e_j0f.c +++ b/sysdeps/ieee754/flt-32/e_j0f.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static float pzerof(float), qzerof(float); diff --git a/sysdeps/ieee754/flt-32/e_j1f.c b/sysdeps/ieee754/flt-32/e_j1f.c index bb335a7403..30b7d8e250 100644 --- a/sysdeps/ieee754/flt-32/e_j1f.c +++ b/sysdeps/ieee754/flt-32/e_j1f.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static float ponef(float), qonef(float); diff --git a/sysdeps/ieee754/flt-32/e_jnf.c b/sysdeps/ieee754/flt-32/e_jnf.c index 1e55485b02..bed9cee7ab 100644 --- a/sysdeps/ieee754/flt-32/e_jnf.c +++ b/sysdeps/ieee754/flt-32/e_jnf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float two = 2.0000000000e+00, /* 0x40000000 */ diff --git a/sysdeps/ieee754/flt-32/e_lgammaf_r.c b/sysdeps/ieee754/flt-32/e_lgammaf_r.c index cbee9db8fb..2e92269085 100644 --- a/sysdeps/ieee754/flt-32/e_lgammaf_r.c +++ b/sysdeps/ieee754/flt-32/e_lgammaf_r.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float two23= 8.3886080000e+06, /* 0x4b000000 */ diff --git a/sysdeps/ieee754/flt-32/e_log10f.c b/sysdeps/ieee754/flt-32/e_log10f.c index 72dcea6250..96f0e81c52 100644 --- a/sysdeps/ieee754/flt-32/e_log10f.c +++ b/sysdeps/ieee754/flt-32/e_log10f.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float two25 = 3.3554432000e+07, /* 0x4c000000 */ diff --git a/sysdeps/ieee754/flt-32/e_log2f.c b/sysdeps/ieee754/flt-32/e_log2f.c index 7453214516..245be4e6f7 100644 --- a/sysdeps/ieee754/flt-32/e_log2f.c +++ b/sysdeps/ieee754/flt-32/e_log2f.c @@ -15,8 +15,8 @@ */ -#include "math.h" -#include "math_private.h" +#include +#include static const float ln2 = 0.69314718055994530942, diff --git a/sysdeps/ieee754/flt-32/e_logf.c b/sysdeps/ieee754/flt-32/e_logf.c index b870b31957..7da64896c1 100644 --- a/sysdeps/ieee754/flt-32/e_logf.c +++ b/sysdeps/ieee754/flt-32/e_logf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float ln2_hi = 6.9313812256e-01, /* 0x3f317180 */ diff --git a/sysdeps/ieee754/flt-32/e_powf.c b/sysdeps/ieee754/flt-32/e_powf.c index 460055204f..43069479a5 100644 --- a/sysdeps/ieee754/flt-32/e_powf.c +++ b/sysdeps/ieee754/flt-32/e_powf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float huge = 1.0e+30, tiny = 1.0e-30; diff --git a/sysdeps/ieee754/flt-32/e_rem_pio2f.c b/sysdeps/ieee754/flt-32/e_rem_pio2f.c index c2b9793df9..702fbf520d 100644 --- a/sysdeps/ieee754/flt-32/e_rem_pio2f.c +++ b/sysdeps/ieee754/flt-32/e_rem_pio2f.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: e_rem_pio2f.c,v 1.5 1995/05/10 20:46:03 jtc Exp * use __kernel_rem_pio2f() */ -#include "math.h" -#include "math_private.h" +#include +#include /* * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi diff --git a/sysdeps/ieee754/flt-32/e_remainderf.c b/sysdeps/ieee754/flt-32/e_remainderf.c index aaf15dfe54..cc0167862e 100644 --- a/sysdeps/ieee754/flt-32/e_remainderf.c +++ b/sysdeps/ieee754/flt-32/e_remainderf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float zero = 0.0; diff --git a/sysdeps/ieee754/flt-32/e_sinhf.c b/sysdeps/ieee754/flt-32/e_sinhf.c index 5813963488..0a3cc90cd1 100644 --- a/sysdeps/ieee754/flt-32/e_sinhf.c +++ b/sysdeps/ieee754/flt-32/e_sinhf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0, shuge = 1.0e37; diff --git a/sysdeps/ieee754/flt-32/e_sqrtf.c b/sysdeps/ieee754/flt-32/e_sqrtf.c index 6d6688c52c..c02206ac01 100644 --- a/sysdeps/ieee754/flt-32/e_sqrtf.c +++ b/sysdeps/ieee754/flt-32/e_sqrtf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0, tiny=1.0e-30; diff --git a/sysdeps/ieee754/flt-32/k_cosf.c b/sysdeps/ieee754/flt-32/k_cosf.c index 81259470e0..fe4b453b77 100644 --- a/sysdeps/ieee754/flt-32/k_cosf.c +++ b/sysdeps/ieee754/flt-32/k_cosf.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: k_cosf.c,v 1.4 1995/05/10 20:46:23 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0000000000e+00, /* 0x3f800000 */ diff --git a/sysdeps/ieee754/flt-32/k_rem_pio2f.c b/sysdeps/ieee754/flt-32/k_rem_pio2f.c index 395cc789f1..06c2f378dc 100644 --- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c +++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: k_rem_pio2f.c,v 1.4 1995/05/10 20:46:28 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include /* In the float version, the input parameter x contains 8 bit integers, not 24 bit integers. 113 bit precision is not supported. */ diff --git a/sysdeps/ieee754/flt-32/k_sinf.c b/sysdeps/ieee754/flt-32/k_sinf.c index 572363d755..e65fb988b7 100644 --- a/sysdeps/ieee754/flt-32/k_sinf.c +++ b/sysdeps/ieee754/flt-32/k_sinf.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: k_sinf.c,v 1.4 1995/05/10 20:46:33 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float half = 5.0000000000e-01,/* 0x3f000000 */ diff --git a/sysdeps/ieee754/flt-32/k_tanf.c b/sysdeps/ieee754/flt-32/k_tanf.c index 8b34811e4f..92206069c8 100644 --- a/sysdeps/ieee754/flt-32/k_tanf.c +++ b/sysdeps/ieee754/flt-32/k_tanf.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: k_tanf.c,v 1.4 1995/05/10 20:46:39 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0000000000e+00, /* 0x3f800000 */ pio4 = 7.8539812565e-01, /* 0x3f490fda */ diff --git a/sysdeps/ieee754/flt-32/s_asinhf.c b/sysdeps/ieee754/flt-32/s_asinhf.c index aa46f90004..b7fa2b4443 100644 --- a/sysdeps/ieee754/flt-32/s_asinhf.c +++ b/sysdeps/ieee754/flt-32/s_asinhf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0000000000e+00, /* 0x3F800000 */ diff --git a/sysdeps/ieee754/flt-32/s_atanf.c b/sysdeps/ieee754/flt-32/s_atanf.c index 8a3aa811b2..be7e67456a 100644 --- a/sysdeps/ieee754/flt-32/s_atanf.c +++ b/sysdeps/ieee754/flt-32/s_atanf.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: s_atanf.c,v 1.4 1995/05/10 20:46:47 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float atanhi[] = { 4.6364760399e-01, /* atan(0.5)hi 0x3eed6338 */ diff --git a/sysdeps/ieee754/flt-32/s_cbrtf.c b/sysdeps/ieee754/flt-32/s_cbrtf.c index 14233abf1b..ca792dbe6f 100644 --- a/sysdeps/ieee754/flt-32/s_cbrtf.c +++ b/sysdeps/ieee754/flt-32/s_cbrtf.c @@ -18,8 +18,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include #define CBRT2 1.2599210498948731648 /* 2^(1/3) */ diff --git a/sysdeps/ieee754/flt-32/s_ceilf.c b/sysdeps/ieee754/flt-32/s_ceilf.c index af926600b0..37659ea2ae 100644 --- a/sysdeps/ieee754/flt-32/s_ceilf.c +++ b/sysdeps/ieee754/flt-32/s_ceilf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float huge = 1.0e30; diff --git a/sysdeps/ieee754/flt-32/s_copysignf.c b/sysdeps/ieee754/flt-32/s_copysignf.c index 3a7893d8af..8bdf997d6b 100644 --- a/sysdeps/ieee754/flt-32/s_copysignf.c +++ b/sysdeps/ieee754/flt-32/s_copysignf.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: s_copysignf.c,v 1.4 1995/05/10 20:46:59 jtc Exp * with the sign bit of y. */ -#include "math.h" -#include "math_private.h" +#include +#include float __copysignf(float x, float y) { diff --git a/sysdeps/ieee754/flt-32/s_cosf.c b/sysdeps/ieee754/flt-32/s_cosf.c index dfe576c7be..f4bd81904b 100644 --- a/sysdeps/ieee754/flt-32/s_cosf.c +++ b/sysdeps/ieee754/flt-32/s_cosf.c @@ -18,8 +18,8 @@ static char rcsid[] = "$NetBSD: s_cosf.c,v 1.4 1995/05/10 20:47:03 jtc Exp $"; #endif #include -#include "math.h" -#include "math_private.h" +#include +#include static const float one=1.0; diff --git a/sysdeps/ieee754/flt-32/s_erff.c b/sysdeps/ieee754/flt-32/s_erff.c index 8a0610d5c5..17eeca4b51 100644 --- a/sysdeps/ieee754/flt-32/s_erff.c +++ b/sysdeps/ieee754/flt-32/s_erff.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: s_erff.c,v 1.4 1995/05/10 20:47:07 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float tiny = 1e-30, diff --git a/sysdeps/ieee754/flt-32/s_expm1f.c b/sysdeps/ieee754/flt-32/s_expm1f.c index 1d707120b0..ca8839fa22 100644 --- a/sysdeps/ieee754/flt-32/s_expm1f.c +++ b/sysdeps/ieee754/flt-32/s_expm1f.c @@ -14,8 +14,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const float huge = 1.0e+30; static const float tiny = 1.0e-30; diff --git a/sysdeps/ieee754/flt-32/s_fabsf.c b/sysdeps/ieee754/flt-32/s_fabsf.c index b6a02da184..619526574a 100644 --- a/sysdeps/ieee754/flt-32/s_fabsf.c +++ b/sysdeps/ieee754/flt-32/s_fabsf.c @@ -21,8 +21,8 @@ static char rcsid[] = "$NetBSD: s_fabsf.c,v 1.4 1995/05/10 20:47:15 jtc Exp $"; * fabsf(x) returns the absolute value of x. */ -#include "math.h" -#include "math_private.h" +#include +#include float __fabsf(float x) { diff --git a/sysdeps/ieee754/flt-32/s_finitef.c b/sysdeps/ieee754/flt-32/s_finitef.c index fe4f0525fa..dfdf4ad0b7 100644 --- a/sysdeps/ieee754/flt-32/s_finitef.c +++ b/sysdeps/ieee754/flt-32/s_finitef.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: s_finitef.c,v 1.4 1995/05/10 20:47:18 jtc Exp $" * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __finitef int __finitef(float x) diff --git a/sysdeps/ieee754/flt-32/s_floorf.c b/sysdeps/ieee754/flt-32/s_floorf.c index de160d2114..99d6c01833 100644 --- a/sysdeps/ieee754/flt-32/s_floorf.c +++ b/sysdeps/ieee754/flt-32/s_floorf.c @@ -22,8 +22,8 @@ * Inexact flag raised if x not equal to floorf(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const float huge = 1.0e30; diff --git a/sysdeps/ieee754/flt-32/s_fpclassifyf.c b/sysdeps/ieee754/flt-32/s_fpclassifyf.c index eb3461f639..95cba2bd3f 100644 --- a/sysdeps/ieee754/flt-32/s_fpclassifyf.c +++ b/sysdeps/ieee754/flt-32/s_fpclassifyf.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include int diff --git a/sysdeps/ieee754/flt-32/s_frexpf.c b/sysdeps/ieee754/flt-32/s_frexpf.c index ba3777553c..abb8c0a65e 100644 --- a/sysdeps/ieee754/flt-32/s_frexpf.c +++ b/sysdeps/ieee754/flt-32/s_frexpf.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: s_frexpf.c,v 1.5 1995/05/10 20:47:26 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float two25 = 3.3554432000e+07; /* 0x4c000000 */ diff --git a/sysdeps/ieee754/flt-32/s_ilogbf.c b/sysdeps/ieee754/flt-32/s_ilogbf.c index 74babe140f..21f9cd9704 100644 --- a/sysdeps/ieee754/flt-32/s_ilogbf.c +++ b/sysdeps/ieee754/flt-32/s_ilogbf.c @@ -18,8 +18,8 @@ static char rcsid[] = "$NetBSD: s_ilogbf.c,v 1.4 1995/05/10 20:47:31 jtc Exp $"; #endif #include -#include "math.h" -#include "math_private.h" +#include +#include int __ilogbf(float x) { diff --git a/sysdeps/ieee754/flt-32/s_isinf_nsf.c b/sysdeps/ieee754/flt-32/s_isinf_nsf.c index 1e46e2ce4a..284d61926a 100644 --- a/sysdeps/ieee754/flt-32/s_isinf_nsf.c +++ b/sysdeps/ieee754/flt-32/s_isinf_nsf.c @@ -7,8 +7,8 @@ * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __isinf_nsf int diff --git a/sysdeps/ieee754/flt-32/s_isinff.c b/sysdeps/ieee754/flt-32/s_isinff.c index 03a95fcc0f..6eec050bb5 100644 --- a/sysdeps/ieee754/flt-32/s_isinff.c +++ b/sysdeps/ieee754/flt-32/s_isinff.c @@ -12,8 +12,8 @@ static char rcsid[] = "$NetBSD: s_isinff.c,v 1.3 1995/05/11 23:20:21 jtc Exp $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinff (float x) diff --git a/sysdeps/ieee754/flt-32/s_isnanf.c b/sysdeps/ieee754/flt-32/s_isnanf.c index 028b9bbb35..820b31a2b4 100644 --- a/sysdeps/ieee754/flt-32/s_isnanf.c +++ b/sysdeps/ieee754/flt-32/s_isnanf.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: s_isnanf.c,v 1.4 1995/05/10 20:47:38 jtc Exp $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #undef __isnanf int __isnanf(float x) diff --git a/sysdeps/ieee754/flt-32/s_llrintf.c b/sysdeps/ieee754/flt-32/s_llrintf.c index 69da3ca7a0..1dc5beb2f5 100644 --- a/sysdeps/ieee754/flt-32/s_llrintf.c +++ b/sysdeps/ieee754/flt-32/s_llrintf.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include static const float two23[2] = { diff --git a/sysdeps/ieee754/flt-32/s_llroundf.c b/sysdeps/ieee754/flt-32/s_llroundf.c index 8b9b978609..457f38608f 100644 --- a/sysdeps/ieee754/flt-32/s_llroundf.c +++ b/sysdeps/ieee754/flt-32/s_llroundf.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include long long int diff --git a/sysdeps/ieee754/flt-32/s_log1pf.c b/sysdeps/ieee754/flt-32/s_log1pf.c index 9e555ed570..0307277106 100644 --- a/sysdeps/ieee754/flt-32/s_log1pf.c +++ b/sysdeps/ieee754/flt-32/s_log1pf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float ln2_hi = 6.9313812256e-01, /* 0x3f317180 */ diff --git a/sysdeps/ieee754/flt-32/s_logbf.c b/sysdeps/ieee754/flt-32/s_logbf.c index 6504eb6c66..b6aa0f057d 100644 --- a/sysdeps/ieee754/flt-32/s_logbf.c +++ b/sysdeps/ieee754/flt-32/s_logbf.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: s_logbf.c,v 1.4 1995/05/10 20:47:51 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include float __logbf(float x) { diff --git a/sysdeps/ieee754/flt-32/s_lrintf.c b/sysdeps/ieee754/flt-32/s_lrintf.c index e7f36b8e3e..cf00996e18 100644 --- a/sysdeps/ieee754/flt-32/s_lrintf.c +++ b/sysdeps/ieee754/flt-32/s_lrintf.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include static const float two23[2] = { diff --git a/sysdeps/ieee754/flt-32/s_lroundf.c b/sysdeps/ieee754/flt-32/s_lroundf.c index be05f9c548..57a6dfdc56 100644 --- a/sysdeps/ieee754/flt-32/s_lroundf.c +++ b/sysdeps/ieee754/flt-32/s_lroundf.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include long int diff --git a/sysdeps/ieee754/flt-32/s_modff.c b/sysdeps/ieee754/flt-32/s_modff.c index 741b1c9b16..23f6a902b3 100644 --- a/sysdeps/ieee754/flt-32/s_modff.c +++ b/sysdeps/ieee754/flt-32/s_modff.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0; diff --git a/sysdeps/ieee754/flt-32/s_nearbyintf.c b/sysdeps/ieee754/flt-32/s_nearbyintf.c index a6d602bb4d..48debadde3 100644 --- a/sysdeps/ieee754/flt-32/s_nearbyintf.c +++ b/sysdeps/ieee754/flt-32/s_nearbyintf.c @@ -16,8 +16,8 @@ #include -#include "math.h" -#include "math_private.h" +#include +#include static const float TWO23[2]={ diff --git a/sysdeps/ieee754/flt-32/s_nextafterf.c b/sysdeps/ieee754/flt-32/s_nextafterf.c index 19da4246ac..b0de3d9ce2 100644 --- a/sysdeps/ieee754/flt-32/s_nextafterf.c +++ b/sysdeps/ieee754/flt-32/s_nextafterf.c @@ -17,7 +17,7 @@ static char rcsid[] = "$NetBSD: s_nextafterf.c,v 1.4 1995/05/10 20:48:01 jtc Exp $"; #endif -#include "math.h" +#include #include #include diff --git a/sysdeps/ieee754/flt-32/s_remquof.c b/sysdeps/ieee754/flt-32/s_remquof.c index 295dcfc229..6128c209ed 100644 --- a/sysdeps/ieee754/flt-32/s_remquof.c +++ b/sysdeps/ieee754/flt-32/s_remquof.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include static const float zero = 0.0; diff --git a/sysdeps/ieee754/flt-32/s_rintf.c b/sysdeps/ieee754/flt-32/s_rintf.c index 9ba6b57d94..8a907488f7 100644 --- a/sysdeps/ieee754/flt-32/s_rintf.c +++ b/sysdeps/ieee754/flt-32/s_rintf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float TWO23[2]={ diff --git a/sysdeps/ieee754/flt-32/s_roundf.c b/sysdeps/ieee754/flt-32/s_roundf.c index 06e79254e3..92239c77eb 100644 --- a/sysdeps/ieee754/flt-32/s_roundf.c +++ b/sysdeps/ieee754/flt-32/s_roundf.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include static const float huge = 1.0e30; diff --git a/sysdeps/ieee754/flt-32/s_scalblnf.c b/sysdeps/ieee754/flt-32/s_scalblnf.c index 2a2d7ab651..aa45164d2f 100644 --- a/sysdeps/ieee754/flt-32/s_scalblnf.c +++ b/sysdeps/ieee754/flt-32/s_scalblnf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float two25 = 3.355443200e+07, /* 0x4c000000 */ diff --git a/sysdeps/ieee754/flt-32/s_scalbnf.c b/sysdeps/ieee754/flt-32/s_scalbnf.c index a7cb1a1a49..5d9bdd647b 100644 --- a/sysdeps/ieee754/flt-32/s_scalbnf.c +++ b/sysdeps/ieee754/flt-32/s_scalbnf.c @@ -13,8 +13,8 @@ * ==================================================== */ -#include "math.h" -#include "math_private.h" +#include +#include static const float two25 = 3.355443200e+07, /* 0x4c000000 */ diff --git a/sysdeps/ieee754/flt-32/s_signbitf.c b/sysdeps/ieee754/flt-32/s_signbitf.c index 9d37651e87..619e26b4b2 100644 --- a/sysdeps/ieee754/flt-32/s_signbitf.c +++ b/sysdeps/ieee754/flt-32/s_signbitf.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include int __signbitf (float x) diff --git a/sysdeps/ieee754/flt-32/s_sincosf.c b/sysdeps/ieee754/flt-32/s_sincosf.c index 29c44a7da8..1b4d000e11 100644 --- a/sysdeps/ieee754/flt-32/s_sincosf.c +++ b/sysdeps/ieee754/flt-32/s_sincosf.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include void diff --git a/sysdeps/ieee754/flt-32/s_sinf.c b/sysdeps/ieee754/flt-32/s_sinf.c index 680fe07dae..02fa29f23b 100644 --- a/sysdeps/ieee754/flt-32/s_sinf.c +++ b/sysdeps/ieee754/flt-32/s_sinf.c @@ -18,8 +18,8 @@ static char rcsid[] = "$NetBSD: s_sinf.c,v 1.4 1995/05/10 20:48:16 jtc Exp $"; #endif #include -#include "math.h" -#include "math_private.h" +#include +#include float __sinf(float x) { diff --git a/sysdeps/ieee754/flt-32/s_tanf.c b/sysdeps/ieee754/flt-32/s_tanf.c index b69f3f5f79..685df8fa35 100644 --- a/sysdeps/ieee754/flt-32/s_tanf.c +++ b/sysdeps/ieee754/flt-32/s_tanf.c @@ -18,8 +18,8 @@ static char rcsid[] = "$NetBSD: s_tanf.c,v 1.4 1995/05/10 20:48:20 jtc Exp $"; #endif #include -#include "math.h" -#include "math_private.h" +#include +#include float __tanf(float x) { diff --git a/sysdeps/ieee754/flt-32/s_tanhf.c b/sysdeps/ieee754/flt-32/s_tanhf.c index a3a2cd3e50..dc96da9a5b 100644 --- a/sysdeps/ieee754/flt-32/s_tanhf.c +++ b/sysdeps/ieee754/flt-32/s_tanhf.c @@ -17,8 +17,8 @@ static char rcsid[] = "$NetBSD: s_tanhf.c,v 1.4 1995/05/10 20:48:24 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include static const float one=1.0, two=2.0, tiny = 1.0e-30; diff --git a/sysdeps/ieee754/flt-32/s_truncf.c b/sysdeps/ieee754/flt-32/s_truncf.c index 6cbd235f5e..7e7053aeac 100644 --- a/sysdeps/ieee754/flt-32/s_truncf.c +++ b/sysdeps/ieee754/flt-32/s_truncf.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include float diff --git a/sysdeps/ieee754/k_standard.c b/sysdeps/ieee754/k_standard.c index 53b0775ddf..5d84543b95 100644 --- a/sysdeps/ieee754/k_standard.c +++ b/sysdeps/ieee754/k_standard.c @@ -14,8 +14,8 @@ static char rcsid[] = "$NetBSD: k_standard.c,v 1.6 1995/05/10 20:46:35 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include #include #include diff --git a/sysdeps/ieee754/ldbl-128/e_acoshl.c b/sysdeps/ieee754/ldbl-128/e_acoshl.c index 2a74e9cd74..6234289e1e 100644 --- a/sysdeps/ieee754/ldbl-128/e_acoshl.c +++ b/sysdeps/ieee754/ldbl-128/e_acoshl.c @@ -27,8 +27,8 @@ * acoshl(NaN) is NaN without signal. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, diff --git a/sysdeps/ieee754/ldbl-128/e_acosl.c b/sysdeps/ieee754/ldbl-128/e_acosl.c index bf8f5b4be4..28c94ed404 100644 --- a/sysdeps/ieee754/ldbl-128/e_acosl.c +++ b/sysdeps/ieee754/ldbl-128/e_acosl.c @@ -54,8 +54,8 @@ * Functions needed: __ieee754_sqrtl. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, diff --git a/sysdeps/ieee754/ldbl-128/e_asinl.c b/sysdeps/ieee754/ldbl-128/e_asinl.c index 85c59d0281..cd1a8da42c 100644 --- a/sysdeps/ieee754/ldbl-128/e_asinl.c +++ b/sysdeps/ieee754/ldbl-128/e_asinl.c @@ -59,8 +59,8 @@ */ -#include "math.h" -#include "math_private.h" +#include +#include long double sqrtl (long double); static const long double diff --git a/sysdeps/ieee754/ldbl-128/e_atan2l.c b/sysdeps/ieee754/ldbl-128/e_atan2l.c index bba3c9bcf1..d31ee70dbd 100644 --- a/sysdeps/ieee754/ldbl-128/e_atan2l.c +++ b/sysdeps/ieee754/ldbl-128/e_atan2l.c @@ -40,8 +40,8 @@ * to produce the hexadecimal values shown. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double tiny = 1.0e-4900L, diff --git a/sysdeps/ieee754/ldbl-128/e_atanhl.c b/sysdeps/ieee754/ldbl-128/e_atanhl.c index 334c4bd701..c5cceb5224 100644 --- a/sysdeps/ieee754/ldbl-128/e_atanhl.c +++ b/sysdeps/ieee754/ldbl-128/e_atanhl.c @@ -32,8 +32,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, huge = 1e4900L; diff --git a/sysdeps/ieee754/ldbl-128/e_coshl.c b/sysdeps/ieee754/ldbl-128/e_coshl.c index c40c850f1c..59f2030d54 100644 --- a/sysdeps/ieee754/ldbl-128/e_coshl.c +++ b/sysdeps/ieee754/ldbl-128/e_coshl.c @@ -51,8 +51,8 @@ * only coshl(0)=1 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, half = 0.5, huge = 1.0e4900L, ovf_thresh = 1.1357216553474703894801348310092223067821E4L; diff --git a/sysdeps/ieee754/ldbl-128/e_fmodl.c b/sysdeps/ieee754/ldbl-128/e_fmodl.c index 05665a9c8b..33280030f1 100644 --- a/sysdeps/ieee754/ldbl-128/e_fmodl.c +++ b/sysdeps/ieee754/ldbl-128/e_fmodl.c @@ -18,8 +18,8 @@ * Method: shift and subtract */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, Zero[] = {0.0, -0.0,}; diff --git a/sysdeps/ieee754/ldbl-128/e_hypotl.c b/sysdeps/ieee754/ldbl-128/e_hypotl.c index dad78fef1d..f5ab901e6a 100644 --- a/sysdeps/ieee754/ldbl-128/e_hypotl.c +++ b/sysdeps/ieee754/ldbl-128/e_hypotl.c @@ -45,8 +45,8 @@ * than 1 ulps (units in the last place) */ -#include "math.h" -#include "math_private.h" +#include +#include long double __ieee754_hypotl(long double x, long double y) diff --git a/sysdeps/ieee754/ldbl-128/e_j0l.c b/sysdeps/ieee754/ldbl-128/e_j0l.c index 7d88709b8e..112a8f3f9c 100644 --- a/sysdeps/ieee754/ldbl-128/e_j0l.c +++ b/sysdeps/ieee754/ldbl-128/e_j0l.c @@ -91,8 +91,8 @@ License along with this library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include /* 1 / sqrt(pi) */ static const long double ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L; diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c index 389657729a..1f62bd0920 100644 --- a/sysdeps/ieee754/ldbl-128/e_j1l.c +++ b/sysdeps/ieee754/ldbl-128/e_j1l.c @@ -95,8 +95,8 @@ License along with this library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include /* 1 / sqrt(pi) */ static const long double ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L; diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c index 4c2ec85470..e320d994bf 100644 --- a/sysdeps/ieee754/ldbl-128/e_jnl.c +++ b/sysdeps/ieee754/ldbl-128/e_jnl.c @@ -56,8 +56,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double invsqrtpi = 5.6418958354775628694807945156077258584405E-1L, diff --git a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c index a88b11af94..2b44afb759 100644 --- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c +++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c @@ -68,8 +68,8 @@ License along with this library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double PIL = 3.1415926535897932384626433832795028841972E0L; static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; diff --git a/sysdeps/ieee754/ldbl-128/e_log10l.c b/sysdeps/ieee754/ldbl-128/e_log10l.c index 58516cd17b..b403f815fb 100644 --- a/sysdeps/ieee754/ldbl-128/e_log10l.c +++ b/sysdeps/ieee754/ldbl-128/e_log10l.c @@ -60,8 +60,8 @@ License along with this library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include /* Coefficients for ln(1+x) = x - x**2/2 + x**3 P(x)/Q(x) * 1/sqrt(2) <= x < sqrt(2) diff --git a/sysdeps/ieee754/ldbl-128/e_log2l.c b/sysdeps/ieee754/ldbl-128/e_log2l.c index f312057e72..6c7da0e44b 100644 --- a/sysdeps/ieee754/ldbl-128/e_log2l.c +++ b/sysdeps/ieee754/ldbl-128/e_log2l.c @@ -59,8 +59,8 @@ License along with this library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include /* Coefficients for ln(1+x) = x - x**2/2 + x**3 P(x)/Q(x) * 1/sqrt(2) <= x < sqrt(2) diff --git a/sysdeps/ieee754/ldbl-128/e_logl.c b/sysdeps/ieee754/ldbl-128/e_logl.c index e8a62ea5c4..395a76302a 100644 --- a/sysdeps/ieee754/ldbl-128/e_logl.c +++ b/sysdeps/ieee754/ldbl-128/e_logl.c @@ -58,7 +58,7 @@ License along with this library; if not, see . */ -#include "math_private.h" +#include /* log(1+x) = x - .5 x^2 + x^3 l(x) -.0078125 <= x <= +.0078125 diff --git a/sysdeps/ieee754/ldbl-128/e_powl.c b/sysdeps/ieee754/ldbl-128/e_powl.c index 807cf6190a..40fc314730 100644 --- a/sysdeps/ieee754/ldbl-128/e_powl.c +++ b/sysdeps/ieee754/ldbl-128/e_powl.c @@ -64,8 +64,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double bp[] = { 1.0L, diff --git a/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c b/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c index cd27024311..b8833ba137 100644 --- a/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c +++ b/sysdeps/ieee754/ldbl-128/e_rem_pio2l.c @@ -17,8 +17,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include /* * Table of constants for 2/pi, 5628 hexadecimal digits of 2/pi diff --git a/sysdeps/ieee754/ldbl-128/e_remainderl.c b/sysdeps/ieee754/ldbl-128/e_remainderl.c index 84233808ef..88df6f54c2 100644 --- a/sysdeps/ieee754/ldbl-128/e_remainderl.c +++ b/sysdeps/ieee754/ldbl-128/e_remainderl.c @@ -21,8 +21,8 @@ * Based on fmodl() return x-[x/p]chopped*p exactlp. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double zero = 0.0L; diff --git a/sysdeps/ieee754/ldbl-128/e_sinhl.c b/sysdeps/ieee754/ldbl-128/e_sinhl.c index 65e9246a1f..1ca3c6e507 100644 --- a/sysdeps/ieee754/ldbl-128/e_sinhl.c +++ b/sysdeps/ieee754/ldbl-128/e_sinhl.c @@ -53,8 +53,8 @@ * only sinhl(0)=0 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, shuge = 1.0e4931L, ovf_thresh = 1.1357216553474703894801348310092223067821E4L; diff --git a/sysdeps/ieee754/ldbl-128/k_cosl.c b/sysdeps/ieee754/ldbl-128/k_cosl.c index b5f57ba727..4cb9dd1f56 100644 --- a/sysdeps/ieee754/ldbl-128/k_cosl.c +++ b/sysdeps/ieee754/ldbl-128/k_cosl.c @@ -17,8 +17,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double c[] = { #define ONE c[0] diff --git a/sysdeps/ieee754/ldbl-128/k_sincosl.c b/sysdeps/ieee754/ldbl-128/k_sincosl.c index 3cb8c79d0e..98c5d62780 100644 --- a/sysdeps/ieee754/ldbl-128/k_sincosl.c +++ b/sysdeps/ieee754/ldbl-128/k_sincosl.c @@ -17,8 +17,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double c[] = { #define ONE c[0] diff --git a/sysdeps/ieee754/ldbl-128/k_sinl.c b/sysdeps/ieee754/ldbl-128/k_sinl.c index 176a50218c..6eaf878d94 100644 --- a/sysdeps/ieee754/ldbl-128/k_sinl.c +++ b/sysdeps/ieee754/ldbl-128/k_sinl.c @@ -17,8 +17,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double c[] = { #define ONE c[0] diff --git a/sysdeps/ieee754/ldbl-128/k_tanl.c b/sysdeps/ieee754/ldbl-128/k_tanl.c index 8d63e6d6f3..cb2e9473d9 100644 --- a/sysdeps/ieee754/ldbl-128/k_tanl.c +++ b/sysdeps/ieee754/ldbl-128/k_tanl.c @@ -56,8 +56,8 @@ * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, pio4hi = 7.8539816339744830961566084581987569936977E-1L, diff --git a/sysdeps/ieee754/ldbl-128/s_asinhl.c b/sysdeps/ieee754/ldbl-128/s_asinhl.c index 0a83413845..e5a3636beb 100644 --- a/sysdeps/ieee754/ldbl-128/s_asinhl.c +++ b/sysdeps/ieee754/ldbl-128/s_asinhl.c @@ -29,8 +29,8 @@ static char rcsid[] = "$NetBSD: $"; * := signl(x)*log1pl(|x| + x^2/(1 + sqrtl(1+x^2))) */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, diff --git a/sysdeps/ieee754/ldbl-128/s_atanl.c b/sysdeps/ieee754/ldbl-128/s_atanl.c index c687ab3aff..0138e792aa 100644 --- a/sysdeps/ieee754/ldbl-128/s_atanl.c +++ b/sysdeps/ieee754/ldbl-128/s_atanl.c @@ -59,7 +59,7 @@ . */ -#include "math_private.h" +#include /* arctan(k/8), k = 0, ..., 82 */ static const long double atantbl[84] = { diff --git a/sysdeps/ieee754/ldbl-128/s_cbrtl.c b/sysdeps/ieee754/ldbl-128/s_cbrtl.c index 3f418f30e0..07ed567e4d 100644 --- a/sysdeps/ieee754/ldbl-128/s_cbrtl.c +++ b/sysdeps/ieee754/ldbl-128/s_cbrtl.c @@ -54,8 +54,8 @@ Adapted for glibc October, 2001. . */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double CBRT2 = 1.259921049894873164767210607278228350570251L; static const long double CBRT4 = 1.587401051968199474751705639272308260391493L; diff --git a/sysdeps/ieee754/ldbl-128/s_ceill.c b/sysdeps/ieee754/ldbl-128/s_ceill.c index fe1fc8382b..9f6bc4ce15 100644 --- a/sysdeps/ieee754/ldbl-128/s_ceill.c +++ b/sysdeps/ieee754/ldbl-128/s_ceill.c @@ -26,8 +26,8 @@ static char rcsid[] = "$NetBSD: $"; * Inexact flag raised if x not equal to ceil(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double huge = 1.0e4930L; diff --git a/sysdeps/ieee754/ldbl-128/s_copysignl.c b/sysdeps/ieee754/ldbl-128/s_copysignl.c index 3426ccddf0..19b6880940 100644 --- a/sysdeps/ieee754/ldbl-128/s_copysignl.c +++ b/sysdeps/ieee754/ldbl-128/s_copysignl.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: $"; * with the sign bit of y. */ -#include "math.h" -#include "math_private.h" +#include +#include long double __copysignl(long double x, long double y) { diff --git a/sysdeps/ieee754/ldbl-128/s_cosl.c b/sysdeps/ieee754/ldbl-128/s_cosl.c index ae26d359d0..2c3bff6e0f 100644 --- a/sysdeps/ieee754/ldbl-128/s_cosl.c +++ b/sysdeps/ieee754/ldbl-128/s_cosl.c @@ -45,8 +45,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include long double __cosl(long double x) { diff --git a/sysdeps/ieee754/ldbl-128/s_erfl.c b/sysdeps/ieee754/ldbl-128/s_erfl.c index c8a4aedca3..85c6356373 100644 --- a/sysdeps/ieee754/ldbl-128/s_erfl.c +++ b/sysdeps/ieee754/ldbl-128/s_erfl.c @@ -96,8 +96,8 @@ * erfc/erf(NaN) is NaN */ -#include "math.h" -#include "math_private.h" +#include +#include /* Evaluate P[n] x^n + P[n-1] x^(n-1) + ... + P[0] */ diff --git a/sysdeps/ieee754/ldbl-128/s_expm1l.c b/sysdeps/ieee754/ldbl-128/s_expm1l.c index 04139908c2..17769dd6a3 100644 --- a/sysdeps/ieee754/ldbl-128/s_expm1l.c +++ b/sysdeps/ieee754/ldbl-128/s_expm1l.c @@ -54,8 +54,8 @@ #include -#include "math.h" -#include "math_private.h" +#include +#include /* exp(x) - 1 = x + 0.5 x^2 + x^3 P(x)/Q(x) -.5 ln 2 < x < .5 ln 2 diff --git a/sysdeps/ieee754/ldbl-128/s_fabsl.c b/sysdeps/ieee754/ldbl-128/s_fabsl.c index 73de8f07c1..a1bb6c5dff 100644 --- a/sysdeps/ieee754/ldbl-128/s_fabsl.c +++ b/sysdeps/ieee754/ldbl-128/s_fabsl.c @@ -21,8 +21,8 @@ static char rcsid[] = "$NetBSD: $"; * fabsl(x) returns the absolute value of x. */ -#include "math.h" -#include "math_private.h" +#include +#include long double __fabsl(long double x) { diff --git a/sysdeps/ieee754/ldbl-128/s_finitel.c b/sysdeps/ieee754/ldbl-128/s_finitel.c index b789735892..f862a448ed 100644 --- a/sysdeps/ieee754/ldbl-128/s_finitel.c +++ b/sysdeps/ieee754/ldbl-128/s_finitel.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __finitel(long double x) { diff --git a/sysdeps/ieee754/ldbl-128/s_floorl.c b/sysdeps/ieee754/ldbl-128/s_floorl.c index 2799d1c7ed..c72d5d4330 100644 --- a/sysdeps/ieee754/ldbl-128/s_floorl.c +++ b/sysdeps/ieee754/ldbl-128/s_floorl.c @@ -26,8 +26,8 @@ static char rcsid[] = "$NetBSD: $"; * Inexact flag raised if x not equal to floor(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double huge = 1.0e4930L; diff --git a/sysdeps/ieee754/ldbl-128/s_fpclassifyl.c b/sysdeps/ieee754/ldbl-128/s_fpclassifyl.c index d6f35cbef6..a98f586f91 100644 --- a/sysdeps/ieee754/ldbl-128/s_fpclassifyl.c +++ b/sysdeps/ieee754/ldbl-128/s_fpclassifyl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include int diff --git a/sysdeps/ieee754/ldbl-128/s_frexpl.c b/sysdeps/ieee754/ldbl-128/s_frexpl.c index 7f899e470a..d61dddaaaa 100644 --- a/sysdeps/ieee754/ldbl-128/s_frexpl.c +++ b/sysdeps/ieee754/ldbl-128/s_frexpl.c @@ -27,8 +27,8 @@ static char rcsid[] = "$NetBSD: $"; * with *exp=0. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double two114 = 2.0769187434139310514121985316880384E+34L; /* 0x4071000000000000, 0 */ diff --git a/sysdeps/ieee754/ldbl-128/s_ilogbl.c b/sysdeps/ieee754/ldbl-128/s_ilogbl.c index a6f52c3f78..d52eb050d4 100644 --- a/sysdeps/ieee754/ldbl-128/s_ilogbl.c +++ b/sysdeps/ieee754/ldbl-128/s_ilogbl.c @@ -25,8 +25,8 @@ static char rcsid[] = "$NetBSD: $"; */ #include -#include "math.h" -#include "math_private.h" +#include +#include int __ilogbl(long double x) { diff --git a/sysdeps/ieee754/ldbl-128/s_isinf_nsl.c b/sysdeps/ieee754/ldbl-128/s_isinf_nsl.c index 1ebc1accbc..7d6cfb9a62 100644 --- a/sysdeps/ieee754/ldbl-128/s_isinf_nsl.c +++ b/sysdeps/ieee754/ldbl-128/s_isinf_nsl.c @@ -7,8 +7,8 @@ * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinf_nsl (long double x) diff --git a/sysdeps/ieee754/ldbl-128/s_isinfl.c b/sysdeps/ieee754/ldbl-128/s_isinfl.c index 0b3526bd79..03e4d13371 100644 --- a/sysdeps/ieee754/ldbl-128/s_isinfl.c +++ b/sysdeps/ieee754/ldbl-128/s_isinfl.c @@ -13,8 +13,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinfl (long double x) diff --git a/sysdeps/ieee754/ldbl-128/s_isnanl.c b/sysdeps/ieee754/ldbl-128/s_isnanl.c index ef7bc7b332..74960e7ff2 100644 --- a/sysdeps/ieee754/ldbl-128/s_isnanl.c +++ b/sysdeps/ieee754/ldbl-128/s_isnanl.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isnanl(long double x) { diff --git a/sysdeps/ieee754/ldbl-128/s_llrintl.c b/sysdeps/ieee754/ldbl-128/s_llrintl.c index 5ebd43eb2e..be7cb5df11 100644 --- a/sysdeps/ieee754/ldbl-128/s_llrintl.c +++ b/sysdeps/ieee754/ldbl-128/s_llrintl.c @@ -21,7 +21,7 @@ #include -#include "math_private.h" +#include static const long double two112[2] = { diff --git a/sysdeps/ieee754/ldbl-128/s_llroundl.c b/sysdeps/ieee754/ldbl-128/s_llroundl.c index c5f28af15a..16eea8f68a 100644 --- a/sysdeps/ieee754/ldbl-128/s_llroundl.c +++ b/sysdeps/ieee754/ldbl-128/s_llroundl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include long long int diff --git a/sysdeps/ieee754/ldbl-128/s_log1pl.c b/sysdeps/ieee754/ldbl-128/s_log1pl.c index 285c40e9ba..4ecea0fddd 100644 --- a/sysdeps/ieee754/ldbl-128/s_log1pl.c +++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c @@ -53,8 +53,8 @@ . */ -#include "math.h" -#include "math_private.h" +#include +#include /* Coefficients for log(1+x) = x - x^2 / 2 + x^3 P(x)/Q(x) * 1/sqrt(2) <= 1+x < sqrt(2) diff --git a/sysdeps/ieee754/ldbl-128/s_logbl.c b/sysdeps/ieee754/ldbl-128/s_logbl.c index 8d7b4c65ad..0b09b289c2 100644 --- a/sysdeps/ieee754/ldbl-128/s_logbl.c +++ b/sysdeps/ieee754/ldbl-128/s_logbl.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: $"; * Use ilogb instead. */ -#include "math.h" -#include "math_private.h" +#include +#include long double __logbl(long double x) { diff --git a/sysdeps/ieee754/ldbl-128/s_lrintl.c b/sysdeps/ieee754/ldbl-128/s_lrintl.c index 5216f63ce4..11594a314f 100644 --- a/sysdeps/ieee754/ldbl-128/s_lrintl.c +++ b/sysdeps/ieee754/ldbl-128/s_lrintl.c @@ -21,7 +21,7 @@ #include -#include "math_private.h" +#include static const long double two112[2] = { diff --git a/sysdeps/ieee754/ldbl-128/s_lroundl.c b/sysdeps/ieee754/ldbl-128/s_lroundl.c index ab2043678d..efe71bc391 100644 --- a/sysdeps/ieee754/ldbl-128/s_lroundl.c +++ b/sysdeps/ieee754/ldbl-128/s_lroundl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include long int diff --git a/sysdeps/ieee754/ldbl-128/s_modfl.c b/sysdeps/ieee754/ldbl-128/s_modfl.c index 36572680cc..597a5c9a0c 100644 --- a/sysdeps/ieee754/ldbl-128/s_modfl.c +++ b/sysdeps/ieee754/ldbl-128/s_modfl.c @@ -27,8 +27,8 @@ static char rcsid[] = "$NetBSD: $"; * No exception. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0; diff --git a/sysdeps/ieee754/ldbl-128/s_nearbyintl.c b/sysdeps/ieee754/ldbl-128/s_nearbyintl.c index 2d9f834bab..b335adcaa1 100644 --- a/sysdeps/ieee754/ldbl-128/s_nearbyintl.c +++ b/sysdeps/ieee754/ldbl-128/s_nearbyintl.c @@ -24,8 +24,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const long double TWO112[2]={ diff --git a/sysdeps/ieee754/ldbl-128/s_nextafterl.c b/sysdeps/ieee754/ldbl-128/s_nextafterl.c index 0bf9339ef5..e345bc8c40 100644 --- a/sysdeps/ieee754/ldbl-128/s_nextafterl.c +++ b/sysdeps/ieee754/ldbl-128/s_nextafterl.c @@ -24,7 +24,7 @@ static char rcsid[] = "$NetBSD: $"; * Special cases: */ -#include "math.h" +#include #include long double __nextafterl(long double x, long double y) diff --git a/sysdeps/ieee754/ldbl-128/s_nexttoward.c b/sysdeps/ieee754/ldbl-128/s_nexttoward.c index 6506722c4d..87a9a6cac3 100644 --- a/sysdeps/ieee754/ldbl-128/s_nexttoward.c +++ b/sysdeps/ieee754/ldbl-128/s_nexttoward.c @@ -25,7 +25,7 @@ static char rcsid[] = "$NetBSD: $"; * Special cases: */ -#include "math.h" +#include #include #include diff --git a/sysdeps/ieee754/ldbl-128/s_nexttowardf.c b/sysdeps/ieee754/ldbl-128/s_nexttowardf.c index e7265e7627..371fa80771 100644 --- a/sysdeps/ieee754/ldbl-128/s_nexttowardf.c +++ b/sysdeps/ieee754/ldbl-128/s_nexttowardf.c @@ -18,8 +18,8 @@ static char rcsid[] = "$NetBSD: $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include float __nexttowardf(float x, long double y) { diff --git a/sysdeps/ieee754/ldbl-128/s_remquol.c b/sysdeps/ieee754/ldbl-128/s_remquol.c index e44ae84974..a985546ea4 100644 --- a/sysdeps/ieee754/ldbl-128/s_remquol.c +++ b/sysdeps/ieee754/ldbl-128/s_remquol.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include static const long double zero = 0.0; diff --git a/sysdeps/ieee754/ldbl-128/s_rintl.c b/sysdeps/ieee754/ldbl-128/s_rintl.c index 563b207343..088d3c4d59 100644 --- a/sysdeps/ieee754/ldbl-128/s_rintl.c +++ b/sysdeps/ieee754/ldbl-128/s_rintl.c @@ -27,8 +27,8 @@ static char rcsid[] = "$NetBSD: $"; * Inexact flag raised if x not equal to rintl(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double TWO112[2]={ diff --git a/sysdeps/ieee754/ldbl-128/s_roundl.c b/sysdeps/ieee754/ldbl-128/s_roundl.c index d8eff871ee..1139d2781f 100644 --- a/sysdeps/ieee754/ldbl-128/s_roundl.c +++ b/sysdeps/ieee754/ldbl-128/s_roundl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include static const long double huge = 1.0E4930L; diff --git a/sysdeps/ieee754/ldbl-128/s_scalblnl.c b/sysdeps/ieee754/ldbl-128/s_scalblnl.c index 9ad976bb11..f0df2da9ea 100644 --- a/sysdeps/ieee754/ldbl-128/s_scalblnl.c +++ b/sysdeps/ieee754/ldbl-128/s_scalblnl.c @@ -25,8 +25,8 @@ static char rcsid[] = "$NetBSD: $"; * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double two114 = 2.0769187434139310514121985316880384E+34L, /* 0x4071000000000000, 0 */ diff --git a/sysdeps/ieee754/ldbl-128/s_scalbnl.c b/sysdeps/ieee754/ldbl-128/s_scalbnl.c index a928ecccec..a14848d8fd 100644 --- a/sysdeps/ieee754/ldbl-128/s_scalbnl.c +++ b/sysdeps/ieee754/ldbl-128/s_scalbnl.c @@ -25,8 +25,8 @@ static char rcsid[] = "$NetBSD: $"; * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double two114 = 2.0769187434139310514121985316880384E+34L, /* 0x4071000000000000, 0 */ diff --git a/sysdeps/ieee754/ldbl-128/s_signbitl.c b/sysdeps/ieee754/ldbl-128/s_signbitl.c index 0f519fb6cb..da74213075 100644 --- a/sysdeps/ieee754/ldbl-128/s_signbitl.c +++ b/sysdeps/ieee754/ldbl-128/s_signbitl.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include int __signbitl (long double x) diff --git a/sysdeps/ieee754/ldbl-128/s_sincosl.c b/sysdeps/ieee754/ldbl-128/s_sincosl.c index 8ff70148d3..5747ad464e 100644 --- a/sysdeps/ieee754/ldbl-128/s_sincosl.c +++ b/sysdeps/ieee754/ldbl-128/s_sincosl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include void __sincosl (long double x, long double *sinx, long double *cosx) diff --git a/sysdeps/ieee754/ldbl-128/s_sinl.c b/sysdeps/ieee754/ldbl-128/s_sinl.c index 63a920bd80..582a53fd7a 100644 --- a/sysdeps/ieee754/ldbl-128/s_sinl.c +++ b/sysdeps/ieee754/ldbl-128/s_sinl.c @@ -45,8 +45,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include long double __sinl(long double x) { diff --git a/sysdeps/ieee754/ldbl-128/s_tanhl.c b/sysdeps/ieee754/ldbl-128/s_tanhl.c index 979eb86557..129735b1b5 100644 --- a/sysdeps/ieee754/ldbl-128/s_tanhl.c +++ b/sysdeps/ieee754/ldbl-128/s_tanhl.c @@ -41,8 +41,8 @@ * only tanhl(0)=0 is exact for finite argument. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, two = 2.0, tiny = 1.0e-4900L; diff --git a/sysdeps/ieee754/ldbl-128/s_tanl.c b/sysdeps/ieee754/ldbl-128/s_tanl.c index 41e590250e..c4bb8c80ec 100644 --- a/sysdeps/ieee754/ldbl-128/s_tanl.c +++ b/sysdeps/ieee754/ldbl-128/s_tanl.c @@ -45,8 +45,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include long double __tanl(long double x) { diff --git a/sysdeps/ieee754/ldbl-128/s_truncl.c b/sysdeps/ieee754/ldbl-128/s_truncl.c index 526071a587..092ff9cdf4 100644 --- a/sysdeps/ieee754/ldbl-128/s_truncl.c +++ b/sysdeps/ieee754/ldbl-128/s_truncl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include long double diff --git a/sysdeps/ieee754/ldbl-128/w_expl.c b/sysdeps/ieee754/ldbl-128/w_expl.c index ab82ef1e76..f4deda872f 100644 --- a/sysdeps/ieee754/ldbl-128/w_expl.c +++ b/sysdeps/ieee754/ldbl-128/w_expl.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: $"; * wrapper expl(x) */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double o_threshold= 1.1356523406294143949491931077970763428449E4L, diff --git a/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c b/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c index 20d94eaa1e..117bd0f052 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c @@ -24,8 +24,8 @@ * acosh(NaN) is NaN without signal. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, diff --git a/sysdeps/ieee754/ldbl-128ibm/e_acosl.c b/sysdeps/ieee754/ldbl-128ibm/e_acosl.c index 55ee30f02c..533b59786d 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_acosl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_acosl.c @@ -54,8 +54,8 @@ * Functions needed: __ieee754_sqrtl. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, diff --git a/sysdeps/ieee754/ldbl-128ibm/e_asinl.c b/sysdeps/ieee754/ldbl-128ibm/e_asinl.c index 402c244360..fb6f5720d0 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_asinl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_asinl.c @@ -59,8 +59,8 @@ */ -#include "math.h" -#include "math_private.h" +#include +#include long double sqrtl (long double); static const long double diff --git a/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c b/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c index a5b6621006..fe5c8bd8dc 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c @@ -40,8 +40,8 @@ * to produce the hexadecimal values shown. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double tiny = 1.0e-300L, diff --git a/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c b/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c index c879e4518e..075855b5fe 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c @@ -28,8 +28,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, huge = 1e300L; diff --git a/sysdeps/ieee754/ldbl-128ibm/e_coshl.c b/sysdeps/ieee754/ldbl-128ibm/e_coshl.c index 569b8418bf..3e8e1875c6 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_coshl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_coshl.c @@ -31,8 +31,8 @@ * only cosh(0)=1 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, half=0.5L, huge = 1.0e300L; diff --git a/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c b/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c index 4ad59a0916..10cda317a9 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c @@ -18,8 +18,8 @@ * Method: shift and subtract */ -#include "math.h" -#include "math_private.h" +#include +#include #include static const long double one = 1.0, Zero[] = {0.0, -0.0,}; diff --git a/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c b/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c index 4ef076741f..00bfb15926 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c @@ -42,8 +42,8 @@ * than 1 ulps (units in the last place) */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double two600 = 0x1.0p+600L; static const long double two1022 = 0x1.0p+1022L; diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c index 2f8fa88820..930a2bcbdf 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c @@ -56,8 +56,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double invsqrtpi = 5.6418958354775628694807945156077258584405E-1L, diff --git a/sysdeps/ieee754/ldbl-128ibm/e_log10l.c b/sysdeps/ieee754/ldbl-128ibm/e_log10l.c index e398d93a9d..fae774cea8 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_log10l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_log10l.c @@ -60,8 +60,8 @@ License along with this library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include /* Coefficients for ln(1+x) = x - x**2/2 + x**3 P(x)/Q(x) * 1/sqrt(2) <= x < sqrt(2) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_log2l.c b/sysdeps/ieee754/ldbl-128ibm/e_log2l.c index 28363f2cf6..f0098f6c73 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_log2l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_log2l.c @@ -59,8 +59,8 @@ License along with this library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include /* Coefficients for ln(1+x) = x - x**2/2 + x**3 P(x)/Q(x) * 1/sqrt(2) <= x < sqrt(2) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_logl.c b/sysdeps/ieee754/ldbl-128ibm/e_logl.c index 0912284c5c..14f47ebade 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_logl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_logl.c @@ -58,7 +58,7 @@ License along with this library; if not, see . */ -#include "math_private.h" +#include /* log(1+x) = x - .5 x^2 + x^3 l(x) -.0078125 <= x <= +.0078125 diff --git a/sysdeps/ieee754/ldbl-128ibm/e_powl.c b/sysdeps/ieee754/ldbl-128ibm/e_powl.c index ac7ca31ca4..52ce33abaa 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_powl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_powl.c @@ -64,8 +64,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double bp[] = { 1.0L, diff --git a/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c b/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c index b584e53042..5352de9453 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c @@ -17,8 +17,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include #include /* diff --git a/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c b/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c index d4a847dbed..67d7db7fbe 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c @@ -21,8 +21,8 @@ * Based on fmodl() return x-[x/p]chopped*p exactlp. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double zero = 0.0L; diff --git a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c index 4b53d90c93..4bae85a5a4 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c @@ -28,8 +28,8 @@ * only sinh(0)=0 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, shuge = 1.0e307; diff --git a/sysdeps/ieee754/ldbl-128ibm/k_cosl.c b/sysdeps/ieee754/ldbl-128ibm/k_cosl.c index 7ab9b5da06..52414319a6 100644 --- a/sysdeps/ieee754/ldbl-128ibm/k_cosl.c +++ b/sysdeps/ieee754/ldbl-128ibm/k_cosl.c @@ -17,8 +17,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double c[] = { #define ONE c[0] diff --git a/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c b/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c index 23b726a6f3..f3dd954887 100644 --- a/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c +++ b/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c @@ -17,8 +17,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double c[] = { #define ONE c[0] diff --git a/sysdeps/ieee754/ldbl-128ibm/k_sinl.c b/sysdeps/ieee754/ldbl-128ibm/k_sinl.c index a51f55cd43..484b65fc8e 100644 --- a/sysdeps/ieee754/ldbl-128ibm/k_sinl.c +++ b/sysdeps/ieee754/ldbl-128ibm/k_sinl.c @@ -17,8 +17,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double c[] = { #define ONE c[0] diff --git a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c index 478e501c81..1f6bad241b 100644 --- a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c +++ b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c @@ -56,8 +56,8 @@ * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, pio4hi = 7.8539816339744830961566084581987569936977E-1L, diff --git a/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c b/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c index bc5a066edf..a833457eab 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c @@ -25,8 +25,8 @@ static char rcsid[] = "$NetBSD: s_asinh.c,v 1.9 1995/05/12 04:57:37 jtc Exp $"; * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) */ -#include "math.h" -#include "math_private.h" +#include +#include #include static const long double diff --git a/sysdeps/ieee754/ldbl-128ibm/s_atanl.c b/sysdeps/ieee754/ldbl-128ibm/s_atanl.c index 49c4728c95..779209d3d7 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_atanl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_atanl.c @@ -60,7 +60,7 @@ #include -#include "math_private.h" +#include #include /* arctan(k/8), k = 0, ..., 82 */ diff --git a/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c b/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c index f3a906e657..a16a886852 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_copysignl.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: $"; * with the sign bit of y. */ -#include "math.h" -#include "math_private.h" +#include +#include #include long double __copysignl(long double x, long double y) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_cosl.c b/sysdeps/ieee754/ldbl-128ibm/s_cosl.c index 57bae0cab6..23148392f1 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_cosl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_cosl.c @@ -45,8 +45,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include #include long double __cosl(long double x) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c b/sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c index 2945909f95..e4126395bd 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c @@ -22,7 +22,7 @@ #include #include -#include "math_private.h" +#include __complex__ long double diff --git a/sysdeps/ieee754/ldbl-128ibm/s_ctanl.c b/sysdeps/ieee754/ldbl-128ibm/s_ctanl.c index 8d59535c64..0b1bc4f70e 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_ctanl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_ctanl.c @@ -22,7 +22,7 @@ #include #include -#include "math_private.h" +#include __complex__ long double diff --git a/sysdeps/ieee754/ldbl-128ibm/s_erfl.c b/sysdeps/ieee754/ldbl-128ibm/s_erfl.c index 8868f7e1cf..f91a00ff5d 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_erfl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_erfl.c @@ -96,8 +96,8 @@ * erfc/erf(NaN) is NaN */ -#include "math.h" -#include "math_private.h" +#include +#include #include /* Evaluate P[n] x^n + P[n-1] x^(n-1) + ... + P[0] */ diff --git a/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c b/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c index 968d8f9722..98ae4e1cee 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c @@ -52,8 +52,8 @@ . */ #include -#include "math.h" -#include "math_private.h" +#include +#include #include /* exp(x) - 1 = x + 0.5 x^2 + x^3 P(x)/Q(x) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c b/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c index a288eac373..99146d8021 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: $"; * fabsl(x) returns the absolute value of x. */ -#include "math.h" -#include "math_private.h" +#include +#include #include long double __fabsl(long double x) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_finitel.c b/sysdeps/ieee754/ldbl-128ibm/s_finitel.c index 49f2c92385..8edb34154d 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_finitel.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_finitel.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #include int diff --git a/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c b/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c index c6ac22e08d..c0246d2594 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include #include /* diff --git a/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c b/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c index 215083bc27..3ac5374116 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c @@ -27,8 +27,8 @@ static char rcsid[] = "$NetBSD: $"; * with *exp=0. */ -#include "math.h" -#include "math_private.h" +#include +#include #include static const long double diff --git a/sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c b/sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c index 106c7311c7..a6f0e1e678 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c @@ -25,8 +25,8 @@ static char rcsid[] = "$NetBSD: $"; */ #include -#include "math.h" -#include "math_private.h" +#include +#include #include int __ilogbl(long double x) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c b/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c index edeaba5f7c..c8dd9ff98a 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c @@ -3,8 +3,8 @@ * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinf_nsl (long double x) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c b/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c index 717b57466d..5f5b0144b2 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c @@ -13,8 +13,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #include int diff --git a/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c b/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c index ae5ba8e1ff..157666cfbd 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include #include int diff --git a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c index 30a53300c3..77c4fdea84 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c @@ -53,8 +53,8 @@ . */ -#include "math.h" -#include "math_private.h" +#include +#include #include /* Coefficients for log(1+x) = x - x^2 / 2 + x^3 P(x)/Q(x) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_logbl.c b/sysdeps/ieee754/ldbl-128ibm/s_logbl.c index 10ae684d1c..f38b129971 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_logbl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_logbl.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: $"; * Use ilogb instead. */ -#include "math.h" -#include "math_private.h" +#include +#include #include long double __logbl(long double x) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_modfl.c b/sysdeps/ieee754/ldbl-128ibm/s_modfl.c index 1fe323595a..39de9d4bfb 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_modfl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_modfl.c @@ -27,8 +27,8 @@ static char rcsid[] = "$NetBSD: $"; * No exception. */ -#include "math.h" -#include "math_private.h" +#include +#include #include static const long double one = 1.0; diff --git a/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c b/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c index bcf265d401..9ecfef179b 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c @@ -25,7 +25,7 @@ static char rcsid[] = "$NetBSD: $"; * Special cases: */ -#include "math.h" +#include #include #include #include diff --git a/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c b/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c index e88361a936..a674583744 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c @@ -18,7 +18,7 @@ static char rcsid[] = "$NetBSD: $"; #endif -#include "math.h" +#include #include #include #include diff --git a/sysdeps/ieee754/ldbl-128ibm/s_remquol.c b/sysdeps/ieee754/ldbl-128ibm/s_remquol.c index d081aee7a1..bb7a987af9 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_remquol.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_remquol.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include #include diff --git a/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c b/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c index 2c30d1c78a..e84561701f 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c @@ -25,8 +25,8 @@ static char rcsid[] = "$NetBSD: $"; * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include #include static const long double diff --git a/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c b/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c index 48102efcf5..01cdb70e1d 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c @@ -25,8 +25,8 @@ static char rcsid[] = "$NetBSD: $"; * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include #include static const long double diff --git a/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c b/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c index 082f86ffdb..964972750f 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c @@ -18,7 +18,7 @@ . */ #include -#include "math_private.h" +#include #include int diff --git a/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c b/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c index f099fec200..0b9d661591 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include #include void diff --git a/sysdeps/ieee754/ldbl-128ibm/s_sinl.c b/sysdeps/ieee754/ldbl-128ibm/s_sinl.c index e26d998888..6fec16f851 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_sinl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_sinl.c @@ -45,8 +45,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include #include long double __sinl(long double x) diff --git a/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c b/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c index 40df484c8a..138b63cd1a 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c @@ -38,8 +38,8 @@ static char rcsid[] = "$NetBSD: s_tanh.c,v 1.7 1995/05/10 20:48:22 jtc Exp $"; * only tanh(0)=0 is exact for finite argument. */ -#include "math.h" -#include "math_private.h" +#include +#include #include static const long double one=1.0L, two=2.0L, tiny = 1.0e-300L; diff --git a/sysdeps/ieee754/ldbl-128ibm/s_tanl.c b/sysdeps/ieee754/ldbl-128ibm/s_tanl.c index 3de0a0da27..9967d0c206 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_tanl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_tanl.c @@ -45,8 +45,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include #include long double __tanl(long double x) diff --git a/sysdeps/ieee754/ldbl-96/e_acoshl.c b/sysdeps/ieee754/ldbl-96/e_acoshl.c index 29004ec267..bbaef680bd 100644 --- a/sysdeps/ieee754/ldbl-96/e_acoshl.c +++ b/sysdeps/ieee754/ldbl-96/e_acoshl.c @@ -28,8 +28,8 @@ * acoshl(NaN) is NaN without signal. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, diff --git a/sysdeps/ieee754/ldbl-96/e_asinl.c b/sysdeps/ieee754/ldbl-96/e_asinl.c index f71cd93128..c33701f11e 100644 --- a/sysdeps/ieee754/ldbl-96/e_asinl.c +++ b/sysdeps/ieee754/ldbl-96/e_asinl.c @@ -58,8 +58,8 @@ */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0L, diff --git a/sysdeps/ieee754/ldbl-96/e_atan2l.c b/sysdeps/ieee754/ldbl-96/e_atan2l.c index 535d0d6123..209f29bbd2 100644 --- a/sysdeps/ieee754/ldbl-96/e_atan2l.c +++ b/sysdeps/ieee754/ldbl-96/e_atan2l.c @@ -41,8 +41,8 @@ * to produce the hexadecimal values shown. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double tiny = 1.0e-4900L, diff --git a/sysdeps/ieee754/ldbl-96/e_atanhl.c b/sysdeps/ieee754/ldbl-96/e_atanhl.c index 0f3c7fb596..4c29243695 100644 --- a/sysdeps/ieee754/ldbl-96/e_atanhl.c +++ b/sysdeps/ieee754/ldbl-96/e_atanhl.c @@ -32,8 +32,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, huge = 1e4900L; diff --git a/sysdeps/ieee754/ldbl-96/e_coshl.c b/sysdeps/ieee754/ldbl-96/e_coshl.c index 6113f0719f..995c9922cb 100644 --- a/sysdeps/ieee754/ldbl-96/e_coshl.c +++ b/sysdeps/ieee754/ldbl-96/e_coshl.c @@ -34,8 +34,8 @@ static char rcsid[] = "$NetBSD: e_cosh.c,v 1.7 1995/05/10 20:44:58 jtc Exp $"; * only coshl(0)=1 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, half=0.5, huge = 1.0e4900L; diff --git a/sysdeps/ieee754/ldbl-96/e_hypotl.c b/sysdeps/ieee754/ldbl-96/e_hypotl.c index 7a1ad3fd23..306f92924c 100644 --- a/sysdeps/ieee754/ldbl-96/e_hypotl.c +++ b/sysdeps/ieee754/ldbl-96/e_hypotl.c @@ -46,8 +46,8 @@ * than 1 ulps (units in the last place) */ -#include "math.h" -#include "math_private.h" +#include +#include long double __ieee754_hypotl(long double x, long double y) { diff --git a/sysdeps/ieee754/ldbl-96/e_j0l.c b/sysdeps/ieee754/ldbl-96/e_j0l.c index 0e64bee7c2..3939259d81 100644 --- a/sysdeps/ieee754/ldbl-96/e_j0l.c +++ b/sysdeps/ieee754/ldbl-96/e_j0l.c @@ -71,8 +71,8 @@ * 3. Special cases: y0(0)=-inf, y0(x<0)=NaN, y0(inf)=0. */ -#include "math.h" -#include "math_private.h" +#include +#include static long double pzero (long double), qzero (long double); diff --git a/sysdeps/ieee754/ldbl-96/e_j1l.c b/sysdeps/ieee754/ldbl-96/e_j1l.c index 8710e38934..785c0b0676 100644 --- a/sysdeps/ieee754/ldbl-96/e_j1l.c +++ b/sysdeps/ieee754/ldbl-96/e_j1l.c @@ -71,8 +71,8 @@ * by method mentioned above. */ -#include "math.h" -#include "math_private.h" +#include +#include static long double pone (long double), qone (long double); diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c index 5c9c0530f1..2e206e7e22 100644 --- a/sysdeps/ieee754/ldbl-96/e_jnl.c +++ b/sysdeps/ieee754/ldbl-96/e_jnl.c @@ -56,8 +56,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double invsqrtpi = 5.64189583547756286948079e-1L, two = 2.0e0L, one = 1.0e0L; diff --git a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c index 741a26f4d0..1a95f846ae 100644 --- a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c +++ b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c @@ -91,8 +91,8 @@ * */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double half = 0.5L, diff --git a/sysdeps/ieee754/ldbl-96/e_remainderl.c b/sysdeps/ieee754/ldbl-96/e_remainderl.c index 41c4c7b34e..290e483ae5 100644 --- a/sysdeps/ieee754/ldbl-96/e_remainderl.c +++ b/sysdeps/ieee754/ldbl-96/e_remainderl.c @@ -23,8 +23,8 @@ * Based on fmod() return x-[x/p]chopped*p exactlp. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double zero = 0.0; diff --git a/sysdeps/ieee754/ldbl-96/e_sinhl.c b/sysdeps/ieee754/ldbl-96/e_sinhl.c index 8593272406..4978f348bb 100644 --- a/sysdeps/ieee754/ldbl-96/e_sinhl.c +++ b/sysdeps/ieee754/ldbl-96/e_sinhl.c @@ -36,8 +36,8 @@ static char rcsid[] = "$NetBSD: $"; * only sinhl(0)=0 is exact for finite x. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0, shuge = 1.0e4931L; diff --git a/sysdeps/ieee754/ldbl-96/s_asinhl.c b/sysdeps/ieee754/ldbl-96/s_asinhl.c index 415be5f19e..5e679bd719 100644 --- a/sysdeps/ieee754/ldbl-96/s_asinhl.c +++ b/sysdeps/ieee754/ldbl-96/s_asinhl.c @@ -29,8 +29,8 @@ static char rcsid[] = "$NetBSD: $"; * := signl(x)*log1pl(|x| + x^2/(1 + sqrtl(1+x^2))) */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.000000000000000000000e+00L, /* 0x3FFF, 0x00000000, 0x00000000 */ diff --git a/sysdeps/ieee754/ldbl-96/s_cbrtl.c b/sysdeps/ieee754/ldbl-96/s_cbrtl.c index a1286d32e8..07236345b9 100644 --- a/sysdeps/ieee754/ldbl-96/s_cbrtl.c +++ b/sysdeps/ieee754/ldbl-96/s_cbrtl.c @@ -18,8 +18,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include #define CBRT2 1.2599210498948731648 /* 2^(1/3) */ diff --git a/sysdeps/ieee754/ldbl-96/s_ceill.c b/sysdeps/ieee754/ldbl-96/s_ceill.c index 96cc27003e..aef8a32f63 100644 --- a/sysdeps/ieee754/ldbl-96/s_ceill.c +++ b/sysdeps/ieee754/ldbl-96/s_ceill.c @@ -27,8 +27,8 @@ static char rcsid[] = "$NetBSD: $"; * Inexact flag raised if x not equal to ceil(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double huge = 1.0e4930; diff --git a/sysdeps/ieee754/ldbl-96/s_copysignl.c b/sysdeps/ieee754/ldbl-96/s_copysignl.c index 3a390e9ef3..b1c442452f 100644 --- a/sysdeps/ieee754/ldbl-96/s_copysignl.c +++ b/sysdeps/ieee754/ldbl-96/s_copysignl.c @@ -24,8 +24,8 @@ static char rcsid[] = "$NetBSD: $"; * with the sign bit of y. */ -#include "math.h" -#include "math_private.h" +#include +#include long double __copysignl(long double x, long double y) { diff --git a/sysdeps/ieee754/ldbl-96/s_cosl.c b/sysdeps/ieee754/ldbl-96/s_cosl.c index 6cfebf6382..9d5606cfec 100644 --- a/sysdeps/ieee754/ldbl-96/s_cosl.c +++ b/sysdeps/ieee754/ldbl-96/s_cosl.c @@ -50,8 +50,8 @@ static char rcsid[] = "$NetBSD: $"; */ #include -#include "math.h" -#include "math_private.h" +#include +#include long double __cosl(long double x) { diff --git a/sysdeps/ieee754/ldbl-96/s_erfl.c b/sysdeps/ieee754/ldbl-96/s_erfl.c index 9b25a18a8b..b49a49be98 100644 --- a/sysdeps/ieee754/ldbl-96/s_erfl.c +++ b/sysdeps/ieee754/ldbl-96/s_erfl.c @@ -104,8 +104,8 @@ */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double tiny = 1e-4931L, diff --git a/sysdeps/ieee754/ldbl-96/s_fabsl.c b/sysdeps/ieee754/ldbl-96/s_fabsl.c index 3f5106dba2..fdc70e0dcd 100644 --- a/sysdeps/ieee754/ldbl-96/s_fabsl.c +++ b/sysdeps/ieee754/ldbl-96/s_fabsl.c @@ -22,8 +22,8 @@ static char rcsid[] = "$NetBSD: $"; * fabsl(x) returns the absolute value of x. */ -#include "math.h" -#include "math_private.h" +#include +#include long double __fabsl(long double x) { diff --git a/sysdeps/ieee754/ldbl-96/s_finitel.c b/sysdeps/ieee754/ldbl-96/s_finitel.c index f30a4d2a22..fbf4cc691c 100644 --- a/sysdeps/ieee754/ldbl-96/s_finitel.c +++ b/sysdeps/ieee754/ldbl-96/s_finitel.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __finitel(long double x) { diff --git a/sysdeps/ieee754/ldbl-96/s_floorl.c b/sysdeps/ieee754/ldbl-96/s_floorl.c index d44e36e908..cad7935b33 100644 --- a/sysdeps/ieee754/ldbl-96/s_floorl.c +++ b/sysdeps/ieee754/ldbl-96/s_floorl.c @@ -27,8 +27,8 @@ static char rcsid[] = "$NetBSD: $"; * Inexact flag raised if x not equal to floor(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double huge = 1.0e4930; diff --git a/sysdeps/ieee754/ldbl-96/s_fpclassifyl.c b/sysdeps/ieee754/ldbl-96/s_fpclassifyl.c index e0b34a093a..3df59c2239 100644 --- a/sysdeps/ieee754/ldbl-96/s_fpclassifyl.c +++ b/sysdeps/ieee754/ldbl-96/s_fpclassifyl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include int diff --git a/sysdeps/ieee754/ldbl-96/s_frexpl.c b/sysdeps/ieee754/ldbl-96/s_frexpl.c index 57444c5a48..ab217a659b 100644 --- a/sysdeps/ieee754/ldbl-96/s_frexpl.c +++ b/sysdeps/ieee754/ldbl-96/s_frexpl.c @@ -29,8 +29,8 @@ static char rcsid[] = "$NetBSD: $"; */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const long double #if LDBL_MANT_DIG == 64 diff --git a/sysdeps/ieee754/ldbl-96/s_ilogbl.c b/sysdeps/ieee754/ldbl-96/s_ilogbl.c index fd030a7f4c..7534599941 100644 --- a/sysdeps/ieee754/ldbl-96/s_ilogbl.c +++ b/sysdeps/ieee754/ldbl-96/s_ilogbl.c @@ -26,8 +26,8 @@ static char rcsid[] = "$NetBSD: $"; */ #include -#include "math.h" -#include "math_private.h" +#include +#include int __ilogbl(long double x) { diff --git a/sysdeps/ieee754/ldbl-96/s_isinf_nsl.c b/sysdeps/ieee754/ldbl-96/s_isinf_nsl.c index aa590307ea..9c7868b490 100644 --- a/sysdeps/ieee754/ldbl-96/s_isinf_nsl.c +++ b/sysdeps/ieee754/ldbl-96/s_isinf_nsl.c @@ -6,8 +6,8 @@ * __isinf_nsl(x) returns != 0 if x is ±inf, else 0; */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinf_nsl (long double x) diff --git a/sysdeps/ieee754/ldbl-96/s_isinfl.c b/sysdeps/ieee754/ldbl-96/s_isinfl.c index 9583234efa..94639f00f8 100644 --- a/sysdeps/ieee754/ldbl-96/s_isinfl.c +++ b/sysdeps/ieee754/ldbl-96/s_isinfl.c @@ -13,8 +13,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isinfl (long double x) diff --git a/sysdeps/ieee754/ldbl-96/s_isnanl.c b/sysdeps/ieee754/ldbl-96/s_isnanl.c index 9814aa7888..fd270fd849 100644 --- a/sysdeps/ieee754/ldbl-96/s_isnanl.c +++ b/sysdeps/ieee754/ldbl-96/s_isnanl.c @@ -23,8 +23,8 @@ static char rcsid[] = "$NetBSD: $"; * no branching! */ -#include "math.h" -#include "math_private.h" +#include +#include int __isnanl(long double x) { diff --git a/sysdeps/ieee754/ldbl-96/s_llrintl.c b/sysdeps/ieee754/ldbl-96/s_llrintl.c index 71efe13521..32a614b66d 100644 --- a/sysdeps/ieee754/ldbl-96/s_llrintl.c +++ b/sysdeps/ieee754/ldbl-96/s_llrintl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include static const long double two63[2] = { diff --git a/sysdeps/ieee754/ldbl-96/s_llroundl.c b/sysdeps/ieee754/ldbl-96/s_llroundl.c index a2ad2dc145..e75cd43301 100644 --- a/sysdeps/ieee754/ldbl-96/s_llroundl.c +++ b/sysdeps/ieee754/ldbl-96/s_llroundl.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include long long int diff --git a/sysdeps/ieee754/ldbl-96/s_logbl.c b/sysdeps/ieee754/ldbl-96/s_logbl.c index 27f5ed7ca2..95b644c030 100644 --- a/sysdeps/ieee754/ldbl-96/s_logbl.c +++ b/sysdeps/ieee754/ldbl-96/s_logbl.c @@ -24,8 +24,8 @@ static char rcsid[] = "$NetBSD: $"; * Use ilogb instead. */ -#include "math.h" -#include "math_private.h" +#include +#include long double __logbl(long double x) { diff --git a/sysdeps/ieee754/ldbl-96/s_lrintl.c b/sysdeps/ieee754/ldbl-96/s_lrintl.c index 078985c4f8..3f61099dd0 100644 --- a/sysdeps/ieee754/ldbl-96/s_lrintl.c +++ b/sysdeps/ieee754/ldbl-96/s_lrintl.c @@ -20,7 +20,7 @@ #include -#include "math_private.h" +#include static const long double two63[2] = { diff --git a/sysdeps/ieee754/ldbl-96/s_lroundl.c b/sysdeps/ieee754/ldbl-96/s_lroundl.c index 01b51fbb84..d41b7ca95b 100644 --- a/sysdeps/ieee754/ldbl-96/s_lroundl.c +++ b/sysdeps/ieee754/ldbl-96/s_lroundl.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include long int diff --git a/sysdeps/ieee754/ldbl-96/s_modfl.c b/sysdeps/ieee754/ldbl-96/s_modfl.c index c7659119f3..e9401d0f5d 100644 --- a/sysdeps/ieee754/ldbl-96/s_modfl.c +++ b/sysdeps/ieee754/ldbl-96/s_modfl.c @@ -24,8 +24,8 @@ * No exception. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one = 1.0; diff --git a/sysdeps/ieee754/ldbl-96/s_nearbyintl.c b/sysdeps/ieee754/ldbl-96/s_nearbyintl.c index e9ba5027ad..ed9836c879 100644 --- a/sysdeps/ieee754/ldbl-96/s_nearbyintl.c +++ b/sysdeps/ieee754/ldbl-96/s_nearbyintl.c @@ -26,8 +26,8 @@ */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const long double TWO63[2]={ diff --git a/sysdeps/ieee754/ldbl-96/s_nextafterl.c b/sysdeps/ieee754/ldbl-96/s_nextafterl.c index 66d7580e99..6859349b7c 100644 --- a/sysdeps/ieee754/ldbl-96/s_nextafterl.c +++ b/sysdeps/ieee754/ldbl-96/s_nextafterl.c @@ -25,7 +25,7 @@ static char rcsid[] = "$NetBSD: $"; * Special cases: */ -#include "math.h" +#include #include long double __nextafterl(long double x, long double y) diff --git a/sysdeps/ieee754/ldbl-96/s_nexttoward.c b/sysdeps/ieee754/ldbl-96/s_nexttoward.c index 2ea61a78ca..9b93ecae64 100644 --- a/sysdeps/ieee754/ldbl-96/s_nexttoward.c +++ b/sysdeps/ieee754/ldbl-96/s_nexttoward.c @@ -25,7 +25,7 @@ static char rcsid[] = "$NetBSD: $"; * Special cases: */ -#include "math.h" +#include #include #include diff --git a/sysdeps/ieee754/ldbl-96/s_nexttowardf.c b/sysdeps/ieee754/ldbl-96/s_nexttowardf.c index 665a8c6ca8..aeb92b623b 100644 --- a/sysdeps/ieee754/ldbl-96/s_nexttowardf.c +++ b/sysdeps/ieee754/ldbl-96/s_nexttowardf.c @@ -17,7 +17,7 @@ static char rcsid[] = "$NetBSD: $"; #endif -#include "math.h" +#include #include #include diff --git a/sysdeps/ieee754/ldbl-96/s_remquol.c b/sysdeps/ieee754/ldbl-96/s_remquol.c index b162ab4351..a0825c9521 100644 --- a/sysdeps/ieee754/ldbl-96/s_remquol.c +++ b/sysdeps/ieee754/ldbl-96/s_remquol.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include static const long double zero = 0.0; diff --git a/sysdeps/ieee754/ldbl-96/s_rintl.c b/sysdeps/ieee754/ldbl-96/s_rintl.c index b69f306d7b..b6f899d4ef 100644 --- a/sysdeps/ieee754/ldbl-96/s_rintl.c +++ b/sysdeps/ieee754/ldbl-96/s_rintl.c @@ -28,8 +28,8 @@ static char rcsid[] = "$NetBSD: $"; * Inexact flag raised if x not equal to rintl(x). */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double TWO63[2]={ diff --git a/sysdeps/ieee754/ldbl-96/s_roundl.c b/sysdeps/ieee754/ldbl-96/s_roundl.c index 170aee8c4d..b8626a509e 100644 --- a/sysdeps/ieee754/ldbl-96/s_roundl.c +++ b/sysdeps/ieee754/ldbl-96/s_roundl.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include static const long double huge = 1.0e4930L; diff --git a/sysdeps/ieee754/ldbl-96/s_scalblnl.c b/sysdeps/ieee754/ldbl-96/s_scalblnl.c index 755a212555..76a4c59e6b 100644 --- a/sysdeps/ieee754/ldbl-96/s_scalblnl.c +++ b/sysdeps/ieee754/ldbl-96/s_scalblnl.c @@ -21,8 +21,8 @@ * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double two63 = 4.50359962737049600000e+15, diff --git a/sysdeps/ieee754/ldbl-96/s_scalbnl.c b/sysdeps/ieee754/ldbl-96/s_scalbnl.c index 6946cf232f..266a37b9c0 100644 --- a/sysdeps/ieee754/ldbl-96/s_scalbnl.c +++ b/sysdeps/ieee754/ldbl-96/s_scalbnl.c @@ -21,8 +21,8 @@ * exponentiation or a multiplication. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double two64 = 1.8446744073709551616e19L, diff --git a/sysdeps/ieee754/ldbl-96/s_signbitl.c b/sysdeps/ieee754/ldbl-96/s_signbitl.c index a213d46d71..ffded99494 100644 --- a/sysdeps/ieee754/ldbl-96/s_signbitl.c +++ b/sysdeps/ieee754/ldbl-96/s_signbitl.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include int __signbitl (long double x) diff --git a/sysdeps/ieee754/ldbl-96/s_sincosl.c b/sysdeps/ieee754/ldbl-96/s_sincosl.c index 7ad84a0ddf..2858954b32 100644 --- a/sysdeps/ieee754/ldbl-96/s_sincosl.c +++ b/sysdeps/ieee754/ldbl-96/s_sincosl.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include void diff --git a/sysdeps/ieee754/ldbl-96/s_sinl.c b/sysdeps/ieee754/ldbl-96/s_sinl.c index 4f7ed91e3e..f15eb749bd 100644 --- a/sysdeps/ieee754/ldbl-96/s_sinl.c +++ b/sysdeps/ieee754/ldbl-96/s_sinl.c @@ -50,8 +50,8 @@ static char rcsid[] = "$NetBSD: $"; */ #include -#include "math.h" -#include "math_private.h" +#include +#include long double __sinl(long double x) { diff --git a/sysdeps/ieee754/ldbl-96/s_tanhl.c b/sysdeps/ieee754/ldbl-96/s_tanhl.c index 4547517e93..7ec6247315 100644 --- a/sysdeps/ieee754/ldbl-96/s_tanhl.c +++ b/sysdeps/ieee754/ldbl-96/s_tanhl.c @@ -42,8 +42,8 @@ static char rcsid[] = "$NetBSD: $"; * only tanhl(0)=0 is exact for finite argument. */ -#include "math.h" -#include "math_private.h" +#include +#include static const long double one=1.0, two=2.0, tiny = 1.0e-4900L; diff --git a/sysdeps/ieee754/ldbl-96/s_tanl.c b/sysdeps/ieee754/ldbl-96/s_tanl.c index 8e1686003d..3054601a50 100644 --- a/sysdeps/ieee754/ldbl-96/s_tanl.c +++ b/sysdeps/ieee754/ldbl-96/s_tanl.c @@ -48,8 +48,8 @@ static char rcsid[] = "$NetBSD: $"; * TRIG(x) returns trig(x) nearly rounded */ -#include "math.h" -#include "math_private.h" +#include +#include long double __tanl(long double x) { diff --git a/sysdeps/ieee754/ldbl-96/s_truncl.c b/sysdeps/ieee754/ldbl-96/s_truncl.c index 827088ae10..75a38261af 100644 --- a/sysdeps/ieee754/ldbl-96/s_truncl.c +++ b/sysdeps/ieee754/ldbl-96/s_truncl.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include long double diff --git a/sysdeps/ieee754/s_lib_version.c b/sysdeps/ieee754/s_lib_version.c index 121bdaa540..a377ab1f78 100644 --- a/sysdeps/ieee754/s_lib_version.c +++ b/sysdeps/ieee754/s_lib_version.c @@ -18,8 +18,8 @@ static char rcsid[] = "$NetBSD: s_lib_version.c,v 1.6 1995/05/10 20:47:44 jtc Ex * MACRO for standards */ -#include "math.h" -#include "math_private.h" +#include +#include /* * define and initialize _LIB_VERSION diff --git a/sysdeps/ieee754/s_matherr.c b/sysdeps/ieee754/s_matherr.c index 88d2dbed2c..d5dc6f122d 100644 --- a/sysdeps/ieee754/s_matherr.c +++ b/sysdeps/ieee754/s_matherr.c @@ -14,8 +14,8 @@ static char rcsid[] = "$NetBSD: s_matherr.c,v 1.6 1995/05/10 20:47:53 jtc Exp $"; #endif -#include "math.h" -#include "math_private.h" +#include +#include int weak_function diff --git a/sysdeps/ieee754/s_signgam.c b/sysdeps/ieee754/s_signgam.c index 021b0ffca1..ee207d6505 100644 --- a/sysdeps/ieee754/s_signgam.c +++ b/sysdeps/ieee754/s_signgam.c @@ -1,3 +1,3 @@ -#include "math.h" -#include "math_private.h" +#include +#include int signgam; diff --git a/sysdeps/powerpc/fpu/e_hypot.c b/sysdeps/powerpc/fpu/e_hypot.c index 3323bb87ea..cfadd5c856 100644 --- a/sysdeps/powerpc/fpu/e_hypot.c +++ b/sysdeps/powerpc/fpu/e_hypot.c @@ -17,8 +17,8 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const double two60 = 1.152921504606847e+18; static const double two500 = 3.2733906078961419e+150; diff --git a/sysdeps/powerpc/fpu/e_hypotf.c b/sysdeps/powerpc/fpu/e_hypotf.c index 541b597d54..3838f53d85 100644 --- a/sysdeps/powerpc/fpu/e_hypotf.c +++ b/sysdeps/powerpc/fpu/e_hypotf.c @@ -17,8 +17,8 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const float two30 = 1.0737418e09; diff --git a/sysdeps/powerpc/fpu/e_rem_pio2f.c b/sysdeps/powerpc/fpu/e_rem_pio2f.c index 1d170d9786..8dfbdaf6db 100644 --- a/sysdeps/powerpc/fpu/e_rem_pio2f.c +++ b/sysdeps/powerpc/fpu/e_rem_pio2f.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include #include "s_float_bitwise.h" /* defined in sysdeps/powerpc/fpu/k_rem_pio2f.c */ diff --git a/sysdeps/powerpc/fpu/k_cosf.c b/sysdeps/powerpc/fpu/k_cosf.c index 04a69fd948..e2571d6802 100644 --- a/sysdeps/powerpc/fpu/k_cosf.c +++ b/sysdeps/powerpc/fpu/k_cosf.c @@ -17,8 +17,8 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const float twom27 = 7.4505806e-09; static const float dot3 = 3.0000001e-01; diff --git a/sysdeps/powerpc/fpu/k_rem_pio2f.c b/sysdeps/powerpc/fpu/k_rem_pio2f.c index 6f91e57e71..2060642743 100644 --- a/sysdeps/powerpc/fpu/k_rem_pio2f.c +++ b/sysdeps/powerpc/fpu/k_rem_pio2f.c @@ -19,7 +19,7 @@ #include -#include "math_private.h" +#include #include "s_float_bitwise.h" diff --git a/sysdeps/powerpc/fpu/k_sinf.c b/sysdeps/powerpc/fpu/k_sinf.c index e0dc48db29..ab4561e65e 100644 --- a/sysdeps/powerpc/fpu/k_sinf.c +++ b/sysdeps/powerpc/fpu/k_sinf.c @@ -17,8 +17,8 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include static const float twom27 = 7.4505806000e-09; diff --git a/sysdeps/powerpc/fpu/s_cosf.c b/sysdeps/powerpc/fpu/s_cosf.c index bdd663d381..6314155528 100644 --- a/sysdeps/powerpc/fpu/s_cosf.c +++ b/sysdeps/powerpc/fpu/s_cosf.c @@ -18,8 +18,8 @@ not, see . */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const float one = 1.0; static const float pio4 = 7.8539801e-1; diff --git a/sysdeps/powerpc/fpu/s_float_bitwise.h b/sysdeps/powerpc/fpu/s_float_bitwise.h index 9ef947b66e..d01a0e00e4 100644 --- a/sysdeps/powerpc/fpu/s_float_bitwise.h +++ b/sysdeps/powerpc/fpu/s_float_bitwise.h @@ -20,7 +20,7 @@ #ifndef _FLOAT_BITWISE_ #define _FLOAT_BITWISE_ 1 -#include "math_private.h" +#include /* Returns (int)(num & 0x7FFFFFF0 == value) */ static inline diff --git a/sysdeps/powerpc/fpu/s_isnan.c b/sysdeps/powerpc/fpu/s_isnan.c index 98ed237d74..777d3518f6 100644 --- a/sysdeps/powerpc/fpu/s_isnan.c +++ b/sysdeps/powerpc/fpu/s_isnan.c @@ -21,7 +21,7 @@ #define isnanf Xisnanf #define __GI___isnanf __GI___Xisnanf -#include "math.h" +#include #include #include diff --git a/sysdeps/powerpc/fpu/s_rint.c b/sysdeps/powerpc/fpu/s_rint.c index ca72b40a52..3888009670 100644 --- a/sysdeps/powerpc/fpu/s_rint.c +++ b/sysdeps/powerpc/fpu/s_rint.c @@ -16,7 +16,7 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" +#include double __rint (double x) diff --git a/sysdeps/powerpc/fpu/s_rintf.c b/sysdeps/powerpc/fpu/s_rintf.c index 50f9b000bc..de584e5f61 100644 --- a/sysdeps/powerpc/fpu/s_rintf.c +++ b/sysdeps/powerpc/fpu/s_rintf.c @@ -16,7 +16,7 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" +#include float __rintf (float x) diff --git a/sysdeps/powerpc/fpu/s_sinf.c b/sysdeps/powerpc/fpu/s_sinf.c index 680ee3eeff..3440b862de 100644 --- a/sysdeps/powerpc/fpu/s_sinf.c +++ b/sysdeps/powerpc/fpu/s_sinf.c @@ -18,8 +18,8 @@ not, see . */ #include -#include "math.h" -#include "math_private.h" +#include +#include static const float pio4 = 7.8539801e-1; diff --git a/sysdeps/powerpc/fpu/w_sqrt.c b/sysdeps/powerpc/fpu/w_sqrt.c index a3a68acb98..c8ee010b7c 100644 --- a/sysdeps/powerpc/fpu/w_sqrt.c +++ b/sysdeps/powerpc/fpu/w_sqrt.c @@ -16,8 +16,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include #include double diff --git a/sysdeps/powerpc/fpu/w_sqrtf.c b/sysdeps/powerpc/fpu/w_sqrtf.c index 2989563f60..39b5b20a03 100644 --- a/sysdeps/powerpc/fpu/w_sqrtf.c +++ b/sysdeps/powerpc/fpu/w_sqrtf.c @@ -16,8 +16,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include #include #include diff --git a/sysdeps/powerpc/powerpc32/fpu/s_llrintf.c b/sysdeps/powerpc/powerpc32/fpu/s_llrintf.c index df86846f78..d2112b8cb1 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_llrintf.c +++ b/sysdeps/powerpc/powerpc32/fpu/s_llrintf.c @@ -16,7 +16,7 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" +#include long long int __llrintf (float x) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c b/sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c index db57f62ef7..2db82810eb 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c @@ -27,7 +27,7 @@ /*Converting from double precision to Multi-precision and calculating */ /* e^x */ /**************************************************************************/ -#include "math_private.h" +#include #ifdef NO_LONG_DOUBLE #include "mpa.h" diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c b/sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c index e01e53360c..fdb27718e2 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c @@ -32,7 +32,7 @@ /*************************************************************************/ #include "mpa.h" -#include "math_private.h" +#include void __mpexp (mp_no * x, mp_no * y, int p); void __mplog (mp_no * x, mp_no * y, int p); diff --git a/sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c b/sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c index db57f62ef7..2db82810eb 100644 --- a/sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c +++ b/sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c @@ -27,7 +27,7 @@ /*Converting from double precision to Multi-precision and calculating */ /* e^x */ /**************************************************************************/ -#include "math_private.h" +#include #ifdef NO_LONG_DOUBLE #include "mpa.h" diff --git a/sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c b/sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c index e01e53360c..fdb27718e2 100644 --- a/sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c +++ b/sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c @@ -32,7 +32,7 @@ /*************************************************************************/ #include "mpa.h" -#include "math_private.h" +#include void __mpexp (mp_no * x, mp_no * y, int p); void __mplog (mp_no * x, mp_no * y, int p); diff --git a/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c b/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c index ef733c0b95..1bd6a67a92 100644 --- a/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c +++ b/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c @@ -17,8 +17,8 @@ . */ #include -#include "math.h" -#include "math_private.h" +#include +#include #include double diff --git a/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c b/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c index 615b7133ae..0e7e6923ab 100644 --- a/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c +++ b/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c @@ -16,8 +16,8 @@ License along with the GNU C Library; if not, see . */ -#include "math.h" -#include "math_private.h" +#include +#include #include #include -- cgit 1.4.1 From b8c036204fd01dce20f7c610c4295709f59a2a39 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Fri, 9 Mar 2012 11:35:13 -0800 Subject: Use include_next to chain math_private.h headers. --- ChangeLog | 6 ++++++ sysdeps/i386/fpu/math_private.h | 2 +- sysdeps/powerpc/fpu/math_private.h | 2 +- sysdeps/x86_64/fpu/math_private.h | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 096a32b219..b4410cfc77 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-03-09 Richard Henderson + + * sysdeps/i386/fpu/math_private.h: Use include_next for math_private.h. + * sysdeps/powerpc/fpu/math_private.h: Likewise. + * sysdeps/x86_64/fpu/math_private.h: Likewise. + 2012-03-09 Richard Henderson * sysdeps/i386/fpu/s_fpclassifyl.c, sysdeps/i386/fpu/s_isinfl.c, diff --git a/sysdeps/i386/fpu/math_private.h b/sysdeps/i386/fpu/math_private.h index 8a51851377..5253998a57 100644 --- a/sysdeps/i386/fpu/math_private.h +++ b/sysdeps/i386/fpu/math_private.h @@ -15,5 +15,5 @@ do \ } \ while (0) -#include +#include_next #endif diff --git a/sysdeps/powerpc/fpu/math_private.h b/sysdeps/powerpc/fpu/math_private.h index 28628f0540..a916be31eb 100644 --- a/sysdeps/powerpc/fpu/math_private.h +++ b/sysdeps/powerpc/fpu/math_private.h @@ -23,7 +23,7 @@ #include #include #include -#include +#include_next # if __WORDSIZE == 64 || defined _ARCH_PWR4 # define __CPU_HAS_FSQRT 1 diff --git a/sysdeps/x86_64/fpu/math_private.h b/sysdeps/x86_64/fpu/math_private.h index 9b8d31de87..c8616f654a 100644 --- a/sysdeps/x86_64/fpu/math_private.h +++ b/sysdeps/x86_64/fpu/math_private.h @@ -16,7 +16,7 @@ __asm __volatile ("" : : "f" (x)); \ } while (0) -#include +#include_next /* We can do a few things better on x86-64. */ -- cgit 1.4.1 From 5f0a5daeee4d32db4ec1f987b894a878e5a1f37f Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Fri, 9 Mar 2012 15:45:34 -0800 Subject: Move math/math_private.h to sysdeps/generic/math_private.h. This reverts commit 60d6f5a6f50d838bcb4240fcc0223cac445c6c83. --- ChangeLog | 6 + include/math_private.h | 1 - math/math_private.h | 392 ----------------------------------------- sysdeps/generic/math_private.h | 392 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 398 insertions(+), 393 deletions(-) delete mode 100644 include/math_private.h delete mode 100644 math/math_private.h create mode 100644 sysdeps/generic/math_private.h (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index b4410cfc77..7bf4d96e24 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-03-09 Richard Henderson + + * include/math_private.h: Remove file. + * math/math_private.h: Move file ... + * sysdeps/generic/math_private.h: ... here. + 2012-03-09 Richard Henderson * sysdeps/i386/fpu/math_private.h: Use include_next for math_private.h. diff --git a/include/math_private.h b/include/math_private.h deleted file mode 100644 index cb71bafe8a..0000000000 --- a/include/math_private.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/math/math_private.h b/math/math_private.h deleted file mode 100644 index 777762dd33..0000000000 --- a/math/math_private.h +++ /dev/null @@ -1,392 +0,0 @@ -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - -/* - * from: @(#)fdlibm.h 5.1 93/09/24 - */ - -#ifndef _MATH_PRIVATE_H_ -#define _MATH_PRIVATE_H_ - -#include -#include -#include - -/* The original fdlibm code used statements like: - n0 = ((*(int*)&one)>>29)^1; * index of high word * - ix0 = *(n0+(int*)&x); * high word of x * - ix1 = *((1-n0)+(int*)&x); * low word of x * - to dig two 32 bit words out of the 64 bit IEEE floating point - value. That is non-ANSI, and, moreover, the gcc instruction - scheduler gets it wrong. We instead use the following macros. - Unlike the original code, we determine the endianness at compile - time, not at run time; I don't see much benefit to selecting - endianness at run time. */ - -/* A union which permits us to convert between a double and two 32 bit - ints. */ - -#if __FLOAT_WORD_ORDER == BIG_ENDIAN - -typedef union -{ - double value; - struct - { - u_int32_t msw; - u_int32_t lsw; - } parts; - uint64_t word; -} ieee_double_shape_type; - -#endif - -#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN - -typedef union -{ - double value; - struct - { - u_int32_t lsw; - u_int32_t msw; - } parts; - uint64_t word; -} ieee_double_shape_type; - -#endif - -/* Get two 32 bit ints from a double. */ - -#define EXTRACT_WORDS(ix0,ix1,d) \ -do { \ - ieee_double_shape_type ew_u; \ - ew_u.value = (d); \ - (ix0) = ew_u.parts.msw; \ - (ix1) = ew_u.parts.lsw; \ -} while (0) - -/* Get the more significant 32 bit int from a double. */ - -#define GET_HIGH_WORD(i,d) \ -do { \ - ieee_double_shape_type gh_u; \ - gh_u.value = (d); \ - (i) = gh_u.parts.msw; \ -} while (0) - -/* Get the less significant 32 bit int from a double. */ - -#define GET_LOW_WORD(i,d) \ -do { \ - ieee_double_shape_type gl_u; \ - gl_u.value = (d); \ - (i) = gl_u.parts.lsw; \ -} while (0) - -/* Get all in one, efficient on 64-bit machines. */ -#define EXTRACT_WORDS64(i,d) \ -do { \ - ieee_double_shape_type gh_u; \ - gh_u.value = (d); \ - (i) = gh_u.word; \ -} while (0) - -/* Set a double from two 32 bit ints. */ - -#define INSERT_WORDS(d,ix0,ix1) \ -do { \ - ieee_double_shape_type iw_u; \ - iw_u.parts.msw = (ix0); \ - iw_u.parts.lsw = (ix1); \ - (d) = iw_u.value; \ -} while (0) - -/* Get all in one, efficient on 64-bit machines. */ -#define INSERT_WORDS64(d,i) \ -do { \ - ieee_double_shape_type iw_u; \ - iw_u.word = (i); \ - (d) = iw_u.value; \ -} while (0) - -/* Set the more significant 32 bits of a double from an int. */ - -#define SET_HIGH_WORD(d,v) \ -do { \ - ieee_double_shape_type sh_u; \ - sh_u.value = (d); \ - sh_u.parts.msw = (v); \ - (d) = sh_u.value; \ -} while (0) - -/* Set the less significant 32 bits of a double from an int. */ - -#define SET_LOW_WORD(d,v) \ -do { \ - ieee_double_shape_type sl_u; \ - sl_u.value = (d); \ - sl_u.parts.lsw = (v); \ - (d) = sl_u.value; \ -} while (0) - -/* A union which permits us to convert between a float and a 32 bit - int. */ - -typedef union -{ - float value; - u_int32_t word; -} ieee_float_shape_type; - -/* Get a 32 bit int from a float. */ - -#define GET_FLOAT_WORD(i,d) \ -do { \ - ieee_float_shape_type gf_u; \ - gf_u.value = (d); \ - (i) = gf_u.word; \ -} while (0) - -/* Set a float from a 32 bit int. */ - -#define SET_FLOAT_WORD(d,i) \ -do { \ - ieee_float_shape_type sf_u; \ - sf_u.word = (i); \ - (d) = sf_u.value; \ -} while (0) - -/* Get long double macros from a separate header. */ -#include - -/* ieee style elementary functions */ -extern double __ieee754_sqrt (double); -extern double __ieee754_acos (double); -extern double __ieee754_acosh (double); -extern double __ieee754_log (double); -extern double __ieee754_atanh (double); -extern double __ieee754_asin (double); -extern double __ieee754_atan2 (double,double); -extern double __ieee754_exp (double); -extern double __ieee754_exp2 (double); -extern double __ieee754_exp10 (double); -extern double __ieee754_cosh (double); -extern double __ieee754_fmod (double,double); -extern double __ieee754_pow (double,double); -extern double __ieee754_lgamma_r (double,int *); -extern double __ieee754_gamma_r (double,int *); -extern double __ieee754_lgamma (double); -extern double __ieee754_gamma (double); -extern double __ieee754_log10 (double); -extern double __ieee754_log2 (double); -extern double __ieee754_sinh (double); -extern double __ieee754_hypot (double,double); -extern double __ieee754_j0 (double); -extern double __ieee754_j1 (double); -extern double __ieee754_y0 (double); -extern double __ieee754_y1 (double); -extern double __ieee754_jn (int,double); -extern double __ieee754_yn (int,double); -extern double __ieee754_remainder (double,double); -extern int32_t __ieee754_rem_pio2 (double,double*); -extern double __ieee754_scalb (double,double); - -/* fdlibm kernel function */ -extern double __kernel_standard (double,double,int); -extern float __kernel_standard_f (float,float,int); -extern double __kernel_sin (double,double,int); -extern double __kernel_cos (double,double); -extern double __kernel_tan (double,double,int); -extern int __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*); - -/* internal functions. */ -extern double __copysign (double x, double __y); - -extern inline double __copysign (double x, double y) -{ return __builtin_copysign (x, y); } - -/* ieee style elementary float functions */ -extern float __ieee754_sqrtf (float); -extern float __ieee754_acosf (float); -extern float __ieee754_acoshf (float); -extern float __ieee754_logf (float); -extern float __ieee754_atanhf (float); -extern float __ieee754_asinf (float); -extern float __ieee754_atan2f (float,float); -extern float __ieee754_expf (float); -extern float __ieee754_exp2f (float); -extern float __ieee754_exp10f (float); -extern float __ieee754_coshf (float); -extern float __ieee754_fmodf (float,float); -extern float __ieee754_powf (float,float); -extern float __ieee754_lgammaf_r (float,int *); -extern float __ieee754_gammaf_r (float,int *); -extern float __ieee754_lgammaf (float); -extern float __ieee754_gammaf (float); -extern float __ieee754_log10f (float); -extern float __ieee754_log2f (float); -extern float __ieee754_sinhf (float); -extern float __ieee754_hypotf (float,float); -extern float __ieee754_j0f (float); -extern float __ieee754_j1f (float); -extern float __ieee754_y0f (float); -extern float __ieee754_y1f (float); -extern float __ieee754_jnf (int,float); -extern float __ieee754_ynf (int,float); -extern float __ieee754_remainderf (float,float); -extern int32_t __ieee754_rem_pio2f (float,float*); -extern float __ieee754_scalbf (float,float); - - -/* float versions of fdlibm kernel functions */ -extern float __kernel_sinf (float,float,int); -extern float __kernel_cosf (float,float); -extern float __kernel_tanf (float,float,int); -extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*); - -/* internal functions. */ -extern float __copysignf (float x, float __y); - -extern inline float __copysignf (float x, float y) -{ return __builtin_copysignf (x, y); } - -/* ieee style elementary long double functions */ -extern long double __ieee754_sqrtl (long double); -extern long double __ieee754_acosl (long double); -extern long double __ieee754_acoshl (long double); -extern long double __ieee754_logl (long double); -extern long double __ieee754_atanhl (long double); -extern long double __ieee754_asinl (long double); -extern long double __ieee754_atan2l (long double,long double); -extern long double __ieee754_expl (long double); -extern long double __ieee754_exp2l (long double); -extern long double __ieee754_exp10l (long double); -extern long double __ieee754_coshl (long double); -extern long double __ieee754_fmodl (long double,long double); -extern long double __ieee754_powl (long double,long double); -extern long double __ieee754_lgammal_r (long double,int *); -extern long double __ieee754_gammal_r (long double,int *); -extern long double __ieee754_lgammal (long double); -extern long double __ieee754_gammal (long double); -extern long double __ieee754_log10l (long double); -extern long double __ieee754_log2l (long double); -extern long double __ieee754_sinhl (long double); -extern long double __ieee754_hypotl (long double,long double); -extern long double __ieee754_j0l (long double); -extern long double __ieee754_j1l (long double); -extern long double __ieee754_y0l (long double); -extern long double __ieee754_y1l (long double); -extern long double __ieee754_jnl (int,long double); -extern long double __ieee754_ynl (int,long double); -extern long double __ieee754_remainderl (long double,long double); -extern int __ieee754_rem_pio2l (long double,long double*); -extern long double __ieee754_scalbl (long double,long double); - -/* long double versions of fdlibm kernel functions */ -extern long double __kernel_sinl (long double,long double,int); -extern long double __kernel_cosl (long double,long double); -extern long double __kernel_tanl (long double,long double,int); -extern void __kernel_sincosl (long double,long double, - long double *,long double *, int); -extern int __kernel_rem_pio2l (long double*,long double*,int,int, - int,const int*); - -#ifndef NO_LONG_DOUBLE -/* prototypes required to compile the ldbl-96 support without warnings */ -extern int __finitel (long double); -extern int __ilogbl (long double); -extern int __isinfl (long double); -extern int __isnanl (long double); -extern long double __atanl (long double); -extern long double __copysignl (long double, long double); -extern long double __expm1l (long double); -extern long double __floorl (long double); -extern long double __frexpl (long double, int *); -extern long double __ldexpl (long double, int); -extern long double __log1pl (long double); -extern long double __nanl (const char *); -extern long double __rintl (long double); -extern long double __scalbnl (long double, int); -extern long double __sqrtl (long double x); -extern long double fabsl (long double x); -extern void __sincosl (long double, long double *, long double *); -extern long double __logbl (long double x); -extern long double __significandl (long double x); - -extern inline long double __copysignl (long double x, long double y) -{ return __builtin_copysignl (x, y); } - -#endif - -/* Prototypes for functions of the IBM Accurate Mathematical Library. */ -extern double __exp1 (double __x, double __xx, double __error); -extern double __sin (double __x); -extern double __cos (double __x); -extern int __branred (double __x, double *__a, double *__aa); -extern void __doasin (double __x, double __dx, double __v[]); -extern void __dubsin (double __x, double __dx, double __v[]); -extern void __dubcos (double __x, double __dx, double __v[]); -extern double __halfulp (double __x, double __y); -extern double __sin32 (double __x, double __res, double __res1); -extern double __cos32 (double __x, double __res, double __res1); -extern double __mpsin (double __x, double __dx); -extern double __mpcos (double __x, double __dx); -extern double __mpsin1 (double __x); -extern double __mpcos1 (double __x); -extern double __slowexp (double __x); -extern double __slowpow (double __x, double __y, double __z); -extern void __docos (double __x, double __dx, double __v[]); - -#ifndef math_opt_barrier -# define math_opt_barrier(x) \ -({ __typeof (x) __x = (x); __asm ("" : "+m" (__x)); __x; }) -# define math_force_eval(x) \ -({ __typeof (x) __x = (x); __asm __volatile__ ("" : : "m" (__x)); }) -#endif - - -/* The standards only specify one variant of the fenv.h interfaces. - But at least for some architectures we can be more efficient if we - know what operations are going to be performed. Therefore we - define additional interfaces. By default they refer to the normal - interfaces. */ -#define libc_feholdexcept(e) (void) feholdexcept (e) -#define libc_feholdexceptf(e) (void) feholdexcept (e) -#define libc_feholdexceptl(e) (void) feholdexcept (e) - -#define libc_feholdexcept_setround(e, r) \ - do { feholdexcept (e); fesetround (r); } while (0) -#define libc_feholdexcept_setroundf(e, r) \ - do { feholdexcept (e); fesetround (r); } while (0) -#define libc_feholdexcept_setroundl(e, r) \ - do { feholdexcept (e); fesetround (r); } while (0) - -#define libc_fetestexcept(e) fetestexcept (e) -#define libc_fetestexceptf(e) fetestexcept (e) -#define libc_fetestexceptl(e) fetestexcept (e) - -#define libc_fesetenv(e) (void) fesetenv (e) -#define libc_fesetenvf(e) (void) fesetenv (e) -#define libc_fesetenvl(e) (void) fesetenv (e) - -#define libc_feupdateenv(e) (void) feupdateenv (e) -#define libc_feupdateenvf(e) (void) feupdateenv (e) -#define libc_feupdateenvl(e) (void) feupdateenv (e) - -#define __nan(str) \ - (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str)) -#define __nanf(str) \ - (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str)) -#define __nanl(str) \ - (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str)) - -#endif /* _MATH_PRIVATE_H_ */ diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h new file mode 100644 index 0000000000..777762dd33 --- /dev/null +++ b/sysdeps/generic/math_private.h @@ -0,0 +1,392 @@ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* + * from: @(#)fdlibm.h 5.1 93/09/24 + */ + +#ifndef _MATH_PRIVATE_H_ +#define _MATH_PRIVATE_H_ + +#include +#include +#include + +/* The original fdlibm code used statements like: + n0 = ((*(int*)&one)>>29)^1; * index of high word * + ix0 = *(n0+(int*)&x); * high word of x * + ix1 = *((1-n0)+(int*)&x); * low word of x * + to dig two 32 bit words out of the 64 bit IEEE floating point + value. That is non-ANSI, and, moreover, the gcc instruction + scheduler gets it wrong. We instead use the following macros. + Unlike the original code, we determine the endianness at compile + time, not at run time; I don't see much benefit to selecting + endianness at run time. */ + +/* A union which permits us to convert between a double and two 32 bit + ints. */ + +#if __FLOAT_WORD_ORDER == BIG_ENDIAN + +typedef union +{ + double value; + struct + { + u_int32_t msw; + u_int32_t lsw; + } parts; + uint64_t word; +} ieee_double_shape_type; + +#endif + +#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN + +typedef union +{ + double value; + struct + { + u_int32_t lsw; + u_int32_t msw; + } parts; + uint64_t word; +} ieee_double_shape_type; + +#endif + +/* Get two 32 bit ints from a double. */ + +#define EXTRACT_WORDS(ix0,ix1,d) \ +do { \ + ieee_double_shape_type ew_u; \ + ew_u.value = (d); \ + (ix0) = ew_u.parts.msw; \ + (ix1) = ew_u.parts.lsw; \ +} while (0) + +/* Get the more significant 32 bit int from a double. */ + +#define GET_HIGH_WORD(i,d) \ +do { \ + ieee_double_shape_type gh_u; \ + gh_u.value = (d); \ + (i) = gh_u.parts.msw; \ +} while (0) + +/* Get the less significant 32 bit int from a double. */ + +#define GET_LOW_WORD(i,d) \ +do { \ + ieee_double_shape_type gl_u; \ + gl_u.value = (d); \ + (i) = gl_u.parts.lsw; \ +} while (0) + +/* Get all in one, efficient on 64-bit machines. */ +#define EXTRACT_WORDS64(i,d) \ +do { \ + ieee_double_shape_type gh_u; \ + gh_u.value = (d); \ + (i) = gh_u.word; \ +} while (0) + +/* Set a double from two 32 bit ints. */ + +#define INSERT_WORDS(d,ix0,ix1) \ +do { \ + ieee_double_shape_type iw_u; \ + iw_u.parts.msw = (ix0); \ + iw_u.parts.lsw = (ix1); \ + (d) = iw_u.value; \ +} while (0) + +/* Get all in one, efficient on 64-bit machines. */ +#define INSERT_WORDS64(d,i) \ +do { \ + ieee_double_shape_type iw_u; \ + iw_u.word = (i); \ + (d) = iw_u.value; \ +} while (0) + +/* Set the more significant 32 bits of a double from an int. */ + +#define SET_HIGH_WORD(d,v) \ +do { \ + ieee_double_shape_type sh_u; \ + sh_u.value = (d); \ + sh_u.parts.msw = (v); \ + (d) = sh_u.value; \ +} while (0) + +/* Set the less significant 32 bits of a double from an int. */ + +#define SET_LOW_WORD(d,v) \ +do { \ + ieee_double_shape_type sl_u; \ + sl_u.value = (d); \ + sl_u.parts.lsw = (v); \ + (d) = sl_u.value; \ +} while (0) + +/* A union which permits us to convert between a float and a 32 bit + int. */ + +typedef union +{ + float value; + u_int32_t word; +} ieee_float_shape_type; + +/* Get a 32 bit int from a float. */ + +#define GET_FLOAT_WORD(i,d) \ +do { \ + ieee_float_shape_type gf_u; \ + gf_u.value = (d); \ + (i) = gf_u.word; \ +} while (0) + +/* Set a float from a 32 bit int. */ + +#define SET_FLOAT_WORD(d,i) \ +do { \ + ieee_float_shape_type sf_u; \ + sf_u.word = (i); \ + (d) = sf_u.value; \ +} while (0) + +/* Get long double macros from a separate header. */ +#include + +/* ieee style elementary functions */ +extern double __ieee754_sqrt (double); +extern double __ieee754_acos (double); +extern double __ieee754_acosh (double); +extern double __ieee754_log (double); +extern double __ieee754_atanh (double); +extern double __ieee754_asin (double); +extern double __ieee754_atan2 (double,double); +extern double __ieee754_exp (double); +extern double __ieee754_exp2 (double); +extern double __ieee754_exp10 (double); +extern double __ieee754_cosh (double); +extern double __ieee754_fmod (double,double); +extern double __ieee754_pow (double,double); +extern double __ieee754_lgamma_r (double,int *); +extern double __ieee754_gamma_r (double,int *); +extern double __ieee754_lgamma (double); +extern double __ieee754_gamma (double); +extern double __ieee754_log10 (double); +extern double __ieee754_log2 (double); +extern double __ieee754_sinh (double); +extern double __ieee754_hypot (double,double); +extern double __ieee754_j0 (double); +extern double __ieee754_j1 (double); +extern double __ieee754_y0 (double); +extern double __ieee754_y1 (double); +extern double __ieee754_jn (int,double); +extern double __ieee754_yn (int,double); +extern double __ieee754_remainder (double,double); +extern int32_t __ieee754_rem_pio2 (double,double*); +extern double __ieee754_scalb (double,double); + +/* fdlibm kernel function */ +extern double __kernel_standard (double,double,int); +extern float __kernel_standard_f (float,float,int); +extern double __kernel_sin (double,double,int); +extern double __kernel_cos (double,double); +extern double __kernel_tan (double,double,int); +extern int __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*); + +/* internal functions. */ +extern double __copysign (double x, double __y); + +extern inline double __copysign (double x, double y) +{ return __builtin_copysign (x, y); } + +/* ieee style elementary float functions */ +extern float __ieee754_sqrtf (float); +extern float __ieee754_acosf (float); +extern float __ieee754_acoshf (float); +extern float __ieee754_logf (float); +extern float __ieee754_atanhf (float); +extern float __ieee754_asinf (float); +extern float __ieee754_atan2f (float,float); +extern float __ieee754_expf (float); +extern float __ieee754_exp2f (float); +extern float __ieee754_exp10f (float); +extern float __ieee754_coshf (float); +extern float __ieee754_fmodf (float,float); +extern float __ieee754_powf (float,float); +extern float __ieee754_lgammaf_r (float,int *); +extern float __ieee754_gammaf_r (float,int *); +extern float __ieee754_lgammaf (float); +extern float __ieee754_gammaf (float); +extern float __ieee754_log10f (float); +extern float __ieee754_log2f (float); +extern float __ieee754_sinhf (float); +extern float __ieee754_hypotf (float,float); +extern float __ieee754_j0f (float); +extern float __ieee754_j1f (float); +extern float __ieee754_y0f (float); +extern float __ieee754_y1f (float); +extern float __ieee754_jnf (int,float); +extern float __ieee754_ynf (int,float); +extern float __ieee754_remainderf (float,float); +extern int32_t __ieee754_rem_pio2f (float,float*); +extern float __ieee754_scalbf (float,float); + + +/* float versions of fdlibm kernel functions */ +extern float __kernel_sinf (float,float,int); +extern float __kernel_cosf (float,float); +extern float __kernel_tanf (float,float,int); +extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*); + +/* internal functions. */ +extern float __copysignf (float x, float __y); + +extern inline float __copysignf (float x, float y) +{ return __builtin_copysignf (x, y); } + +/* ieee style elementary long double functions */ +extern long double __ieee754_sqrtl (long double); +extern long double __ieee754_acosl (long double); +extern long double __ieee754_acoshl (long double); +extern long double __ieee754_logl (long double); +extern long double __ieee754_atanhl (long double); +extern long double __ieee754_asinl (long double); +extern long double __ieee754_atan2l (long double,long double); +extern long double __ieee754_expl (long double); +extern long double __ieee754_exp2l (long double); +extern long double __ieee754_exp10l (long double); +extern long double __ieee754_coshl (long double); +extern long double __ieee754_fmodl (long double,long double); +extern long double __ieee754_powl (long double,long double); +extern long double __ieee754_lgammal_r (long double,int *); +extern long double __ieee754_gammal_r (long double,int *); +extern long double __ieee754_lgammal (long double); +extern long double __ieee754_gammal (long double); +extern long double __ieee754_log10l (long double); +extern long double __ieee754_log2l (long double); +extern long double __ieee754_sinhl (long double); +extern long double __ieee754_hypotl (long double,long double); +extern long double __ieee754_j0l (long double); +extern long double __ieee754_j1l (long double); +extern long double __ieee754_y0l (long double); +extern long double __ieee754_y1l (long double); +extern long double __ieee754_jnl (int,long double); +extern long double __ieee754_ynl (int,long double); +extern long double __ieee754_remainderl (long double,long double); +extern int __ieee754_rem_pio2l (long double,long double*); +extern long double __ieee754_scalbl (long double,long double); + +/* long double versions of fdlibm kernel functions */ +extern long double __kernel_sinl (long double,long double,int); +extern long double __kernel_cosl (long double,long double); +extern long double __kernel_tanl (long double,long double,int); +extern void __kernel_sincosl (long double,long double, + long double *,long double *, int); +extern int __kernel_rem_pio2l (long double*,long double*,int,int, + int,const int*); + +#ifndef NO_LONG_DOUBLE +/* prototypes required to compile the ldbl-96 support without warnings */ +extern int __finitel (long double); +extern int __ilogbl (long double); +extern int __isinfl (long double); +extern int __isnanl (long double); +extern long double __atanl (long double); +extern long double __copysignl (long double, long double); +extern long double __expm1l (long double); +extern long double __floorl (long double); +extern long double __frexpl (long double, int *); +extern long double __ldexpl (long double, int); +extern long double __log1pl (long double); +extern long double __nanl (const char *); +extern long double __rintl (long double); +extern long double __scalbnl (long double, int); +extern long double __sqrtl (long double x); +extern long double fabsl (long double x); +extern void __sincosl (long double, long double *, long double *); +extern long double __logbl (long double x); +extern long double __significandl (long double x); + +extern inline long double __copysignl (long double x, long double y) +{ return __builtin_copysignl (x, y); } + +#endif + +/* Prototypes for functions of the IBM Accurate Mathematical Library. */ +extern double __exp1 (double __x, double __xx, double __error); +extern double __sin (double __x); +extern double __cos (double __x); +extern int __branred (double __x, double *__a, double *__aa); +extern void __doasin (double __x, double __dx, double __v[]); +extern void __dubsin (double __x, double __dx, double __v[]); +extern void __dubcos (double __x, double __dx, double __v[]); +extern double __halfulp (double __x, double __y); +extern double __sin32 (double __x, double __res, double __res1); +extern double __cos32 (double __x, double __res, double __res1); +extern double __mpsin (double __x, double __dx); +extern double __mpcos (double __x, double __dx); +extern double __mpsin1 (double __x); +extern double __mpcos1 (double __x); +extern double __slowexp (double __x); +extern double __slowpow (double __x, double __y, double __z); +extern void __docos (double __x, double __dx, double __v[]); + +#ifndef math_opt_barrier +# define math_opt_barrier(x) \ +({ __typeof (x) __x = (x); __asm ("" : "+m" (__x)); __x; }) +# define math_force_eval(x) \ +({ __typeof (x) __x = (x); __asm __volatile__ ("" : : "m" (__x)); }) +#endif + + +/* The standards only specify one variant of the fenv.h interfaces. + But at least for some architectures we can be more efficient if we + know what operations are going to be performed. Therefore we + define additional interfaces. By default they refer to the normal + interfaces. */ +#define libc_feholdexcept(e) (void) feholdexcept (e) +#define libc_feholdexceptf(e) (void) feholdexcept (e) +#define libc_feholdexceptl(e) (void) feholdexcept (e) + +#define libc_feholdexcept_setround(e, r) \ + do { feholdexcept (e); fesetround (r); } while (0) +#define libc_feholdexcept_setroundf(e, r) \ + do { feholdexcept (e); fesetround (r); } while (0) +#define libc_feholdexcept_setroundl(e, r) \ + do { feholdexcept (e); fesetround (r); } while (0) + +#define libc_fetestexcept(e) fetestexcept (e) +#define libc_fetestexceptf(e) fetestexcept (e) +#define libc_fetestexceptl(e) fetestexcept (e) + +#define libc_fesetenv(e) (void) fesetenv (e) +#define libc_fesetenvf(e) (void) fesetenv (e) +#define libc_fesetenvl(e) (void) fesetenv (e) + +#define libc_feupdateenv(e) (void) feupdateenv (e) +#define libc_feupdateenvf(e) (void) feupdateenv (e) +#define libc_feupdateenvl(e) (void) feupdateenv (e) + +#define __nan(str) \ + (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str)) +#define __nanf(str) \ + (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str)) +#define __nanl(str) \ + (__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str)) + +#endif /* _MATH_PRIVATE_H_ */ -- cgit 1.4.1 From c524201ab0aee9e3228c43b5f53cc6364f548f8e Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 10 Mar 2012 00:44:13 +0000 Subject: Replace FSF snail mail address with URL in miscellaneous files. --- ChangeLog | 13 +++++++++++++ NEWS | 4 ++-- nptl/ChangeLog | 5 +++++ nptl/pt-crti.S | 5 ++--- posix/bug-regex33.c | 5 ++--- stdio-common/bug-vfprintf-nargs.c | 5 ++--- sysdeps/i386/crti.S | 5 ++--- sysdeps/i386/crtn.S | 5 ++--- sysdeps/powerpc/powerpc32/crti.S | 5 ++--- sysdeps/powerpc/powerpc32/crtn.S | 5 ++--- sysdeps/powerpc/powerpc64/crti.S | 5 ++--- sysdeps/powerpc/powerpc64/crtn.S | 5 ++--- sysdeps/sh/crti.S | 5 ++--- sysdeps/sh/crtn.S | 5 ++--- sysdeps/x86_64/fpu/e_expf.S | 5 ++--- 15 files changed, 44 insertions(+), 38 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index bced29e1f6..b95bb9d211 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,18 @@ 2012-03-09 Paul Eggert + [BZ #13673] + * posix/bug-regex33.c: Replace FSF snail mail address with URL. + * stdio-common/bug-vfprintf-nargs.c: Likewise. + * sysdeps/i386/crti.S: Likewise. + * sysdeps/i386/crtn.S: Likewise. + * sysdeps/powerpc/powerpc32/crti.S: Likewise. + * sysdeps/powerpc/powerpc32/crtn.S: Likewise. + * sysdeps/powerpc/powerpc64/crti.S: Likewise. + * sysdeps/powerpc/powerpc64/crtn.S: Likewise. + * sysdeps/sh/crti.S: Likewise. + * sysdeps/sh/crtn.S: Likewise. + * sysdeps/x86_64/fpu/e_expf.S: Likewise. + [BZ #13673] * locale/programs/charmap-kw.gperf: Replace FSF snail mail address with URL. diff --git a/NEWS b/NEWS index fd36632541..4f8938e1f5 100644 --- a/NEWS +++ b/NEWS @@ -13,8 +13,8 @@ Version 2.16 5077, 5461, 5805, 5993, 6884, 6907, 6911, 9739, 9902, 10110, 10135, 10140, 10210, 10545, 10716, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, - 13552, 13553, 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, - 13706, 13726, 13738, 13786, 13792, 13806 + 13552, 13553, 13555, 13559, 13583, 13618, 13637, 13656, 13673, 13695, + 13704, 13706, 13726, 13738, 13786, 13792, 13806 * ISO C11 support: diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 3f70b0a295..34a249207a 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2012-03-09 Paul Eggert + + [BZ #13673] + * pt-crti.S: Replace FSF snail mail address with URL. + 2012-03-09 Joseph Myers * sysdeps/pthread/pthread.h (__need_clockid_t, __need_timespec): diff --git a/nptl/pt-crti.S b/nptl/pt-crti.S index 3ea359d7da..4c5cdddb90 100644 --- a/nptl/pt-crti.S +++ b/nptl/pt-crti.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* Arrange for __pthread_initialize_minimal_internal to be called at libpthread startup, instead of conditionally calling diff --git a/posix/bug-regex33.c b/posix/bug-regex33.c index c0c94aa43e..f78b354f1a 100644 --- a/posix/bug-regex33.c +++ b/posix/bug-regex33.c @@ -14,9 +14,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ #define _GNU_SOURCE 1 #include diff --git a/stdio-common/bug-vfprintf-nargs.c b/stdio-common/bug-vfprintf-nargs.c index 13c66c0486..4f621064cc 100644 --- a/stdio-common/bug-vfprintf-nargs.c +++ b/stdio-common/bug-vfprintf-nargs.c @@ -14,9 +14,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ #include #include diff --git a/sysdeps/i386/crti.S b/sysdeps/i386/crti.S index dfec2cbcd6..2ecc40d3c4 100644 --- a/sysdeps/i386/crti.S +++ b/sysdeps/i386/crti.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* crti.S puts a function prologue at the beginning of the .init and .fini sections and defines global symbols for those addresses, so diff --git a/sysdeps/i386/crtn.S b/sysdeps/i386/crtn.S index 2ea2a382cf..ad038fd4e9 100644 --- a/sysdeps/i386/crtn.S +++ b/sysdeps/i386/crtn.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* crtn.S puts function epilogues in the .init and .fini sections corresponding to the prologues in crti.S. */ diff --git a/sysdeps/powerpc/powerpc32/crti.S b/sysdeps/powerpc/powerpc32/crti.S index 72e9cf4ce0..b0e92fadfb 100644 --- a/sysdeps/powerpc/powerpc32/crti.S +++ b/sysdeps/powerpc/powerpc32/crti.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* crti.S puts a function prologue at the beginning of the .init and .fini sections and defines global symbols for those addresses, so diff --git a/sysdeps/powerpc/powerpc32/crtn.S b/sysdeps/powerpc/powerpc32/crtn.S index af690c1260..62a31df6b0 100644 --- a/sysdeps/powerpc/powerpc32/crtn.S +++ b/sysdeps/powerpc/powerpc32/crtn.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* crtn.S puts function epilogues in the .init and .fini sections corresponding to the prologues in crti.S. */ diff --git a/sysdeps/powerpc/powerpc64/crti.S b/sysdeps/powerpc/powerpc64/crti.S index bce256d9ca..96726b4317 100644 --- a/sysdeps/powerpc/powerpc64/crti.S +++ b/sysdeps/powerpc/powerpc64/crti.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* crti.S puts a function prologue at the beginning of the .init and .fini sections and defines global symbols for those addresses, so diff --git a/sysdeps/powerpc/powerpc64/crtn.S b/sysdeps/powerpc/powerpc64/crtn.S index 52d46b3364..39f5c143da 100644 --- a/sysdeps/powerpc/powerpc64/crtn.S +++ b/sysdeps/powerpc/powerpc64/crtn.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* crtn.S puts function epilogues in the .init and .fini sections corresponding to the prologues in crti.S. */ diff --git a/sysdeps/sh/crti.S b/sysdeps/sh/crti.S index 62b6c1cda8..c390485e98 100644 --- a/sysdeps/sh/crti.S +++ b/sysdeps/sh/crti.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* crti.S puts a function prologue at the beginning of the .init and .fini sections and defines global symbols for those addresses, so diff --git a/sysdeps/sh/crtn.S b/sysdeps/sh/crtn.S index 1b52770041..78537e754d 100644 --- a/sysdeps/sh/crtn.S +++ b/sysdeps/sh/crtn.S @@ -30,9 +30,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ /* crtn.S puts function epilogues in the .init and .fini sections corresponding to the prologues in crti.S. */ diff --git a/sysdeps/x86_64/fpu/e_expf.S b/sysdeps/x86_64/fpu/e_expf.S index f1ce2851b0..340a1c2f07 100644 --- a/sysdeps/x86_64/fpu/e_expf.S +++ b/sysdeps/x86_64/fpu/e_expf.S @@ -14,9 +14,8 @@ 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. */ + License along with the GNU C Library; if not, see + . */ #include -- cgit 1.4.1 From 2d2cd51564c7fa6f82677e9f4baab8e6996380b5 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Fri, 9 Mar 2012 20:48:06 -0800 Subject: Fix bugs in sparc PLT profiling register management, and add sparc sotruss support. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Protect local variables with appropriate CPP guards. * sysdeps/sparc/sparc32/dl-trampoline.S: Propagate the stack_ptr from the frame pointer, not the stack pointer. Correct layout comments. Fix test on resulting framesize and the management of the outregs buffer for pltexit. Preserve floating point return values across _dl_call_pltexit call. * sysdeps/sparc/sparc64/dl-trampoline.S: Fix test on resulting framesize and the management of the outregs buffer for pltexit. Preserve floating point return values across _dl_call_pltexit call. * elf/sotruss-lib.c (la_sparc32_gnu_pltenter, la_sparc64_gnu_pltenter, la_sparc32_gnu_pltexit, la_sparc64_gnu_pltexit): New functions. (print_exit): Fix format string for return register value. --- ChangeLog | 16 ++++++++++ elf/sotruss-lib.c | 58 +++++++++++++++++++++++++++++++++-- sysdeps/sparc/sparc32/dl-machine.h | 6 +++- sysdeps/sparc/sparc32/dl-trampoline.S | 58 +++++++++++++++++++---------------- sysdeps/sparc/sparc64/dl-trampoline.S | 43 +++++++++++++------------- 5 files changed, 129 insertions(+), 52 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index dbc58e6c0b..a07342dc80 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2012-03-09 David S. Miller + + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Protect local + variables with appropriate CPP guards. + * sysdeps/sparc/sparc32/dl-trampoline.S: Propagate the stack_ptr from the + frame pointer, not the stack pointer. Correct layout comments. Fix test + on resulting framesize and the management of the outregs buffer for pltexit. + Preserve floating point return values across _dl_call_pltexit call. + * sysdeps/sparc/sparc64/dl-trampoline.S: Fix test on resulting + framesize and the management of the outregs buffer for pltexit. + Preserve floating point return values across _dl_call_pltexit + call. + * elf/sotruss-lib.c (la_sparc32_gnu_pltenter, la_sparc64_gnu_pltenter, + la_sparc32_gnu_pltexit, la_sparc64_gnu_pltexit): New functions. + (print_exit): Fix format string for return register value. + 2012-03-10 Joseph Myers * sunrpc/Makefile (others): Add rpcgen. diff --git a/elf/sotruss-lib.c b/elf/sotruss-lib.c index 542672692f..c2ab7330d4 100644 --- a/elf/sotruss-lib.c +++ b/elf/sotruss-lib.c @@ -1,5 +1,5 @@ /* Trace calls through PLTs and show caller, callee, and parameters. - Copyright (C) 2011 Free Software Foundation, Inc. + Copyright (C) 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2011. @@ -288,6 +288,40 @@ la_x86_64_gnu_pltenter (Elf64_Sym *sym __attribute__ ((unused)), return sym->st_value; } +#elif defined __sparc__ && !defined __arch64__ +Elf32_Addr +la_sparc32_gnu_pltenter (Elf32_Sym *sym __attribute__ ((unused)), + unsigned int ndx __attribute__ ((unused)), + uintptr_t *refcook, uintptr_t *defcook, + La_sparc32_regs *regs, unsigned int *flags, + const char *symname, long int *framesizep) +{ + print_enter (refcook, defcook, symname, + regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2], + *flags); + + /* No need to copy anything, we will not need the parameters in any case. */ + *framesizep = 0; + + return sym->st_value; +} +#elif defined __sparc__ && defined __arch64__ +Elf64_Addr +la_sparc64_gnu_pltenter (Elf64_Sym *sym __attribute__ ((unused)), + unsigned int ndx __attribute__ ((unused)), + uintptr_t *refcook, uintptr_t *defcook, + La_sparc64_regs *regs, unsigned int *flags, + const char *symname, long int *framesizep) +{ + print_enter (refcook, defcook, symname, + regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2], + *flags); + + /* No need to copy anything, we will not need the parameters in any case. */ + *framesizep = 0; + + return sym->st_value; +} #elif !defined HAVE_ARCH_PLTENTER # warning "pltenter for architecture not supported" #endif @@ -302,7 +336,7 @@ print_exit (uintptr_t *refcook, uintptr_t *defcook, const char *symname, if (print_pid) snprintf (buf, sizeof (buf), "%5ld: ", (long int) getpid ()); - fprintf (out_file, "%s%15s -> %-15s:%s%s - 0x%lu\n", + fprintf (out_file, "%s%15s -> %-15s:%s%s - 0x%lx\n", buf, (char *) *refcook, (char *) *defcook, " ", symname, reg); } @@ -327,6 +361,26 @@ la_x86_64_gnu_pltexit (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook, return 0; } +#elif defined __sparc__ && !defined __arch64__ +unsigned int +la_sparc32_gnu_pltexit (Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook, + uintptr_t *defcook, const struct La_sparc32_regs *inregs, + struct La_sparc32_retval *outregs, const char *symname) +{ + print_exit (refcook, defcook, symname, outregs->lrv_reg[0]); + + return 0; +} +#elif defined __sparc__ && defined __arch64__ +unsigned int +la_sparc64_gnu_pltexit (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook, + uintptr_t *defcook, const struct La_sparc64_regs *inregs, + struct La_sparc64_retval *outregs, const char *symname) +{ + print_exit (refcook, defcook, symname, outregs->lrv_reg[0]); + + return 0; +} #elif !defined HAVE_ARCH_PLTEXIT # warning "pltexit for architecture not supported" #endif diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h index 1620ca54df..f85683d1b0 100644 --- a/sysdeps/sparc/sparc32/dl-machine.h +++ b/sysdeps/sparc/sparc32/dl-machine.h @@ -1,5 +1,5 @@ /* Machine-dependent ELF dynamic relocation inline functions. SPARC version. - Copyright (C) 1996-2003, 2004, 2005, 2006, 2007, 2010, 2011 + Copyright (C) 1996-2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -341,10 +341,14 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, void *const reloc_addr_arg, int skip_ifunc) { Elf32_Addr *const reloc_addr = reloc_addr_arg; +#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP const Elf32_Sym *const refsym = sym; +#endif Elf32_Addr value; const unsigned int r_type = ELF32_R_TYPE (reloc->r_info); +#if !defined RESOLVE_CONFLICT_FIND_MAP struct link_map *sym_map = NULL; +#endif #if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC /* This is defined in rtld.c, but nowhere in the static libc.a; make the diff --git a/sysdeps/sparc/sparc32/dl-trampoline.S b/sysdeps/sparc/sparc32/dl-trampoline.S index 79ec79fe9e..44794592aa 100644 --- a/sysdeps/sparc/sparc32/dl-trampoline.S +++ b/sysdeps/sparc/sparc32/dl-trampoline.S @@ -1,5 +1,5 @@ /* PLT trampolines. Sparc 32-bit version. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 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 @@ -48,17 +48,20 @@ _dl_runtime_resolve: .size _dl_runtime_resolve, .-_dl_runtime_resolve /* For the profiling cases we pass in our stack frame - * as the base of the La_sparc64_regs, so it looks + * as the base of the La_sparc32_regs, so it looks * like: - * %l0 %sp + * %l0 %sp + (0 * 8) + * %l1 %sp + (0 * 8) + 4 * ... - * %l7 %sp + (7 * 8) - * %i0 %sp + (8 * 8) + * %l6 %sp + (3 * 8) + * %l7 %sp + (3 * 8) + 4 + * %i0 %sp + (4 * 8) + * %i1 %sp + (4 * 8) + 4 * ... - * %i7 %sp + (15 * 8) - * %f0 %sp + (16 * 8) - * %f16 %sp + (31 * 8) - * framesize %sp + (32 * 8) + * %i6 %sp + (7 * 8) + * %i7 %sp + (7 * 8) + 4 + * struct_ret_ptr %sp + (8 * 8) + * framesize %sp + (9 * 8) */ .globl _dl_profile_save_regs @@ -74,7 +77,7 @@ _dl_profile_save_regs: std %i2, [%sp + ( 5 * 8)] std %i4, [%sp + ( 6 * 8)] std %i6, [%sp + ( 7 * 8)] - ld [%sp + (8 * 8)], %l4 + ld [%fp + (8 * 8)], %l4 retl st %l4, [%sp + (8 * 8)] @@ -91,8 +94,11 @@ _dl_profile_save_regs: _dl_profile_invoke: cfi_startproc - sub %sp, %l0, %sp -1: + add %l0, 7, %l0 + andn %l0, 7, %l0 + add %l0, 2 * 8, %g1 + + sub %sp, %g1, %sp srl %l0, 3, %l7 mov %o0, %l1 mov %i0, %o0 @@ -101,8 +107,10 @@ _dl_profile_invoke: mov %i3, %o3 mov %i4, %o4 mov %i5, %o5 + cmp %l0, 0 mov %fp, %l2 - mov %sp, %l3 + be 2f + add %sp, (11 * 8), %l3 1: ldd [%l2], %g2 add %l2, 0x8, %l2 subcc %l7, 1, %l7 @@ -110,7 +118,7 @@ _dl_profile_invoke: bne 1b add %l3, 0x8, %l3 - jmpl %l1, %o7 +2: jmpl %l1, %o7 nop std %o0, [%sp + ( 9 * 8)] @@ -118,11 +126,12 @@ _dl_profile_invoke: mov %l5, %o0 mov %l6, %o1 - add %sp, %l0, %o2 + add %sp, (11 * 8), %o2 call _dl_call_pltexit - add %sp, (16 * 8), %o3 + add %sp, ( 9 * 8), %o3 - ldd [%sp + (9 * 8)], %i0 + ldd [%sp + ( 9 * 8)], %i0 + ldd [%sp + (10 * 8)], %f0 jmpl %i7 + 8, %g0 restore @@ -142,11 +151,7 @@ _dl_profile_invoke: _dl_runtime_profile: cfi_startproc - cmp %fp, 0 - be,a 1f - mov 104, %g3 - sub %fp, %sp, %g3 -1: save %sp, -104, %sp + save %sp, -104, %sp cfi_def_cfa_register(%fp) cfi_window_save cfi_register(%o7, %i7) @@ -156,20 +161,19 @@ _dl_runtime_profile: mov %i7, %o2 sub %o1, 4*12, %o1 - mov %g3, %l0 mov %o0, %l5 mov %o1, %l6 - call _dl_profile_save_regs + call _dl_profile_save_regs nop mov %sp, %o3 call _dl_profile_fixup add %sp, (9 * 8), %o4 - ld [%sp + (9 * 8)], %o1 - cmp %o1, 0 - bgeu 1f + ld [%sp + (9 * 8)], %l0 + cmp %l0, 0 + bl 1f nop call _dl_profile_invoke diff --git a/sysdeps/sparc/sparc64/dl-trampoline.S b/sysdeps/sparc/sparc64/dl-trampoline.S index 7caece3430..7d74fd0af8 100644 --- a/sysdeps/sparc/sparc64/dl-trampoline.S +++ b/sysdeps/sparc/sparc64/dl-trampoline.S @@ -1,5 +1,5 @@ /* PLT trampolines. Sparc 64-bit version. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 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 @@ -158,8 +158,11 @@ _dl_profile_save_regs: _dl_profile_invoke: cfi_startproc - sub %sp, %l0, %sp -1: + add %l0, 7, %l0 + andn %l0, 7, %l0 + add %l0, (8 * 8), %g1 + + sub %sp, %g1, %sp srlx %l0, 3, %l7 mov %o0, %l1 mov %i0, %o0 @@ -169,7 +172,8 @@ _dl_profile_invoke: mov %i4, %o4 mov %i5, %o5 add %fp, STACK_BIAS, %l2 - add %sp, STACK_BIAS, %l3 + brz %l0, 2f + add %sp, STACK_BIAS, %l3 1: ldx [%l2], %l4 add %l2, 0x8, %l2 subcc %l7, 1, %l7 @@ -177,7 +181,7 @@ _dl_profile_invoke: bne,pt %xcc, 1b add %l3, 0x8, %l3 - jmpl %l1, %o7 +2: jmpl %l1, %o7 nop stx %o0, [%sp + STACK_BIAS + (16 * 8)] @@ -191,15 +195,18 @@ _dl_profile_invoke: mov %l5, %o0 mov %l6, %o1 - add %sp, %l0, %o2 - add %sp, STACK_BIAS + (16 * 8), %o3 + add %sp, STACK_BIAS + (24 * 8), %o2 call _dl_call_pltexit - add %o2, STACK_BIAS, %o2 + add %sp, STACK_BIAS + (16 * 8), %o3 ldx [%sp + STACK_BIAS + (16 * 8)], %i0 ldx [%sp + STACK_BIAS + (17 * 8)], %i1 ldx [%sp + STACK_BIAS + (18 * 8)], %i2 ldx [%sp + STACK_BIAS + (19 * 8)], %i3 + ldd [%sp + STACK_BIAS + (20 * 8)], %f0 + ldd [%sp + STACK_BIAS + (21 * 8)], %f2 + ldd [%sp + STACK_BIAS + (22 * 8)], %f4 + ldd [%sp + STACK_BIAS + (23 * 8)], %f8 jmpl %i7 + 8, %g0 restore @@ -219,10 +226,7 @@ _dl_profile_invoke: _dl_runtime_profile_0: cfi_startproc - brz,a,pn %fp, 1f - mov 192, %g5 - sub %fp, %sp, %g5 -1: save %sp, -336, %sp + save %sp, -336, %sp cfi_def_cfa_register(%fp) cfi_window_save cfi_register(%o7, %i7) @@ -250,7 +254,6 @@ _dl_runtime_profile_0: mov %i7, %o2 sllx %l0, 3, %o1 - mov %g5, %l0 mov %o0, %l5 mov %o1, %l6 @@ -261,8 +264,8 @@ _dl_runtime_profile_0: call _dl_profile_fixup add %sp, (STACK_BIAS + (32 * 8)), %o4 - ldx [%sp + STACK_BIAS + (32 * 8)], %o1 - brgez,pt %o1, 1f + ldx [%sp + STACK_BIAS + (32 * 8)], %l0 + brlz,pt %l0, 1f nop call _dl_profile_invoke @@ -285,10 +288,7 @@ _dl_runtime_profile_0: _dl_runtime_profile_1: cfi_startproc - brz,a,pn %fp, 1f - mov 192, %g5 - sub %fp, %sp, %g5 -1: save %sp, -336, %sp + save %sp, -336, %sp cfi_def_cfa_register(%fp) cfi_window_save cfi_register(%o7, %i7) @@ -300,7 +300,6 @@ _dl_runtime_profile_1: mov %i7, %o2 add %o1, %o3, %o1 - mov %g5, %l0 mov %o0, %l5 mov %o1, %l6 @@ -311,8 +310,8 @@ _dl_runtime_profile_1: call _dl_profile_fixup add %sp, (STACK_BIAS + (32 * 8)), %o4 - ldx [%sp + STACK_BIAS + (32 * 8)], %o1 - brgez,pt %o1, 1f + ldx [%sp + STACK_BIAS + (32 * 8)], %l0 + brlz,pt %l0, 1f nop call _dl_profile_invoke -- cgit 1.4.1 From 058c132dd1ebeaf55e781c054937608b04f90b0b Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Sat, 10 Mar 2012 18:20:51 +0100 Subject: Update powerpc libm ULPs --- ChangeLog | 4 + sysdeps/powerpc/fpu/libm-test-ulps | 368 ++++++++++++++++++++++++++++++++++++- 2 files changed, 368 insertions(+), 4 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index a07342dc80..33ef1c1cfa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-03-10 Andreas Schwab + + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + 2012-03-09 David S. Miller * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Protect local diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index f3d4dd994a..5add0b4b9e 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -53,7 +53,151 @@ Test "cabs (0.75 + 12.390625 i) == 12.4133028598606664302388810868156657": float: 1 ifloat: 1 +# cacos +Test "Imaginary part of: cacos (+0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (+0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (+0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (+0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (+0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (+0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (-0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: cacos (-0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 + +0 i) == 2.094395102393195492308428922186335256131 - 0 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (-0.5 - 0 i) == 2.094395102393195492308428922186335256131 + +0 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (-1.5 + +0 i) == pi - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacos (0.5 + +0 i) == 1.047197551196597746154214461093167628066 - 0 i": +double: 1 +idouble: 1 +Test "Real part of: cacos (0.5 - 0 i) == 1.047197551196597746154214461093167628066 + +0 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacos (1.5 + +0 i) == +0 - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 + # cacosh +Test "Real part of: cacosh (+0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (+0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (+0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: cacosh (-0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 + +0 i) == +0 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0 i) == +0 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + pi i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (-1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - pi i": +float: 1 +ifloat: 1 Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i": double: 1 float: 7 @@ -64,18 +208,200 @@ double: 1 float: 3 idouble: 1 ifloat: 3 +Test "Imaginary part of: cacosh (0.5 + +0 i) == +0 + 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (0.5 - 0 i) == +0 - 1.047197551196597746154214461093167628066 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + +0 i": +float: 1 +ifloat: 1 +Test "Real part of: cacosh (1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - 0 i": +float: 1 +ifloat: 1 # casin +Test "Imaginary part of: casin (+0 + 0.5 i) == +0 + 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (+0 + 1.0 i) == +0 + 0.8813735870195430252326093249797923090282 i": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (+0 + 1.5 i) == +0 + 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (+0 - 0.5 i) == +0 - 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (+0 - 1.0 i) == +0 - 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (+0 - 1.5 i) == +0 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Imaginary part of: casin (-0 + 0.5 i) == -0 + 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0 + 1.0 i) == -0 + 0.8813735870195430252326093249797923090282 i": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0 + 1.5 i) == -0 + 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0 - 0.5 i) == -0 - 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0 - 1.0 i) == -0 - 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casin (-0 - 1.5 i) == -0 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +Test "Real part of: casin (-0.5 + +0 i) == -0.5235987755982988730771072305465838140329 + +0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (-0.5 - 0 i) == -0.5235987755982988730771072305465838140329 - 0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-1.5 + +0 i) == -pi/2 + 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 Test "Real part of: casin (-2 - 3 i) == -0.57065278432109940071028387968566963 - 1.9833870299165354323470769028940395 i": ildouble: 1 ldouble: 1 +Test "Real part of: casin (0.5 + +0 i) == 0.5235987755982988730771072305465838140329 + +0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casin (0.5 - 0 i) == 0.5235987755982988730771072305465838140329 - 0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i": double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Imaginary part of: casin (1.5 + +0 i) == pi/2 + 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 # casinh +Test "Imaginary part of: casinh (+0 + 0.5 i) == +0 + 0.5235987755982988730771072305465838140329 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (+0 - 0.5 i) == +0 - 0.5235987755982988730771072305465838140329 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casinh (-0 + 0.5 i) == -0 + 0.5235987755982988730771072305465838140329 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0 + 1.5 i) == -0.9624236501192068949955178268487368462704 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Imaginary part of: casinh (-0 - 0.5 i) == -0 - 0.5235987755982988730771072305465838140329 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0 - 1.5 i) == -0.9624236501192068949955178268487368462704 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (-0.5 + +0 i) == -0.4812118250596034474977589134243684231352 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-0.5 - 0 i) == -0.4812118250596034474977589134243684231352 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-1.0 + +0 i) == -0.8813735870195430252326093249797923090282 + +0 i": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-1.0 - 0 i) == -0.8813735870195430252326093249797923090282 - 0 i": +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-1.5 + +0 i) == -1.194763217287109304111930828519090523536 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-1.5 - 0 i) == -1.194763217287109304111930828519090523536 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i": double: 5 float: 1 @@ -90,6 +416,12 @@ idouble: 3 ifloat: 6 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (0.5 + +0 i) == 0.4812118250596034474977589134243684231352 + +0 i": +float: 1 +ifloat: 1 +Test "Real part of: casinh (0.5 - 0 i) == 0.4812118250596034474977589134243684231352 - 0 i": +float: 1 +ifloat: 1 Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i": float: 1 ifloat: 1 @@ -98,6 +430,22 @@ double: 1 float: 1 idouble: 1 ifloat: 1 +Test "Real part of: casinh (1.0 + +0 i) == 0.8813735870195430252326093249797923090282 + +0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.0 - 0 i) == 0.8813735870195430252326093249797923090282 - 0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +Test "Real part of: casinh (1.5 + +0 i) == 1.194763217287109304111930828519090523536 + +0 i": +double: 1 +idouble: 1 +Test "Real part of: casinh (1.5 - 0 i) == 1.194763217287109304111930828519090523536 - 0 i": +double: 1 +idouble: 1 # catan Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": @@ -1500,12 +1848,18 @@ ildouble: 1 ldouble: 1 Function: Real part of "cacos": +double: 1 +idouble: 1 ildouble: 1 ldouble: 1 Function: Imaginary part of "cacos": -ildouble: 1 -ldouble: 1 +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 2 +ldouble: 2 Function: Real part of "cacosh": double: 1 @@ -1520,6 +1874,8 @@ double: 1 float: 3 idouble: 1 ifloat: 3 +ildouble: 1 +ldouble: 1 Function: Real part of "casin": double: 1 @@ -1530,8 +1886,12 @@ ildouble: 1 ldouble: 1 Function: Imaginary part of "casin": -ildouble: 1 -ldouble: 1 +double: 3 +float: 1 +idouble: 3 +ifloat: 1 +ildouble: 2 +ldouble: 2 Function: Real part of "casinh": double: 5 -- cgit 1.4.1 From 6e226b094f4d9fb00797f93d89773dc12811fd0f Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sun, 11 Mar 2012 18:46:30 -0700 Subject: Update sparc ULPs for recently added tests. * sysdeps/sparc/fpu/libm-test-ulps: Update. --- ChangeLog | 4 + sysdeps/sparc/fpu/libm-test-ulps | 467 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 468 insertions(+), 3 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 33ef1c1cfa..85993dce6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-03-11 David S. Miller + + * sysdeps/sparc/fpu/libm-test-ulps: Update. + 2012-03-10 Andreas Schwab * sysdeps/powerpc/fpu/libm-test-ulps: Update. diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 178c1971b1..29e732c282 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -28,11 +28,195 @@ float: 1 ifloat: 1 # cacos +Test "Imaginary part of: cacos (+0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (+0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 3 +ldouble: 3 +Test "Imaginary part of: cacos (+0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (+0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (+0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (+0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 3 +ldouble: 3 +Test "Imaginary part of: cacos (-0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: cacos (-0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacos (-1.5 + +0 i) == pi - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 + +0 i) == 1.047197551196597746154214461093167628066 - 0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacos (0.5 - 0 i) == 1.047197551196597746154214461093167628066 + +0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: cacos (1.5 + +0 i) == +0 - 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 # cacosh +Test "Real part of: cacosh (+0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (+0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (+0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (+0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (+0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (+0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: cacosh (-0.5 + +0 i) == +0 + 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Imaginary part of: cacosh (-0.5 - 0 i) == +0 - 2.094395102393195492308428922186335256131 i": +double: 1 +idouble: 1 +Test "Real part of: cacosh (-1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + pi i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (-1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - pi i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i": double: 1 float: 7 @@ -47,8 +231,101 @@ idouble: 1 ifloat: 3 ildouble: 1 ldouble: 1 +Test "Real part of: cacosh (1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + +0 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: cacosh (1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - 0 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 # casin +Test "Imaginary part of: casin (+0 + 0.5 i) == +0 + 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (+0 + 1.0 i) == +0 + 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 3 +ldouble: 3 +Test "Imaginary part of: casin (+0 + 1.5 i) == +0 + 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (+0 - 0.5 i) == +0 - 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (+0 - 1.0 i) == +0 - 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (+0 - 1.5 i) == +0 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0 + 0.5 i) == -0 + 0.4812118250596034474977589134243684231352 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0 + 1.0 i) == -0 + 0.8813735870195430252326093249797923090282 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 3 +ldouble: 3 +Test "Imaginary part of: casin (-0 + 1.5 i) == -0 + 1.194763217287109304111930828519090523536 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Imaginary part of: casin (-0 - 0.5 i) == -0 - 0.4812118250596034474977589134243684231352 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0 - 1.0 i) == -0 - 0.8813735870195430252326093249797923090282 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-0 - 1.5 i) == -0 - 1.194763217287109304111930828519090523536 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: casin (-1.5 + +0 i) == -pi/2 + 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i": double: 1 float: 1 @@ -57,8 +334,71 @@ ifloat: 1 Test "Imaginary part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i": ildouble: 1 ldouble: 1 +Test "Imaginary part of: casin (1.5 + +0 i) == pi/2 + 0.9624236501192068949955178268487368462704 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 # casinh +Test "Real part of: casinh (-0 + 1.5 i) == -0.9624236501192068949955178268487368462704 + pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0 - 1.5 i) == -0.9624236501192068949955178268487368462704 - pi/2 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 + +0 i) == -0.4812118250596034474977589134243684231352 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-0.5 - 0 i) == -0.4812118250596034474977589134243684231352 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (-1.0 + +0 i) == -0.8813735870195430252326093249797923090282 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 3 +ldouble: 3 +Test "Real part of: casinh (-1.0 - 0 i) == -0.8813735870195430252326093249797923090282 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 3 +ldouble: 3 +Test "Real part of: casinh (-1.5 + +0 i) == -1.194763217287109304111930828519090523536 + +0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 +Test "Real part of: casinh (-1.5 - 0 i) == -1.194763217287109304111930828519090523536 - 0 i": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i": double: 5 float: 1 @@ -73,6 +413,16 @@ idouble: 3 ifloat: 6 ildouble: 2 ldouble: 2 +Test "Real part of: casinh (0.5 + +0 i) == 0.4812118250596034474977589134243684231352 + +0 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (0.5 - 0 i) == 0.4812118250596034474977589134243684231352 - 0 i": +float: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i": float: 1 ifloat: 1 @@ -85,6 +435,30 @@ idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "Real part of: casinh (1.0 + +0 i) == 0.8813735870195430252326093249797923090282 + +0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (1.0 - 0 i) == 0.8813735870195430252326093249797923090282 - 0 i": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (1.5 + +0 i) == 1.194763217287109304111930828519090523536 + +0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Real part of: casinh (1.5 - 0 i) == 1.194763217287109304111930828519090523536 - 0 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 # catan Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i": @@ -419,23 +793,51 @@ ldouble: 1 Test "cosh_downward (22) == 1792456423.065795780980053377632656584997": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Test "cosh_downward (23) == 4872401723.124451300068625740569997090344": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Test "cosh_downward (24) == 13244561064.92173614708845674912733665919": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 + +# cosh_tonearest +Test "cosh_tonearest (22) == 1792456423.065795780980053377632656584997": +ildouble: 1 +ldouble: 1 # cosh_towardzero Test "cosh_towardzero (22) == 1792456423.065795780980053377632656584997": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Test "cosh_towardzero (23) == 4872401723.124451300068625740569997090344": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Test "cosh_towardzero (24) == 13244561064.92173614708845674912733665919": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 + +# cosh_upward +Test "cosh_upward (22) == 1792456423.065795780980053377632656584997": +ildouble: 1 +ldouble: 1 +Test "cosh_upward (23) == 4872401723.124451300068625740569997090344": +ildouble: 1 +ldouble: 1 +Test "cosh_upward (24) == 13244561064.92173614708845674912733665919": +ildouble: 1 +ldouble: 1 # cpow Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i": @@ -954,6 +1356,8 @@ ifloat: 1 Test "pow_upward (1.0625, 1.125) == 1.070582293028761362162622578677070098674": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 # sin_downward Test "sin_downward (1) == 0.8414709848078965066525023216302989996226": @@ -1095,24 +1499,45 @@ ifloat: 1 Test "sinh_downward (22) == 1792456423.065795780701106568345764104225": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Test "sinh_downward (23) == 4872401723.124451299966006944252978187305": float: 1 ifloat: 1 +ildouble: 2 +ldouble: 2 Test "sinh_downward (24) == 13244561064.92173614705070540368454568168": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 # sinh_towardzero Test "sinh_towardzero (22) == 1792456423.065795780701106568345764104225": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Test "sinh_towardzero (23) == 4872401723.124451299966006944252978187305": float: 1 ifloat: 1 +ildouble: 2 +ldouble: 2 Test "sinh_towardzero (24) == 13244561064.92173614705070540368454568168": float: 1 ifloat: 1 +# sinh_upward +Test "sinh_upward (22) == 1792456423.065795780701106568345764104225": +ildouble: 1 +ldouble: 1 +Test "sinh_upward (23) == 4872401723.124451299966006944252978187305": +ildouble: 1 +ldouble: 1 +Test "sinh_upward (24) == 13244561064.92173614705070540368454568168": +ildouble: 1 +ldouble: 1 + # sqrt Test "sqrt (2) == M_SQRT2l": ildouble: 1 @@ -1413,10 +1838,20 @@ Function: "atanh": float: 1 ifloat: 1 -Function: Imaginary part of "cacos": +Function: Real part of "cacos": +double: 1 +idouble: 1 ildouble: 1 ldouble: 1 +Function: Imaginary part of "cacos": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 3 +ldouble: 3 + Function: Real part of "cacosh": double: 1 float: 7 @@ -1440,8 +1875,12 @@ idouble: 1 ifloat: 1 Function: Imaginary part of "casin": -ildouble: 1 -ldouble: 1 +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 3 +ldouble: 3 Function: Real part of "casinh": double: 5 @@ -1586,10 +2025,22 @@ ldouble: 1 Function: "cosh_downward": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 + +Function: "cosh_tonearest": +ildouble: 1 +ldouble: 1 Function: "cosh_towardzero": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 + +Function: "cosh_upward": +ildouble: 1 +ldouble: 1 Function: Real part of "cpow": double: 2 @@ -1782,6 +2233,8 @@ ifloat: 1 Function: "pow_upward": float: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Function: "sin_downward": float: 1 @@ -1818,10 +2271,18 @@ ldouble: 1 Function: "sinh_downward": float: 1 ifloat: 1 +ildouble: 2 +ldouble: 2 Function: "sinh_towardzero": float: 1 ifloat: 1 +ildouble: 2 +ldouble: 2 + +Function: "sinh_upward": +ildouble: 1 +ldouble: 1 Function: "sqrt": ildouble: 1 -- cgit 1.4.1 From cb9d617437084b4ebf02e50c0a82c5dd2582029a Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sun, 11 Mar 2012 19:41:43 -0700 Subject: Fix typing of the bit twiddling done in _dl_setup_stack_chk_guard. * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): Fix masking out of the most significant byte of random value used. --- ChangeLog | 3 +++ sysdeps/unix/sysv/linux/dl-osinfo.h | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 85993dce6b..29b7c67e9e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2012-03-11 David S. Miller + * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): + Fix masking out of the most significant byte of random value used. + * sysdeps/sparc/fpu/libm-test-ulps: Update. 2012-03-10 Andreas Schwab diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h index 780b20ab6a..1ff8a2f6a2 100644 --- a/sysdeps/unix/sysv/linux/dl-osinfo.h +++ b/sysdeps/unix/sysv/linux/dl-osinfo.h @@ -95,9 +95,9 @@ _dl_setup_stack_chk_guard (void *dl_random) directly and not use the kernel-provided data to seed a PRNG. */ memcpy (ret.bytes, dl_random, sizeof (ret)); #if BYTE_ORDER == LITTLE_ENDIAN - ret.num &= ~0xff; + ret.num &= ~(uintptr_t)0xff; #elif BYTE_ORDER == BIG_ENDIAN - ret.num &= ~(0xff << (8 * (sizeof (ret) - 1))); + ret.num &= ~((uintptr_t)0xff << (8 * (sizeof (ret) - 1))); #else # error "BYTE_ORDER unknown" #endif -- cgit 1.4.1 From a1bcbd4035ac2483dc10da150d4db46f3e1744f8 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sun, 11 Mar 2012 20:13:55 -0700 Subject: Fix some 64-bit sparc build warnings. * sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c (__makecontext): Fix signedness of pointer casts setting up 'sp'. * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL) Use 'long' for 'resultvar' otherwise things get truncated on 64-bit. --- ChangeLog | 5 +++++ sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c | 4 ++-- sysdeps/unix/sysv/linux/sparc/sysdep.h | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 29b7c67e9e..7b6bc84be0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2012-03-11 David S. Miller + * sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c + (__makecontext): Fix signedness of pointer casts setting up 'sp'. + * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL) Use 'long' + for 'resultvar' otherwise things get truncated on 64-bit. + * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): Fix masking out of the most significant byte of random value used. diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c b/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c index 3bb4e7a28b..e925040d14 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c @@ -29,9 +29,9 @@ __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) va_list ap; int i; - sp = (long *) ((long) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); + sp = (unsigned long *) ((long) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); sp -= (argc > 6 ? argc : 6) + 32; - sp = (long *) (((long) sp) & -16L); + sp = (unsigned long *) (((long) sp) & -16L); topsp = sp + (argc > 6 ? argc : 6) + 16; ucp->uc_mcontext.mc_gregs[MC_PC] = (long) func; diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h index 542e94040c..fc955c236c 100644 --- a/sysdeps/unix/sysv/linux/sparc/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h @@ -22,13 +22,13 @@ #undef INLINE_SYSCALL #define INLINE_SYSCALL(name, nr, args...) \ ({ INTERNAL_SYSCALL_DECL(err); \ - unsigned int resultvar = INTERNAL_SYSCALL(name, err, nr, args); \ + unsigned long resultvar = INTERNAL_SYSCALL(name, err, nr, args);\ if (INTERNAL_SYSCALL_ERROR_P (resultvar, err)) \ { \ __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, err)); \ - resultvar = 0xffffffff; \ + resultvar = (unsigned long) -1; \ } \ - (int) resultvar; \ + (long) resultvar; \ }) #undef INTERNAL_SYSCALL_DECL -- cgit 1.4.1 From b4b2eb5eae714b97d6a4315846e5fec72096806c Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Mon, 12 Mar 2012 15:51:15 -0700 Subject: Add some missing sparc kernel-feature.h entries. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_CLONE_THREAD_FLAGS): Set on sparc when 2.5.64 and later. (__ASSUME_TGKILL): Set on sparc when 2.6.1 and later, simplify expression. (__ASSUME_FADVISE64_64_SYSCALL): Set on sparc when 2.6.1 and later. --- ChangeLog | 9 +++++++++ sysdeps/unix/sysv/linux/kernel-features.h | 19 ++++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 7b6bc84be0..2d9dd85cf7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-03-12 David S. Miller + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_CLONE_THREAD_FLAGS): Set on sparc when 2.5.64 and later. + (__ASSUME_TGKILL): Set on sparc when 2.6.1 and later, simplify + expression. + (__ASSUME_FADVISE64_64_SYSCALL): Set on sparc when 2.6.1 and + later. + 2012-03-11 David S. Miller * sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 3125be3131..ffaae5d144 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -273,11 +273,11 @@ their availability with one define. The changes were made first for i386 and the have to be done separately for the other archs. For i386 we pick 2.5.50 as the first version with support. - For s390*, PPC, x86-64, and SH we pick 2.5.64 as the first + For s390*, SPARC, PPC, x86-64, and SH we pick 2.5.64 as the first version with support. */ #if ((__LINUX_KERNEL_VERSION >= 132402 && defined __i386__) \ || (__LINUX_KERNEL_VERSION >= 132416 \ - && (defined __s390__ \ + && (defined __s390__ || defined __sparc__ \ || defined __powerpc__ || defined __x86_64__ || defined __sh__))) # define __ASSUME_CLONE_THREAD_FLAGS 1 #endif @@ -322,11 +322,11 @@ #endif /* The tgkill syscall was instroduced for i386 in 2.5.75. On x86-64, - ppc, and ppc64 it was introduced in 2.6.0-test3. */ + sparc, SH, ppc, and ppc64 it was introduced in 2.6.0-test3. */ #if (__LINUX_KERNEL_VERSION >= 132427 && defined __i386__) \ - || (__LINUX_KERNEL_VERSION >= 132609 && defined __x86_64__) \ - || (__LINUX_KERNEL_VERSION >= 132609 && defined __powerpc__) \ - || (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__) + || (__LINUX_KERNEL_VERSION >= 132609 \ + && (defined __x86_64__ || defined __powerpc__ \ + || defined __sh__ || defined __sparc__)) # define __ASSUME_TGKILL 1 #endif @@ -350,9 +350,10 @@ #endif /* The fixed version of the posix_fadvise64 syscall appeared in - 2.6.0-test3. At least for x86. Powerpc support appeared in - 2.6.2, but for 32-bit userspace only. */ -#if (__LINUX_KERNEL_VERSION >= 132609 && defined __i386__) \ + 2.6.0-test3. At least for x86 and sparc. Powerpc support appeared + in 2.6.2, but for 32-bit userspace only. */ +#if (__LINUX_KERNEL_VERSION >= 132609 \ + && (defined __i386__ || defined __sparc__)) \ || (__LINUX_KERNEL_VERSION >= 132610 && defined __powerpc__ \ && !defined __powerpc64__) # define __ASSUME_FADVISE64_64_SYSCALL 1 -- cgit 1.4.1 From 98bb2f1cd2b6eb794ecaf5ce4fcc3c79ee4df3e5 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Mon, 12 Mar 2012 15:57:17 -0700 Subject: Fix another instance of the _dl_random masking bug, plus coding style. * sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): Fix masking out of the most significant byte of random value used. * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): Fix coding style in previous change. --- ChangeLog | 5 +++++ sysdeps/generic/dl-osinfo.h | 4 ++-- sysdeps/unix/sysv/linux/dl-osinfo.h | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 2d9dd85cf7..e9ea42a673 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2012-03-12 David S. Miller + * sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): Fix + masking out of the most significant byte of random value used. + * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): + Fix coding style in previous change. + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_CLONE_THREAD_FLAGS): Set on sparc when 2.5.64 and later. (__ASSUME_TGKILL): Set on sparc when 2.6.1 and later, simplify diff --git a/sysdeps/generic/dl-osinfo.h b/sysdeps/generic/dl-osinfo.h index 548fc4666a..983cd557b0 100644 --- a/sysdeps/generic/dl-osinfo.h +++ b/sysdeps/generic/dl-osinfo.h @@ -37,9 +37,9 @@ _dl_setup_stack_chk_guard (void *dl_random) { memcpy (ret.bytes, dl_random, sizeof (ret)); #if BYTE_ORDER == LITTLE_ENDIAN - ret.num &= ~0xff; + ret.num &= ~(uintptr_t) 0xff; #elif BYTE_ORDER == BIG_ENDIAN - ret.num &= ~(0xff << (8 * (sizeof (ret) - 1))); + ret.num &= ~((uintptr_t) 0xff << (8 * (sizeof (ret) - 1))); #else # error "BYTE_ORDER unknown" #endif diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h index 1ff8a2f6a2..d0f41a7b2c 100644 --- a/sysdeps/unix/sysv/linux/dl-osinfo.h +++ b/sysdeps/unix/sysv/linux/dl-osinfo.h @@ -95,9 +95,9 @@ _dl_setup_stack_chk_guard (void *dl_random) directly and not use the kernel-provided data to seed a PRNG. */ memcpy (ret.bytes, dl_random, sizeof (ret)); #if BYTE_ORDER == LITTLE_ENDIAN - ret.num &= ~(uintptr_t)0xff; + ret.num &= ~(uintptr_t) 0xff; #elif BYTE_ORDER == BIG_ENDIAN - ret.num &= ~((uintptr_t)0xff << (8 * (sizeof (ret) - 1))); + ret.num &= ~((uintptr_t) 0xff << (8 * (sizeof (ret) - 1))); #else # error "BYTE_ORDER unknown" #endif -- cgit 1.4.1 From 5f0bdb18942a9749303ebb17ac8d080872557974 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 13 Mar 2012 00:43:20 -0700 Subject: Fix warning in Linux openat implementation when __ASSUME_ATFCTS is set. * sysdeps/unix/sysv/linux/openat.c (OPENAT_NOT_CANCEL): Declare syscall 'err' in the ifdef scope in which it is actually used. --- ChangeLog | 3 +++ sysdeps/unix/sysv/linux/openat.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index dc93fce69e..906df52dcd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2012-03-13 David S. Miller + * sysdeps/unix/sysv/linux/openat.c (OPENAT_NOT_CANCEL): Declare syscall + 'err' in the ifdef scope in which it is actually used. + * nss/nss_db/db-init.c: Include string.h 2012-03-12 David S. Miller diff --git a/sysdeps/unix/sysv/linux/openat.c b/sysdeps/unix/sysv/linux/openat.c index 11e673fe61..62ea1e3c97 100644 --- a/sysdeps/unix/sysv/linux/openat.c +++ b/sysdeps/unix/sysv/linux/openat.c @@ -84,7 +84,6 @@ OPENAT_NOT_CANCEL (fd, file, oflag, mode) oflag |= MORE_OFLAGS; #endif - INTERNAL_SYSCALL_DECL (err); int res; #ifdef __NR_openat @@ -104,6 +103,7 @@ OPENAT_NOT_CANCEL (fd, file, oflag, mode) #endif #ifndef __ASSUME_ATFCTS + INTERNAL_SYSCALL_DECL (err); char *buf = NULL; if (fd != AT_FDCWD && file[0] != '/') -- cgit 1.4.1 From 10f62770e115d9f16a67a974f79fa9b100cf827b Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 13 Mar 2012 00:45:34 -0700 Subject: Use correct implementation for dl-fxstatat64 on sparc64. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c: New file. --- ChangeLog | 2 ++ sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 906df52dcd..b11f82d24f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2012-03-13 David S. Miller + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c: New file. + * sysdeps/unix/sysv/linux/openat.c (OPENAT_NOT_CANCEL): Declare syscall 'err' in the ifdef scope in which it is actually used. diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c new file mode 100644 index 0000000000..339e5f4335 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c @@ -0,0 +1,6 @@ +/* In this implementation we do not really care whether the call fails + because of missing kernel support since we do not even call the + function in this case. */ +#undef __ASSUME_ATFCTS +#define __ASSUME_ATFCTS 1 +#include "fxstatat.c" -- cgit 1.4.1 From 2a8ab7f26591053136bc17be34499db5c64e89d6 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 13 Mar 2012 00:31:48 -0700 Subject: Fix generic ldbl-128 expm1l just like x86-64 and i386 variants were. * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use expl for large parameters. --- ChangeLog | 3 +++ sysdeps/ieee754/ldbl-128/s_expm1l.c | 5 +++++ 2 files changed, 8 insertions(+) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index b11f82d24f..57046513ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2012-03-13 David S. Miller + * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use expl for + large parameters. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c: New file. * sysdeps/unix/sysv/linux/openat.c (OPENAT_NOT_CANCEL): Declare syscall diff --git a/sysdeps/ieee754/ldbl-128/s_expm1l.c b/sysdeps/ieee754/ldbl-128/s_expm1l.c index 17769dd6a3..ea63501819 100644 --- a/sysdeps/ieee754/ldbl-128/s_expm1l.c +++ b/sysdeps/ieee754/ldbl-128/s_expm1l.c @@ -102,6 +102,11 @@ __expm1l (long double x) ix = u.parts32.w0; sign = ix & 0x80000000; ix &= 0x7fffffff; + if (!sign && ix >= 0x40060000) + { + /* If num is positive and exp >= 6 use plain exp. */ + return __expl (x); + } if (ix >= 0x7fff0000) { /* Infinity. */ -- cgit 1.4.1 From 8e59da90ce7ef7b4226b9516116353cfceb5bb1c Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 13 Mar 2012 03:09:00 -0700 Subject: Remove no longer needed assembler offset generation on sparc. * sysdeps/sparc/Makefile: Remove rtld-global-offsets.sym handling. * sysdeps/sparc/elf/rtld-global-offsets.sym: Delete. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Don't include rtld-global-offsets.h * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. --- ChangeLog | 6 ++++++ sysdeps/sparc/Makefile | 2 -- sysdeps/sparc/elf/rtld-global-offsets.sym | 7 ------- sysdeps/sparc/sparc64/multiarch/memcpy.S | 1 - sysdeps/sparc/sparc64/multiarch/memset.S | 1 - 5 files changed, 6 insertions(+), 11 deletions(-) delete mode 100644 sysdeps/sparc/elf/rtld-global-offsets.sym (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 57046513ed..391bb6050f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2012-03-13 David S. Miller + * sysdeps/sparc/Makefile: Remove rtld-global-offsets.sym handling. + * sysdeps/sparc/elf/rtld-global-offsets.sym: Delete. + * sysdeps/sparc/sparc64/multiarch/memcpy.S: Don't include + rtld-global-offsets.h + * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. + * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use expl for large parameters. diff --git a/sysdeps/sparc/Makefile b/sysdeps/sparc/Makefile index 45609d55f1..1dd70e8b55 100644 --- a/sysdeps/sparc/Makefile +++ b/sysdeps/sparc/Makefile @@ -12,8 +12,6 @@ CPPFLAGS += -DHAVE_SPINLOCKS=1 -DHAVE_ASSEM_SPARC_GCC=1 endif ifeq ($(subdir),csu) -# get offset to rtld_global._dl_hwcap -gen-as-const-headers += rtld-global-offsets.sym CPPFLAGS-crti.S += -fPIC CPPFLAGS-crtn.S += -fPIC endif diff --git a/sysdeps/sparc/elf/rtld-global-offsets.sym b/sysdeps/sparc/elf/rtld-global-offsets.sym deleted file mode 100644 index ff4e97f2a6..0000000000 --- a/sysdeps/sparc/elf/rtld-global-offsets.sym +++ /dev/null @@ -1,7 +0,0 @@ -#define SHARED 1 - -#include - -#define rtld_global_ro_offsetof(mem) offsetof (struct rtld_global_ro, mem) - -RTLD_GLOBAL_RO_DL_HWCAP_OFFSET rtld_global_ro_offsetof (_dl_hwcap) diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy.S b/sysdeps/sparc/sparc64/multiarch/memcpy.S index 739687f3b8..36c488672d 100644 --- a/sysdeps/sparc/sparc64/multiarch/memcpy.S +++ b/sysdeps/sparc/sparc64/multiarch/memcpy.S @@ -18,7 +18,6 @@ . */ #include -#include #if !defined NOT_IN_libc .text diff --git a/sysdeps/sparc/sparc64/multiarch/memset.S b/sysdeps/sparc/sparc64/multiarch/memset.S index 13533450c2..c717f0c9a5 100644 --- a/sysdeps/sparc/sparc64/multiarch/memset.S +++ b/sysdeps/sparc/sparc64/multiarch/memset.S @@ -18,7 +18,6 @@ . */ #include -#include #if !defined NOT_IN_libc .text -- cgit 1.4.1 From f453b98b6bf698ddb4d49cd3dc0f94d2da2a8968 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 13 Mar 2012 14:12:44 +0000 Subject: Clean up dbl-64 rint, nearbyint. --- ChangeLog | 9 +++++++ sysdeps/ieee754/dbl-64/s_nearbyint.c | 33 +++--------------------- sysdeps/ieee754/dbl-64/s_rint.c | 33 +++--------------------- sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c | 12 --------- sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c | 12 --------- 5 files changed, 15 insertions(+), 84 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 391bb6050f..b8f1fe53ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-03-13 Joseph Myers + + * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Do not + manipulate bits before adding and subtracting TWO52[sx]. + * sysdeps/ieee754/dbl-64/s_rint.c (__rint): Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint): + Likewise. + * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c (__rint): Likewise. + 2012-03-13 David S. Miller * sysdeps/sparc/Makefile: Remove rtld-global-offsets.sym handling. diff --git a/sysdeps/ieee754/dbl-64/s_nearbyint.c b/sysdeps/ieee754/dbl-64/s_nearbyint.c index d780150a90..60afafdedd 100644 --- a/sysdeps/ieee754/dbl-64/s_nearbyint.c +++ b/sysdeps/ieee754/dbl-64/s_nearbyint.c @@ -38,18 +38,12 @@ double __nearbyint(double x) { fenv_t env; int32_t i0,j0,sx; - u_int32_t i,i1; double w,t; - EXTRACT_WORDS(i0,i1,x); + GET_HIGH_WORD(i0,x); sx = (i0>>31)&1; j0 = ((i0>>20)&0x7ff)-0x3ff; - if(j0<20) { + if(j0<52) { if(j0<0) { - if(((i0&0x7fffffff)|i1)==0) return x; - i1 |= (i0&0x0fffff); - i0 &= 0xfffe0000; - i0 |= ((i1|-i1)>>12)&0x80000; - SET_HIGH_WORD(x,i0); feholdexcept (&env); w = TWO52[sx]+x; t = w-TWO52[sx]; @@ -57,32 +51,11 @@ double __nearbyint(double x) GET_HIGH_WORD(i0,t); SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31)); return t; - } else { - i = (0x000fffff)>>j0; - if(((i0&i)|i1)==0) return x; /* x is integral */ - i>>=1; - if(((i0&i)|i1)!=0) { - if (j0==19) - i1 = 0x40000000; - else if (j0<18) - i0 = (i0&(~i))|((0x20000)>>j0); - else - { - i0 &= ~i; - i1 = 0x80000000; - } - } } - } else if (j0>51) { + } else { if(j0==0x400) return x+x; /* inf or NaN */ else return x; /* x is integral */ - } else { - i = ((u_int32_t)(0xffffffff))>>(j0-20); - if((i1&i)==0) return x; /* x is integral */ - i>>=1; - if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20)); } - INSERT_WORDS(x,i0,i1); feholdexcept (&env); w = TWO52[sx]+x; t = w-TWO52[sx]; diff --git a/sysdeps/ieee754/dbl-64/s_rint.c b/sysdeps/ieee754/dbl-64/s_rint.c index c45d7848d7..8458909165 100644 --- a/sysdeps/ieee754/dbl-64/s_rint.c +++ b/sysdeps/ieee754/dbl-64/s_rint.c @@ -33,49 +33,22 @@ double __rint(double x) { int32_t i0,j0,sx; - u_int32_t i,i1; double w,t; - EXTRACT_WORDS(i0,i1,x); + GET_HIGH_WORD(i0,x); sx = (i0>>31)&1; j0 = ((i0>>20)&0x7ff)-0x3ff; - if(j0<20) { + if(j0<52) { if(j0<0) { - if(((i0&0x7fffffff)|i1)==0) return x; - i1 |= (i0&0x0fffff); - i0 &= 0xfffe0000; - i0 |= ((i1|-i1)>>12)&0x80000; - SET_HIGH_WORD(x,i0); w = TWO52[sx]+x; t = w-TWO52[sx]; GET_HIGH_WORD(i0,t); SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31)); return t; - } else { - i = (0x000fffff)>>j0; - if(((i0&i)|i1)==0) return x; /* x is integral */ - i>>=1; - if(((i0&i)|i1)!=0) { - if (j0==19) - i1 = 0x40000000; - else if (j0<18) - i0 = (i0&(~i))|((0x20000)>>j0); - else - { - i0 &= ~i; - i1 = 0x80000000; - } - } } - } else if (j0>51) { + } else { if(j0==0x400) return x+x; /* inf or NaN */ else return x; /* x is integral */ - } else { - i = ((u_int32_t)(0xffffffff))>>(j0-20); - if((i1&i)==0) return x; /* x is integral */ - i>>=1; - if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20)); } - INSERT_WORDS(x,i0,i1); w = TWO52[sx]+x; return w-TWO52[sx]; } diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c index a3809984e2..a58a6202ef 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c @@ -41,29 +41,17 @@ __nearbyint(double x) j0 = ((i0>>52)&0x7ff)-0x3ff; if(__builtin_expect(j0<52, 1)) { if(j0<0) { - if((i0&UINT64_C(0x7fffffffffffffff))==0) return x; - uint64_t i = i0 & UINT64_C(0xfffffffffffff); - i0 &= UINT64_C(0xfffe000000000000); - i0 |= (((i|-i) >> 12) & UINT64_C(0x8000000000000)); - INSERT_WORDS64(x,i0); libc_feholdexcept (&env); double w = TWO52[sx]+x; double t = w-TWO52[sx]; math_opt_barrier(t); libc_fesetenv (&env); return copysign(t, x); - } else { - uint64_t i = UINT64_C(0x000fffffffffffff)>>j0; - if((i0&i)==0) return x; /* x is integral */ - i>>=1; - if((i0&i)!=0) - i0 = (i0&(~i))|(UINT64_C(0x4000000000000)>>j0); } } else { if(j0==0x400) return x+x; /* inf or NaN */ else return x; /* x is integral */ } - INSERT_WORDS64(x,i0); libc_feholdexcept (&env); double w = TWO52[sx]+x; double t = w-TWO52[sx]; diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c index 20eef3c5ea..87b2339d43 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c @@ -38,28 +38,16 @@ __rint(double x) j0 = ((i0>>52)&0x7ff)-0x3ff; if(j0<52) { if(j0<0) { - if((i0 & UINT64_C(0x7fffffffffffffff))==0) return x; - uint64_t i = i0 & UINT64_C(0xfffffffffffff); - i0 &= UINT64_C(0xfffe000000000000); - i0 |= (((i|-i) >> 12) & UINT64_C(0x8000000000000)); - INSERT_WORDS64(x,i0); double w = TWO52[sx]+x; double t = w-TWO52[sx]; EXTRACT_WORDS64(i0,t); INSERT_WORDS64(t,(i0&UINT64_C(0x7fffffffffffffff))|(sx<<63)); return t; - } else { - uint64_t i = UINT64_C(0x000fffffffffffff)>>j0; - if((i0&i)==0) return x; /* x is integral */ - i>>=1; - if((i0&i)!=0) - i0 = (i0&(~i))|(UINT64_C(0x4000000000000)>>j0); } } else { if(j0==0x400) return x+x; /* inf or NaN */ else return x; /* x is integral */ } - INSERT_WORDS64(x,i0); double w = TWO52[sx]+x; return w-TWO52[sx]; } -- cgit 1.4.1 From 7c10fd3515f983ca732b2166ccffebbf83603f1f Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 13 Mar 2012 18:08:58 -0700 Subject: Fix hypotf overflow/underflow by using double precision instead of scaling. [BZ #13840] * sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Rewrite to use double-precision for the calculation instead of scaling. --- ChangeLog | 6 +++ sysdeps/ieee754/flt-32/e_hypotf.c | 77 +++++++++++++-------------------------- 2 files changed, 31 insertions(+), 52 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index b8f1fe53ca..b65f68af6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-03-13 David S. Miller + + [BZ #13840] + * sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Rewrite to use + double-precision for the calculation instead of scaling. + 2012-03-13 Joseph Myers * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Do not diff --git a/sysdeps/ieee754/flt-32/e_hypotf.c b/sysdeps/ieee754/flt-32/e_hypotf.c index 97e7d34b64..8f499b5fde 100644 --- a/sysdeps/ieee754/flt-32/e_hypotf.c +++ b/sysdeps/ieee754/flt-32/e_hypotf.c @@ -19,62 +19,35 @@ float __ieee754_hypotf(float x, float y) { - float a,b,t1,t2,y1,y2,w; - int32_t j,k,ha,hb; + double d_x, d_y; + int32_t ha, hb; GET_FLOAT_WORD(ha,x); ha &= 0x7fffffff; GET_FLOAT_WORD(hb,y); hb &= 0x7fffffff; - if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;} - SET_FLOAT_WORD(a,ha); /* a <- |a| */ - SET_FLOAT_WORD(b,hb); /* b <- |b| */ - if((ha-hb)>0xf000000) {return a+b;} /* x/y > 2**30 */ - k=0; - if(__builtin_expect(ha > 0x58800000, 0)) { /* a>2**50 */ - if(ha >= 0x7f800000) { /* Inf or NaN */ - w = a+b; /* for sNaN */ - if(ha == 0x7f800000) w = a; - if(hb == 0x7f800000) w = b; - return w; - } - /* scale a and b by 2**-60 */ - ha -= 0x1e000000; hb -= 0x1e000000; k += 60; - SET_FLOAT_WORD(a,ha); - SET_FLOAT_WORD(b,hb); - } - if(__builtin_expect(hb < 0x26800000, 0)) { /* b < 2**-50 */ - if(hb <= 0x007fffff) { /* subnormal b or 0 */ - if(hb==0) return a; - SET_FLOAT_WORD(t1,0x7e800000); /* t1=2^126 */ - b *= t1; - a *= t1; - k -= 126; - } else { /* scale a and b by 2^60 */ - ha += 0x1e000000; /* a *= 2^60 */ - hb += 0x1e000000; /* b *= 2^60 */ - k -= 60; - SET_FLOAT_WORD(a,ha); - SET_FLOAT_WORD(b,hb); - } - } - /* medium size a and b */ - w = a-b; - if (w>b) { - SET_FLOAT_WORD(t1,ha&0xfffff000); - t2 = a-t1; - w = __ieee754_sqrtf(t1*t1-(b*(-b)-t2*(a+t1))); - } else { - a = a+a; - SET_FLOAT_WORD(y1,hb&0xfffff000); - y2 = b - y1; - SET_FLOAT_WORD(t1,ha+0x00800000); - t2 = a - t1; - w = __ieee754_sqrtf(t1*y1-(w*(-w)-(t1*y2+t2*b))); - } - if(k!=0) { - SET_FLOAT_WORD(t1,0x3f800000+(k<<23)); - return t1*w; - } else return w; + if (ha == 0x7f800000) + { + if (x == y) + return fabsf(y); + return fabsf(x); + } + else if (hb == 0x7f800000) + { + if (x == y) + return fabsf(x); + return fabsf(y); + } + else if (ha > 0x7f800000 || hb > 0x7f800000) + return fabsf(x) * fabsf(y); + else if (ha == 0) + return fabsf(y); + else if (hb == 0) + return fabsf(x); + + d_x = (double) x; + d_y = (double) y; + + return (float) __ieee754_sqrt(d_x * d_x + d_y * d_y); } strong_alias (__ieee754_hypotf, __hypotf_finite) -- cgit 1.4.1 From e456826d7a539fb322bb9719297bd386eded8e32 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 14 Mar 2012 11:53:32 +0000 Subject: Fix csqrt overflow/underflow (bug 13841). --- ChangeLog | 9 +++++++++ NEWS | 2 +- math/libm-test.inc | 18 ++++++++++++++++++ math/s_csqrt.c | 26 ++++++++++++++++++++++++-- math/s_csqrtf.c | 26 ++++++++++++++++++++++++-- math/s_csqrtl.c | 26 ++++++++++++++++++++++++-- sysdeps/i386/fpu/libm-test-ulps | 24 ++++++++++++++++++++++++ sysdeps/x86_64/fpu/libm-test-ulps | 39 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 163 insertions(+), 7 deletions(-) (limited to 'sysdeps') diff --git a/ChangeLog b/ChangeLog index 2915e96ad9..41355aeec7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2012-03-14 Joseph Myers + [BZ #13841] + * math/s_csqrt.c: Include . + (__csqrt): Scale large or subnormal inputs. + * math/s_csqrtf.c: Likewise. + * math/s_csqrtl.c: Likewise. + * math/libm-test.inc (csqrt_test): Add more tests. + * sysdeps/i386/fpu/libm-test-ulps: Update. + * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. + [BZ #13840] * math/libm-test.inc (hypot_test): Add more tests. diff --git a/NEWS b/NEWS index ea56e6d832..2f38ad0307 100644 --- a/NEWS +++ b/NEWS @@ -14,7 +14,7 @@ Version 2.16 10210, 10545, 10716, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553, 13555, 13559, 13566, 13583, 13618, 13637, 13656, 13673, - 13695, 13704, 13706, 13726, 13738, 13786, 13792, 13806, 13840 + 13695, 13704, 13706, 13726, 13738, 13786, 13792, 13806, 13840, 13841 * ISO C11 support: diff --git a/math/libm-test.inc b/math/libm-test.inc index 191f35959b..caa3ba414d 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -2657,6 +2657,24 @@ csqrt_test (void) part). */ TEST_c_c (csqrt, 0, -1, M_SQRT_2_2, -M_SQRT_2_2); + TEST_c_c (csqrt, 0x1.fffffep+127L, 0x1.fffffep+127L, 2.026714405498316804978751017492482558075e+19L, 8.394925938143272988211878516208015586281e+18L); + TEST_c_c (csqrt, 0x1.fffffep+127L, 1.0L, 1.844674352395372953599975585936590505260e+19L, 2.710505511993121390769065968615872097053e-20L); + TEST_c_c (csqrt, 0x1p-149L, 0x1p-149L, 4.112805464342778798097003462770175200803e-23L, 1.703579802732953750368659735601389709551e-23L); + TEST_c_c (csqrt, 0x1p-147L, 0x1p-147L, 8.225610928685557596194006925540350401606e-23L, 3.407159605465907500737319471202779419102e-23L); + +#ifndef TEST_FLOAT + TEST_c_c (csqrt, 0x1.fffffffffffffp+1023L, 0x1.fffffffffffffp+1023L, 1.473094556905565378990473658199034571917e+154L, 6.101757441282702188537080005372547713595e+153L); + TEST_c_c (csqrt, 0x1.fffffffffffffp+1023L, 0x1p+1023L, 1.379778091031440685006200821918878702861e+154L, 3.257214233483129514781233066898042490248e+153L); + TEST_c_c (csqrt, 0x1p-1074L, 0x1p-1074L, 2.442109726130830256743814843868934877597e-162L, 1.011554969366634726113090867589031782487e-162L); + TEST_c_c (csqrt, 0x1p-1073L, 0x1p-1073L, 3.453664695497464982856905711457966660085e-162L, 1.430554756764195530630723976279903095110e-162L); +#endif + +#if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384 + TEST_c_c (csqrt, 0x1.fp+16383L, 0x1.fp+16383L, 1.179514222452201722651836720466795901016e+2466L, 4.885707879516577666702435054303191575148e+2465L); + TEST_c_c (csqrt, 0x1.fp+16383L, 0x1p+16383L, 1.106698967236475180613254276996359485630e+2466L, 2.687568007603946993388538156299100955642e+2465L); + TEST_c_c (csqrt, 0x1p-16440L, 0x1p-16441L, 3.514690655930285351254618340783294558136e-2475L, 8.297059146828716918029689466551384219370e-2476L); +#endif + END (csqrt, complex); } diff --git a/math/s_csqrt.c b/math/s_csqrt.c index 76585e889c..002ea5fdc2 100644 --- a/math/s_csqrt.c +++ b/math/s_csqrt.c @@ -1,5 +1,5 @@ /* Complex square root of double value. - Copyright (C) 1997, 1998, 2005, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Based on an algorithm by Stephen L. Moshier . Contributed by Ulrich Drepper , 1997. @@ -21,7 +21,7 @@ #include #include #include - +#include __complex__ double __csqrt (__complex__ double x) @@ -83,6 +83,22 @@ __csqrt (__complex__ double x) else { double d, r, s; + int scale = 0; + + if (fabs (__real__ x) > DBL_MAX / 2.0 + || fabs (__imag__ x) > DBL_MAX / 2.0) + { + scale = 1; + __real__ x = __scalbn (__real__ x, -2 * scale); + __imag__ x = __scalbn (__imag__ x, -2 * scale); + } + else if (fabs (__real__ x) < DBL_MIN + && fabs (__imag__ x) < DBL_MIN) + { + scale = -(DBL_MANT_DIG / 2); + __real__ x = __scalbn (__real__ x, -2 * scale); + __imag__ x = __scalbn (__imag__ x, -2 * scale); + } d = __ieee754_hypot (__real__ x, __imag__ x); /* Use the identity 2 Re res Im res = Im x @@ -98,6 +114,12 @@ __csqrt (__complex__ double x) r = fabs ((0.5 * __imag__ x) / s); } + if (scale) + { + r = __scalbn (r, scale); + s = __scalbn (s, scale); + } + __real__ res = r; __imag__ res = __copysign (s, __imag__ x); } diff --git a/math/s_csqrtf.c b/math/s_csqrtf.c index d9949c685b..6539ba2249 100644 --- a/math/s_csqrtf.c +++ b/math/s_csqrtf.c @@ -1,5 +1,5 @@ /* Complex square root of float value. - Copyright (C) 1997, 1998, 2005, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Based on an algorithm by Stephen L. Moshier . Contributed by Ulrich Drepper , 1997. @@ -21,7 +21,7 @@ #include #include #include - +#include __complex__ float __csqrtf (__complex__ float x) @@ -83,6 +83,22 @@ __csqrtf (__complex__ float x) else { float d, r, s; + int scale = 0; + + if (fabsf (__real__ x) > FLT_MAX / 2.0f + || fabsf (__imag__ x) > FLT_MAX / 2.0f) + { + scale = 1; + __real__ x = __scalbnf (__real__ x, -2 * scale); + __imag__ x = __scalbnf (__imag__ x, -2 * scale); + } + else if (fabsf (__real__ x) < FLT_MIN + && fabsf (__imag__ x) < FLT_MIN) + { + scale = -(FLT_MANT_DIG / 2); + __real__ x = __scalbnf (__real__ x, -2 * scale); + __imag__ x = __scalbnf (__imag__ x, -2 * scale); + } d = __ieee754_hypotf (__real__ x, __imag__ x); /* Use the identity 2 Re res Im res = Im x @@ -98,6 +114,12 @@ __csqrtf (__complex__ float x) r = fabsf ((0.5f * __imag__ x) / s); } + if (scale) + { + r = __scalbnf (r, scale); + s = __scalbnf (s, scale); + } + __real__ res = r; __imag__ res = __copysignf (s, __imag__ x); } diff --git a/math/s_csqrtl.c b/math/s_csqrtl.c index 0c624c7a73..64332f67b2 100644 --- a/math/s_csqrtl.c +++ b/math/s_csqrtl.c @@ -1,5 +1,5 @@ /* Complex square root of long double value. - Copyright (C) 1997, 1998, 2005, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Based on an algorithm by Stephen L. Moshier . Contributed by Ulrich Drepper , 1997. @@ -21,7 +21,7 @@ #include #include #include - +#include __complex__ long double __csqrtl (__complex__ long double x) @@ -83,6 +83,22 @@ __csqrtl (__complex__ long double x) else { long double d, r, s; + int scale = 0; + + if (fabsl (__real__ x) > LDBL_MAX / 2.0L + || fabsl (__imag__ x) > LDBL_MAX / 2.0L) + { + scale = 1; + __real__ x = __scalbnl (__real__ x, -2 * scale); + __imag__ x = __scalbnl (__imag__ x, -2 * scale); + } + else if (fabsl (__real__ x) < LDBL_MIN + && fabsl (__imag__ x) < LDBL_MIN) + { + scale = -(LDBL_MANT_DIG / 2); + __real__ x = __scalbnl (__real__ x, -2 * scale); + __imag__ x = __scalbnl (__imag__ x, -2 * scale); + } d = __ieee754_hypotl (__real__ x, __imag__ x); /* Use the identity 2 Re res Im res = Im x @@ -98,6 +114,12 @@ __csqrtl (__complex__ long double x) r = fabsl ((0.5L * __imag__ x) / s); } + if (scale) + { + r = __scalbnl (r, scale); + s = __scalbnl (s, scale); + } + __real__ res = r; __imag__ res = __copysignl (s, __imag__ x); } diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 977a3abd14..2e86ff6234 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -805,6 +805,26 @@ Test "Imaginary part of: csinh (0.75 + 1.25 i) == 0.2592948545511627791533498306 float: 1 ifloat: 1 +# csqrt +Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1p+1023 i) == 1.379778091031440685006200821918878702861e+154 + 3.257214233483129514781233066898042490248e+153 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1.fp+16383 + 0x1.fp+16383 i) == 1.179514222452201722651836720466795901016e+2466 + 4.885707879516577666702435054303191575148e+2465 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1p-1073 + 0x1p-1073 i) == 3.453664695497464982856905711457966660085e-162 + 1.430554756764195530630723976279903095110e-162 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1p-1074 + 0x1p-1074 i) == 2.442109726130830256743814843868934877597e-162 + 1.011554969366634726113090867589031782487e-162 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1p-147 + 0x1p-147 i) == 8.225610928685557596194006925540350401606e-23 + 3.407159605465907500737319471202779419102e-23 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1p-149 + 0x1p-149 i) == 4.112805464342778798097003462770175200803e-23 + 1.703579802732953750368659735601389709551e-23 i": +ildouble: 1 +ldouble: 1 + # ctan Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i": double: 1 @@ -2054,6 +2074,10 @@ ifloat: 1 ildouble: 2 ldouble: 2 +Function: Imaginary part of "csqrt": +ildouble: 1 +ldouble: 1 + Function: Real part of "ctan": double: 1 idouble: 1 diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 867e8dd41f..33efe9df51 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -848,6 +848,35 @@ ifloat: 1 Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i": float: 1 ifloat: 1 +Test "Imaginary part of: csqrt (0x1.fffffep+127 + 1.0 i) == 1.844674352395372953599975585936590505260e+19 + 2.710505511993121390769065968615872097053e-20 i": +float: 1 +ifloat: 1 +Test "Real part of: csqrt (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i) == 1.473094556905565378990473658199034571917e+154 + 6.101757441282702188537080005372547713595e+153 i": +double: 1 +idouble: 1 +Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i) == 1.473094556905565378990473658199034571917e+154 + 6.101757441282702188537080005372547713595e+153 i": +double: 1 +idouble: 1 +Test "Imaginary part of: csqrt (0x1.fffffffffffffp+1023 + 0x1p+1023 i) == 1.379778091031440685006200821918878702861e+154 + 3.257214233483129514781233066898042490248e+153 i": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1.fp+16383 + 0x1.fp+16383 i) == 1.179514222452201722651836720466795901016e+2466 + 4.885707879516577666702435054303191575148e+2465 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1p-1073 + 0x1p-1073 i) == 3.453664695497464982856905711457966660085e-162 + 1.430554756764195530630723976279903095110e-162 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1p-1074 + 0x1p-1074 i) == 2.442109726130830256743814843868934877597e-162 + 1.011554969366634726113090867589031782487e-162 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1p-147 + 0x1p-147 i) == 8.225610928685557596194006925540350401606e-23 + 3.407159605465907500737319471202779419102e-23 i": +ildouble: 1 +ldouble: 1 +Test "Imaginary part of: csqrt (0x1p-149 + 0x1p-149 i) == 4.112805464342778798097003462770175200803e-23 + 1.703579802732953750368659735601389709551e-23 i": +ildouble: 1 +ldouble: 1 # ctan Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i": @@ -2033,8 +2062,18 @@ ildouble: 2 ldouble: 2 Function: Real part of "csqrt": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 + +Function: Imaginary part of "csqrt": +double: 1 float: 1 +idouble: 1 ifloat: 1 +ildouble: 1 +ldouble: 1 Function: Real part of "ctan": double: 1 -- cgit 1.4.1