diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-10-31 23:32:56 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-10-31 23:32:56 +0000 |
commit | 63ae7b6309964400c6289d9030c7d336a33b304f (patch) | |
tree | b4b63c3c08a2221de53048493b2c586a9aa79689 /sysdeps/unix | |
parent | b4cbd37109d882aa052e7973684774eaa887071b (diff) | |
download | glibc-63ae7b6309964400c6289d9030c7d336a33b304f.tar glibc-63ae7b6309964400c6289d9030c7d336a33b304f.tar.gz glibc-63ae7b6309964400c6289d9030c7d336a33b304f.tar.bz2 glibc-63ae7b6309964400c6289d9030c7d336a33b304f.zip |
Update.
* Versions.def (libm): Add GLIBC_2.1.3.
ISO C99 TR1 changes various fe* functions to return an error value.
* math/Versions [GLIBC_2.1.3]: Add feclearexcept, fegetexceptflag,
feraiseexcept, fesetexceptflag, fegetenv, fesetenv, and feupdateenv.
* sysdeps/alpha/fpu/fclrexcpt.c: Return value and add alias.
* sysdeps/alpha/fpu/fegetenv.c: Likewise.
* sysdeps/alpha/fpu/fesetenv.c: Likewise.
* sysdeps/alpha/fpu/feupdateenv.c: Likewise.
* sysdeps/alpha/fpu/fgetexcptflg.c: Likewise.
* sysdeps/alpha/fpu/fraiseexcpt.c: Likewise.
* sysdeps/alpha/fpu/fsetexcptflg.c: Likewise.
* sysdeps/arm/fpu/fclrexcpt.c: Likewise.
* sysdeps/arm/fpu/fegetenv.c: Likewise.
* sysdeps/arm/fpu/fesetenv.c: Likewise.
* sysdeps/arm/fpu/fraiseexcpt.c: Likewise.
* sysdeps/arm/fpu/fsetexcptflg.c: Likewise.
* sysdeps/generic/fclrexcpt.c: Likewise.
* sysdeps/generic/fegetenv.c: Likewise.
* sysdeps/generic/fesetenv.c: Likewise.
* sysdeps/generic/feupdateenv.c: Likewise.
* sysdeps/generic/fgetexcptflg.c: Likewise.
* sysdeps/generic/fraiseexcpt.c: Likewise.
* sysdeps/generic/fsetexcptflg.c: Likewise.
* sysdeps/i386/fpu/fclrexcpt.c: Likewise.
* sysdeps/i386/fpu/fegetenv.c: Likewise.
* sysdeps/i386/fpu/fesetenv.c: Likewise.
* sysdeps/i386/fpu/feupdateenv.c: Likewise.
* sysdeps/i386/fpu/fgetexcptflg.c: Likewise.
* sysdeps/i386/fpu/fraiseexcpt.c: Likewise.
* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
* sysdeps/m68k/fpu/fclrexcpt.c: Likewise.
* sysdeps/m68k/fpu/fegetenv.c: Likewise.
* sysdeps/m68k/fpu/fesetenv.c: Likewise.
* sysdeps/m68k/fpu/feupdateenv.c: Likewise.
* sysdeps/m68k/fpu/fgetexcptflg.c: Likewise.
* sysdeps/m68k/fpu/fraiseexcpt.c: Likewise.
* sysdeps/m68k/fpu/fsetexcptflg.c: Likewise.
* sysdeps/mips/fclrexcpt.c: Likewise.
* sysdeps/mips/fegetenv.c: Likewise.
* sysdeps/mips/fesetenv.c: Likewise.
* sysdeps/mips/feupdateenv.c: Likewise.
* sysdeps/mips/fgetexcptflg.c: Likewise.
* sysdeps/powerpc/fclrexcpt.c: Likewise.
* sysdeps/powerpc/fegetenv.c: Likewise.
* sysdeps/powerpc/fesetenv.c: Likewise.
* sysdeps/powerpc/feupdateenv.c: Likewise.
* sysdeps/powerpc/fgetexcptflg.c: Likewise.
* sysdeps/powerpc/fraiseexcpt.c: Likewise.
* sysdeps/powerpc/fsetexcptflg.c: Likewise.
* sysdeps/sparc/fpu/fclrexcpt.c: Likewise.
* sysdeps/sparc/fpu/fegetenv.c: Likewise.
* sysdeps/sparc/fpu/fesetenv.c: Likewise.
* sysdeps/sparc/fpu/feupdateenv.c: Likewise.
* sysdeps/sparc/fpu/fgetexcptflg.c: Likewise.
* sysdeps/sparc/fpu/fraiseexcpt.c: Likewise.
* sysdeps/sparc/fpu/fsetexcptflg.c: Likewise.
* math/fenv.h: Adjust prototypes.: Likewise.
* manual/arith.texi: Adjust documentation for these changes.
* manual/arith.texi: Document feraiseexcept.
* sysdeps/powerpc/fegetenv.c: Moved to...
* sysdeps/powerpc/fpu/fegetenv.c: ...here.
* sysdeps/powerpc/fegetround.c: Moved to...
* sysdeps/powerpc/fpu/fegetround.c: ...here.
* sysdeps/powerpc/feholdexcpt.c: Moved to...
* sysdeps/powerpc/fpu/feholdexcpt.c: ...here.
* sysdeps/powerpc/fesetenv.c: Moved to...
* sysdeps/powerpc/fpu/fesetenv.c: ...here.
* sysdeps/powerpc/fenv_libc.h: Moved to...
* sysdeps/powerpc/fpu/fenv_libc.h: ...here.
* sysdeps/powerpc/feupdateenv.c: Moved to...
* sysdeps/powerpc/fpu/feupdateenv.c: ...here.
* sysdeps/powerpc/fgetexcptflg.c: Moved to...
* sysdeps/powerpc/fpu/fgetexcptflg.c: ...here.
* sysdeps/powerpc/fraiseexcpt.c: Moved to...
* sysdeps/powerpc/fpu/fraiseexcpt.c: ...here.
* sysdeps/powerpc/fsetexcptflg.c: Moved to...
* sysdeps/powerpc/fpu/fsetexcptflg.c: ...here.
* sysdeps/powerpc/ftestexcept.c: Moved to...
* sysdeps/powerpc/fpu/ftestexcept.c: ...here.
* sysdeps/powerpc/fesetround.c: Moved to...
* sysdeps/powerpc/fpu/fesetround.c: ...here
* sysdeps/powerpc/fenv_const.c: Moved to...
* sysdeps/powerpc/fpu/fenv_const.c: ...here.
1999-10-29 Jakub Jelinek <jakub@redhat.com>
* stdlib/longlong.h: Avoid UDIV_TIME redefinition.
* sysdeps/sparc/sparc32/dl-machine.h: Fix loading of SPARC v8plus
libraries from statically linked programs.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: POSIX 199309
fix for sigaction on SPARC.
Patches by David S. Miller <davem@redhat.com>.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Declare
gregset_t and other required structures and defines for SPARC 64bit
ABI as well, not only 32bit ABI.
1999-10-31 Andreas Jaeger <aj@suse.de>
* sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Replace __USE_ISOC9X
by __USE_ISOC99 and update comments.
* math/complex.h: Update comments for ISO C99.
* math/fenv.h: Likewise.
* math/test-fenv.c: Likewise.
* math/tgmath.h: Likewise.
* libio/stdio.h: Likewise.
* posix/sys/types.h: Likewise.
* sysdeps/generic/inttypes.h: Likewise.
* sysdeps/generic/stdint.h: Likewise.
1999-10-31 Ulrich Drepper <drepper@cygnus.com>
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/sigaction.h | 17 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sys/ucontext.h | 37 |
2 files changed, 49 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h index 0797a5cbf4..d00990569f 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/SPARC sigaction. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999 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 @@ -24,8 +24,21 @@ /* Structure describing the action to be taken when a signal arrives. */ struct sigaction { - /* Signal handler. */ + /* Signal handler. */ +#ifdef __USE_POSIX199309 + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else __sighandler_t sa_handler; +#endif /* Additional set of signals to be blocked. */ __sigset_t sa_mask; diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h b/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h index 03ec8ae791..58295ff5b1 100644 --- a/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h @@ -85,7 +85,7 @@ typedef struct ucontext { mcontext_t uc_mcontext; } ucontext_t; -#else /* __WORDSIZE == 32 */ +#endif /* __WORDISIZE == 64 */ /* * Location of the users' stored registers relative to R0. @@ -117,11 +117,24 @@ typedef struct ucontext { * treats arrays and structures as parameters. * * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), - * but that the ABI defines it absolutely to be 19. + * but that the ABI defines it absolutely to be 21 (resp. 19). */ -#define NGREG 19 +#if __WORDSIZE == 64 + +#define REG_ASI (19) +#define REG_FPRS (20) + +#define NGREG 21 +typedef long greg_t; + +#else /* __WORDSIZE == 32 */ + +#define NGREG 19 typedef int greg_t; + +#endif /* __WORDSIZE == 32 */ + typedef greg_t gregset_t[NGREG]; /* @@ -182,6 +195,24 @@ struct fq #define V9_FPU_FSR_TYPE unsigned long long #define V9_FPU_FPRS_TYPE unsigned +#if __WORDSIZE == 64 + +typedef struct fpu + { + union { /* FPU floating point regs */ + unsigned fpu_regs[32]; /* 32 singles */ + double fpu_dregs[16]; /* 32 doubles */ + long double fpu_qregs[16]; /* 16 quads */ + } fpu_fr; + struct fq *fpu_q; /* ptr to array of FQ entries */ + unsigned long fpu_fsr; /* FPU status register */ + unsigned char fpu_qcnt; /* # of entries in saved FQ */ + unsigned char fpu_q_entrysize; /* # of bytes per FQ entry */ + unsigned char fpu_en; /* flag signifying fpu in use */ + } fpregset_t; + +#else /* __WORDSIZE == 32 */ + typedef struct fpu { union { /* FPU floating point regs */ |