1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-05 19:35:52 +03:00
1997-03-17 04:00  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libmieee754/w_atan2.c: Don't ignore exception if library
	type is SVID.
	* sysdeps/libmieee754/w_atan2f.c: Likewise.
	* sysdeps/libmieee754/w_atan2l.c: Likewise.

	* sysdeps/unix/sysv/linux/sys/mman.h (msync): Add descrption for
	FLAGS parameter.

1997-03-16 20:28  Philip Blundell  <phil@london.uk.eu.org>

	* sysdeps/unix/sysv/linux/socketbits.h: Add more SOL_ values.
	Change msg_iovlen and msg_controllen (in struct msghdr) to
	`size_t' to keep in step with kernel.

	* manual/examples/dir2.c: New example for scandir.
	* math/test/float.c: New file.  Frontend for float tests.
	* math/test/double.c: New file.  Frontend for double tests.
	* math/test/longdouble.c: New file.  Frontend for long double  tests.
	* sysdeps/ieee754/huge_val.h: Remove definition of long double
	* sysdeps/libm-i387/s_scalbn.S: Likewise.
	* sysdeps/libm-i387/s_scalbnf.S: Likewise.
	* sysdeps/libm-i387/s_scalbnl.S: Likewise.
	* sysdeps/libm-i387/s_expm1.S: Change return value for -inf
	* sysdeps/libm-i387/s_expm1f.S: Likewise.
	* sysdeps/libm-i387/s_expm1l.S: Likewise.
	* sysdeps/libm-i387/s_isinfl.c: Return -1 for -inf.
	* sysdeps/libm-i387/s_logbl.S: Correct return value.  Discard first
	* sysdeps/libm-ieee754/w_powf.c: Likewise.
	* sysdeps/libm-ieee754/w_powl.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/statbuf.h: Likewise.
	* nss/nss_files/files-hosts.c: Likewise.
	Based on a patch by H.J. Lu <hjl@gnu.ai.mit.edu>.
	* nis/ypclnt.c (__yp_bind): Fix possible buffer overflow.
	* posix/unistd.h: Add prototype for __euidaccess.
	* sysdeps/stub/euidaccess.c: Likewise.
This commit is contained in:
Ulrich Drepper
1997-03-17 03:04:18 +00:00
parent 0d8733c4fc
commit 81e9dad672
13 changed files with 197 additions and 43 deletions

View File

@@ -1,12 +1,30 @@
1997-03-17 04:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libmieee754/w_atan2.c: Don't ignore exception if library
type is SVID.
* sysdeps/libmieee754/w_atan2f.c: Likewise.
* sysdeps/libmieee754/w_atan2l.c: Likewise.
* sysdeps/unix/sysv/linux/sys/mman.h (msync): Add descrption for
FLAGS parameter.
1997-03-16 20:28 Philip Blundell <phil@london.uk.eu.org>
* sysdeps/unix/sysv/linux/socketbits.h: Add more SOL_ values.
Change msg_iovlen and msg_controllen (in struct msghdr) to
`size_t' to keep in step with kernel.
1997-03-16 18:43 Ulrich Drepper <drepper@cygnus.com> 1997-03-16 18:43 Ulrich Drepper <drepper@cygnus.com>
* manual/filesys.texi: Add documentation for scandir and alphasort. * manual/filesys.texi: Add documentation for scandir and alphasort.
* manual/examples/dir2.c: New example for scandir.
* math/math.c (fpclassify): Correct stupid typos. * math/math.c (fpclassify): Correct stupid typos.
* math/libm-test.c: New file. libm test suite by Andreas Jaeger. * math/libm-test.c: New file. libm test suite by Andreas Jaeger.
* math/test/float.c: New file. Frontend for float tests.
* nss/nss_files/files-hosts.c: Add gethostbyname2 imlementation. * math/test/double.c: New file. Frontend for double tests.
* math/test/longdouble.c: New file. Frontend for long double tests.
* posix/Makefile (routines): Add bsd-getpgrp. * posix/Makefile (routines): Add bsd-getpgrp.
* posix/bsd-getpgrp.c: New file. * posix/bsd-getpgrp.c: New file.
@@ -17,7 +35,7 @@
* sysdeps/i386/huge_val.h: New file. ix87 specific infinity values. * sysdeps/i386/huge_val.h: New file. ix87 specific infinity values.
* sysdeps/m68k/huge_val.h: New file. m68k specific infinity values. * sysdeps/m68k/huge_val.h: New file. m68k specific infinity values.
* sysdeps/generic/huge_val.h: Remove definition of long double * sysdeps/ieee754/huge_val.h: Remove definition of long double
definition. Make it the same as the double definition. definition. Make it the same as the double definition.
* sysdeps/libm-i387/e_acos.S: Fix bug in FPU stack handling. * sysdeps/libm-i387/e_acos.S: Fix bug in FPU stack handling.
@@ -29,9 +47,9 @@
* sysdeps/libm-i387/e_exp.S: Likewise. * sysdeps/libm-i387/e_exp.S: Likewise.
* sysdeps/libm-i387/e_expf.S: Likewise. * sysdeps/libm-i387/e_expf.S: Likewise.
* sysdeps/libm-i387/e_expl.S: Likewise. * sysdeps/libm-i387/e_expl.S: Likewise.
* sysdeps/libm-i387/e_scalbn.S: Likewise. * sysdeps/libm-i387/s_scalbn.S: Likewise.
* sysdeps/libm-i387/e_scalbnf.S: Likewise. * sysdeps/libm-i387/s_scalbnf.S: Likewise.
* sysdeps/libm-i387/e_scalbnl.S: Likewise. * sysdeps/libm-i387/s_scalbnl.S: Likewise.
* sysdeps/libm-i387/e_log.S: Optimize branch code. * sysdeps/libm-i387/e_log.S: Optimize branch code.
* sysdeps/libm-i387/e_logf.S: Likewise. * sysdeps/libm-i387/e_logf.S: Likewise.
@@ -44,14 +62,14 @@
* sysdeps/libm-i387/e_powf.S: Likewise. * sysdeps/libm-i387/e_powf.S: Likewise.
* sysdeps/libm-i387/e_powl.S: Likewise. * sysdeps/libm-i387/e_powl.S: Likewise.
* sysdeps/libm-i387/e_expm1.S: Change return value for -inf * sysdeps/libm-i387/s_expm1.S: Change return value for -inf
argument to -1.0. argument to -1.0.
* sysdeps/libm-i387/e_expm1f.S: Likewise. * sysdeps/libm-i387/s_expm1f.S: Likewise.
* sysdeps/libm-i387/e_expm1l.S: Likewise. * sysdeps/libm-i387/s_expm1l.S: Likewise.
* sysdeps/libm-i387/e_isinfl.c: Return -1 for -inf. * sysdeps/libm-i387/s_isinfl.c: Return -1 for -inf.
* sysdeps/libm-i387/e_logbl.S: Correct return value. Discard first * sysdeps/libm-i387/s_logbl.S: Correct return value. Discard first
stack element after fxtract. stack element after fxtract.
* sysdeps/libm-ieee754/e_atan2l.c: New file. `long double' * sysdeps/libm-ieee754/e_atan2l.c: New file. `long double'
@@ -81,6 +99,8 @@
* sysdeps/libm-ieee754/w_pow.c: Distinguish error cases for x is +0 * sysdeps/libm-ieee754/w_pow.c: Distinguish error cases for x is +0
or -0. or -0.
* sysdeps/libm-ieee754/w_powf.c: Likewise.
* sysdeps/libm-ieee754/w_powl.c: Likewise.
* sysdeps/posix/isfdtype.c: Add cast to prevent warning. * sysdeps/posix/isfdtype.c: Add cast to prevent warning.
@@ -113,7 +133,7 @@
* sysdeps/unix/sysv/linux/statbuf.h (struct stat): Change definition * sysdeps/unix/sysv/linux/statbuf.h (struct stat): Change definition
to use prescribed types for elements. to use prescribed types for elements.
(_STAT_VER): Change to value 3. (_STAT_VER): Change to value 3.
* sysdeps/unix/sysv/linux/alph/statbuf.h: Likewise. * sysdeps/unix/sysv/linux/alpha/statbuf.h: Likewise.
* sysdeps/unix/sysv/linux/Dist: Add kernel_stat.h. * sysdeps/unix/sysv/linux/Dist: Add kernel_stat.h.
* sysdeps/unix/sysv/linux/alpha/Dist: Likewise. * sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
@@ -150,6 +170,7 @@
* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname2_r): New * nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname2_r): New
functions. Compare result for correct address type. functions. Compare result for correct address type.
(_nss_nis_gethostbyname_r): Use _nss_nis_gethostbyname2_r. (_nss_nis_gethostbyname_r): Use _nss_nis_gethostbyname2_r.
* nss/nss_files/files-hosts.c: Likewise.
Reported by Mirko Streckenbach <mirko@marian.hil.de>. Reported by Mirko Streckenbach <mirko@marian.hil.de>.
1997-02-17 01:40 Zlatko Calusic <zcalusic@srce.hr> 1997-02-17 01:40 Zlatko Calusic <zcalusic@srce.hr>
@@ -182,7 +203,7 @@
Pretty print header. Pretty print header.
* Makerules (build-shlib): Also create symlink if library is versioned. * Makerules (build-shlib): Also create symlink if library is versioned.
based on a patch by H.J. Lu <hjl@gnu.ai.mit.edu>. Based on a patch by H.J. Lu <hjl@gnu.ai.mit.edu>.
Remove special rule to libc.so symlink. Remove special rule to libc.so symlink.
1997-03-11 20:16 Andreas Jaeger <aj@arthur.pfalz.de> 1997-03-11 20:16 Andreas Jaeger <aj@arthur.pfalz.de>
@@ -198,7 +219,7 @@
1997-03-10 18:16 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> 1997-03-10 18:16 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* ypclnt.c (__yp_bind): Fix possible buffer overflow. * nis/ypclnt.c (__yp_bind): Fix possible buffer overflow.
1997-03-10 18:06 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> 1997-03-10 18:06 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
@@ -297,8 +318,6 @@
* mach/mach/error.h (mach_error_fn_t): Comment out declaration; it * mach/mach/error.h (mach_error_fn_t): Comment out declaration; it
appears to be entirely unused dead code. appears to be entirely unused dead code.
* stdio/stdio.h (freopen): Fix spelling error.
1997-03-02 13:38 Miles Bader <miles@gnu.ai.mit.edu> 1997-03-02 13:38 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz.h (__need_error_t): New macro, before including <errno.h> * string/argz.h (__need_error_t): New macro, before including <errno.h>
@@ -315,10 +334,10 @@
* configure.in: Substitute ASFLAGS_SO. * configure.in: Substitute ASFLAGS_SO.
* sysdeps/sparc/configure.in: New file. * sysdeps/sparc/configure.in: New file.
* posix/unitstd.h: Add prototype for __euidaccess. * posix/unistd.h: Add prototype for __euidaccess.
* sysdeps/posix/euidaccess.c: Define as __euidaccess and make * sysdeps/posix/euidaccess.c: Define as __euidaccess and make
euidaccess weak alias. euidaccess weak alias.
* sysdeps/stubs/euidaccess.c: Likewise. * sysdeps/stub/euidaccess.c: Likewise.
* inet/rcmd.c: Use __ protected versions of non-standard functions. * inet/rcmd.c: Use __ protected versions of non-standard functions.
* locale/setlocale.c (setlocale): Don't set usage_count to * locale/setlocale.c (setlocale): Don't set usage_count to

