1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
1998-08-31 15:56  Ulrich Drepper  <drepper@cygnus.com>

	* db2/db_int.h: Use <db.h> instead of "db.h" to find header in include.

	* include/stdio.h: Add __vsscanf.

	* libio/stdio.h: Make vfscanf, scanf, and vsscanf available if
	__USE_ISOC9X.
	Remove __vsscanf declaration.
	Always declare fgetpos and fsetpos.

	* math/math.h: Define isinf as macro.
	* math/bits/mathcalls.h: Change to declare __isinf all the time.
	Don't declare scalb for ISO C 9x.

	* math/tgmath.h: Define fma.  Rewrite the underlying macros.

	* stdlib/stdlib.h: Declare strtof and strtold is __USE_ISOC9X.

	* sysdeps/unix/sysv/linux/bits/sigcontext.h: Allow inclusion from
	sys/ucontext.h.

	* sysdeps/wordsize-32/inttypes.h: Define missing PRI* and SCN*
	macros.

1998-08-31  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/standalone/bits/errno.h (ENOMSG): Remove duplicate.
	Reported by jreising@frequentis.com [PR libc/767].

1998-08-31  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* io/lockf.c (lockf): Move initilisation of fl.l_whence and
	fl.l_start at beginning of function.
	Patch by Geoff. Dash <geoffd@zeta.org.au> [PR libc/769].
This commit is contained in:
Ulrich Drepper
1998-08-31 16:30:27 +00:00
parent ac72fbb190
commit bfce746a87
16 changed files with 334 additions and 135 deletions

View File

@ -1,3 +1,39 @@
1998-08-31 15:56 Ulrich Drepper <drepper@cygnus.com>
* db2/db_int.h: Use <db.h> instead of "db.h" to find header in include.
* include/stdio.h: Add __vsscanf.
* libio/stdio.h: Make vfscanf, scanf, and vsscanf available if
__USE_ISOC9X.
Remove __vsscanf declaration.
Always declare fgetpos and fsetpos.
* math/math.h: Define isinf as macro.
* math/bits/mathcalls.h: Change to declare __isinf all the time.
Don't declare scalb for ISO C 9x.
* math/tgmath.h: Define fma. Rewrite the underlying macros.
* stdlib/stdlib.h: Declare strtof and strtold is __USE_ISOC9X.
* sysdeps/unix/sysv/linux/bits/sigcontext.h: Allow inclusion from
sys/ucontext.h.
* sysdeps/wordsize-32/inttypes.h: Define missing PRI* and SCN*
macros.
1998-08-31 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/standalone/bits/errno.h (ENOMSG): Remove duplicate.
Reported by jreising@frequentis.com [PR libc/767].
1998-08-31 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* io/lockf.c (lockf): Move initilisation of fl.l_whence and
fl.l_start at beginning of function.
Patch by Geoff. Dash <geoffd@zeta.org.au> [PR libc/769].
1998-08-31 Ulrich Drepper <drepper@cygnus.com> 1998-08-31 Ulrich Drepper <drepper@cygnus.com>
* io/sys/stat.h (ALLPERMS): Fix type (S_ISTXT -> S_ISVTX). * io/sys/stat.h (ALLPERMS): Fix type (S_ISTXT -> S_ISVTX).

View File

@ -10,7 +10,7 @@
#ifndef _DB_INTERNAL_H_ #ifndef _DB_INTERNAL_H_
#define _DB_INTERNAL_H_ #define _DB_INTERNAL_H_
#include "db.h" /* Standard DB include file. */ #include <db.h> /* Standard DB include file. */
#include "queue.h" #include "queue.h"
/******************************************************* /*******************************************************

View File

@ -36,7 +36,7 @@ elide-routines.os = $(dl-routines) dl-support enbl-secure
# interpreter and operating independent of libc. # interpreter and operating independent of libc.
rtld-routines := rtld $(dl-routines) dl-sysdep dl-environ dl-minimal rtld-routines := rtld $(dl-routines) dl-sysdep dl-environ dl-minimal
distribute = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \ distribute = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c \ dl-hash.h soinit.c sofini.c ldd.bash.in eval.c \
genrtldtbl.awk atomicity.h dl-procinfo.h ldsodefs.h \ genrtldtbl.awk atomicity.h dl-procinfo.h ldsodefs.h \
dl-librecon.h interp.c sln.c dl-origin.h dl-librecon.h interp.c sln.c dl-origin.h

View File

@ -18,6 +18,10 @@ extern int __vscanf __P ((__const char *__restrict __format,
__attribute__ ((__format__ (__scanf__, 1, 0))); __attribute__ ((__format__ (__scanf__, 1, 0)));
extern _IO_ssize_t __getline __P ((char **__lineptr, size_t *__n, extern _IO_ssize_t __getline __P ((char **__lineptr, size_t *__n,
FILE *__stream)); FILE *__stream));
extern int __vsscanf __P ((__const char *__restrict __s,
__const char *__restrict __format,
_G_va_list __arg))
__attribute__ ((__format__ (__scanf__, 2, 0)));
#endif #endif
#else #else

View File

@ -31,6 +31,11 @@ lockf (int fd, int cmd, off_t len)
memset ((char *) &fl, '\0', sizeof (fl)); memset ((char *) &fl, '\0', sizeof (fl));
/* lockf is always relative to the current file position. */
fl.l_whence = SEEK_CUR;
fl.l_start = 0;
fl.l_len = len;
switch (cmd) switch (cmd)
{ {
case F_TEST: case F_TEST:
@ -61,11 +66,5 @@ lockf (int fd, int cmd, off_t len)
return -1; return -1;
} }
/* lockf is always relative to the current file position. */
fl.l_whence = SEEK_CUR;
fl.l_start = 0;
fl.l_len = len;
return __fcntl (fd, cmd, &fl); return __fcntl (fd, cmd, &fl);
} }

