1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
1999-05-24  Jakub Jelinek  <jj@ultra.linux.cz>

	* sysdeps/sparc/bits/wordsize.h: New file.
	* sysdeps/sparc/bits/fenv.h: New file.
	* sysdeps/sparc/fpu_control.h: New file.
	* sysdeps/sparc/gmp-mparam.h: New file.

	* sysdeps/sparc/sparc32/fpu/bits/fenv.h: Remove.
	* sysdeps/sparc/sparc32/fpu/fpu_control.h: Remove.
	* sysdeps/sparc/sparc64/bits/wordsize.h: Remove.
	* sysdeps/sparc/sparc64/fpu/bits/fenv.h: Remove.
	* sysdeps/sparc/sparc64/fpu/fpu_control.h: Remove.
	* sysdeps/sparc/sparc64/gmp-mparam.h: Remove.

	* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/types.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: New file.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: Remove.

1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>
1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>
1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>
This commit is contained in:
Ulrich Drepper
1999-05-25 11:58:59 +00:00
parent 6d8ec2b1b2
commit d265c8337f
14 changed files with 81 additions and 414 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997 Free Software Foundation, Inc.
/* Copyright (C) 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

View File

@ -24,13 +24,8 @@
struct statfs
{
#if __WORDSIZE == 64
long int f_type;
long int f_bsize;
#else
int f_type;
int f_bsize;
#endif
#ifndef __USE_FILE_OFFSET64
__fsblkcnt_t f_blocks;
__fsblkcnt_t f_bfree;
@ -45,37 +40,22 @@ struct statfs
__fsfilcnt64_t f_ffree;
#endif
__fsid_t f_fsid;
#if __WORDSIZE == 64
long int f_namelen;
long int f_spare[6];
#else
int f_namelen;
int f_spare[6];
#endif
};
#ifdef __USE_LARGEFILE64
struct statfs64
{
#if __WORDSIZE == 64
long int f_type;
long int f_bsize;
#else
int f_type;
int f_bsize;
#endif
__fsblkcnt64_t f_blocks;
__fsblkcnt64_t f_bfree;
__fsblkcnt64_t f_bavail;
__fsfilcnt64_t f_files;
__fsfilcnt64_t f_ffree;
__fsid_t f_fsid;
#if __WORDSIZE == 64
long int f_namelen;
long int f_spare[6];
#else
int f_namelen;
int f_spare[6];
#endif
};
#endif

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 92, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
/* Copyright (C) 1991,92,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
@ -38,10 +38,10 @@ typedef unsigned long int __u_long;
typedef unsigned long int __u_quad_t;
typedef long int __quad_t;
#else
#ifdef __GNUC__
# ifdef __GNUC__
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
#else
# else
typedef struct
{
long int __val[2];
@ -50,7 +50,7 @@ typedef struct
{
__u_long __val[2];
} __u_quad_t;
#endif
# endif
#endif
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
@ -63,10 +63,10 @@ typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
typedef __quad_t *__qaddr_t;
#else
#ifdef __GNUC__
# ifdef __GNUC__
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
#endif
# endif
#endif
typedef __u_quad_t __dev_t; /* Type of device numbers. */
@ -125,10 +125,10 @@ typedef struct
from the user namespace. */
#ifdef __USE_XOPEN
__fd_mask fds_bits[__FD_SETSIZE / __NFDBITS];
# define __FDS_BITS(set) ((set)->fds_bits)
# define __FDS_BITS(set) ((set)->fds_bits)
#else
__fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS];
# define __FDS_BITS(set) ((set)->__fds_bits)
# define __FDS_BITS(set) ((set)->__fds_bits)
#endif
} __fd_set;
@ -150,11 +150,7 @@ typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;
/* Type to count file system blocks. */
#if __WORDSIZE == 64
typedef __u_long __fsblkcnt_t;
#else
typedef unsigned int __fsblkcnt_t;
#endif
typedef __u_quad_t __fsblkcnt64_t;
/* Type to count file system inodes. */

View File

