From 39d1d4e5cae89fc2c401a6a65ef47444a76c0a40 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 12 Oct 1999 16:00:04 +0000 Subject: Update. 1999-10-12 Andreas Jaeger * stdlib/tst-environ.c: Include for strcpy declaration. * math/basic-test.c: Fix typo. * locale/programs/xstrdup.c: Include string.h for glibc compilation to get string prototypes. * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Add definition of gregset_t and fpregset_t. * sysdeps/generic/s_nexttowardf.c: Add parenthesis to shut up gcc warnings. Correct value for x == 0. * argp/argp-help.c: Remove broken definition of flockfile and funlockfile. 1999-10-12 Andreas Schwab * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Update to match generic Linux version. 1999-10-12 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/sigaction.h: Remove K&R compatibility. --- sysdeps/generic/s_nexttowardf.c | 6 +++--- sysdeps/unix/sysv/linux/alpha/bits/sigaction.h | 15 ++++++++++++++- sysdeps/unix/sysv/linux/alpha/sys/ucontext.h | 20 ++++++++++++++++++++ sysdeps/unix/sysv/linux/bits/sigaction.h | 6 +++--- 4 files changed, 40 insertions(+), 7 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/s_nexttowardf.c b/sysdeps/generic/s_nexttowardf.c index 56cc04c10b..f99b503f4e 100644 --- a/sysdeps/generic/s_nexttowardf.c +++ b/sysdeps/generic/s_nexttowardf.c @@ -45,21 +45,21 @@ if((long double) x==y) return y; /* x=y, return y */ if(ix==0) { /* x == 0 */ float x2; - SET_FLOAT_WORD(x,(u_int32_t)((hy>>32)&0x80000000)|1);/* return +-minsub*/ + SET_FLOAT_WORD(x,(u_int32_t)(hy&0x80000000)|1);/* return +-minsub*/ x2 = x*x; if(x2==x) return x2; else return x; /* raise underflow flag */ } if(hx>=0) { /* x > 0 */ if(hy<0||(ix>>23)>(iy>>20)-0x380 || ((ix>>23)==(iy>>20)-0x380 - && (ix&0x7fffff)>((hy<<3)|(ly>>29))&0x7fffff)) /* x > y, x -= ulp */ + && (ix&0x7fffff)>(((hy<<3)|(ly>>29))&0x7fffff))) /* x > y, x -= ulp */ hx -= 1; else /* x < y, x += ulp */ hx += 1; } else { /* x < 0 */ if(hy>=0||(ix>>23)>(iy>>20)-0x380 || ((ix>>23)==(iy>>20)-0x380 - && (ix&0x7fffff)>((hy<<3)|(ly>>29))&0x7fffff)) /* x < y, x -= ulp */ + && (ix&0x7fffff)>(((hy<<3)|(ly>>29))&0x7fffff))) /* x < y, x -= ulp */ hx -= 1; else /* x > y, x += ulp */ hx += 1; diff --git a/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h index 2f8b3bad3c..7a586be7c9 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/Alpha sigaction. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 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 @@ -25,7 +25,20 @@ struct sigaction { /* 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/alpha/sys/ucontext.h b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h index 08eeb6e4a2..50c643ae06 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h @@ -24,6 +24,26 @@ #include + +/* Type for general register. */ +typedef long int greg_t; + +/* Number of general registers. */ +#define NGREG 33 + +/* Container for all general registers. */ +typedef greg_t gregset_t[NGREG]; + +/* Type for floating-point register. */ +typedef long int fpreg_t; + +/* Number of general registers. */ +#define NFPREG 32 + +/* Container for all general registers. */ +typedef fpreg_t fpregset_t[NFPREG]; + + /* A machine context is exactly a sigcontext. */ typedef struct sigcontext mcontext_t; diff --git a/sysdeps/unix/sysv/linux/bits/sigaction.h b/sysdeps/unix/sysv/linux/bits/sigaction.h index b357c45342..d4ba74dfa8 100644 --- a/sysdeps/unix/sysv/linux/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux's sigaction. - Copyright (C) 1993, 94, 95, 96, 97, 98 Free Software Foundation, Inc. + Copyright (C) 1993, 94, 95, 96, 97, 98, 99 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 @@ -31,7 +31,7 @@ struct sigaction /* Used if SA_SIGINFO is not set. */ __sighandler_t sa_handler; /* Used if SA_SIGINFO is set. */ - void (*sa_sigaction) __PMT ((int, siginfo_t *, void *)); + void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; # define sa_handler __sigaction_handler.sa_handler @@ -47,7 +47,7 @@ struct sigaction int sa_flags; /* Restore handler. */ - void (*sa_restorer) __PMT ((void)); + void (*sa_restorer) (void); }; /* Bits in `sa_flags'. */ -- cgit v1.2.3-70-g09d2