View File

@ -334,7 +334,7 @@ extern int scanf __P ((__const char *__restrict __format, ...));
extern int sscanf __P ((__const char *__restrict __s, extern int sscanf __P ((__const char *__restrict __s,
__const char *__restrict __format, ...)); __const char *__restrict __format, ...));
#ifdef __USE_GNU #ifdef __USE_ISOC9X
/* Read formatted input from S into argument list ARG. */ /* Read formatted input from S into argument list ARG. */
extern int vfscanf __P ((FILE *__restrict __s, extern int vfscanf __P ((FILE *__restrict __s,
__const char *__restrict __format, __const char *__restrict __format,
@ -346,10 +346,6 @@ extern int vscanf __P ((__const char *__restrict __format, _G_va_list __arg))
__attribute__ ((__format__ (__scanf__, 1, 0))); __attribute__ ((__format__ (__scanf__, 1, 0)));
/* Read formatted input from S into argument list ARG. */ /* Read formatted input from S into argument list ARG. */
extern int __vsscanf __P ((__const char *__restrict __s,
__const char *__restrict __format,
_G_va_list __arg))
__attribute__ ((__format__ (__scanf__, 2, 0)));
extern int vsscanf __P ((__const char *__restrict __s, extern int vsscanf __P ((__const char *__restrict __s,
__const char *__restrict __format, __const char *__restrict __format,
_G_va_list __arg)) _G_va_list __arg))
@ -541,64 +537,70 @@ extern long int ftell __P ((FILE *__stream));
/* Rewind to the beginning of STREAM. */ /* Rewind to the beginning of STREAM. */
extern void rewind __P ((FILE *__stream)); extern void rewind __P ((FILE *__stream));
#if (defined __USE_LARGEFILE || defined __USE_LARGEFILE64 \
|| defined __USE_FILE_OFFSET64)
/* The Single Unix Specification, Version 2, specifies an alternative, /* The Single Unix Specification, Version 2, specifies an alternative,
more adequate interface for the two functions above which deal with more adequate interface for the two functions above which deal with
file offset. `long int' is not the right type. These definitions file offset. `long int' is not the right type. These definitions
are originally defined in the Large File Support API. */ are originally defined in the Large File Support API. */
/* Types needed in these functions. */ /* Types needed in these functions. */
# ifndef off_t #ifndef off_t
# ifndef __USE_FILE_OFFSET64
typedef __off_t off_t;
# else
typedef __off64_t off_t;
# endif
# define off_t off_t
# endif
# if defined __USE_LARGEFILE64 && !defined off64_t
typedef __off64_t off64_t;
# define off64_t off64_t
# endif
# ifndef __USE_FILE_OFFSET64 # ifndef __USE_FILE_OFFSET64
typedef __off_t off_t;
# else
typedef __off64_t off_t;
# endif
# define off_t off_t
#endif
#if defined __USE_LARGEFILE64 && !defined off64_t
typedef __off64_t off64_t;
# define off64_t off64_t
#endif
#ifndef __USE_FILE_OFFSET64
# ifndef __USE_UNIX98
/* Seek to a certain position on STREAM. */ /* Seek to a certain position on STREAM. */
extern int fseeko __P ((FILE *__stream, __off_t __off, int __whence)); extern int fseeko __P ((FILE *__stream, __off_t __off, int __whence));
/* Return the current position of STREAM. */ /* Return the current position of STREAM. */
extern __off_t ftello __P ((FILE *__stream)); extern __off_t ftello __P ((FILE *__stream));
#endif
/* Get STREAM's position. */ /* Get STREAM's position. */
extern int fgetpos __P ((FILE *__restrict __stream, extern int fgetpos __P ((FILE *__restrict __stream,
fpos_t *__restrict __pos)); fpos_t *__restrict __pos));
/* Set STREAM's position. */ /* Set STREAM's position. */
extern int fsetpos __P ((FILE *__stream, __const fpos_t *__pos)); extern int fsetpos __P ((FILE *__stream, __const fpos_t *__pos));
# else #else
# ifdef __REDIRECT # ifdef __REDIRECT
# ifndef __USE_UNIX98
extern int __REDIRECT (fseeko, extern int __REDIRECT (fseeko,
__P ((FILE *__stream, __off64_t __off, int __whence)), __P ((FILE *__stream, __off64_t __off, int __whence)),
fseeko64); fseeko64);
extern __off64_t __REDIRECT (ftello, __P ((FILE *__stream)), ftello64); extern __off64_t __REDIRECT (ftello, __P ((FILE *__stream)), ftello64);
# endif
extern int __REDIRECT (fgetpos, __P ((FILE *__restrict __stream, extern int __REDIRECT (fgetpos, __P ((FILE *__restrict __stream,
fpos_t *__restrict __pos)), fgetpos64); fpos_t *__restrict __pos)), fgetpos64);
extern int __REDIRECT (fsetpos, __P ((FILE *__stream, __const fpos_t *__pos)), extern int __REDIRECT (fsetpos, __P ((FILE *__stream, __const fpos_t *__pos)),
fsetpos64); fsetpos64);
# else # else
# ifndef __USE_UNIX98
# define fseeko fseeko64 # define fseeko fseeko64
# define ftello ftello64 # define ftello ftello64
# define fgetpos fgetpos64
# define fsetpos fsetpos64
# endif # endif
# define fgetpos fgetpos64
# define fsetpos fsetpos64
# endif # endif
#endif
# ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
# ifndef __USE_UNIX98
extern int fseeko64 __P ((FILE *__stream, __off64_t __off, int __whence)); extern int fseeko64 __P ((FILE *__stream, __off64_t __off, int __whence));
extern __off64_t ftello64 __P ((FILE *__stream)); extern __off64_t ftello64 __P ((FILE *__stream));
# endif
extern int fgetpos64 __P ((FILE *__restrict __stream, extern int fgetpos64 __P ((FILE *__restrict __stream,
fpos64_t *__restrict __pos)); fpos64_t *__restrict __pos));
extern int fsetpos64 __P ((FILE *__stream, __const fpos64_t *__pos)); extern int fsetpos64 __P ((FILE *__stream, __const fpos64_t *__pos));
# endif
#endif #endif
/* Clear the error and EOF indicators for STREAM. */ /* Clear the error and EOF indicators for STREAM. */

View File

@ -1,3 +1,8 @@
1998-08-31 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/pt-machine.h (testandset): Add memory clobber.
Suggested by Roland McGrath.
1998-08-28 13:58 Ulrich Drepper <drepper@cygnus.com> 1998-08-28 13:58 Ulrich Drepper <drepper@cygnus.com>
* internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to * internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to

View File

@ -171,10 +171,14 @@ __MATHCALL (floor,, (_Mdouble_ __x));
__MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y)); __MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
__MATHDECL_1 (int,__isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
#ifdef __USE_MISC #ifdef __USE_MISC
/* Return 0 if VALUE is finite or NaN, +1 if it /* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */ is +Infinity, -1 if it is -Infinity. */
__MATHDECLX (int,isinf,, (_Mdouble_ __value), (__const__)); __MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */ /* Return nonzero if VALUE is finite and not NaN. */
__MATHDECLX (int,finite,, (_Mdouble_ __value), (__const__)); __MATHDECLX (int,finite,, (_Mdouble_ __value), (__const__));
@ -248,15 +252,17 @@ __MATHCALL (rint,, (_Mdouble_ __x));
/* Return X + epsilon if X < Y, X - epsilon if X > Y. */ /* Return X + epsilon if X < Y, X - epsilon if X > Y. */
__MATHCALLX (nextafter,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); __MATHCALLX (nextafter,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
#ifdef __USE_ISOC9X # ifdef __USE_ISOC9X
__MATHCALLX (nextafterx,, (_Mdouble_ __x, long double __y), (__const__)); __MATHCALLX (nextafterx,, (_Mdouble_ __x, long double __y), (__const__));
#endif # endif
/* Return the remainder of integer divison X / Y with infinite precision. */ /* Return the remainder of integer divison X / Y with infinite precision. */
__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y)); __MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
/* Return X times (2 to the Nth power). */ /* Return X times (2 to the Nth power). */
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n)); __MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
#endif
/* Return X times (2 to the Nth power). */ /* Return X times (2 to the Nth power). */
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n)); __MATHCALL (scalbn,, (_Mdouble_ __x, int __n));