@ -1,172 +0,0 @@
/* Copyright (C) 1998 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
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. */
#ifndef _SYS_UCONTEXT_H
#define _SYS_UCONTEXT_H 1
#include <features.h>
#include <signal.h>
/*
* Location of the users' stored registers relative to R0.
* Usage is as an index into a gregset_t array or as u.u_ar0[XX].
*/
#define REG_PSR (0)
#define REG_PC (1)
#define REG_nPC (2)
#define REG_Y (3)
#define REG_G1 (4)
#define REG_G2 (5)
#define REG_G3 (6)
#define REG_G4 (7)
#define REG_G5 (8)
#define REG_G6 (9)
#define REG_G7 (10)
#define REG_O0 (11)
#define REG_O1 (12)
#define REG_O2 (13)
#define REG_O3 (14)
#define REG_O4 (15)
#define REG_O5 (16)
#define REG_O6 (17)
#define REG_O7 (18)
/*
* A gregset_t is defined as an array type for compatibility with the reference
* source. This is important due to differences in the way the C language
* 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.
*/
#define NGREG 19
typedef int greg_t;
typedef greg_t gregset_t[NGREG];
/*
* The following structures define how a register window can appear on the
* stack. This structure is available (when required) through the `gwins'
* field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the
* maximum number of outstanding regiters window defined in the SPARC
* architecture (*not* implementation).
*/
#define SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */
struct rwindow
{
greg_t rw_local[8]; /* locals */
greg_t rw_in[8]; /* ins */
};
#define rw_fp rw_in[6] /* frame pointer */
#define rw_rtn rw_in[7] /* return address */
typedef struct gwindows
{
int wbcnt;
int *spbuf[SPARC_MAXREGWINDOW];
struct rwindow wbuf[SPARC_MAXREGWINDOW];
} gwindows_t;
/*
* Floating point definitions.
*/
#define MAXFPQ 16 /* max # of fpu queue entries currently supported */
/*
* struct fq defines the minimal format of a floating point instruction queue
* entry. The size of entries in the floating point queue are implementation
* dependent. The union FQu is guarenteed to be the first field in any ABI
* conformant system implementation. Any additional fields provided by an
* implementation should not be used applications designed to be ABI conformant. */
struct fpq
{
unsigned long *fpq_addr; /* address */
unsigned long fpq_instr; /* instruction */
};
struct fq
{
union /* FPU inst/addr queue */
{
double whole;
struct fpq fpq;
} FQu;
};
#define FPU_REGS_TYPE unsigned
#define FPU_DREGS_TYPE unsigned long long
#define V7_FPU_FSR_TYPE unsigned
#define V9_FPU_FSR_TYPE unsigned long long
#define V9_FPU_FPRS_TYPE unsigned
typedef struct fpu
{
union { /* FPU floating point regs */
unsigned long long fpu_regs[32]; /* 32 singles */
double fpu_dregs[16]; /* 16 doubles */
} fpu_fr;
struct fq *fpu_q; /* ptr to array of FQ entries */
unsigned 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;
/*
* The following structure is for associating extra register state with
* the ucontext structure and is kept within the uc_mcontext filler area.
*
* If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to
* extra register state. The exact format of the extra register state
* pointed to by xrs_ptr is platform-dependent.
*
* Note: a platform may or may not manage extra register state.
*/
typedef struct
{
unsigned int xrs_id; /* indicates xrs_ptr validity */
void * xrs_ptr; /* ptr to extra reg state */
} xrs_t;
#define XRS_ID 0x78727300 /* the string "xrs" */
typedef struct
{
gregset_t gregs; /* general register set */
gwindows_t *gwins; /* POSSIBLE pointer to register windows */
fpregset_t fpregs; /* floating point register set */
xrs_t xrs; /* POSSIBLE extra register state association */
long filler[19];
} mcontext_t;
/* Userlevel context. */
typedef struct ucontext
{
unsigned long uc_flags;
struct ucontext *uc_link;
unsigned long uc_sigmask[4]; /* a svr4 sigset_t */
stack_t uc_stack;
mcontext_t uc_mcontext;
long uc_filler[23];
} ucontext_t;
#endif /* sys/ucontext.h */