View File

@@ -1,6 +1,11 @@
1997-03-17 03:32 Ulrich Drepper <drepper@cygnus.com>
* sort-test.sh: Call localedef with additional environment variable
I18NPATH to point to not-yet-installed locale data files.
1997-02-15 14:32 15:10 Andreas Jaeger <aj@arthur.pfalz.de> 1997-02-15 14:32 15:10 Andreas Jaeger <aj@arthur.pfalz.de>
* collate-test.c (main): change prototype definition to prevent * collate-test.c (main): Change prototype definition to prevent
warning. warning.
1997-02-15 17:46 Ulrich Drepper <drepper@cygnus.com> 1997-02-15 17:46 Ulrich Drepper <drepper@cygnus.com>

View File

@@ -11,9 +11,9 @@ for l in $lang; do
cns=`echo $l | sed 's/\(.*\)[.][^.]*/\1/'` cns=`echo $l | sed 's/\(.*\)[.][^.]*/\1/'`
cn=locales/$cns cn=locales/$cns
fn=charmaps/`echo $l | sed 's/.*[.]\([^.]*\)/\1/'` fn=charmaps/`echo $l | sed 's/.*[.]\([^.]*\)/\1/'`
LD_LIBRARY_PATH=$common_objpfx $common_objpfx/elf/ld.so \ LD_LIBRARY_PATH=$common_objpfx I18NPATH=./locales ${common_objpfx}elf/ld.so \
$common_objpfx/locale/localedef --quiet -i $cn -f $fn \ ${common_objpfx}locale/localedef --quiet -i $cn -f $fn \
$common_objpfx/localedata/$cns ${common_objpfx}localedata/$cns
done done
# Run collation tests. # Run collation tests.