View File

@ -196,6 +196,13 @@ enum
: sizeof (x) == sizeof (double) ? \ : sizeof (x) == sizeof (double) ? \
__isnan (x) : __isnanl (x)) __isnan (x) : __isnanl (x))
/* Return nonzero value is X is positive or negative infinity. */
# define isinf(x) \
(sizeof (x) == sizeof (float) ? \
__isinff (x) \
: sizeof (x) == sizeof (double) ? \
__isinf (x) : __isinfl (x))
#endif /* Use ISO C 9X. */ #endif /* Use ISO C 9X. */
#ifdef __USE_MISC #ifdef __USE_MISC

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997 Free Software Foundation, Inc. /* Copyright (C) 1997, 1998 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
@ -40,70 +40,83 @@
only defined on real valued parameters and those which are defined only defined on real valued parameters and those which are defined
for complex functions as well. */ for complex functions as well. */
# define __TGMATH_UNARY_REAL_ONLY(Val, Fct) \ # define __TGMATH_UNARY_REAL_ONLY(Val, Fct) \
(__extension__ (sizeof (__real__ (Val)) == sizeof (double) \ (__extension__ (sizeof (Val) == sizeof (double) \
? Fct (Val) \ ? Fct (Val) \
: (sizeof (__real__ (Val)) == sizeof (long double) \ : (sizeof (Val) == sizeof (long double) \
? Fct##l (Val) \ ? Fct##l (Val) \
: Fct##f (Val)))) : Fct##f (Val))))
# define __TGMATH_BINARY_FIRST_REAL_ONLY(Val1, Val2, Fct) \ # define __TGMATH_BINARY_FIRST_REAL_ONLY(Val1, Val2, Fct) \
(__extension__ (sizeof (__real__ (Val1)) == sizeof (double) \ (__extension__ (sizeof (Val1) > sizeof (double) \
? Fct (Val1, Val2) \ ? Fct##l (Val1, Val2) \
: (sizeof (__real__ (Val1)) == sizeof (long double) \ : (sizeof (Val1) == sizeof (double) \
? Fct##l (Val1, Val2) \ ? Fct (Val1, Val2) \
: Fct##f (Val1, Val2)))) : Fct##f (Val1, Val2))))
# define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ # define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \
(__extension__ (sizeof (Val1) == sizeof (double) \ (__extension__ (sizeof (Val1) > sizeof (double) \
|| sizeof (Val2) == sizeof (double) \ || sizeof (Val2) > sizeof (double) \
? Fct (Val1, Val2) \ ? Fct##l (Val1, Val2) \
: (sizeof (Val1) == sizeof (long double) \ : (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (long double) \ || sizeof (Val2) == sizeof (double) \
? Fct##l (Val1, Val2) \ ? Fct (Val1, Val2) \
: Fct##f (Val1, Val2)))) : Fct##f (Val1, Val2))))
# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ # define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \
(__extension__ (sizeof (Val1) == sizeof (double) \ (__extension__ (sizeof (Val1) > sizeof (double) \
|| sizeof (Val2) == sizeof (double) \ || sizeof (Val2) > sizeof (double) \
? Fct (Val1, Val2, Val3) \ ? Fct##l (Val1, Val2, Val3) \
: (sizeof (Val1) == sizeof (long double) \ : (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (long double) \ || sizeof (Val2) == sizeof (double) \
? Fct##l (Val1, Val2, Val3) \ ? Fct (Val1, Val2, Val3) \
: Fct##f (Val1, Val2, Val3))))
# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \
(__extension__ (sizeof (Val1) > sizeof (double) \
|| sizeof (Val2) > sizeof (double) \
|| sizeof (Val3) > sizeof (double) \
? Fct##l (Val1, Val2, Val3) \
: (sizeof (Val1) == sizeof (double) \
|| sizeof (Val2) == sizeof (double) \
|| sizeof (Val3) == sizeof (double) \
? Fct (Val1, Val2, Val3) \
: Fct##f (Val1, Val2, Val3)))) : Fct##f (Val1, Val2, Val3))))
# define __TGMATH_UNARY_REAL_IMAG(Val, Fct, Cfct) \ # define __TGMATH_UNARY_REAL_IMAG(Val, Fct, Cfct) \
(__extension__ (sizeof (__real__ (Val)) == sizeof (double) \ (__extension__ (sizeof (__real__ (val)) > sizeof (double) \
? (sizeof (__real__ (Val)) == sizeof (Val) \ ? (sizeof (__real__ (Val)) == sizeof (Val) \
? Fct (Val) \ ? Fct##l (Val) \
: Cfct (Val)) \ : Cfct##l (Val)) \
: (sizeof (__real__ (Val)) == sizeof (long double) \ : (sizeof (__real__ (val)) == sizeof (double) \
? (sizeof (__real__ (Val)) == sizeof (Val) \ ? (sizeof (__real__ (Val)) == sizeof (Val) \
? Fct##l (Val) \ ? Fct (Val) \
: Cfct##l (Val)) \ : Cfct (Val)) \
: (sizeof (__real__ (Val)) == sizeof (Val) \ : (sizeof (__real__ (Val)) == sizeof (Val) \
? Fct##f (Val) \ ? Fct##f (Val) \
: Cfct##f (Val))))) : Cfct##f (Val)))))
/* XXX This definition has to be changed as soon as the compiler understands
the imaginary keyword. */
# define __TGMATH_UNARY_IMAG_ONLY(Val, Fct) \ # define __TGMATH_UNARY_IMAG_ONLY(Val, Fct) \
(__extension__ (sizeof (Val) == sizeof (__complex__ double) \ (__extension__ (sizeof (Val) > sizeof (__complex__ double) \
? Fct (Val) \ ? Fct##l (Val) \
: (sizeof (Val) == sizeof (__complex__ long double) \ : (sizeof (Val) == sizeof (__complex__ double) \
? Fct##l (Val) \ ? Fct (Val) \
: Fct##f (Val)))) : Fct##f (Val))))
# define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ # define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \
(__extension__ (sizeof (__real__ (Val1)) == sizeof (double) \ (__extension__ (sizeof (__real__ (Val1)) > sizeof (double) \
|| sizeof (__real__ (Val2)) == sizeof (double) \ || sizeof (__real__ (Val2)) > sizeof (double) \
? (sizeof (__real__ (Val1)) == sizeof (Val1) \ ? (sizeof (__real__ (Val1)) == sizeof (Val1) \
&& sizeof (__real__ (Val2)) == sizeof (Val2) \ && sizeof (__real__ (Val2)) == sizeof (Val2) \
? Fct (Val1, Val2) \ ? Fct##l (Val1, Val2) \
: Cfct (Val1, Val2)) \ : Cfct##l (Val1, Val2)) \
: (sizeof (__real__ (Val1)) == sizeof (long double) \ : (sizeof (__real__ (Val1)) == sizeof (double) \
|| sizeof (__real__ (Val2)) == sizeof (long double) \ || sizeof (__real__ (Val2)) == sizeof (double) \
? (sizeof (__real__ (Val1)) == sizeof (Val1) \ ? (sizeof (__real__ (Val1)) == sizeof (Val1) \
&& sizeof (__real__ (Val2)) == sizeof (Val2) \ && sizeof (__real__ (Val2)) == sizeof (Val2) \
? Fct##l (Val1, Val2) \ ? Fct (Val1, Val2) \
: Cfct##l (Val1, Val2)) \ : Cfct (Val1, Val2)) \
: (sizeof (__real__ (Val1)) == sizeof (Val1) \ : (sizeof (__real__ (Val1)) == sizeof (Val1) \
&& sizeof (__real__ (Val2)) == sizeof (Val2) \ && sizeof (__real__ (Val2)) == sizeof (Val2) \
? Fct##f (Val1, Val2) \ ? Fct##f (Val1, Val2) \
@ -293,6 +306,11 @@
#define fmin(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmin) #define fmin(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmin)
/* Multiply-add function computed as a ternary operation. */
#define fma(Vat1, Val2, Val3) \
__TGMATH_TERNARY_REAL_ONLY (Val1, Val2, Val3, fma)
/* Absolute value, conjugates, and projection. */ /* Absolute value, conjugates, and projection. */
/* Argument value of Z. */ /* Argument value of Z. */

View File

@ -88,7 +88,7 @@ extern long long int atoll __P ((__const char *__nptr));
extern double strtod __P ((__const char *__restrict __nptr, extern double strtod __P ((__const char *__restrict __nptr,
char **__restrict __endptr)); char **__restrict __endptr));
#ifdef __USE_GNU #ifdef __USE_ISOC9X
/* Likewise for `float' and `long double' sizes of floating-point numbers. */ /* Likewise for `float' and `long double' sizes of floating-point numbers. */
extern float strtof __P ((__const char *__restrict __nptr, extern float strtof __P ((__const char *__restrict __nptr,
char **__restrict __endptr)); char **__restrict __endptr));
@ -241,7 +241,7 @@ strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
return __strtoul_internal (__nptr, __endptr, __base, 0); return __strtoul_internal (__nptr, __endptr, __base, 0);
} }
# ifdef __USE_GNU # ifdef __USE_ISOC9X
extern __inline float extern __inline float
strtof (__const char *__restrict __nptr, char **__restrict __endptr) strtof (__const char *__restrict __nptr, char **__restrict __endptr)
{ {

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1994, 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1991, 1994, 1996, 1997, 1998 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
@ -39,7 +39,6 @@
# define ENOMSG 11 # define ENOMSG 11
# define ENAMETOOLONG 12 # define ENAMETOOLONG 12
# define ELOOP 13 # define ELOOP 13
# define ENOMSG 14
# define E2BIG 15 # define E2BIG 15
# define EINTR 16 # define EINTR 16
# define ENOEXEC 18 # define ENOEXEC 18

View File

@ -77,3 +77,5 @@ xstatconv.c
getdents64.c getdents64.c
getresuid.c getresuid.c
getresgid.c getresgid.c
umount.S
umount2.S

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1996, 1997, 1998 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
@ -16,13 +16,14 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#ifndef _SIGNAL_H #if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead." # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif #endif
#ifndef sigcontext_struct
/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but /* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
we need sigcontext. */ we need sigcontext. */
#define sigcontext_struct sigcontext # define sigcontext_struct sigcontext
#include <asm/sigcontext.h> # include <asm/sigcontext.h>
#endif

View File

@ -82,6 +82,22 @@
# define PRIoFAST32 "o" # define PRIoFAST32 "o"
# define PRIoFAST64 "llo" # define PRIoFAST64 "llo"
/* Unsigned integers. */
# define PRIu8 "u"
# define PRIu16 "u"
# define PRIu32 "u"
# define PRIu64 "llu"
# define PRIuLEAST8 "u"
# define PRIuLEAST16 "u"
# define PRIuLEAST32 "u"
# define PRIuLEAST64 "llu"
# define PRIuFAST8 "u"
# define PRIuFAST16 "u"
# define PRIuFAST32 "u"
# define PRIuFAST64 "llu"
/* lowercase hexadecimal notation. */ /* lowercase hexadecimal notation. */
# define PRIx8 "x" # define PRIx8 "x"
# define PRIx16 "x" # define PRIx16 "x"
@ -115,72 +131,119 @@
# define PRIXFAST64 "llX" # define PRIXFAST64 "llX"
/* Unsigned integers. */
# define PRIu8 "u"
# define PRIu16 "u"
# define PRIu32 "u"
# define PRIu64 "llu"
# define PRIuLEAST8 "u"
# define PRIuLEAST16 "u"
# define PRIuLEAST32 "u"
# define PRIuLEAST64 "llu"
# define PRIuFAST8 "u"
# define PRIuFAST16 "u"
# define PRIuFAST32 "u"
# define PRIuFAST64 "llu"
/* Macros for printing `intmax_t' and `uintmax_t'. */ /* Macros for printing `intmax_t' and `uintmax_t'. */
# define PRIdMAX "lld" # define PRIdMAX "lld"
# define PRIiMAX "lli"
# define PRIoMAX "llo" # define PRIoMAX "llo"
# define PRIxMAX "llx"
# define PRIuMAX "llu" # define PRIuMAX "llu"
# define PRIxMAX "llx"
# define PRIXMAX "llX"
/* Macros for printing `intptr_t' and `uintptr_t'. */ /* Macros for printing `intptr_t' and `uintptr_t'. */
# define PRIdPTR "d" # define PRIdPTR "d"
# define PRIiPTR "i"
# define PRIoPTR "o" # define PRIoPTR "o"
# define PRIxPTR "x"
# define PRIuPTR "u" # define PRIuPTR "u"
# define PRIxPTR "x"
# define PRIXPTR "X"
/* Macros for scanning format specifiers. */ /* Macros for scanning format specifiers. */
/* Decimal notation. */ /* Signed decimal notation. */
# define SCNd8 "hhd" # define SCNd8 "hhd"
# define SCNd16 "hd" # define SCNd16 "hd"
# define SCNd32 "d" # define SCNd32 "d"
# define SCNd64 "lld" # define SCNd64 "lld"
# define SCNdLEAST8 "hhd"
# define SCNdLEAST16 "hd"
# define SCNdLEAST32 "d"
# define SCNdLEAST64 "lld"
# define SCNdFAST8 "hhd"
# define SCNdFAST16 "d"
# define SCNdFAST32 "d"
# define SCNdFAST64 "lld"
/* Signed decimal notation. */
# define SCNi8 "hhi" # define SCNi8 "hhi"
# define SCNi16 "hi" # define SCNi16 "hi"
# define SCNi32 "i" # define SCNi32 "i"
# define SCNi64 "lli" # define SCNi64 "lli"
# define SCNiLEAST8 "hhi"
# define SCNiLEAST16 "hi"
# define SCNiLEAST32 "i"
# define SCNiLEAST64 "lli"
# define SCNiFAST8 "hhi"
# define SCNiFAST16 "i"
# define SCNiFAST32 "i"
# define SCNiFAST64 "lli"
/* Unsigned decimal notation. */
# define SCNu8 "hhu" # define SCNu8 "hhu"
# define SCNu16 "hu" # define SCNu16 "hu"
# define SCNu32 "u" # define SCNu32 "u"
# define SCNu64 "llu" # define SCNu64 "llu"
# define SCNuLEAST8 "hhu"
# define SCNuLEAST16 "hu"
# define SCNuLEAST32 "u"
# define SCNuLEAST64 "llu"
# define SCNuFAST8 "hhu"
# define SCNuFAST16 "u"
# define SCNuFAST32 "u"
# define SCNuFAST64 "llu"
/* Octal notation. */ /* Octal notation. */
# define SCNo8 "hho" # define SCNo8 "hho"
# define SCNo16 "ho" # define SCNo16 "ho"
# define SCNo32 "o" # define SCNo32 "o"
# define SCNo64 "llo" # define SCNo64 "llo"
# define SCNoLEAST8 "hho"
# define SCNoLEAST16 "ho"
# define SCNoLEAST32 "o"
# define SCNoLEAST64 "llo"
# define SCNoFAST8 "hho"
# define SCNoFAST16 "o"
# define SCNoFAST32 "o"
# define SCNoFAST64 "llo"
/* Hexadecimal notation. */ /* Hexadecimal notation. */
# define SCNx8 "hhx" # define SCNx8 "hhx"
# define SCNx16 "hx" # define SCNx16 "hx"
# define SCNx32 "x" # define SCNx32 "x"
# define SCNx64 "llx" # define SCNx64 "llx"
# define SCNxLEAST8 "hhx"
# define SCNxLEAST16 "hx"
# define SCNxLEAST32 "x"
# define SCNxLEAST64 "llx"
# define SCNxFAST8 "hhx"
# define SCNxFAST16 "x"
# define SCNxFAST32 "x"
# define SCNxFAST64 "llx"
/* Macros for scanning `intmax_t' and `uintmax_t'. */
# define SCNdMAX "lld"
# define SCNiMAX "lli"
# define SCNoMAX "llo"
# define SCNuMAX "llu"
# define SCNxMAX "llx"
/* Macros for scaning `intptr_t' and `uintptr_t'. */ /* Macros for scaning `intptr_t' and `uintptr_t'. */
# define SCNdPTR "d" # define SCNdPTR "d"
# define SCNiPTR "i" # define SCNiPTR "i"
# define SCNoPTR "o" # define SCNoPTR "o"
# define SCNuPTR "u"
# define SCNxPTR "x" # define SCNxPTR "x"
#endif /* C++ && format macros */ #endif /* C++ && format macros */

View File

@ -82,6 +82,22 @@
# define PRIoFAST32 "o" # define PRIoFAST32 "o"
# define PRIoFAST64 "lo" # define PRIoFAST64 "lo"
/* Unsigned integers. */
# define PRIu8 "u"
# define PRIu16 "u"
# define PRIu32 "u"
# define PRIu64 "lu"
# define PRIuLEAST8 "u"
# define PRIuLEAST16 "u"
# define PRIuLEAST32 "u"
# define PRIuLEAST64 "lu"
# define PRIuFAST8 "u"
# define PRIuFAST16 "u"
# define PRIuFAST32 "u"
# define PRIuFAST64 "lu"
/* lowercase hexadecimal notation. */ /* lowercase hexadecimal notation. */
# define PRIx8 "x" # define PRIx8 "x"
# define PRIx16 "x" # define PRIx16 "x"
@ -115,54 +131,57 @@
# define PRIXFAST64 "lX" # define PRIXFAST64 "lX"
/* Unsigned integers. */
# define PRIu8 "u"
# define PRIu16 "u"
# define PRIu32 "u"
# define PRIu64 "lu"
# define PRIuLEAST8 "u"
# define PRIuLEAST16 "u"
# define PRIuLEAST32 "u"
# define PRIuLEAST64 "lu"
# define PRIuFAST8 "u"
# define PRIuFAST16 "u"
# define PRIuFAST32 "u"
# define PRIuFAST64 "lu"
/* Macros for printing `intmax_t' and `uintmax_t'. */ /* Macros for printing `intmax_t' and `uintmax_t'. */
# define PRIdMAX "ld" # define PRIdMAX "ld"
# define PRIiMAX "li"
# define PRIoMAX "lo" # define PRIoMAX "lo"
# define PRIxMAX "lx"
# define PRIuMAX "lu" # define PRIuMAX "lu"
# define PRIxMAX "lx"
# define PRIXMAX "lX"
/* Macros for printing `intptr_t' and `uintptr_t'. */ /* Macros for printing `intptr_t' and `uintptr_t'. */
# define PRIdPTR "ld" # define PRIdPTR "ld"
# define PRIiPTR "li"
# define PRIoPTR "lo" # define PRIoPTR "lo"
# define PRIxPTR "lx"
# define PRIuPTR "lu" # define PRIuPTR "lu"
# define PRIxPTR "lx"
# define PRIXPTR "lX"
/* Macros for printing format specifiers. */ /* Macros for printing format specifiers. */
/* Decimal notation. */ /* Signed decimal notation. */
# define SCNd8 "hhd" # define SCNd8 "hhd"
# define SCNd16 "hd" # define SCNd16 "hd"
# define SCNd32 "d" # define SCNd32 "d"
# define SCNd64 "ld" # define SCNd64 "ld"
# define SCNdLEAST8 "hhd"
# define SCNdLEAST16 "hd"
# define SCNdLEAST32 "d"
# define SCNdLEAST64 "ld"
# define SCNdFAST8 "hhd"
# define SCNdFAST16 "ld"
# define SCNdFAST32 "ld"
# define SCNdFAST64 "ld"
/* Signed decimal notation. */
# define SCNi8 "hhi" # define SCNi8 "hhi"
# define SCNi16 "hi" # define SCNi16 "hi"
# define SCNi32 "i" # define SCNi32 "i"
# define SCNi64 "li" # define SCNi64 "li"
# define SCNu8 "hhu" # define SCNiLEAST8 "hhi"
# define SCNu16 "hu" # define SCNiLEAST16 "hi"
# define SCNu32 "u" # define SCNiLEAST32 "i"
# define SCNu64 "lu" # define SCNiLEAST64 "li"
# define SCNiFAST8 "hhi"
# define SCNiFAST16 "li"
# define SCNiFAST32 "li"
# define SCNiFAST64 "li"
/* Octal notation. */ /* Octal notation. */
# define SCNo8 "hho" # define SCNo8 "hho"
@ -170,23 +189,61 @@
# define SCNo32 "o" # define SCNo32 "o"
# define SCNo64 "lo" # define SCNo64 "lo"
# define SCNoLEAST8 "hho"
# define SCNoLEAST16 "ho"
# define SCNoLEAST32 "o"
# define SCNoLEAST64 "lo"
# define SCNoFAST8 "hho"
# define SCNoFAST16 "lo"
# define SCNoFAST32 "lo"
# define SCNoFAST64 "lo"
/* Unsigned decimal notation. */
# define SCNu8 "hhu"
# define SCNu16 "hu"
# define SCNu32 "u"
# define SCNu64 "lu"
# define SCNuLEAST8 "hhu"
# define SCNuLEAST16 "hu"
# define SCNuLEAST32 "u"
# define SCNuLEAST64 "lu"
# define SCNuFAST8 "hhu"
# define SCNuFAST16 "lu"
# define SCNuFAST32 "lu"
# define SCNuFAST64 "lu"
/* Hexadecimal notation. */ /* Hexadecimal notation. */
# define SCNx8 "hhx" # define SCNx8 "hhx"
# define SCNx16 "hx" # define SCNx16 "hx"
# define SCNx32 "x" # define SCNx32 "x"
# define SCNx64 "lx" # define SCNx64 "lx"
# define SCNxLEAST8 "hhx"
# define SCNxLEAST16 "hx"
# define SCNxLEAST32 "x"
# define SCNxLEAST64 "lx"
/* Macros for scaning `intfast_t' and `uintfast_t'. */ # define SCNxFAST8 "hhx"
# define SCNdFAST "ld" # define SCNxFAST16 "lx"
# define SCNiFAST "li" # define SCNxFAST32 "lx"
# define SCNoFAST "lo" # define SCNxFAST64 "lx"
# define SCNxFAST "lx"
/* Macros for scaning `intptr_t' and `uintptr_t'. */
/* Macros for scanning `intmax_t' and `uintmax_t'. */
# define SCNdMAX "ld"
# define SCNiMAX "li"
# define SCNoMAX "lo"
# define SCNuMAX "lu"
# define SCNxMAX "lx"
/* Macros for scanning `intptr_t' and `uintptr_t'. */
# define SCNdPTR "ld" # define SCNdPTR "ld"
# define SCNiPTR "li" # define SCNiPTR "li"
# define SCNoPTR "lo" # define SCNoPTR "lo"
# define SCNuPTR "lu"
# define SCNxPTR "lx" # define SCNxPTR "lx"
#endif /* C++ && format macros */ #endif /* C++ && format macros */