test(worldgen): 村庄断言改为 3×3 区块总量(跨区块建筑统计)
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
#ifndef __A_OUT_GNU_H__
|
||||
# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
/* Signal to users of this header that this architecture really doesn't
|
||||
support a.out binary format. */
|
||||
#define __NO_A_OUT_SUPPORT 1
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef _BITS_ENDIANNESS_H
|
||||
#define _BITS_ENDIANNESS_H 1
|
||||
|
||||
#ifndef _BITS_ENDIAN_H
|
||||
# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
|
||||
#endif
|
||||
|
||||
/* Sparc is big-endian, but v9 supports endian conversion on loads/stores
|
||||
and GCC supports such a mode. Be prepared. */
|
||||
#ifdef __LITTLE_ENDIAN__
|
||||
# define __BYTE_ORDER __LITTLE_ENDIAN
|
||||
#else
|
||||
# define __BYTE_ORDER __BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#endif /* bits/endianness.h */
|
||||
@@ -0,0 +1,96 @@
|
||||
/* Copyright (C) 1999-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _UNISTD_H
|
||||
# error "Never include this file directly. Use <unistd.h> instead"
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
/* This header should define the following symbols under the described
|
||||
situations. A value `1' means that the model is always supported,
|
||||
`-1' means it is never supported. Undefined means it cannot be
|
||||
statically decided.
|
||||
|
||||
_POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
|
||||
_POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
|
||||
|
||||
_POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
|
||||
_POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
|
||||
|
||||
The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
|
||||
_POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
|
||||
_XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
|
||||
used in previous versions of the Unix standard and are available
|
||||
only for compatibility.
|
||||
*/
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
/* Environments with 32-bit wide pointers are optionally provided.
|
||||
Therefore following macros aren't defined:
|
||||
# undef _POSIX_V7_ILP32_OFF32
|
||||
# undef _POSIX_V7_ILP32_OFFBIG
|
||||
# undef _POSIX_V6_ILP32_OFF32
|
||||
# undef _POSIX_V6_ILP32_OFFBIG
|
||||
# undef _XBS5_ILP32_OFF32
|
||||
# undef _XBS5_ILP32_OFFBIG
|
||||
and users need to check at runtime. */
|
||||
|
||||
/* We also have no use (for now) for an environment with bigger pointers
|
||||
and offsets. */
|
||||
# define _POSIX_V7_LPBIG_OFFBIG -1
|
||||
# define _POSIX_V6_LPBIG_OFFBIG -1
|
||||
# define _XBS5_LPBIG_OFFBIG -1
|
||||
|
||||
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
|
||||
# define _POSIX_V7_LP64_OFF64 1
|
||||
# define _POSIX_V6_LP64_OFF64 1
|
||||
# define _XBS5_LP64_OFF64 1
|
||||
|
||||
#else /* __WORDSIZE == 32 */
|
||||
|
||||
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
|
||||
and all platforms support LFS. */
|
||||
# define _POSIX_V7_ILP32_OFF32 1
|
||||
# define _POSIX_V7_ILP32_OFFBIG 1
|
||||
# define _POSIX_V6_ILP32_OFF32 1
|
||||
# define _POSIX_V6_ILP32_OFFBIG 1
|
||||
# define _XBS5_ILP32_OFF32 1
|
||||
# define _XBS5_ILP32_OFFBIG 1
|
||||
|
||||
/* We optionally provide an environment with the above size but an 64-bit
|
||||
side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
|
||||
|
||||
/* Environments with 64-bit wide pointers can be provided,
|
||||
so these macros aren't defined:
|
||||
# undef _POSIX_V7_LP64_OFF64
|
||||
# undef _POSIX_V7_LPBIG_OFFBIG
|
||||
# undef _POSIX_V6_LP64_OFF64
|
||||
# undef _POSIX_V6_LPBIG_OFFBIG
|
||||
# undef _XBS5_LP64_OFF64
|
||||
# undef _XBS5_LPBIG_OFFBIG
|
||||
and sysconf tests for it at runtime. */
|
||||
|
||||
#endif /* __WORDSIZE == 32 */
|
||||
|
||||
#define __ILP32_OFF32_CFLAGS "-m32"
|
||||
#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
#define __ILP32_OFF32_LDFLAGS "-m32"
|
||||
#define __ILP32_OFFBIG_LDFLAGS "-m32"
|
||||
#define __LP64_OFF64_CFLAGS "-m64"
|
||||
#define __LP64_OFF64_LDFLAGS "-m64"
|
||||
@@ -0,0 +1,27 @@
|
||||
/* Copyright (C) 2002-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_EPOLL_H
|
||||
# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags to be passed to epoll_create1. */
|
||||
enum
|
||||
{
|
||||
EPOLL_CLOEXEC = 0x400000
|
||||
#define EPOLL_CLOEXEC EPOLL_CLOEXEC
|
||||
};
|
||||
@@ -0,0 +1,53 @@
|
||||
/* Error constants. Linux/Sparc specific version.
|
||||
Copyright (C) 1996-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_ERRNO_H
|
||||
#define _BITS_ERRNO_H 1
|
||||
|
||||
#if !defined _ERRNO_H
|
||||
# error "Never include <bits/errno.h> directly; use <errno.h> instead."
|
||||
#endif
|
||||
|
||||
# include <linux/errno.h>
|
||||
|
||||
/* Older Linux headers do not define these constants. */
|
||||
# ifndef ENOTSUP
|
||||
# define ENOTSUP EOPNOTSUPP
|
||||
# endif
|
||||
|
||||
# ifndef ECANCELED
|
||||
# define ECANCELED 127
|
||||
# endif
|
||||
|
||||
# ifndef EOWNERDEAD
|
||||
# define EOWNERDEAD 132
|
||||
# endif
|
||||
|
||||
# ifndef ENOTRECOVERABLE
|
||||
# define ENOTRECOVERABLE 133
|
||||
# endif
|
||||
|
||||
# ifndef ERFKILL
|
||||
# define ERFKILL 134
|
||||
# endif
|
||||
|
||||
# ifndef EHWPOISON
|
||||
# define EHWPOISON 135
|
||||
# endif
|
||||
|
||||
#endif /* bits/errno.h. */
|
||||
@@ -0,0 +1,31 @@
|
||||
/* Copyright (C) 2007-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_EVENTFD_H
|
||||
# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags for eventfd. */
|
||||
enum
|
||||
{
|
||||
EFD_SEMAPHORE = 0x000001,
|
||||
#define EFD_SEMAPHORE EFD_SEMAPHORE
|
||||
EFD_CLOEXEC = 0x400000,
|
||||
#define EFD_CLOEXEC EFD_CLOEXEC
|
||||
EFD_NONBLOCK = 0x004000
|
||||
#define EFD_NONBLOCK EFD_NONBLOCK
|
||||
};
|
||||
@@ -0,0 +1,101 @@
|
||||
/* O_*, F_*, FD_* bit values for Linux/SPARC.
|
||||
Copyright (C) 1995-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _FCNTL_H
|
||||
# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#define O_APPEND 0x0008
|
||||
#define O_ASYNC 0x0040
|
||||
#define O_CREAT 0x0200 /* not fcntl */
|
||||
#define O_TRUNC 0x0400 /* not fcntl */
|
||||
#define O_EXCL 0x0800 /* not fcntl */
|
||||
#define O_SYNC 0x802000
|
||||
#define O_NONBLOCK 0x4000
|
||||
#define O_NDELAY (0x0004 | O_NONBLOCK)
|
||||
#define O_NOCTTY 0x8000 /* not fcntl */
|
||||
|
||||
#define __O_DIRECTORY 0x10000 /* must be a directory */
|
||||
#define __O_NOFOLLOW 0x20000 /* don't follow links */
|
||||
#define __O_CLOEXEC 0x400000 /* Set close_on_exit. */
|
||||
|
||||
#define __O_DIRECT 0x100000 /* direct disk access hint */
|
||||
#define __O_NOATIME 0x200000 /* Do not set atime. */
|
||||
#define __O_PATH 0x1000000 /* Resolve pathname but do not open file. */
|
||||
#define __O_TMPFILE 0x2010000 /* Atomically create nameless file. */
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define __O_LARGEFILE 0
|
||||
#else
|
||||
# define __O_LARGEFILE 0x40000
|
||||
#endif
|
||||
|
||||
#define __O_DSYNC 0x2000 /* Synchronize data. */
|
||||
|
||||
|
||||
#define __F_GETOWN 5 /* Get owner (process receiving SIGIO). */
|
||||
#define __F_SETOWN 6 /* Set owner (process receiving SIGIO). */
|
||||
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
# define F_GETLK 7 /* Get record locking info. */
|
||||
# define F_SETLK 8 /* Set record locking info (non-blocking). */
|
||||
# define F_SETLKW 9 /* Set record locking info (blocking). */
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define F_GETLK64 7 /* Get record locking info. */
|
||||
# define F_SETLK64 8 /* Set record locking info (non-blocking). */
|
||||
# define F_SETLKW64 9 /* Set record locking info (blocking). */
|
||||
#endif
|
||||
|
||||
/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */
|
||||
#define F_RDLCK 1 /* Read lock. */
|
||||
#define F_WRLCK 2 /* Write lock. */
|
||||
#define F_UNLCK 3 /* Remove lock. */
|
||||
|
||||
struct flock
|
||||
{
|
||||
short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
|
||||
short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
__off_t l_start; /* Offset where the lock begins. */
|
||||
__off_t l_len; /* Size of the locked area; zero means until EOF. */
|
||||
#else
|
||||
__off64_t l_start; /* Offset where the lock begins. */
|
||||
__off64_t l_len; /* Size of the locked area; zero means until EOF. */
|
||||
#endif
|
||||
__pid_t l_pid; /* Process holding the lock. */
|
||||
short int __glibc_reserved;
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct flock64
|
||||
{
|
||||
short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
|
||||
short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
|
||||
__off64_t l_start; /* Offset where the lock begins. */
|
||||
__off64_t l_len; /* Size of the locked area; zero means until EOF. */
|
||||
__pid_t l_pid; /* Process holding the lock. */
|
||||
short int __glibc_reserved;
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Include generic Linux declarations. */
|
||||
#include <bits/fcntl-linux.h>
|
||||
@@ -0,0 +1,92 @@
|
||||
/* Copyright (C) 1997-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _FENV_H
|
||||
# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
|
||||
/* Define bits representing the exception. We use the bit positions
|
||||
of the appropriate accrued exception bits from the FSR. */
|
||||
enum
|
||||
{
|
||||
FE_INVALID =
|
||||
#define FE_INVALID (1 << 9)
|
||||
FE_INVALID,
|
||||
FE_OVERFLOW =
|
||||
#define FE_OVERFLOW (1 << 8)
|
||||
FE_OVERFLOW,
|
||||
FE_UNDERFLOW =
|
||||
#define FE_UNDERFLOW (1 << 7)
|
||||
FE_UNDERFLOW,
|
||||
FE_DIVBYZERO =
|
||||
#define FE_DIVBYZERO (1 << 6)
|
||||
FE_DIVBYZERO,
|
||||
FE_INEXACT =
|
||||
#define FE_INEXACT (1 << 5)
|
||||
FE_INEXACT
|
||||
};
|
||||
|
||||
#define FE_ALL_EXCEPT \
|
||||
(FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
|
||||
|
||||
/* The Sparc FPU supports all of the four defined rounding modes. We
|
||||
use again the bit positions in the FPU control word as the values
|
||||
for the appropriate macros. */
|
||||
enum
|
||||
{
|
||||
FE_TONEAREST =
|
||||
#define FE_TONEAREST (0 << 30)
|
||||
FE_TONEAREST,
|
||||
FE_TOWARDZERO =
|
||||
#define FE_TOWARDZERO (1 << 30)
|
||||
FE_TOWARDZERO,
|
||||
FE_UPWARD =
|
||||
#define FE_UPWARD (-0x7fffffff - 1) /* (2 << 30) */
|
||||
FE_UPWARD,
|
||||
FE_DOWNWARD =
|
||||
#define FE_DOWNWARD (-0x40000000) /* (3 << 30) */
|
||||
FE_DOWNWARD
|
||||
};
|
||||
|
||||
#define __FE_ROUND_MASK (3U << 30)
|
||||
|
||||
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned long int fexcept_t;
|
||||
|
||||
|
||||
/* Type representing floating-point environment. */
|
||||
typedef unsigned long int fenv_t;
|
||||
|
||||
/* If the default argument is used we use this value. */
|
||||
#define FE_DFL_ENV ((const fenv_t *) -1)
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Floating-point environment where none of the exception is masked. */
|
||||
# define FE_NOMASK_ENV ((const fenv_t *) -2)
|
||||
#endif
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
|
||||
/* Type representing floating-point control modes. */
|
||||
typedef unsigned long int femode_t;
|
||||
|
||||
/* Default floating-point control modes. */
|
||||
# define FE_DFL_MODE ((const femode_t *) -1L)
|
||||
#endif
|
||||
@@ -0,0 +1,51 @@
|
||||
/* Defines for bits in AT_HWCAP.
|
||||
Copyright (C) 2011-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
|
||||
# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
|
||||
#endif
|
||||
|
||||
#define HWCAP_SPARC_FLUSH 0x00000001
|
||||
#define HWCAP_SPARC_STBAR 0x00000002
|
||||
#define HWCAP_SPARC_SWAP 0x00000004
|
||||
#define HWCAP_SPARC_MULDIV 0x00000008
|
||||
#define HWCAP_SPARC_V9 0x00000010
|
||||
#define HWCAP_SPARC_ULTRA3 0x00000020
|
||||
#define HWCAP_SPARC_BLKINIT 0x00000040
|
||||
#define HWCAP_SPARC_N2 0x00000080
|
||||
#define HWCAP_SPARC_MUL32 0x00000100
|
||||
#define HWCAP_SPARC_DIV32 0x00000200
|
||||
#define HWCAP_SPARC_FSMULD 0x00000400
|
||||
#define HWCAP_SPARC_V8PLUS 0x00000800
|
||||
#define HWCAP_SPARC_POPC 0x00001000
|
||||
#define HWCAP_SPARC_VIS 0x00002000
|
||||
#define HWCAP_SPARC_VIS2 0x00004000
|
||||
#define HWCAP_SPARC_ASI_BLK_INIT 0x00008000
|
||||
#define HWCAP_SPARC_FMAF 0x00010000
|
||||
#define HWCAP_SPARC_VIS3 0x00020000
|
||||
#define HWCAP_SPARC_HPC 0x00040000
|
||||
#define HWCAP_SPARC_RANDOM 0x00080000
|
||||
#define HWCAP_SPARC_TRANS 0x00100000
|
||||
#define HWCAP_SPARC_FJFMAU 0x00200000
|
||||
#define HWCAP_SPARC_IMA 0x00400000
|
||||
#define HWCAP_SPARC_ASI_CACHE_SPARING \
|
||||
0x00800000
|
||||
#define HWCAP_SPARC_PAUSE 0x01000000
|
||||
#define HWCAP_SPARC_CBCOND 0x02000000
|
||||
#define HWCAP_SPARC_CRYPTO 0x04000000
|
||||
#define HWCAP_SPARC_ADP 0x08000000
|
||||
@@ -0,0 +1,29 @@
|
||||
/* Copyright (C) 2005-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_INOTIFY_H
|
||||
# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags for the parameter of inotify_init1. */
|
||||
enum
|
||||
{
|
||||
IN_CLOEXEC = 0x400000,
|
||||
#define IN_CLOEXEC IN_CLOEXEC
|
||||
IN_NONBLOCK = 0x004000
|
||||
#define IN_NONBLOCK IN_NONBLOCK
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
/* Copyright (C) 1996-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_IOCTL_H
|
||||
# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
|
||||
#endif
|
||||
|
||||
/* Use the definitions from the kernel header files. */
|
||||
#include <asm/ioctls.h>
|
||||
|
||||
/* Oh well, this is necessary since the kernel data structure is
|
||||
different from the user-level version. */
|
||||
#undef TCGETS
|
||||
#undef TCSETS
|
||||
#undef TCSETSW
|
||||
#undef TCSETSF
|
||||
#define TCGETS _IOR ('T', 8, char[36])
|
||||
#define TCSETS _IOW ('T', 9, char[36])
|
||||
#define TCSETSW _IOW ('T', 10, char[36])
|
||||
#define TCSETSF _IOW ('T', 11, char[36])
|
||||
|
||||
#include <linux/sockios.h>
|
||||
@@ -0,0 +1,36 @@
|
||||
/* struct ipc_perm definition. Linux/sparc version.
|
||||
Copyright (C) 1995-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_IPC_H
|
||||
# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
|
||||
#endif
|
||||
|
||||
/* Data structure used to pass permission information to IPC operations. */
|
||||
struct ipc_perm
|
||||
{
|
||||
__key_t __key; /* Key. */
|
||||
__uid_t uid; /* Owner's user ID. */
|
||||
__gid_t gid; /* Owner's group ID. */
|
||||
__uid_t cuid; /* Creator's user ID. */
|
||||
__gid_t cgid; /* Creator's group ID. */
|
||||
__mode_t mode; /* Read/write permission. */
|
||||
unsigned short int __pad1;
|
||||
unsigned short int __seq; /* Sequence number. */
|
||||
__extension__ unsigned long long int __glibc_reserved1;
|
||||
__extension__ unsigned long long int __glibc_reserved2;
|
||||
};
|
||||
@@ -0,0 +1,99 @@
|
||||
/* Machine-specific audit interfaces for dynamic linker. SPARC version.
|
||||
Copyright (C) 2005-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _LINK_H
|
||||
# error "Never include <bits/link.h> directly; use <link.h> instead."
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
|
||||
typedef struct La_sparc32_regs
|
||||
{
|
||||
uint32_t lr_lreg[8]; /* %l0 through %l7 */
|
||||
uint32_t lr_reg[6]; /* %o0 through %o5 */
|
||||
uint32_t lr_sp; /* %o6 */
|
||||
uint32_t lr_ra; /* %o7 */
|
||||
uint32_t lr_struct; /* Pass-by-reference struct pointer */
|
||||
} La_sparc32_regs;
|
||||
|
||||
typedef struct La_sparc32_retval
|
||||
{
|
||||
uint32_t lrv_reg[2]; /* %o0 and %o1 */
|
||||
double lrv_fpreg[2]; /* %f0 and %f2 */
|
||||
} La_sparc32_retval;
|
||||
|
||||
#else
|
||||
|
||||
typedef struct La_sparc64_regs
|
||||
{
|
||||
uint64_t lr_lreg[8]; /* %l0 through %l7 */
|
||||
uint64_t lr_reg[6]; /* %o0 through %o5 */
|
||||
uint64_t lr_sp; /* %o6 */
|
||||
uint64_t lr_ra; /* %o7 */
|
||||
double lr_fpreg[16]; /* %f0 through %f30 */
|
||||
} La_sparc64_regs;
|
||||
|
||||
typedef struct La_sparc64_retval
|
||||
{
|
||||
uint64_t lrv_reg[4]; /* %o0 through %o3 */
|
||||
double lrv_fprev[4]; /* %f0 through %f8 */
|
||||
} La_sparc64_retval;
|
||||
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
|
||||
extern Elf32_Addr la_sparc32_gnu_pltenter (Elf32_Sym *__sym,
|
||||
unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_sparc32_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym,
|
||||
unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_sparc32_regs *__inregs,
|
||||
La_sparc32_retval *__outregs,
|
||||
const char *__symname);
|
||||
|
||||
#else
|
||||
|
||||
extern Elf64_Addr la_sparc64_gnu_pltenter (Elf64_Sym *__sym,
|
||||
unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_sparc64_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym,
|
||||
unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_sparc64_regs *__inregs,
|
||||
La_sparc64_retval *__outregs,
|
||||
const char *__symname);
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
@@ -0,0 +1,27 @@
|
||||
/* Properties of long double type. SPARC version.
|
||||
Copyright (C) 2016-2025 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 Lesser General Public
|
||||
License published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32
|
||||
# define __LONG_DOUBLE_MATH_OPTIONAL 1
|
||||
# ifndef __LONG_DOUBLE_128__
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
# endif
|
||||
#endif
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
||||
@@ -0,0 +1,53 @@
|
||||
/* Definitions for POSIX memory map interface. Linux/SPARC version.
|
||||
Copyright (C) 1997-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_MMAN_H
|
||||
# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
|
||||
#endif
|
||||
|
||||
/* The following definitions basically come from the kernel headers.
|
||||
But the kernel header is not namespace clean. */
|
||||
|
||||
|
||||
/* These are Linux-specific. */
|
||||
#define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */
|
||||
#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
|
||||
#define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */
|
||||
#define MAP_LOCKED 0x0100 /* Lock the mapping. */
|
||||
#define MAP_NORESERVE 0x0040 /* Don't check for reservations. */
|
||||
#define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */
|
||||
#define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */
|
||||
#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
|
||||
#define MAP_STACK 0x20000 /* Allocation is for a stack. */
|
||||
#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
|
||||
#define MAP_SYNC 0x80000 /* Perform synchronous page
|
||||
faults for the mapping. */
|
||||
#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
|
||||
underlying mapping. */
|
||||
|
||||
/* Flags for `mlockall'. */
|
||||
#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */
|
||||
#define MCL_FUTURE 0x4000 /* Lock all additions to address
|
||||
space. */
|
||||
#define MCL_ONFAULT 0x8000 /* Lock all pages that are
|
||||
faulted in. */
|
||||
/* Include generic Linux declarations. */
|
||||
#include <bits/mman-linux.h>
|
||||
|
||||
/* Other flags. */
|
||||
#define MAP_RENAME MAP_ANONYMOUS
|
||||
@@ -0,0 +1,49 @@
|
||||
/* Copyright (C) 1997-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_POLL_H
|
||||
# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
|
||||
#endif
|
||||
|
||||
/* Event types that can be polled for. These bits may be set in `events'
|
||||
to indicate the interesting event types; they will appear in `revents'
|
||||
to indicate the status of the file descriptor. */
|
||||
#define POLLIN 0x001 /* There is data to read. */
|
||||
#define POLLPRI 0x002 /* There is urgent data to read. */
|
||||
#define POLLOUT 0x004 /* Writing now will not block. */
|
||||
|
||||
#if defined __USE_XOPEN || defined __USE_XOPEN2K8
|
||||
/* These values are defined in XPG4.2. */
|
||||
# define POLLRDNORM 0x040 /* Normal data may be read. */
|
||||
# define POLLRDBAND 0x080 /* Priority data may be read. */
|
||||
# define POLLWRNORM POLLOUT /* Writing now will not block. */
|
||||
# define POLLWRBAND 0x100 /* Priority data may be written. */
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* These are extensions for Linux. */
|
||||
# define POLLMSG 0x200
|
||||
# define POLLREMOVE 0x400
|
||||
# define POLLRDHUP 0x800
|
||||
#endif
|
||||
|
||||
/* Event types always implicitly polled for. These bits need not be set in
|
||||
`events', but they will appear in `revents' to indicate the status of
|
||||
the file descriptor. */
|
||||
#define POLLERR 0x008 /* Error condition. */
|
||||
#define POLLHUP 0x010 /* Hung up. */
|
||||
#define POLLNVAL 0x020 /* Invalid polling request. */
|
||||
@@ -0,0 +1,88 @@
|
||||
/* Extra sys/procfs.h definitions. SPARC version.
|
||||
Copyright (C) 1996-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_PROCFS_H
|
||||
# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
/* Provide 32-bit variants so that BFD can read 32-bit
|
||||
core files. */
|
||||
#define ELF_NGREG32 38
|
||||
typedef struct
|
||||
{
|
||||
union
|
||||
{
|
||||
unsigned int pr_regs[32];
|
||||
double pr_dregs[16];
|
||||
} pr_fr;
|
||||
unsigned int __glibc_reserved;
|
||||
unsigned int pr_fsr;
|
||||
unsigned char pr_qcnt;
|
||||
unsigned char pr_q_entrysize;
|
||||
unsigned char pr_en;
|
||||
unsigned int pr_q[64];
|
||||
} elf_fpregset_t32;
|
||||
|
||||
typedef unsigned int elf_greg_t32;
|
||||
typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32];
|
||||
|
||||
struct elf_prstatus32
|
||||
{
|
||||
struct elf_siginfo pr_info; /* Info associated with signal. */
|
||||
short int pr_cursig; /* Current signal. */
|
||||
unsigned int pr_sigpend; /* Set of pending signals. */
|
||||
unsigned int pr_sighold; /* Set of held signals. */
|
||||
__pid_t pr_pid;
|
||||
__pid_t pr_ppid;
|
||||
__pid_t pr_pgrp;
|
||||
__pid_t pr_sid;
|
||||
struct
|
||||
{
|
||||
int tv_sec, tv_usec;
|
||||
} pr_utime, /* User time. */
|
||||
pr_stime, /* System time. */
|
||||
pr_cutime, /* Cumulative user time. */
|
||||
pr_cstime; /* Cumulative system time. */
|
||||
elf_gregset_t32 pr_reg; /* GP registers. */
|
||||
int pr_fpvalid; /* True if math copro being used. */
|
||||
};
|
||||
|
||||
struct elf_prpsinfo32
|
||||
{
|
||||
char pr_state; /* Numeric process state. */
|
||||
char pr_sname; /* Char for pr_state. */
|
||||
char pr_zomb; /* Zombie. */
|
||||
char pr_nice; /* Nice val. */
|
||||
unsigned int pr_flag; /* Flags. */
|
||||
unsigned short int pr_uid;
|
||||
unsigned short int pr_gid;
|
||||
int pr_pid, pr_ppid, pr_pgrp, pr_sid;
|
||||
/* Lots missing */
|
||||
char pr_fname[16]; /* Filename of executable. */
|
||||
char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
|
||||
};
|
||||
|
||||
typedef elf_gregset_t32 prgregset32_t;
|
||||
typedef elf_fpregset_t32 prfpregset32_t;
|
||||
|
||||
typedef struct elf_prstatus32 prstatus32_t;
|
||||
typedef struct elf_prpsinfo32 prpsinfo32_t;
|
||||
|
||||
#endif /* sparc64 */
|
||||
@@ -0,0 +1,30 @@
|
||||
/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version.
|
||||
Copyright (C) 2018-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_PROCFS_H
|
||||
# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
typedef unsigned int __pr_uid_t;
|
||||
typedef unsigned int __pr_gid_t;
|
||||
#else
|
||||
typedef unsigned short int __pr_uid_t;
|
||||
typedef unsigned short int __pr_gid_t;
|
||||
#endif
|
||||
@@ -0,0 +1,61 @@
|
||||
/* Types for registers for sys/procfs.h. SPARC version.
|
||||
Copyright (C) 1996-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_PROCFS_H
|
||||
# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
|
||||
#endif
|
||||
|
||||
#include <signal.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
#define ELF_NGREG 36
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned long pr_regs[32];
|
||||
unsigned long pr_fsr;
|
||||
unsigned long pr_gsr;
|
||||
unsigned long pr_fprs;
|
||||
} elf_fpregset_t;
|
||||
|
||||
#else /* sparc32 */
|
||||
|
||||
#define ELF_NGREG 38
|
||||
|
||||
typedef struct
|
||||
{
|
||||
union
|
||||
{
|
||||
unsigned long pr_regs[32];
|
||||
double pr_dregs[16];
|
||||
} pr_fr;
|
||||
unsigned long __glibc_reserved;
|
||||
unsigned long pr_fsr;
|
||||
unsigned char pr_qcnt;
|
||||
unsigned char pr_q_entrysize;
|
||||
unsigned char pr_en;
|
||||
unsigned int pr_q[64];
|
||||
} elf_fpregset_t;
|
||||
|
||||
#endif /* sparc32 */
|
||||
|
||||
typedef unsigned long elf_greg_t;
|
||||
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
@@ -0,0 +1,20 @@
|
||||
/* Definition of PTHREAD_STACK_MIN. Linux/SPARC version.
|
||||
Copyright (C) 2021-2025 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, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Minimum size for a thread. We are free to choose a reasonable value. */
|
||||
#define PTHREAD_STACK_MIN 24576
|
||||
@@ -0,0 +1,238 @@
|
||||
/* Bit values & structures for resource limits. Linux/SPARC version.
|
||||
Copyright (C) 1994-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_RESOURCE_H
|
||||
# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Transmute defines to enumerations. The macro re-definitions are
|
||||
necessary because some programs want to test for operating system
|
||||
features with #ifdef RUSAGE_SELF. In ISO C the reflexive
|
||||
definition is a no-op. */
|
||||
|
||||
/* Kinds of resource limit. */
|
||||
enum __rlimit_resource
|
||||
{
|
||||
/* Per-process CPU limit, in seconds. */
|
||||
RLIMIT_CPU = 0,
|
||||
#define RLIMIT_CPU RLIMIT_CPU
|
||||
|
||||
/* Largest file that can be created, in bytes. */
|
||||
RLIMIT_FSIZE = 1,
|
||||
#define RLIMIT_FSIZE RLIMIT_FSIZE
|
||||
|
||||
/* Maximum size of data segment, in bytes. */
|
||||
RLIMIT_DATA = 2,
|
||||
#define RLIMIT_DATA RLIMIT_DATA
|
||||
|
||||
/* Maximum size of stack segment, in bytes. */
|
||||
RLIMIT_STACK = 3,
|
||||
#define RLIMIT_STACK RLIMIT_STACK
|
||||
|
||||
/* Largest core file that can be created, in bytes. */
|
||||
RLIMIT_CORE = 4,
|
||||
#define RLIMIT_CORE RLIMIT_CORE
|
||||
|
||||
/* Largest resident set size, in bytes.
|
||||
This affects swapping; processes that are exceeding their
|
||||
resident set size will be more likely to have physical memory
|
||||
taken from them. */
|
||||
__RLIMIT_RSS = 5,
|
||||
#define RLIMIT_RSS __RLIMIT_RSS
|
||||
|
||||
/* Number of open files. */
|
||||
RLIMIT_NOFILE = 6,
|
||||
__RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
|
||||
#define RLIMIT_NOFILE RLIMIT_NOFILE
|
||||
#define RLIMIT_OFILE __RLIMIT_OFILE
|
||||
|
||||
/* Address space limit (?) */
|
||||
RLIMIT_AS = 9,
|
||||
#define RLIMIT_AS RLIMIT_AS
|
||||
|
||||
/* Number of processes. */
|
||||
__RLIMIT_NPROC = 7,
|
||||
#define RLIMIT_NPROC __RLIMIT_NPROC
|
||||
|
||||
/* Locked-in-memory address space. */
|
||||
__RLIMIT_MEMLOCK = 8,
|
||||
#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
|
||||
|
||||
/* Maximum number of file locks. */
|
||||
__RLIMIT_LOCKS = 10,
|
||||
#define RLIMIT_LOCKS __RLIMIT_LOCKS
|
||||
|
||||
/* Maximum number of pending signals. */
|
||||
__RLIMIT_SIGPENDING = 11,
|
||||
#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
|
||||
|
||||
/* Maximum bytes in POSIX message queues. */
|
||||
__RLIMIT_MSGQUEUE = 12,
|
||||
#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
|
||||
|
||||
/* Maximum nice priority allowed to raise to.
|
||||
Nice levels 19 .. -20 correspond to 0 .. 39
|
||||
values of this resource limit. */
|
||||
__RLIMIT_NICE = 13,
|
||||
#define RLIMIT_NICE __RLIMIT_NICE
|
||||
|
||||
/* Maximum realtime priority allowed for non-priviledged
|
||||
processes. */
|
||||
__RLIMIT_RTPRIO = 14,
|
||||
#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
|
||||
|
||||
/* Maximum CPU time in microseconds that a process scheduled under a real-time
|
||||
scheduling policy may consume without making a blocking system
|
||||
call before being forcibly descheduled. */
|
||||
__RLIMIT_RTTIME = 15,
|
||||
#define RLIMIT_RTTIME __RLIMIT_RTTIME
|
||||
|
||||
__RLIMIT_NLIMITS = 16,
|
||||
__RLIM_NLIMITS = __RLIMIT_NLIMITS
|
||||
#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
|
||||
#define RLIM_NLIMITS __RLIM_NLIMITS
|
||||
};
|
||||
|
||||
/* Value to indicate that there is no limit. */
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
# define RLIM_INFINITY ((unsigned long int)(~0UL))
|
||||
#else
|
||||
# define RLIM_INFINITY 0xffffffffffffffffuLL
|
||||
#endif
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
# define RLIM64_INFINITY 0xffffffffffffffffuLL
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
# define RLIM_INFINITY ((long int)(~0UL >> 1))
|
||||
#else
|
||||
# define RLIM_INFINITY 0xffffffffffffffffLL
|
||||
#endif
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
# define RLIM64_INFINITY 0xffffffffffffffffLL
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* We can represent all limits. */
|
||||
#define RLIM_SAVED_MAX RLIM_INFINITY
|
||||
#define RLIM_SAVED_CUR RLIM_INFINITY
|
||||
|
||||
|
||||
/* Type for resource quantity measurement. */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
typedef __rlim_t rlim_t;
|
||||
#else
|
||||
typedef __rlim64_t rlim_t;
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
typedef __rlim64_t rlim64_t;
|
||||
#endif
|
||||
|
||||
struct rlimit
|
||||
{
|
||||
/* The current (soft) limit. */
|
||||
rlim_t rlim_cur;
|
||||
/* The hard limit. */
|
||||
rlim_t rlim_max;
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct rlimit64
|
||||
{
|
||||
/* The current (soft) limit. */
|
||||
rlim64_t rlim_cur;
|
||||
/* The hard limit. */
|
||||
rlim64_t rlim_max;
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Whose usage statistics do you want? */
|
||||
enum __rusage_who
|
||||
{
|
||||
/* The calling process. */
|
||||
RUSAGE_SELF = 0,
|
||||
#define RUSAGE_SELF RUSAGE_SELF
|
||||
|
||||
/* All of its terminated child processes. */
|
||||
RUSAGE_CHILDREN = -1
|
||||
#define RUSAGE_CHILDREN RUSAGE_CHILDREN
|
||||
|
||||
#ifdef __USE_GNU
|
||||
,
|
||||
/* The calling thread. */
|
||||
RUSAGE_THREAD = 1
|
||||
# define RUSAGE_THREAD RUSAGE_THREAD
|
||||
/* Name for the same functionality on Solaris. */
|
||||
# define RUSAGE_LWP RUSAGE_THREAD
|
||||
#endif
|
||||
};
|
||||
|
||||
#include <bits/types/struct_timeval.h>
|
||||
#include <bits/types/struct_rusage.h>
|
||||
|
||||
/* Priority limits. */
|
||||
#define PRIO_MIN -20 /* Minimum priority a process can have. */
|
||||
#define PRIO_MAX 20 /* Maximum priority a process can have. */
|
||||
|
||||
/* The type of the WHICH argument to `getpriority' and `setpriority',
|
||||
indicating what flavor of entity the WHO argument specifies. */
|
||||
enum __priority_which
|
||||
{
|
||||
PRIO_PROCESS = 0, /* WHO is a process ID. */
|
||||
#define PRIO_PROCESS PRIO_PROCESS
|
||||
PRIO_PGRP = 1, /* WHO is a process group ID. */
|
||||
#define PRIO_PGRP PRIO_PGRP
|
||||
PRIO_USER = 2 /* WHO is a user ID. */
|
||||
#define PRIO_USER PRIO_USER
|
||||
};
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Modify and return resource limits of a process atomically. */
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
|
||||
const struct rlimit *__new_limit,
|
||||
struct rlimit *__old_limit) __THROW;
|
||||
# else
|
||||
# ifdef __REDIRECT_NTH
|
||||
extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
|
||||
enum __rlimit_resource __resource,
|
||||
const struct rlimit *__new_limit,
|
||||
struct rlimit *__old_limit), prlimit64);
|
||||
# else
|
||||
# define prlimit prlimit64
|
||||
# endif
|
||||
# endif
|
||||
# ifdef __USE_LARGEFILE64
|
||||
extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
|
||||
const struct rlimit64 *__new_limit,
|
||||
struct rlimit64 *__old_limit) __THROW;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
@@ -0,0 +1,29 @@
|
||||
/* Restartable Sequences architecture header. Stub version.
|
||||
Copyright (C) 2021-2025 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_RSEQ_H
|
||||
# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
|
||||
#endif
|
||||
|
||||
/* RSEQ_SIG is a signature required before each abort handler code.
|
||||
|
||||
It is a 32-bit value that maps to actual architecture code compiled
|
||||
into applications and libraries. It needs to be defined for each
|
||||
architecture. When choosing this value, it needs to be taken into
|
||||
account that generating invalid instructions may have ill effects on
|
||||
tools like objdump, and may also have impact on the CPU speculative
|
||||
execution efficiency in some cases. */
|
||||
@@ -0,0 +1,67 @@
|
||||
/* Copyright (C) 1997-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_SETJMP_H
|
||||
#define _BITS_SETJMP_H 1
|
||||
|
||||
#if !defined _SETJMP_H && !defined _PTHREAD_H
|
||||
# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
#ifndef _ASM
|
||||
typedef struct __sparc64_jmp_buf
|
||||
{
|
||||
struct __sparc64_jmp_buf *__uc_link;
|
||||
unsigned long __uc_flags;
|
||||
unsigned long __uc_sigmask;
|
||||
struct __sparc64_jmp_buf_mcontext
|
||||
{
|
||||
unsigned long __mc_gregs[19];
|
||||
unsigned long __mc_fp;
|
||||
unsigned long __mc_i7;
|
||||
struct __sparc64_jmp_buf_fpu
|
||||
{
|
||||
union
|
||||
{
|
||||
unsigned int __sregs[32];
|
||||
unsigned long __dregs[32];
|
||||
long double __qregs[16];
|
||||
} __mcfpu_fpregs;
|
||||
unsigned long __mcfpu_fprs;
|
||||
unsigned long __mcfpu_gsr;
|
||||
void *__mcfpu_fq;
|
||||
unsigned char __mcfpu_qcnt;
|
||||
unsigned char __mcfpu_qentsz;
|
||||
unsigned char __mcfpu_enab;
|
||||
} __mc_fpregs;
|
||||
} __uc_mcontext;
|
||||
} __jmp_buf[1];
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#ifndef _ASM
|
||||
typedef int __jmp_buf[3];
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* bits/setjmp.h */
|
||||
@@ -0,0 +1,29 @@
|
||||
/* Define SHMLBA. SPARC version.
|
||||
Copyright (C) 2018-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SHM_H
|
||||
# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Segment low boundary address multiple. */
|
||||
#define SHMLBA (__getshmlba ())
|
||||
extern int __getshmlba (void) __attribute__ ((__const__));
|
||||
|
||||
__END_DECLS
|
||||
@@ -0,0 +1,89 @@
|
||||
/* The proper definitions for Linux/SPARC sigaction.
|
||||
Copyright (C) 1996-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_SIGACTION_H
|
||||
#define _BITS_SIGACTION_H 1
|
||||
|
||||
#ifndef _SIGNAL_H
|
||||
# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
/* Structure describing the action to be taken when a signal arrives. */
|
||||
struct sigaction
|
||||
{
|
||||
/* Signal handler. */
|
||||
#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
|
||||
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;
|
||||
|
||||
/* Special flags. */
|
||||
#if __WORDSIZE == 64
|
||||
int __glibc_reserved0;
|
||||
#endif
|
||||
int sa_flags;
|
||||
|
||||
/* Not used by Linux/Sparc yet. */
|
||||
void (*sa_restorer) (void);
|
||||
};
|
||||
|
||||
|
||||
/* Bits in `sa_flags'. */
|
||||
#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */
|
||||
#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */
|
||||
#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with
|
||||
three arguments instead of one. */
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
|
||||
# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
|
||||
#endif
|
||||
#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||
# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */
|
||||
# define SA_NODEFER 0x00000020 /* Don't automatically block the signal when
|
||||
its handler is being executed. */
|
||||
# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler. */
|
||||
#endif
|
||||
#ifdef __USE_MISC
|
||||
# define SA_INTERRUPT 0x00000010 /* Historical no-op. */
|
||||
|
||||
/* Some aliases for the SA_ constants. */
|
||||
# define SA_NOMASK SA_NODEFER
|
||||
# define SA_ONESHOT SA_RESETHAND
|
||||
# define SA_STACK SA_ONSTACK
|
||||
#endif
|
||||
|
||||
/* Values for the HOW argument to `sigprocmask'. */
|
||||
#define SIG_BLOCK 1 /* Block signals. */
|
||||
#define SIG_UNBLOCK 2 /* Unblock signals. */
|
||||
#define SIG_SETMASK 4 /* Set the set of blocked signals. */
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,82 @@
|
||||
/* Copyright (C) 2000-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_SIGCONTEXT_H
|
||||
#define _BITS_SIGCONTEXT_H 1
|
||||
|
||||
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
|
||||
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
|
||||
/* It is quite hard to choose what to put here, because
|
||||
Linux/sparc32 had at least 3 totally incompatible
|
||||
signal stack layouts.
|
||||
This one is for the "new" style signals, which are
|
||||
now delivered unless SA_SIGINFO is requested. */
|
||||
|
||||
struct sigcontext
|
||||
{
|
||||
struct
|
||||
{
|
||||
unsigned int psr;
|
||||
unsigned int pc;
|
||||
unsigned int npc;
|
||||
unsigned int y;
|
||||
unsigned int u_regs[16]; /* globals and ins */
|
||||
} si_regs;
|
||||
int si_mask;
|
||||
};
|
||||
|
||||
#else /* sparc64 */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned int si_float_regs [64];
|
||||
unsigned long si_fsr;
|
||||
unsigned long si_gsr;
|
||||
unsigned long si_fprs;
|
||||
} __siginfo_fpu_t;
|
||||
|
||||
struct sigcontext
|
||||
{
|
||||
char sigc_info[128];
|
||||
struct
|
||||
{
|
||||
unsigned long u_regs[16]; /* globals and ins */
|
||||
unsigned long tstate;
|
||||
unsigned long tpc;
|
||||
unsigned long tnpc;
|
||||
unsigned int y;
|
||||
unsigned int fprs;
|
||||
} sigc_regs;
|
||||
__siginfo_fpu_t * sigc_fpu_save;
|
||||
struct
|
||||
{
|
||||
void * ss_sp;
|
||||
int ss_flags;
|
||||
unsigned long ss_size;
|
||||
} sigc_stack;
|
||||
unsigned long sigc_mask;
|
||||
};
|
||||
|
||||
#endif /* sparc64 */
|
||||
|
||||
#endif /* bits/sigcontext.h */
|
||||
@@ -0,0 +1,17 @@
|
||||
/* Architecture-specific adjustments to siginfo_t. SPARC version. */
|
||||
#ifndef _BITS_SIGINFO_ARCH_H
|
||||
#define _BITS_SIGINFO_ARCH_H 1
|
||||
|
||||
/* The kernel uses int instead of long int (as in POSIX). In 32-bit
|
||||
mode, we can still use long int, but in 64-bit mode, we need to
|
||||
deviate from POSIX. */
|
||||
#if __WORDSIZE == 64
|
||||
# define __SI_BAND_TYPE int
|
||||
#endif
|
||||
|
||||
#define __SI_SIGFAULT_ADDL \
|
||||
int _si_trapno;
|
||||
|
||||
#define si_trapno _sifields._sigfault._si_trapno
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,12 @@
|
||||
/* Architecture-specific additional siginfo constants. SPARC version. */
|
||||
#ifndef _BITS_SIGINFO_CONSTS_ARCH_H
|
||||
#define _BITS_SIGINFO_CONSTS_ARCH_H 1
|
||||
|
||||
/* `si_code' values for SIGEMT signal. */
|
||||
enum
|
||||
{
|
||||
EMT_TAGOVF = 1 /* Tag overflow. */
|
||||
#define EMT_TAGOVF EMT_TAGOVF
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,29 @@
|
||||
/* Copyright (C) 2007-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SIGNALFD_H
|
||||
# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags for signalfd. */
|
||||
enum
|
||||
{
|
||||
SFD_CLOEXEC = 0x400000,
|
||||
#define SFD_CLOEXEC SFD_CLOEXEC
|
||||
SFD_NONBLOCK = 0x004000
|
||||
#define SFD_NONBLOCK SFD_NONBLOCK
|
||||
};
|
||||
@@ -0,0 +1,66 @@
|
||||
/* Signal number definitions. Linux/SPARC version.
|
||||
Copyright (C) 1996-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_SIGNUM_ARCH_H
|
||||
#define _BITS_SIGNUM_ARCH_H 1
|
||||
|
||||
#ifndef _SIGNAL_H
|
||||
#error "Never include <bits/signum-arch.h> directly; use <signal.h> instead."
|
||||
#endif
|
||||
|
||||
/* Adjustments and additions to the signal number constants for
|
||||
Linux/SPARC systems. Signal values on this platform were chosen
|
||||
for SunOS binary compatibility. */
|
||||
|
||||
#define SIGEMT 7 /* Emulator trap. */
|
||||
#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */
|
||||
#define SIGPWR SIGLOST /* Power failure imminent (SysV). */
|
||||
|
||||
/* Historical signals specified by POSIX. */
|
||||
#define SIGBUS 10 /* Bus error. */
|
||||
#define SIGSYS 12 /* Bad system call. */
|
||||
|
||||
/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
|
||||
#define SIGURG 16 /* Urgent data is available at a socket. */
|
||||
#define SIGSTOP 17 /* Stop, unblockable. */
|
||||
#define SIGTSTP 18 /* Keyboard stop. */
|
||||
#define SIGCONT 19 /* Continue. */
|
||||
#define SIGCHLD 20 /* Child terminated or stopped. */
|
||||
#define SIGTTIN 21 /* Background read from control terminal. */
|
||||
#define SIGTTOU 22 /* Background write to control terminal. */
|
||||
#define SIGPOLL 23 /* Pollable event occurred (System V). */
|
||||
#define SIGXCPU 24 /* CPU time limit exceeded. */
|
||||
#define SIGVTALRM 26 /* Virtual timer expired. */
|
||||
#define SIGPROF 27 /* Profiling timer expired. */
|
||||
#define SIGXFSZ 25 /* File size limit exceeded. */
|
||||
#define SIGUSR1 30 /* User-defined signal 1. */
|
||||
#define SIGUSR2 31 /* User-defined signal 2. */
|
||||
|
||||
/* Nonstandard signals found in all modern POSIX systems
|
||||
(including both BSD and Linux). */
|
||||
#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
|
||||
|
||||
/* Archaic names for compatibility. */
|
||||
#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
|
||||
#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
|
||||
#define SIGCLD SIGCHLD /* Old System V name */
|
||||
|
||||
#define __SIGRTMIN 32
|
||||
#define __SIGRTMAX 64
|
||||
|
||||
#endif /* <signal.h> included. */
|
||||
@@ -0,0 +1,32 @@
|
||||
/* sigstack, sigaltstack definitions.
|
||||
Copyright (C) 1998-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_SIGSTACK_H
|
||||
#define _BITS_SIGSTACK_H 1
|
||||
|
||||
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
|
||||
# error "Never include this file directly. Use <signal.h> instead"
|
||||
#endif
|
||||
|
||||
/* Minimum stack size for a signal handler. */
|
||||
#define MINSIGSTKSZ 4096
|
||||
|
||||
/* System default stack size. */
|
||||
#define SIGSTKSZ 16384
|
||||
|
||||
#endif /* bits/sigstack.h */
|
||||
@@ -0,0 +1,70 @@
|
||||
/* Socket constants which vary among Linux architectures. Version for SPARC.
|
||||
Copyright (C) 2019-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SOCKET_H
|
||||
# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
|
||||
#endif
|
||||
|
||||
#define SOL_SOCKET 65535
|
||||
#define SO_ACCEPTCONN 32768
|
||||
#define SO_BROADCAST 32
|
||||
#define SO_DONTROUTE 16
|
||||
#define SO_ERROR 4103
|
||||
#define SO_KEEPALIVE 8
|
||||
#define SO_LINGER 128
|
||||
#define SO_OOBINLINE 256
|
||||
#define SO_RCVBUF 4098
|
||||
#define SO_RCVLOWAT 2048
|
||||
#define SO_REUSEADDR 4
|
||||
#define SO_SNDBUF 4097
|
||||
#define SO_SNDLOWAT 4096
|
||||
#define SO_TYPE 4104
|
||||
|
||||
#if __TIMESIZE == 64
|
||||
# define SO_RCVTIMEO 8192
|
||||
# define SO_SNDTIMEO 16384
|
||||
# define SO_TIMESTAMP 29
|
||||
# define SO_TIMESTAMPNS 33
|
||||
# define SO_TIMESTAMPING 35
|
||||
#else
|
||||
# define SO_RCVTIMEO_OLD 8192
|
||||
# define SO_SNDTIMEO_OLD 16384
|
||||
# define SO_RCVTIMEO_NEW 68
|
||||
# define SO_SNDTIMEO_NEW 69
|
||||
|
||||
# define SO_TIMESTAMP_OLD 0x001d
|
||||
# define SO_TIMESTAMPNS_OLD 0x0021
|
||||
# define SO_TIMESTAMPING_OLD 0x0023
|
||||
# define SO_TIMESTAMP_NEW 0x0046
|
||||
# define SO_TIMESTAMPNS_NEW 0x0042
|
||||
# define SO_TIMESTAMPING_NEW 0x0043
|
||||
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# define SO_RCVTIMEO SO_RCVTIMEO_NEW
|
||||
# define SO_SNDTIMEO SO_SNDTIMEO_NEW
|
||||
# define SO_TIMESTAMP SO_TIMESTAMP_NEW
|
||||
# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
|
||||
# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
|
||||
# else
|
||||
# define SO_RCVTIMEO SO_RCVTIMEO_OLD
|
||||
# define SO_SNDTIMEO SO_SNDTIMEO_OLD
|
||||
# define SO_TIMESTAMP SO_TIMESTAMP_OLD
|
||||
# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
|
||||
# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
|
||||
# endif
|
||||
#endif
|
||||
@@ -0,0 +1,55 @@
|
||||
/* Define enum __socket_type for Linux/SPARC.
|
||||
Copyright (C) 1991-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SOCKET_H
|
||||
# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
|
||||
#endif
|
||||
|
||||
/* Types of sockets. */
|
||||
enum __socket_type
|
||||
{
|
||||
SOCK_STREAM = 1, /* Sequenced, reliable, connection-based
|
||||
byte streams. */
|
||||
#define SOCK_STREAM SOCK_STREAM
|
||||
SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams
|
||||
of fixed maximum length. */
|
||||
#define SOCK_DGRAM SOCK_DGRAM
|
||||
SOCK_RAW = 3, /* Raw protocol interface. */
|
||||
#define SOCK_RAW SOCK_RAW
|
||||
SOCK_RDM = 4, /* Reliably-delivered messages. */
|
||||
#define SOCK_RDM SOCK_RDM
|
||||
SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
|
||||
datagrams of fixed maximum length. */
|
||||
#define SOCK_SEQPACKET SOCK_SEQPACKET
|
||||
SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */
|
||||
#define SOCK_DCCP SOCK_DCCP
|
||||
SOCK_PACKET = 10, /* Linux specific way of getting packets
|
||||
at the dev level. For writing rarp and
|
||||
other similar things on the user level. */
|
||||
#define SOCK_PACKET SOCK_PACKET
|
||||
|
||||
/* Flags to be ORed into the type parameter of socket and socketpair and
|
||||
used for the flags parameter of paccept. */
|
||||
|
||||
SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the
|
||||
new descriptor(s). */
|
||||
#define SOCK_CLOEXEC SOCK_CLOEXEC
|
||||
SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as
|
||||
non-blocking. */
|
||||
#define SOCK_NONBLOCK SOCK_NONBLOCK
|
||||
};
|
||||
@@ -0,0 +1,58 @@
|
||||
/* SPARC internal rwlock struct definitions.
|
||||
Copyright (C) 2019-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _RWLOCK_INTERNAL_H
|
||||
#define _RWLOCK_INTERNAL_H
|
||||
|
||||
struct __pthread_rwlock_arch_t
|
||||
{
|
||||
unsigned int __readers;
|
||||
unsigned int __writers;
|
||||
unsigned int __wrphase_futex;
|
||||
unsigned int __writers_futex;
|
||||
unsigned int __pad3;
|
||||
unsigned int __pad4;
|
||||
#if __WORDSIZE == 64
|
||||
int __cur_writer;
|
||||
int __shared;
|
||||
unsigned long int __pad1;
|
||||
unsigned long int __pad2;
|
||||
/* FLAGS must stay at this position in the structure to maintain
|
||||
binary compatibility. */
|
||||
unsigned int __flags;
|
||||
#else
|
||||
unsigned char __pad1;
|
||||
unsigned char __pad2;
|
||||
unsigned char __shared;
|
||||
/* FLAGS must stay at this position in the structure to maintain
|
||||
binary compatibility. */
|
||||
unsigned char __flags;
|
||||
int __cur_writer;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
|
||||
#else
|
||||
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,139 @@
|
||||
/* Definition for struct stat.
|
||||
Copyright (C) 2020-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if !defined _SYS_STAT_H && !defined _FCNTL_H
|
||||
# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _BITS_STRUCT_STAT_H
|
||||
#define _BITS_STRUCT_STAT_H 1
|
||||
|
||||
#include <bits/endian.h>
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
# if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
|
||||
unsigned short int __pad1;
|
||||
__ino_t st_ino; /* File serial number. */
|
||||
# else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
__mode_t st_mode; /* File mode. */
|
||||
__nlink_t st_nlink; /* Link count. */
|
||||
__uid_t st_uid; /* User ID of the file's owner. */
|
||||
__gid_t st_gid; /* Group ID of the file's group.*/
|
||||
__dev_t st_rdev; /* Device number, if device. */
|
||||
unsigned short int __pad2;
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
__off_t st_size; /* Size of file, in bytes. */
|
||||
# else
|
||||
__off64_t st_size; /* Size of file, in bytes. */
|
||||
# endif
|
||||
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||
# else
|
||||
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||
# endif
|
||||
# ifdef __USE_XOPEN2K8
|
||||
/* Nanosecond resolution timestamps are stored in a format
|
||||
equivalent to 'struct timespec'. This is the type used
|
||||
whenever possible but the Unix namespace rules do not allow the
|
||||
identifier 'timespec' to appear in the <sys/stat.h> header.
|
||||
Therefore we have to handle the use of this header in strictly
|
||||
standard-compliant sources special. */
|
||||
struct timespec st_atim; /* Time of last access. */
|
||||
struct timespec st_mtim; /* Time of last modification. */
|
||||
struct timespec st_ctim; /* Time of last status change. */
|
||||
# define st_atime st_atim.tv_sec /* Backward compatibility. */
|
||||
# define st_mtime st_mtim.tv_sec
|
||||
# define st_ctime st_ctim.tv_sec
|
||||
# else
|
||||
__time_t st_atime; /* Time of last access. */
|
||||
unsigned long int st_atimensec; /* Nscecs of last access. */
|
||||
__time_t st_mtime; /* Time of last modification. */
|
||||
unsigned long int st_mtimensec; /* Nsecs of last modification. */
|
||||
__time_t st_ctime; /* Time of last status change. */
|
||||
unsigned long int st_ctimensec; /* Nsecs of last status change. */
|
||||
# endif
|
||||
unsigned long int __glibc_reserved4;
|
||||
unsigned long int __glibc_reserved5;
|
||||
#endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
# if __WORDSIZE == 64
|
||||
unsigned short int __pad1;
|
||||
# endif
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
__mode_t st_mode; /* File mode. */
|
||||
__nlink_t st_nlink; /* Link count. */
|
||||
__uid_t st_uid; /* User ID of the file's owner. */
|
||||
__gid_t st_gid; /* Group ID of the file's group.*/
|
||||
__dev_t st_rdev; /* Device number, if device. */
|
||||
unsigned short int __pad2;
|
||||
__off64_t st_size; /* Size of file, in bytes. */
|
||||
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||
|
||||
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||
# ifdef __USE_XOPEN2K8
|
||||
/* Nanosecond resolution timestamps are stored in a format
|
||||
equivalent to 'struct timespec'. This is the type used
|
||||
whenever possible but the Unix namespace rules do not allow the
|
||||
identifier 'timespec' to appear in the <sys/stat.h> header.
|
||||
Therefore we have to handle the use of this header in strictly
|
||||
standard-compliant sources special. */
|
||||
struct timespec st_atim; /* Time of last access. */
|
||||
struct timespec st_mtim; /* Time of last modification. */
|
||||
struct timespec st_ctim; /* Time of last status change. */
|
||||
# define st_atime st_atim.tv_sec /* Backward compatibility. */
|
||||
# define st_mtime st_mtim.tv_sec
|
||||
# define st_ctime st_ctim.tv_sec
|
||||
# else
|
||||
__time_t st_atime; /* Time of last access. */
|
||||
unsigned long int st_atimensec; /* Nscecs of last access. */
|
||||
__time_t st_mtime; /* Time of last modification. */
|
||||
unsigned long int st_mtimensec; /* Nsecs of last modification. */
|
||||
__time_t st_ctime; /* Time of last status change. */
|
||||
unsigned long int st_ctimensec; /* Nsecs of last status change. */
|
||||
# endif
|
||||
unsigned long int __glibc_reserved4;
|
||||
unsigned long int __glibc_reserved5;
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Tell code we have these members. */
|
||||
#define _STATBUF_ST_BLKSIZE
|
||||
#define _STATBUF_ST_RDEV
|
||||
/* Nanosecond resolution time values are supported. */
|
||||
#define _STATBUF_ST_NSEC
|
||||
|
||||
#endif /* _BITS_STRUCT_STAT_H */
|
||||
@@ -0,0 +1,46 @@
|
||||
/* termios baud rate selection definitions. Linux/sparc version.
|
||||
Copyright (C) 2019-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _TERMIOS_H
|
||||
# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# define CBAUD 0x0000100f
|
||||
# define CBAUDEX 0x00001000
|
||||
# define CIBAUD 0x100f0000 /* input baud rate (not used) */
|
||||
# define CMSPAR 0x40000000 /* mark or space (stick) parity */
|
||||
# define CRTSCTS 0x80000000 /* flow control */
|
||||
#endif
|
||||
|
||||
#define B57600 0x00001001
|
||||
#define B115200 0x00001002
|
||||
#define B230400 0x00001003
|
||||
#define B460800 0x00001004
|
||||
#define B76800 0x00001005
|
||||
#define B153600 0x00001006
|
||||
#define B307200 0x00001007
|
||||
#define B614400 0x00001008
|
||||
#define B921600 0x00001009
|
||||
#define B500000 0x0000100a
|
||||
#define B576000 0x0000100b
|
||||
#define B1000000 0x0000100c
|
||||
#define B1152000 0x0000100d
|
||||
#define B1500000 0x0000100e
|
||||
#define B2000000 0x0000100f
|
||||
#define __MAX_BAUD B2000000
|
||||
@@ -0,0 +1,43 @@
|
||||
/* termios c_cc symbolic constant definitions. Linux/sparc version.
|
||||
Copyright (C) 2019-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _TERMIOS_H
|
||||
# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
|
||||
#endif
|
||||
|
||||
/* c_cc characters */
|
||||
#define VINTR 0
|
||||
#define VQUIT 1
|
||||
#define VERASE 2
|
||||
#define VKILL 3
|
||||
#define VEOF 4
|
||||
#define VEOL 5
|
||||
#define VEOL2 6
|
||||
#define VSWTC 7
|
||||
#define VSTART 8
|
||||
#define VSTOP 9
|
||||
#define VSUSP 10
|
||||
#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */
|
||||
#define VREPRINT 12
|
||||
#define VDISCARD 13
|
||||
#define VWERASE 14
|
||||
#define VLNEXT 15
|
||||
|
||||
/* User apps assume vmin/vtime is shared with eof/eol */
|
||||
#define VMIN VEOF
|
||||
#define VTIME VEOL
|
||||
@@ -0,0 +1,64 @@
|
||||
/* termios output mode definitions. Linux/sparc version.
|
||||
Copyright (C) 2019-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _TERMIOS_H
|
||||
# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
|
||||
#endif
|
||||
|
||||
/* c_oflag bits */
|
||||
#define OPOST 0x00000001
|
||||
#define OLCUC 0x00000002
|
||||
#define ONLCR 0x00000004
|
||||
#define OCRNL 0x00000008
|
||||
#define ONOCR 0x00000010
|
||||
#define ONLRET 0x00000020
|
||||
#define OFILL 0x00000040
|
||||
#define OFDEL 0x00000080
|
||||
#if defined __USE_MISC || defined __USE_XOPEN
|
||||
# define NLDLY 0x00000100
|
||||
# define NL0 0x00000000
|
||||
# define NL1 0x00000100
|
||||
# define CRDLY 0x00000600
|
||||
# define CR0 0x00000000
|
||||
# define CR1 0x00000200
|
||||
# define CR2 0x00000400
|
||||
# define CR3 0x00000600
|
||||
# define TABDLY 0x00001800
|
||||
# define TAB0 0x00000000
|
||||
# define TAB1 0x00000800
|
||||
# define TAB2 0x00001000
|
||||
# define TAB3 0x00001800
|
||||
# define BSDLY 0x00002000
|
||||
# define BS0 0x00000000
|
||||
# define BS1 0x00002000
|
||||
#define FFDLY 0x00008000
|
||||
#define FF0 0x00000000
|
||||
#define FF1 0x00008000
|
||||
#endif
|
||||
#define VTDLY 0x00004000
|
||||
#define VT0 0x00000000
|
||||
#define VT1 0x00004000
|
||||
|
||||
# if defined __USE_GNU
|
||||
#define PAGEOUT 0x00010000 /* SUNOS specific */
|
||||
#define WRAP 0x00020000 /* SUNOS specific */
|
||||
# endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# define XTABS 0x00001800
|
||||
#endif
|
||||
@@ -0,0 +1,34 @@
|
||||
/* struct termios definition. Linux/sparc version.
|
||||
Copyright (C) 2019-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library. If not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _TERMIOS_H
|
||||
# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
|
||||
#endif
|
||||
|
||||
#define NCCS 17
|
||||
struct termios
|
||||
{
|
||||
tcflag_t c_iflag; /* input mode flags */
|
||||
tcflag_t c_oflag; /* output mode flags */
|
||||
tcflag_t c_cflag; /* control mode flags */
|
||||
tcflag_t c_lflag; /* local mode flags */
|
||||
cc_t c_line; /* line discipline */
|
||||
cc_t c_cc[NCCS]; /* control characters */
|
||||
#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
|
||||
#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
/* Copyright (C) 2008-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_TIMERFD_H
|
||||
# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
|
||||
#endif
|
||||
|
||||
/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
|
||||
enum
|
||||
{
|
||||
TFD_CLOEXEC = 0x400000,
|
||||
#define TFD_CLOEXEC TFD_CLOEXEC
|
||||
TFD_NONBLOCK = 0x004000
|
||||
#define TFD_NONBLOCK TFD_NONBLOCK
|
||||
};
|
||||
@@ -0,0 +1,22 @@
|
||||
/* Bit size of the time_t type at glibc build time, Linux/sparc.
|
||||
Copyright (C) 2021-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
/* Size in bits of the 'time_t' type of the default ABI. */
|
||||
#define __TIMESIZE __WORDSIZE
|
||||
@@ -0,0 +1,53 @@
|
||||
/* Linux/SPARC implementation of the SysV message struct msqid_ds.
|
||||
Copyright (C) 2020-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_MSG_H
|
||||
# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/types/time_t.h>
|
||||
|
||||
/* Structure of record for one message inside the kernel.
|
||||
The type `struct msg' is opaque. */
|
||||
struct msqid_ds
|
||||
{
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_msqid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm msg_perm; /* structure describing operation permission */
|
||||
# if __TIMESIZE == 32
|
||||
unsigned long int __msg_stime_high;
|
||||
__time_t msg_stime; /* time of last msgsnd command */
|
||||
unsigned long int __msg_rtime_high;
|
||||
__time_t msg_rtime; /* time of last msgsnd command */
|
||||
unsigned long int __msg_ctime_high;
|
||||
__time_t msg_ctime; /* time of last change */
|
||||
# else
|
||||
__time_t msg_stime; /* time of last msgsnd command */
|
||||
__time_t msg_rtime; /* time of last msgsnd command */
|
||||
__time_t msg_ctime; /* time of last change */
|
||||
# endif
|
||||
__syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
|
||||
msgqnum_t msg_qnum; /* number of messages currently on queue */
|
||||
msglen_t msg_qbytes; /* max number of bytes allowed on queue */
|
||||
__pid_t msg_lspid; /* pid of last msgsnd() */
|
||||
__pid_t msg_lrpid; /* pid of last msgrcv() */
|
||||
__syscall_ulong_t __glibc_reserved4;
|
||||
__syscall_ulong_t __glibc_reserved5;
|
||||
#endif
|
||||
};
|
||||
@@ -0,0 +1,43 @@
|
||||
/* Sparc implementation of the semaphore struct semid_ds
|
||||
Copyright (C) 1995-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SEM_H
|
||||
# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
|
||||
#endif
|
||||
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_semid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
# if __TIMESIZE == 32
|
||||
__syscall_ulong_t __sem_otime_high;
|
||||
__time_t sem_otime; /* last semop() time */
|
||||
__syscall_ulong_t __sem_ctime_high;
|
||||
__time_t sem_ctime; /* last time changed by semctl() */
|
||||
# else
|
||||
__time_t sem_otime; /* last semop() time */
|
||||
__time_t sem_ctime; /* last time changed by semctl() */
|
||||
# endif
|
||||
__syscall_ulong_t sem_nsems; /* number of semaphores in set */
|
||||
__syscall_ulong_t __glibc_reserved3;
|
||||
__syscall_ulong_t __glibc_reserved4;
|
||||
#endif
|
||||
};
|
||||
@@ -0,0 +1,49 @@
|
||||
/* Linux/SPARC implementation of the shared memory struct shmid_ds.
|
||||
Copyright (C) 2020-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SHM_H
|
||||
# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
/* Data structure describing a shared memory segment. */
|
||||
struct shmid_ds
|
||||
{
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_shmid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm shm_perm; /* operation permission struct */
|
||||
# if __TIMESIZE == 32
|
||||
unsigned long int __shm_atime_high;
|
||||
__time_t shm_atime; /* time of last shmat() */
|
||||
unsigned long int __shm_dtime_high;
|
||||
__time_t shm_dtime; /* time of last shmdt() */
|
||||
unsigned long int __shm_ctime_high;
|
||||
__time_t shm_ctime; /* time of last change by shmctl() */
|
||||
# else
|
||||
__time_t shm_atime; /* time of last shmat() */
|
||||
__time_t shm_dtime; /* time of last shmdt() */
|
||||
__time_t shm_ctime; /* time of last change by shmctl() */
|
||||
# endif
|
||||
size_t shm_segsz; /* size of segment in bytes */
|
||||
__pid_t shm_cpid; /* pid of creator */
|
||||
__pid_t shm_lpid; /* pid of last shmop */
|
||||
shmatt_t shm_nattch; /* number of current attaches */
|
||||
__syscall_ulong_t __glibc_reserved5;
|
||||
__syscall_ulong_t __glibc_reserved6;
|
||||
#endif
|
||||
};
|
||||
@@ -0,0 +1,95 @@
|
||||
/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version.
|
||||
Copyright (C) 2002-2025 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 Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_TYPES_H
|
||||
# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _BITS_TYPESIZES_H
|
||||
#define _BITS_TYPESIZES_H 1
|
||||
|
||||
/* See <bits/types.h> for the meaning of these macros. This file exists so
|
||||
that <bits/types.h> need not vary across different GNU platforms. */
|
||||
|
||||
#define __DEV_T_TYPE __UQUAD_TYPE
|
||||
#define __UID_T_TYPE __U32_TYPE
|
||||
#define __GID_T_TYPE __U32_TYPE
|
||||
#define __INO_T_TYPE __ULONGWORD_TYPE
|
||||
#define __INO64_T_TYPE __UQUAD_TYPE
|
||||
#define __MODE_T_TYPE __U32_TYPE
|
||||
#define __NLINK_T_TYPE __U32_TYPE
|
||||
#define __OFF_T_TYPE __SLONGWORD_TYPE
|
||||
#define __OFF64_T_TYPE __SQUAD_TYPE
|
||||
#define __PID_T_TYPE __S32_TYPE
|
||||
#define __RLIM_T_TYPE __ULONGWORD_TYPE
|
||||
#define __RLIM64_T_TYPE __UQUAD_TYPE
|
||||
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
|
||||
#define __BLKCNT64_T_TYPE __SQUAD_TYPE
|
||||
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
|
||||
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
|
||||
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
|
||||
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
|
||||
#define __FSWORD_T_TYPE __SWORD_TYPE
|
||||
#define __ID_T_TYPE __U32_TYPE
|
||||
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
|
||||
#define __TIME_T_TYPE __SLONGWORD_TYPE
|
||||
#define __USECONDS_T_TYPE __U32_TYPE
|
||||
#define __SUSECONDS_T_TYPE __S32_TYPE
|
||||
#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
|
||||
#define __DADDR_T_TYPE __S32_TYPE
|
||||
#define __KEY_T_TYPE __S32_TYPE
|
||||
#define __CLOCKID_T_TYPE __S32_TYPE
|
||||
#define __TIMER_T_TYPE void *
|
||||
#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
|
||||
#define __FSID_T_TYPE struct { int __val[2]; }
|
||||
#define __SSIZE_T_TYPE __SWORD_TYPE
|
||||
#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
|
||||
#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
|
||||
#define __CPU_MASK_TYPE __ULONGWORD_TYPE
|
||||
|
||||
#if defined __arch64__ || defined __sparcv9
|
||||
/* Tell the libc code that off_t and off64_t are actually the same type
|
||||
for all ABI purposes, even if possibly expressed as different base types
|
||||
for C type-checking purposes. */
|
||||
# define __OFF_T_MATCHES_OFF64_T 1
|
||||
|
||||
/* Same for ino_t and ino64_t. */
|
||||
# define __INO_T_MATCHES_INO64_T 1
|
||||
|
||||
/* And for __rlim_t and __rlim64_t. */
|
||||
# define __RLIM_T_MATCHES_RLIM64_T 1
|
||||
|
||||
/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
|
||||
# define __STATFS_MATCHES_STATFS64 1
|
||||
|
||||
/* And for getitimer, setitimer and rusage */
|
||||
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
|
||||
#else
|
||||
# define __RLIM_T_MATCHES_RLIM64_T 0
|
||||
|
||||
# define __STATFS_MATCHES_STATFS64 0
|
||||
|
||||
/* And for getitimer, setitimer and rusage */
|
||||
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
|
||||
#endif
|
||||
|
||||
/* Number of descriptors that can fit in an `fd_set'. */
|
||||
#define __FD_SETSIZE 1024
|
||||
|
||||
|
||||
#endif /* bits/typesizes.h */
|
||||
@@ -0,0 +1,10 @@
|
||||
/* Determine the wordsize from the preprocessor defines. */
|
||||
|
||||
#if defined __arch64__ || defined __sparcv9
|
||||
# define __WORDSIZE 64
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE32_SIZE_ULONG 0
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
#define __WORDSIZE_TIME64_COMPAT32 1
|
||||
Reference in New Issue
Block a user