29
math/test-double.c Normal file
View File

@@ -0,0 +1,29 @@
/* Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@arthur.pfalz.de>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define FUNC(function) function
#define MATHTYPE double
#define TEST_MSG "testing double (without inline functions)\n"
#define MATHCONST(x) x
#define CHOOSE(Clongdouble,Cdouble,Cfloat) Cdouble
#define PRINTF_EXPR "e"
#define __NO_MATH_INLINES
#include "libm-test.c"

29
math/test-float.c Normal file
View File

@@ -0,0 +1,29 @@
/* Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@arthur.pfalz.de>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define FUNC(function) function ## f
#define MATHTYPE float
#define TEST_MSG "testing float (without inline functions)\n"
#define MATHCONST(x) x
#define CHOOSE(Clongdouble,Cdouble,Cfloat) Cfloat
#define PRINTF_EXPR "e"
#define __NO_MATH_INLINES
#include "libm-test.c"

29
math/test-longdouble.c Normal file
View File

@@ -0,0 +1,29 @@
/* Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@arthur.pfalz.de>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define FUNC(function) function##l
#define MATHTYPE long double
#define TEST_MSG "testing long double (without inline functions)\n"
#define MATHCONST(x) x##L
#define CHOOSE(Clongdouble,Cdouble,Cfloat) Clongdouble
#define PRINTF_EXPR "Le"
#define __NO_MATH_INLINES
#include "libm-test.c"

View File

@@ -18,6 +18,8 @@ static char rcsid[] = "$NetBSD: k_standard.c,v 1.6 1995/05/10 20:46:35 jtc Exp $
#include "math_private.h" #include "math_private.h"
#include <errno.h> #include <errno.h>
#include <assert.h>
#ifndef _USE_WRITE #ifndef _USE_WRITE
#include <stdio.h> /* fputs(), stderr */ #include <stdio.h> /* fputs(), stderr */
#define WRITE2(u,v) fputs(u, stderr) #define WRITE2(u,v) fputs(u, stderr)
@@ -109,7 +111,10 @@ static double zero = 0.0; /* used as const */
exc.type = DOMAIN; exc.type = DOMAIN;
exc.name = type < 100 ? "acos" : (type < 200 exc.name = type < 100 ? "acos" : (type < 200
? "acosf" : "acosl");; ? "acosf" : "acosl");;
exc.retval = zero; if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = NAN;
if (_LIB_VERSION == _POSIX_) if (_LIB_VERSION == _POSIX_)
__set_errno (EDOM); __set_errno (EDOM);
else if (!__matherr(&exc)) { else if (!__matherr(&exc)) {
@@ -126,7 +131,10 @@ static double zero = 0.0; /* used as const */
exc.type = DOMAIN; exc.type = DOMAIN;
exc.name = type < 100 ? "asin" : (type < 200 exc.name = type < 100 ? "asin" : (type < 200
? "asinf" : "asinl"); ? "asinf" : "asinl");
exc.retval = zero; if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = NAN;
if(_LIB_VERSION == _POSIX_) if(_LIB_VERSION == _POSIX_)
__set_errno (EDOM); __set_errno (EDOM);
else if (!__matherr(&exc)) { else if (!__matherr(&exc)) {
@@ -145,7 +153,8 @@ static double zero = 0.0; /* used as const */
exc.type = DOMAIN; exc.type = DOMAIN;
exc.name = type < 100 ? "atan2" : (type < 200 exc.name = type < 100 ? "atan2" : (type < 200
? "atan2f" : "atan2l"); ? "atan2f" : "atan2l");
exc.retval = zero; assert (_LIB_VERSION == _SVID_);
exc.retval = HUGE;
if(_LIB_VERSION == _POSIX_) if(_LIB_VERSION == _POSIX_)
__set_errno (EDOM); __set_errno (EDOM);
else if (!__matherr(&exc)) { else if (!__matherr(&exc)) {
@@ -399,7 +408,7 @@ static double zero = 0.0; /* used as const */
if (_LIB_VERSION == _SVID_) if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE; exc.retval = -HUGE;
else else
exc.retval = -HUGE_VAL; exc.retval = NAN;
if (_LIB_VERSION == _POSIX_) if (_LIB_VERSION == _POSIX_)
__set_errno (EDOM); __set_errno (EDOM);
else if (!__matherr(&exc)) { else if (!__matherr(&exc)) {
@@ -439,7 +448,7 @@ static double zero = 0.0; /* used as const */
if (_LIB_VERSION == _SVID_) if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE; exc.retval = -HUGE;
else else
exc.retval = -HUGE_VAL; exc.retval = NAN;
if (_LIB_VERSION == _POSIX_) if (_LIB_VERSION == _POSIX_)
__set_errno (EDOM); __set_errno (EDOM);
else if (!__matherr(&exc)) { else if (!__matherr(&exc)) {
@@ -500,7 +509,7 @@ static double zero = 0.0; /* used as const */
case 23: case 23:
case 123: case 123:
case 223: case 223:
/* 0**neg */ /* -0**neg */
exc.type = DOMAIN; exc.type = DOMAIN;
exc.name = type < 100 ? "pow" : (type < 200 ? "powf" : "powl"); exc.name = type < 100 ? "pow" : (type < 200 ? "powf" : "powl");
if (_LIB_VERSION == _SVID_) if (_LIB_VERSION == _SVID_)
@@ -516,6 +525,25 @@ static double zero = 0.0; /* used as const */
__set_errno (EDOM); __set_errno (EDOM);
} }
break; break;
case 43:
case 143:
case 243:
/* +0**neg */
exc.type = DOMAIN;
exc.name = type < 100 ? "pow" : (type < 200 ? "powf" : "powl");
if (_LIB_VERSION == _SVID_)
exc.retval = zero;
else
exc.retval = HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
__set_errno (EDOM);
else if (!__matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("pow(0,neg): DOMAIN error\n", 25);
}
__set_errno (EDOM);
}
break;
case 24: case 24:
case 124: case 124:
case 224: case 224:
@@ -842,6 +870,8 @@ static double zero = 0.0; /* used as const */
__set_errno (EDOM); __set_errno (EDOM);
} }
break; break;
/* #### Last used is 43/143/243 ### */
} }
return exc.retval; return exc.retval;
} }

View File

@@ -35,8 +35,8 @@ __fpclassifyf (float x)
retval = FP_ZERO; retval = FP_ZERO;
else if (wx < 0x1000000) else if (wx < 0x1000000)
retval = FP_SUBNORMAL; retval = FP_SUBNORMAL;
else if (wx == 0x7f000000) else if (wx >= 0x7f800000)
retval = wx > 0x7f000000 ? FP_NAN : FP_INFINITE; retval = wx > 0x7f800000 ? FP_NAN : FP_INFINITE;
return retval; return retval;
} }

