From a0386a0da3369e271bbfc03d54c49ba4ab62cd3a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 28 Sep 2000 23:32:48 +0000 Subject: Update. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2000-09-28 Franz Sirl * sysdeps/unix/sysv/linux/kernel-features.h: Add __ASSUME_IPC64, only define it for powerpc for kernel >= 2.4.0. * sysdeps/unix/sysv/linux/msgctl.c: Test for __ASSUME_IPC64, not __ASSUME_32BITUIDS. * sysdeps/unix/sysv/linux/semctl.c: Likewise. * sysdeps/unix/sysv/linux/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Sync with kernel. * sysdeps/unix/sysv/linux/powerpc/bits/msq.h: New file. * sysdeps/unix/sysv/linux/powerpc/bits/sem.h: New file. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: New file. 2000-09-28 Martin Schwidefsksy * sysdeps/s390/atomicity.h: Fix compare_and_swap. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_GETLK64,F_SETLK64,F_SETLKW64): Use values from 2.4.0-test8. 2000-09-28 Denis Joseph Barrow * sysdeps/unix/sysv/linux/s390/sys/procfs.h: Use definitions from ucontext.h. * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Fix ucontext structure. 2000-09-27 Andreas Schwab * math/Makefile (distribute): Explicitly add the long double test sources, to get them included even if long double is not supported. 2000-09-27 Jes Sorensen * elf/soinit.c (struct object): Move definition to gccframe.h and include it. Problem identified by HJ Lu. * sysdeps/ia64/gccframe.h: New file. ia64 specific version of struct object to be searched for frame unwind info. * sysdeps/generic/gccframe.h: New file. Generic version of struct object to be searched for frame unwind info. 2000-09-28 Ulrich Drepper * manual/errno.texi: Correct error text for ENXIO. Reported by Jörg Schilling . 2000-09-27 Jes Sorensen * sysdeps/ia64/fpu/fsetexcptflg.c (fesetexceptflag): Set the exception status bits rather than the exception disable bits. Don't include math.h. * sysdeps/ia64/fpu/fgetexcptflg.c (fegetexceptflag): Report the status of exceptions currently raised rather than which exceptions are enabled. * sysdeps/ia64/fpu/fclrexcpt.c (feclearexcept): Typecase to fenv_t rather than unsigned long int. * sysdeps/ia64/fpu/fedisblxcpt.c (fedisableexcept): Only disable the exceptions actually requested by the caller and not just disable all exceptions. * sysdeps/ia64/fpu/feenablxcpt.c (feenableexcept): Exceptions on the ia64 are enabled by clearing the respective bits in the fpsr, not setting them. * sysdeps/ia64/bits/fenv.h: typedef fexcept_t and fenv_t to unsigned long int rather than unsigned long to be consistent with the coding conventions. 2000-09-20 H.J. Lu * sysdeps/ia64/fpu/fesetenv.c (fesetenv): Use fenv_t instead of unsigned long int. * sysdeps/ia64/fpu/fesetround.c (fesetround): Likewise. 2000-09-28 Ulrich Drepper * string/bits/string2.h: Unify #if usage. 2000-09-27 Jakub Jelinek * math/test-fenv.c (feexcp_mask_test): If enabling all exceptions and disabling underflow or overflow, disable inexact as well. * sysdeps/gnu/netinet/tcp.h: Add tcp_info defines and types. --- sysdeps/unix/sysv/linux/s390/sys/procfs.h | 28 +++-------- sysdeps/unix/sysv/linux/s390/sys/ucontext.h | 72 +++++++++++------------------ 2 files changed, 32 insertions(+), 68 deletions(-) (limited to 'sysdeps/unix/sysv/linux/s390/sys') diff --git a/sysdeps/unix/sysv/linux/s390/sys/procfs.h b/sysdeps/unix/sysv/linux/s390/sys/procfs.h index ee00621489..8b60338cdb 100644 --- a/sysdeps/unix/sysv/linux/s390/sys/procfs.h +++ b/sysdeps/unix/sysv/linux/s390/sys/procfs.h @@ -32,31 +32,15 @@ #include #include #include +#include __BEGIN_DECLS -/* Type for a general-purpose register. */ -typedef unsigned long elf_greg_t; - -/* And the whole bunch of them. We should have used `struct s390_regs', - but to avoid name space pollution and since the tradition says that - the register set is an array, we make elf_gregset_t a simple array - that has the same size as s390_regs. */ -#define ELF_NGREG 35 -typedef elf_greg_t elf_gregset_t[ELF_NGREG]; - -typedef union -{ - double d; - float f; -} elf_fpreg_t; - -/* Register set for the floating-point registers. */ -typedef struct { - unsigned int fpc; - elf_fpreg_t fprs[NUM_FPRS]; -} elf_fpregset_t; - +typedef greg_t elf_greg_t; +#define ELF_NGREG NGREG +typedef gregset_t elf_gregset_t; +typedef fpreg_t elf_fpreg_t; +typedef fpregset_t elf_fpregset_t; /* Signal info. */ struct elf_siginfo diff --git a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h index 4723ce1810..b9ec8069b0 100644 --- a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h @@ -19,7 +19,9 @@ #ifndef _SYS_UCONTEXT_H #define _SYS_UCONTEXT_H 1 - +/* Forward definition to avoid parse errors */ +struct ucontext; +typedef struct ucontext ucontext_t; #include #include @@ -28,62 +30,39 @@ #include -/* Type for general register. */ -typedef int greg_t; +/* Type for a general-purpose register. */ +typedef unsigned long greg_t; -/* Number of general registers. */ -#define NGREG 16 +/* And the whole bunch of them. We should have used `struct s390_regs', + but to avoid name space pollution and since the tradition says that + the register set is an array, we make gregset_t a simple array + that has the same size as s390_regs. */ +#define NGREG 36 +#define NUM_FPRS 16 +typedef greg_t gregset_t[NGREG]; -/* Number of each register is the `gregset_t' array. */ -enum +typedef union { - GPR0 = 0, -#define GPR0 GPR0 - GPR1, -#define GPR1 GPR1 - GPR2, -#define GPR2 GPR2 - GPR3, -#define GPR3 GPR3 - GPR4, -#define GPR4 GPR4 - GPR5, -#define GPR5 GPR5 - GPR6, -#define GPR6 GPR6 - GPR7, -#define GPR7 GPR7 - GPR8, -#define GPR8 GPR8 - GPR9, -#define GPR9 GPR9 - GPRA, -#define GPRA GPRA - GPRB, -#define GPRB GPRB - GPRC, -#define GPRC GPRC - GPRD, -#define GPRD GPRD - GPRE, -#define GPRE GPRE - GPRF -#define GPRF GPRF -}; + double d; + float f; +} fpreg_t; -/* Structure to describe FPU registers. */ -typedef long long fpreg_t; +/* Register set for the floating-point registers. */ +typedef struct { + unsigned int fpc; + fpreg_t fprs[NUM_FPRS]; +} fpregset_t; /* Context to describe whole processor state. */ typedef struct { int version; - greg_t gregs[NGREG]; - fpreg_t fpregs[16]; + gregset_t gregs; + fpregset_t fpregs; } mcontext_t; /* Userlevel context. */ -typedef struct ucontext +struct ucontext { unsigned long int uc_flags; struct ucontext *uc_links; @@ -91,6 +70,7 @@ typedef struct ucontext stack_t uc_stack; mcontext_t uc_mcontext; long int uc_filler[170]; - } ucontext_t; + }; + #endif /* sys/ucontext.h */ -- cgit 1.4.1