View File

@@ -35,7 +35,7 @@ static char rcsid[] = "$NetBSD: w_atan2.c,v 1.6 1995/05/10 20:48:39 jtc Exp $";
double z; double z;
z = __ieee754_atan2(y,x); z = __ieee754_atan2(y,x);
if(_LIB_VERSION != _SVID_||__isnan(x)||__isnan(y)) return z; if(_LIB_VERSION != _SVID_||__isnan(x)||__isnan(y)) return z;
if(x==0.0&&y==0.0) { if(x==0.0&&y==0.0)
return __kernel_standard(y,x,3); /* atan2(+-0,+-0) */ return __kernel_standard(y,x,3); /* atan2(+-0,+-0) */
return z; return z;
#endif #endif

View File

@@ -37,7 +37,9 @@ static char rcsid[] = "$NetBSD: w_atan2f.c,v 1.3 1995/05/10 20:48:42 jtc Exp $";
#else #else
float z; float z;
z = __ieee754_atan2f(y,x); z = __ieee754_atan2f(y,x);
if(_LIB_VERSION == _IEEE_||__isnanf(x)||__isnanf(y)) return z; if(_LIB_VERSION != _SVID_||__isnanf(x)||__isnanf(y)) return z;
if(x==0.0&&y==0.0)
return __kernel_standard(y,x,103); /* atan2(+-0,+-0) */
return z; return z;
#endif #endif
} }

View File

@@ -38,7 +38,9 @@ static char rcsid[] = "$NetBSD: $";
#else #else
long double z; long double z;
z = __ieee754_atan2l(y,x); z = __ieee754_atan2l(y,x);
if(_LIB_VERSION == _IEEE_||__isnanl(x)||__isnanl(y)) return z; if(_LIB_VERSION != _SVID_||__isnanl(x)||__isnanl(y)) return z;
if(x==0.0&&y==0.0)
return __kernel_standard(y,x,203); /* atan2(+-0,+-0) */
return z; return z;
#endif #endif
} }

View File

@@ -83,8 +83,20 @@ enum __socket_type
#define AF_INET6 PF_INET6 #define AF_INET6 PF_INET6
#define AF_MAX PF_MAX #define AF_MAX PF_MAX
/* Raw IP packet level. */ /* Socket level values. */
#define SOL_IP 0
#define SOL_TCP 6
#define SOL_UDP 17
#define SOL_IPV6 41
#define SOL_ICMPV6 58
#define SOL_RAW 255 #define SOL_RAW 255
#define SOL_IPX 256
#define SOL_AX25 257
#define SOL_ATALK 258
#define SOL_NETROM 259
#define SOL_ROSE 260
#define SOL_DECNET 261
#define SOL_X25 262
/* Maximum queue length specifiable by listen. */ /* Maximum queue length specifiable by listen. */
#define SOMAXCONN 128 #define SOMAXCONN 128
@@ -120,21 +132,18 @@ struct msghdr
/* XXX Should be type `size_t' according to POSIX.1g. */ /* XXX Should be type `size_t' according to POSIX.1g. */
struct iovec *msg_iov; /* Vector of data to send/receive into. */ struct iovec *msg_iov; /* Vector of data to send/receive into. */
int msg_iovlen; /* Number of elements in the vector. */ size_t msg_iovlen; /* Number of elements in the vector. */
/* XXX Should be type `size_t' according to POSIX.1g. */
__ptr_t msg_control; /* Ancillary data (eg BSD filedesc passing). */ __ptr_t msg_control; /* Ancillary data (eg BSD filedesc passing). */
int msg_controllen; /* Ancillary data buffer length. */ size_t msg_controllen; /* Ancillary data buffer length. */
/* XXX Should be type `size_t' according to POSIX.1g. */
int msg_flags; /* Flags on received message. */ int msg_flags; /* Flags on received message. */
}; };
/* Structure used for storage of ancillary data object information. */ /* Structure used for storage of ancillary data object information. */
struct cmsghdr struct cmsghdr
{ {
int cmsg_len; /* Length of data in cmsg_data plus length size_t cmsg_len; /* Length of data in cmsg_data plus length
of cmsghdr structure. */ of cmsghdr structure. */
/* XXX Should be type `size_t' according to POSIX.1g. */
int cmsg_level; /* Originating protocol. */ int cmsg_level; /* Originating protocol. */
int cmsg_type; /* Protocol specific type. */ int cmsg_type; /* Protocol specific type. */
#if !defined __STRICT_ANSI__ && defined __GNUC__ && __GNUC__ >= 2 #if !defined __STRICT_ANSI__ && defined __GNUC__ && __GNUC__ >= 2

View File

@@ -1,5 +1,5 @@
/* Definitions for BSD-style memory management. Linux version. /* Definitions for POSIX-style memory management. Linux version.
Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -66,7 +66,7 @@ extern int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
/* Synchronize the region starting at ADDR and extending LEN bytes with the /* Synchronize the region starting at ADDR and extending LEN bytes with the
file it maps. Filesystem operations on a file being mapped are file it maps. Filesystem operations on a file being mapped are
unpredictable before this is done. */ unpredictable before this is done. Flags are from the MS_* set. */
extern int msync __P ((__caddr_t __addr, size_t __len, int __flags)); extern int msync __P ((__caddr_t __addr, size_t __len, int __flags));
/* Advise the system about particular usage patterns the program follows /* Advise the system about particular usage patterns the program follows