mirror of
https://github.com/ziglang/zig.git
synced 2024-11-27 23:52:31 +00:00
update glibc headers to 2.32
This commit is contained in:
parent
4e63cae369
commit
c61ea4cdb7
@ -53,4 +53,23 @@
|
||||
#define HWCAP_SSBS (1 << 28)
|
||||
#define HWCAP_SB (1 << 29)
|
||||
#define HWCAP_PACA (1 << 30)
|
||||
#define HWCAP_PACG (1UL << 31)
|
||||
#define HWCAP_PACG (1UL << 31)
|
||||
|
||||
#define HWCAP2_DCPODP (1 << 0)
|
||||
#define HWCAP2_SVE2 (1 << 1)
|
||||
#define HWCAP2_SVEAES (1 << 2)
|
||||
#define HWCAP2_SVEPMULL (1 << 3)
|
||||
#define HWCAP2_SVEBITPERM (1 << 4)
|
||||
#define HWCAP2_SVESHA3 (1 << 5)
|
||||
#define HWCAP2_SVESM4 (1 << 6)
|
||||
#define HWCAP2_FLAGM2 (1 << 7)
|
||||
#define HWCAP2_FRINT (1 << 8)
|
||||
#define HWCAP2_SVEI8MM (1 << 9)
|
||||
#define HWCAP2_SVEF32MM (1 << 10)
|
||||
#define HWCAP2_SVEF64MM (1 << 11)
|
||||
#define HWCAP2_SVEBF16 (1 << 12)
|
||||
#define HWCAP2_I8MM (1 << 13)
|
||||
#define HWCAP2_BF16 (1 << 14)
|
||||
#define HWCAP2_DGH (1 << 15)
|
||||
#define HWCAP2_RNG (1 << 16)
|
||||
#define HWCAP2_BTI (1 << 17)
|
@ -18,4 +18,4 @@
|
||||
|
||||
/* long double is distinct from double, so there is nothing to
|
||||
define here. */
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
@ -26,31 +26,45 @@
|
||||
|
||||
/* 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. */
|
||||
#if __TIMESIZE == 64 && __WORDSIZE == 32
|
||||
/* These are the "new" y2038 types defined for architectures added after
|
||||
the 5.1 kernel. */
|
||||
# define __INO_T_TYPE __UQUAD_TYPE
|
||||
# define __OFF_T_TYPE __SQUAD_TYPE
|
||||
# define __RLIM_T_TYPE __UQUAD_TYPE
|
||||
# define __BLKCNT_T_TYPE __SQUAD_TYPE
|
||||
# define __FSBLKCNT_T_TYPE __UQUAD_TYPE
|
||||
# define __FSFILCNT_T_TYPE __UQUAD_TYPE
|
||||
# define __TIME_T_TYPE __SQUAD_TYPE
|
||||
# define __SUSECONDS_T_TYPE __SQUAD_TYPE
|
||||
#else
|
||||
# define __INO_T_TYPE __ULONGWORD_TYPE
|
||||
# define __OFF_T_TYPE __SLONGWORD_TYPE
|
||||
# define __RLIM_T_TYPE __ULONGWORD_TYPE
|
||||
# define __BLKCNT_T_TYPE __SLONGWORD_TYPE
|
||||
# define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
|
||||
# define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
|
||||
# define __TIME_T_TYPE __SLONGWORD_TYPE
|
||||
# define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
|
||||
#endif
|
||||
|
||||
#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 __SLONGWORD_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
|
||||
@ -62,7 +76,7 @@
|
||||
#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
|
||||
#define __CPU_MASK_TYPE __ULONGWORD_TYPE
|
||||
|
||||
#ifdef __LP64__
|
||||
#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
|
||||
/* 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. */
|
||||
@ -76,11 +90,17 @@
|
||||
|
||||
/* 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 (__WORDSIZE == 64)
|
||||
#else
|
||||
# define __RLIM_T_MATCHES_RLIM64_T 0
|
||||
|
||||
# define __STATFS_MATCHES_STATFS64 0
|
||||
|
||||
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
|
||||
#endif
|
||||
|
||||
/* Number of descriptors that can fit in an `fd_set'. */
|
||||
#define __FD_SETSIZE 1024
|
||||
|
||||
|
@ -20,8 +20,6 @@
|
||||
#define LIBNSS_FILES_SO "libnss_files.so.2"
|
||||
#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
|
||||
#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
|
||||
#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
|
||||
#define LIBNSS_NIS_SO "libnss_nis.so.2"
|
||||
#define LIBNSS_TEST1_SO "libnss_test1.so.2"
|
||||
#define LIBNSS_TEST2_SO "libnss_test2.so.2"
|
||||
#define LIBPTHREAD_SO "libpthread.so.0"
|
||||
|
@ -15,10 +15,7 @@
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
||||
#define __stub_sysctl
|
||||
#define __stub_stty
|
@ -53,4 +53,23 @@
|
||||
#define HWCAP_SSBS (1 << 28)
|
||||
#define HWCAP_SB (1 << 29)
|
||||
#define HWCAP_PACA (1 << 30)
|
||||
#define HWCAP_PACG (1UL << 31)
|
||||
#define HWCAP_PACG (1UL << 31)
|
||||
|
||||
#define HWCAP2_DCPODP (1 << 0)
|
||||
#define HWCAP2_SVE2 (1 << 1)
|
||||
#define HWCAP2_SVEAES (1 << 2)
|
||||
#define HWCAP2_SVEPMULL (1 << 3)
|
||||
#define HWCAP2_SVEBITPERM (1 << 4)
|
||||
#define HWCAP2_SVESHA3 (1 << 5)
|
||||
#define HWCAP2_SVESM4 (1 << 6)
|
||||
#define HWCAP2_FLAGM2 (1 << 7)
|
||||
#define HWCAP2_FRINT (1 << 8)
|
||||
#define HWCAP2_SVEI8MM (1 << 9)
|
||||
#define HWCAP2_SVEF32MM (1 << 10)
|
||||
#define HWCAP2_SVEF64MM (1 << 11)
|
||||
#define HWCAP2_SVEBF16 (1 << 12)
|
||||
#define HWCAP2_I8MM (1 << 13)
|
||||
#define HWCAP2_BF16 (1 << 14)
|
||||
#define HWCAP2_DGH (1 << 15)
|
||||
#define HWCAP2_RNG (1 << 16)
|
||||
#define HWCAP2_BTI (1 << 17)
|
@ -18,4 +18,4 @@
|
||||
|
||||
/* long double is distinct from double, so there is nothing to
|
||||
define here. */
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
@ -26,31 +26,45 @@
|
||||
|
||||
/* 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. */
|
||||
#if __TIMESIZE == 64 && __WORDSIZE == 32
|
||||
/* These are the "new" y2038 types defined for architectures added after
|
||||
the 5.1 kernel. */
|
||||
# define __INO_T_TYPE __UQUAD_TYPE
|
||||
# define __OFF_T_TYPE __SQUAD_TYPE
|
||||
# define __RLIM_T_TYPE __UQUAD_TYPE
|
||||
# define __BLKCNT_T_TYPE __SQUAD_TYPE
|
||||
# define __FSBLKCNT_T_TYPE __UQUAD_TYPE
|
||||
# define __FSFILCNT_T_TYPE __UQUAD_TYPE
|
||||
# define __TIME_T_TYPE __SQUAD_TYPE
|
||||
# define __SUSECONDS_T_TYPE __SQUAD_TYPE
|
||||
#else
|
||||
# define __INO_T_TYPE __ULONGWORD_TYPE
|
||||
# define __OFF_T_TYPE __SLONGWORD_TYPE
|
||||
# define __RLIM_T_TYPE __ULONGWORD_TYPE
|
||||
# define __BLKCNT_T_TYPE __SLONGWORD_TYPE
|
||||
# define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
|
||||
# define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
|
||||
# define __TIME_T_TYPE __SLONGWORD_TYPE
|
||||
# define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
|
||||
#endif
|
||||
|
||||
#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 __SLONGWORD_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
|
||||
@ -62,7 +76,7 @@
|
||||
#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
|
||||
#define __CPU_MASK_TYPE __ULONGWORD_TYPE
|
||||
|
||||
#ifdef __LP64__
|
||||
#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
|
||||
/* 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. */
|
||||
@ -76,11 +90,17 @@
|
||||
|
||||
/* 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 (__WORDSIZE == 64)
|
||||
#else
|
||||
# define __RLIM_T_MATCHES_RLIM64_T 0
|
||||
|
||||
# define __STATFS_MATCHES_STATFS64 0
|
||||
|
||||
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
|
||||
#endif
|
||||
|
||||
/* Number of descriptors that can fit in an `fd_set'. */
|
||||
#define __FD_SETSIZE 1024
|
||||
|
||||
|
@ -20,8 +20,6 @@
|
||||
#define LIBNSS_FILES_SO "libnss_files.so.2"
|
||||
#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
|
||||
#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
|
||||
#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
|
||||
#define LIBNSS_NIS_SO "libnss_nis.so.2"
|
||||
#define LIBNSS_TEST1_SO "libnss_test1.so.2"
|
||||
#define LIBNSS_TEST2_SO "libnss_test2.so.2"
|
||||
#define LIBPTHREAD_SO "libpthread.so.0"
|
||||
|
@ -15,10 +15,7 @@
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
||||
#define __stub_sysctl
|
||||
#define __stub_stty
|
@ -37,4 +37,17 @@
|
||||
#ifndef __NO_LONG_DOUBLE_MATH
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
|
||||
/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
|
||||
choice of the underlying ABI of long double. It will always assume
|
||||
a constant value for each translation unit.
|
||||
|
||||
If the value is non-zero, any API which is parameterized by the long
|
||||
double type (i.e the scanf/printf family of functions or the explicitly
|
||||
parameterized math.h functions) will be redirected to a compatible
|
||||
implementation using _Float128 ABI via symbols suffixed with ieee128.
|
||||
|
||||
The mechanism this macro uses to acquire may be a function
|
||||
of architecture, or target specific options used to invoke the
|
||||
compiler. */
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
/* Generic POSIX semaphore type layout
|
||||
Copyright (C) 1995-2020 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
|
||||
@ -12,16 +13,20 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SEMAPHORE_H
|
||||
# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#define __SIZEOF_SEM_T 16
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define __SIZEOF_SEM_T 32
|
||||
#else
|
||||
# define __SIZEOF_SEM_T 16
|
||||
#endif
|
||||
|
||||
/* Value returned if `sem_open' failed. */
|
||||
#define SEM_FAILED ((sem_t *) 0)
|
||||
|
@ -37,4 +37,17 @@
|
||||
#ifndef __NO_LONG_DOUBLE_MATH
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
|
||||
/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
|
||||
choice of the underlying ABI of long double. It will always assume
|
||||
a constant value for each translation unit.
|
||||
|
||||
If the value is non-zero, any API which is parameterized by the long
|
||||
double type (i.e the scanf/printf family of functions or the explicitly
|
||||
parameterized math.h functions) will be redirected to a compatible
|
||||
implementation using _Float128 ABI via symbols suffixed with ieee128.
|
||||
|
||||
The mechanism this macro uses to acquire may be a function
|
||||
of architecture, or target specific options used to invoke the
|
||||
compiler. */
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
/* Generic POSIX semaphore type layout
|
||||
Copyright (C) 1995-2020 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
|
||||
@ -12,16 +13,20 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SEMAPHORE_H
|
||||
# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#define __SIZEOF_SEM_T 16
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define __SIZEOF_SEM_T 32
|
||||
#else
|
||||
# define __SIZEOF_SEM_T 16
|
||||
#endif
|
||||
|
||||
/* Value returned if `sem_open' failed. */
|
||||
#define SEM_FAILED ((sem_t *) 0)
|
||||
|
@ -37,4 +37,17 @@
|
||||
#ifndef __NO_LONG_DOUBLE_MATH
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
|
||||
/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
|
||||
choice of the underlying ABI of long double. It will always assume
|
||||
a constant value for each translation unit.
|
||||
|
||||
If the value is non-zero, any API which is parameterized by the long
|
||||
double type (i.e the scanf/printf family of functions or the explicitly
|
||||
parameterized math.h functions) will be redirected to a compatible
|
||||
implementation using _Float128 ABI via symbols suffixed with ieee128.
|
||||
|
||||
The mechanism this macro uses to acquire may be a function
|
||||
of architecture, or target specific options used to invoke the
|
||||
compiler. */
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
/* Generic POSIX semaphore type layout
|
||||
Copyright (C) 1995-2020 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
|
||||
@ -12,16 +13,20 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SEMAPHORE_H
|
||||
# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#define __SIZEOF_SEM_T 16
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define __SIZEOF_SEM_T 32
|
||||
#else
|
||||
# define __SIZEOF_SEM_T 16
|
||||
#endif
|
||||
|
||||
/* Value returned if `sem_open' failed. */
|
||||
#define SEM_FAILED ((sem_t *) 0)
|
||||
|
@ -37,4 +37,17 @@
|
||||
#ifndef __NO_LONG_DOUBLE_MATH
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
|
||||
/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
|
||||
choice of the underlying ABI of long double. It will always assume
|
||||
a constant value for each translation unit.
|
||||
|
||||
If the value is non-zero, any API which is parameterized by the long
|
||||
double type (i.e the scanf/printf family of functions or the explicitly
|
||||
parameterized math.h functions) will be redirected to a compatible
|
||||
implementation using _Float128 ABI via symbols suffixed with ieee128.
|
||||
|
||||
The mechanism this macro uses to acquire may be a function
|
||||
of architecture, or target specific options used to invoke the
|
||||
compiler. */
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
/* Generic POSIX semaphore type layout
|
||||
Copyright (C) 1995-2020 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
|
||||
@ -12,16 +13,20 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SEMAPHORE_H
|
||||
# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#define __SIZEOF_SEM_T 16
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define __SIZEOF_SEM_T 32
|
||||
#else
|
||||
# define __SIZEOF_SEM_T 16
|
||||
#endif
|
||||
|
||||
/* Value returned if `sem_open' failed. */
|
||||
#define SEM_FAILED ((sem_t *) 0)
|
||||
|
@ -554,7 +554,8 @@ __NTH (__option_is_end (const struct argp_option *__opt))
|
||||
# endif
|
||||
#endif /* Use extern inlines. */
|
||||
|
||||
#ifdef __LDBL_COMPAT
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/argp-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -2,6 +2,10 @@
|
||||
# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef __x86_64__
|
||||
|
||||
/* Signal to users of this header that this architecture really doesn't
|
||||
support a.out binary format. */
|
||||
#define __NO_A_OUT_SUPPORT 1
|
||||
#define __NO_A_OUT_SUPPORT 1
|
||||
|
||||
#endif
|
@ -5,12 +5,7 @@
|
||||
# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
|
||||
#endif
|
||||
|
||||
/* MIPS has selectable endianness. */
|
||||
#ifdef __MIPSEB
|
||||
# define __BYTE_ORDER __BIG_ENDIAN
|
||||
#endif
|
||||
#ifdef __MIPSEL
|
||||
# define __BYTE_ORDER __LITTLE_ENDIAN
|
||||
#endif
|
||||
/* i386/x86_64 are little-endian. */
|
||||
#define __BYTE_ORDER __LITTLE_ENDIAN
|
||||
|
||||
#endif /* bits/endianness.h */
|
@ -41,13 +41,16 @@
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
/* We can never provide environments with 32-bit wide pointers. */
|
||||
# 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
|
||||
/* 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
|
||||
@ -61,27 +64,42 @@
|
||||
|
||||
#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
|
||||
/* We have 32-bit wide `int', `long int' and pointers and all platforms
|
||||
support LFS. -mx32 has 64-bit wide `off_t'. */
|
||||
# define _POSIX_V7_ILP32_OFFBIG 1
|
||||
# define _POSIX_V6_ILP32_OFF32 1
|
||||
# define _POSIX_V6_ILP32_OFFBIG 1
|
||||
# define _XBS5_ILP32_OFF32 1
|
||||
# define _POSIX_V6_ILP32_OFFBIG 1
|
||||
# define _XBS5_ILP32_OFFBIG 1
|
||||
|
||||
# ifndef __x86_64__
|
||||
/* -m32 has 32-bit wide `off_t'. */
|
||||
# define _POSIX_V7_ILP32_OFF32 1
|
||||
# define _POSIX_V6_ILP32_OFF32 1
|
||||
# define _XBS5_ILP32_OFF32 1
|
||||
# endif
|
||||
|
||||
/* 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. */
|
||||
|
||||
/* We can never provide environments with 64-bit wide pointers. */
|
||||
# define _POSIX_V7_LP64_OFF64 -1
|
||||
# define _POSIX_V7_LPBIG_OFFBIG -1
|
||||
# define _POSIX_V6_LP64_OFF64 -1
|
||||
# define _POSIX_V6_LPBIG_OFFBIG -1
|
||||
# define _XBS5_LP64_OFF64 -1
|
||||
# define _XBS5_LPBIG_OFFBIG -1
|
||||
/* 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. */
|
||||
|
||||
/* CFLAGS. */
|
||||
#define __ILP32_OFFBIG_CFLAGS "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
#endif /* __WORDSIZE == 32 */
|
||||
|
||||
#endif /* __WORDSIZE == 32 */
|
||||
#define __ILP32_OFF32_CFLAGS "-m32"
|
||||
#define __ILP32_OFF32_LDFLAGS "-m32"
|
||||
#if defined __x86_64__ && defined __ILP32__
|
||||
# define __ILP32_OFFBIG_CFLAGS "-mx32"
|
||||
# define __ILP32_OFFBIG_LDFLAGS "-mx32"
|
||||
#else
|
||||
# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
# define __ILP32_OFFBIG_LDFLAGS "-m32"
|
||||
#endif
|
||||
#define __LP64_OFF64_CFLAGS "-m64"
|
||||
#define __LP64_OFF64_LDFLAGS "-m64"
|
@ -24,4 +24,6 @@ enum
|
||||
{
|
||||
EPOLL_CLOEXEC = 02000000
|
||||
#define EPOLL_CLOEXEC EPOLL_CLOEXEC
|
||||
};
|
||||
};
|
||||
|
||||
#define __EPOLL_PACKED __attribute__ ((__packed__))
|
@ -290,7 +290,8 @@ struct f_owner_ex
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Hint values for F_{GET,SET}_RW_HINT. */
|
||||
# define RWF_WRITE_LIFE_NOT_SET 0
|
||||
# define RWH_WRITE_LIFE_NOT_SET 0
|
||||
# define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
|
||||
# define RWH_WRITE_LIFE_NONE 1
|
||||
# define RWH_WRITE_LIFE_SHORT 2
|
||||
# define RWH_WRITE_LIFE_MEDIUM 3
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* O_*, F_*, FD_* bit values for Linux.
|
||||
Copyright (C) 1995-2020 Free Software Foundation, Inc.
|
||||
/* O_*, F_*, FD_* bit values for Linux/x86.
|
||||
Copyright (C) 2001-2020 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
|
||||
@ -13,56 +13,24 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _FCNTL_H
|
||||
#ifndef _FCNTL_H
|
||||
# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
|
||||
#endif
|
||||
|
||||
#include <sgidefs.h>
|
||||
|
||||
#define O_APPEND 0x0008
|
||||
#define O_SYNC 0x4010
|
||||
#define O_NONBLOCK 0x0080
|
||||
#define O_CREAT 0x0100 /* not fcntl */
|
||||
#define O_TRUNC 0x0200 /* not fcntl */
|
||||
#define O_EXCL 0x0400 /* not fcntl */
|
||||
#define O_NOCTTY 0x0800 /* not fcntl */
|
||||
#define O_ASYNC 0x1000
|
||||
|
||||
#define __O_DIRECT 0x8000 /* Direct disk access hint. */
|
||||
#define __O_DSYNC 0x0010 /* Synchronize data. */
|
||||
|
||||
#if _MIPS_SIM == _ABI64
|
||||
/* Not necessary, files are always with 64bit off_t. */
|
||||
# define __O_LARGEFILE 0
|
||||
#else
|
||||
# define __O_LARGEFILE 0x2000 /* Allow large file opens. */
|
||||
#ifdef __x86_64__
|
||||
# define __O_LARGEFILE 0
|
||||
#endif
|
||||
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
# define F_GETLK 14 /* Get record locking info. */
|
||||
# define F_SETLK 6 /* Set record locking info (non-blocking). */
|
||||
# define F_SETLKW 7 /* Set record locking info (blocking). */
|
||||
#else
|
||||
# define F_GETLK F_GETLK64 /* Get record locking info. */
|
||||
# define F_SETLK F_SETLK64 /* Set record locking info (non-blocking).*/
|
||||
# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */
|
||||
#ifdef __x86_64__
|
||||
/* Not necessary, we always have 64-bit offsets. */
|
||||
# define F_GETLK64 5 /* Get record locking info. */
|
||||
# define F_SETLK64 6 /* Set record locking info (non-blocking). */
|
||||
# define F_SETLKW64 7 /* Set record locking info (blocking). */
|
||||
#endif
|
||||
|
||||
#if _MIPS_SIM != _ABI64
|
||||
# define F_GETLK64 33 /* Get record locking info. */
|
||||
# define F_SETLK64 34 /* Set record locking info (non-blocking). */
|
||||
# define F_SETLKW64 35 /* Set record locking info (blocking). */
|
||||
#else
|
||||
# define F_GETLK64 14 /* Get record locking info. */
|
||||
# define F_SETLK64 6 /* Set record locking info (non-blocking).*/
|
||||
# define F_SETLKW64 7 /* Set record locking info (blocking). */
|
||||
#endif
|
||||
|
||||
#define __F_SETOWN 24 /* Get owner (process receiving SIGIO). */
|
||||
#define __F_GETOWN 23 /* Set owner (process receiving SIGIO). */
|
||||
|
||||
struct flock
|
||||
{
|
||||
@ -71,23 +39,12 @@ struct flock
|
||||
#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. */
|
||||
#if _MIPS_SIM != _ABI64
|
||||
/* The 64-bit flock structure, used by the n64 ABI, and for 64-bit
|
||||
fcntls in o32 and n32, never has this field. */
|
||||
long int l_sysid;
|
||||
#endif
|
||||
#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. */
|
||||
#if ! defined __USE_FILE_OFFSET64 && _MIPS_SIM != _ABI64
|
||||
/* The 64-bit flock structure, used by the n64 ABI, and for 64-bit
|
||||
flock in o32 and n32, never has this field. */
|
||||
long int __glibc_reserved0[4];
|
||||
#endif
|
||||
};
|
||||
typedef struct flock flock_t;
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct flock64
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1998-2020 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997-2020 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
|
||||
@ -12,101 +12,104 @@
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
#ifdef __mips_hard_float
|
||||
|
||||
/* Define bits representing the exception. We use the bit positions
|
||||
of the appropriate bits in the FPU control word. */
|
||||
enum
|
||||
{
|
||||
FE_INEXACT =
|
||||
# define FE_INEXACT 0x04
|
||||
FE_INEXACT,
|
||||
FE_UNDERFLOW =
|
||||
# define FE_UNDERFLOW 0x08
|
||||
FE_UNDERFLOW,
|
||||
FE_OVERFLOW =
|
||||
# define FE_OVERFLOW 0x10
|
||||
FE_OVERFLOW,
|
||||
FE_DIVBYZERO =
|
||||
# define FE_DIVBYZERO 0x20
|
||||
FE_DIVBYZERO,
|
||||
FE_INVALID =
|
||||
# define FE_INVALID 0x40
|
||||
#define FE_INVALID 0x01
|
||||
FE_INVALID,
|
||||
__FE_DENORM = 0x02,
|
||||
FE_DIVBYZERO =
|
||||
#define FE_DIVBYZERO 0x04
|
||||
FE_DIVBYZERO,
|
||||
FE_OVERFLOW =
|
||||
#define FE_OVERFLOW 0x08
|
||||
FE_OVERFLOW,
|
||||
FE_UNDERFLOW =
|
||||
#define FE_UNDERFLOW 0x10
|
||||
FE_UNDERFLOW,
|
||||
FE_INEXACT =
|
||||
#define FE_INEXACT 0x20
|
||||
FE_INEXACT
|
||||
};
|
||||
|
||||
# define FE_ALL_EXCEPT \
|
||||
#define FE_ALL_EXCEPT \
|
||||
(FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
|
||||
|
||||
/* The MIPS FPU supports all of the four defined rounding modes. We
|
||||
/* The ix87 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 0x0
|
||||
#define FE_TONEAREST 0
|
||||
FE_TONEAREST,
|
||||
FE_TOWARDZERO =
|
||||
# define FE_TOWARDZERO 0x1
|
||||
FE_TOWARDZERO,
|
||||
FE_UPWARD =
|
||||
# define FE_UPWARD 0x2
|
||||
FE_UPWARD,
|
||||
FE_DOWNWARD =
|
||||
# define FE_DOWNWARD 0x3
|
||||
FE_DOWNWARD
|
||||
#define FE_DOWNWARD 0x400
|
||||
FE_DOWNWARD,
|
||||
FE_UPWARD =
|
||||
#define FE_UPWARD 0x800
|
||||
FE_UPWARD,
|
||||
FE_TOWARDZERO =
|
||||
#define FE_TOWARDZERO 0xc00
|
||||
FE_TOWARDZERO
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
/* In the soft-float case, only rounding to nearest is supported, with
|
||||
no exceptions. */
|
||||
|
||||
enum
|
||||
{
|
||||
__FE_UNDEFINED = -1,
|
||||
|
||||
FE_TONEAREST =
|
||||
# define FE_TONEAREST 0x0
|
||||
FE_TONEAREST
|
||||
};
|
||||
|
||||
# define FE_ALL_EXCEPT 0
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned short int fexcept_t;
|
||||
|
||||
|
||||
/* Type representing floating-point environment. This function corresponds
|
||||
to the layout of the block written by the `fstenv'. */
|
||||
/* Type representing floating-point environment. This structure
|
||||
corresponds to the layout of the block written by the `fstenv'
|
||||
instruction and has additional fields for the contents of the MXCSR
|
||||
register as written by the `stmxcsr' instruction. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned int __fp_control_register;
|
||||
unsigned short int __control_word;
|
||||
unsigned short int __glibc_reserved1;
|
||||
unsigned short int __status_word;
|
||||
unsigned short int __glibc_reserved2;
|
||||
unsigned short int __tags;
|
||||
unsigned short int __glibc_reserved3;
|
||||
unsigned int __eip;
|
||||
unsigned short int __cs_selector;
|
||||
unsigned int __opcode:11;
|
||||
unsigned int __glibc_reserved4:5;
|
||||
unsigned int __data_offset;
|
||||
unsigned short int __data_selector;
|
||||
unsigned short int __glibc_reserved5;
|
||||
#ifdef __x86_64__
|
||||
unsigned int __mxcsr;
|
||||
#endif
|
||||
}
|
||||
fenv_t;
|
||||
|
||||
/* If the default argument is used we use this value. */
|
||||
#define FE_DFL_ENV ((const fenv_t *) -1)
|
||||
|
||||
#if defined __USE_GNU && defined __mips_hard_float
|
||||
#ifdef __USE_GNU
|
||||
/* Floating-point environment where none of the exception is masked. */
|
||||
# define FE_NOMASK_ENV ((const fenv_t *) -2)
|
||||
# define FE_NOMASK_ENV ((const fenv_t *) -2)
|
||||
#endif
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
|
||||
/* Type representing floating-point control modes. */
|
||||
typedef unsigned int femode_t;
|
||||
typedef struct
|
||||
{
|
||||
unsigned short int __control_word;
|
||||
unsigned short int __glibc_reserved;
|
||||
unsigned int __mxcsr;
|
||||
}
|
||||
femode_t;
|
||||
|
||||
/* Default floating-point control modes. */
|
||||
# define FE_DFL_MODE ((const femode_t *) -1L)
|
||||
|
@ -1,8 +0,0 @@
|
||||
/* This file provides inline versions of floating-pint environment
|
||||
handling functions. If there were any. */
|
||||
|
||||
#ifndef __NO_MATH_INLINES
|
||||
|
||||
/* Here is where the code would go. */
|
||||
|
||||
#endif
|
@ -1,4 +1,4 @@
|
||||
/* Macros to control TS 18661-3 glibc features on MIPS platforms.
|
||||
/* Macros to control TS 18661-3 glibc features on x86.
|
||||
Copyright (C) 2017-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -20,35 +20,38 @@
|
||||
#define _BITS_FLOATN_H
|
||||
|
||||
#include <features.h>
|
||||
#include <bits/long-double.h>
|
||||
|
||||
/* Defined to 1 if the current compiler invocation provides a
|
||||
floating-point type with the IEEE 754 binary128 format, and this
|
||||
glibc includes corresponding *f128 interfaces for it. */
|
||||
#ifndef __NO_LONG_DOUBLE_MATH
|
||||
glibc includes corresponding *f128 interfaces for it. The required
|
||||
libgcc support was added some time after the basic compiler
|
||||
support, for x86_64 and x86. */
|
||||
#if (defined __x86_64__ \
|
||||
? __GNUC_PREREQ (4, 3) \
|
||||
: (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
|
||||
# define __HAVE_FLOAT128 1
|
||||
#else
|
||||
/* glibc does not support _Float128 for platforms where long double is
|
||||
normally binary128 when building with long double as binary64.
|
||||
GCC's default for supported scalar modes does not support it either
|
||||
in that case. */
|
||||
# define __HAVE_FLOAT128 0
|
||||
#endif
|
||||
|
||||
/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
|
||||
from the default float, double and long double types in this glibc. */
|
||||
#define __HAVE_DISTINCT_FLOAT128 0
|
||||
#if __HAVE_FLOAT128
|
||||
# define __HAVE_DISTINCT_FLOAT128 1
|
||||
#else
|
||||
# define __HAVE_DISTINCT_FLOAT128 0
|
||||
#endif
|
||||
|
||||
/* Defined to 1 if the current compiler invocation provides a
|
||||
floating-point type with the right format for _Float64x, and this
|
||||
glibc includes corresponding *f64x interfaces for it. */
|
||||
#define __HAVE_FLOAT64X __HAVE_FLOAT128
|
||||
#define __HAVE_FLOAT64X 1
|
||||
|
||||
/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
|
||||
of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
|
||||
the format of _Float128, which must be different from that of long
|
||||
double. */
|
||||
#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
|
||||
#define __HAVE_FLOAT64X_LONG_DOUBLE 1
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
@ -57,7 +60,7 @@
|
||||
# if __HAVE_FLOAT128
|
||||
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||
/* The literal suffix f128 exists only since GCC 7.0. */
|
||||
# define __f128(x) x##l
|
||||
# define __f128(x) x##q
|
||||
# else
|
||||
# define __f128(x) x##f128
|
||||
# endif
|
||||
@ -66,7 +69,10 @@
|
||||
/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
|
||||
# if __HAVE_FLOAT128
|
||||
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||
# define __CFLOAT128 _Complex long double
|
||||
/* Add a typedef for older GCC compilers which don't natively support
|
||||
_Complex _Float128. */
|
||||
typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
|
||||
# define __CFLOAT128 __cfloat128
|
||||
# else
|
||||
# define __CFLOAT128 _Complex _Float128
|
||||
# endif
|
||||
@ -77,15 +83,33 @@
|
||||
|
||||
/* The type _Float128 exists only since GCC 7.0. */
|
||||
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
|
||||
typedef long double _Float128;
|
||||
typedef __float128 _Float128;
|
||||
# endif
|
||||
|
||||
/* Various built-in functions do not exist before GCC 7.0. */
|
||||
/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */
|
||||
# if !__GNUC_PREREQ (7, 0)
|
||||
# define __builtin_huge_valf128() (__builtin_huge_vall ())
|
||||
# define __builtin_inff128() (__builtin_infl ())
|
||||
# define __builtin_nanf128(x) (__builtin_nanl (x))
|
||||
# define __builtin_nansf128(x) (__builtin_nansl (x))
|
||||
# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
|
||||
# endif
|
||||
|
||||
/* Older GCC has only a subset of built-in functions for _Float128 on
|
||||
x86, and __builtin_infq is not usable in static initializers.
|
||||
Converting a narrower sNaN to _Float128 produces a quiet NaN, so
|
||||
attempts to use _Float128 sNaNs will not work properly with older
|
||||
compilers. */
|
||||
# if !__GNUC_PREREQ (7, 0)
|
||||
# define __builtin_copysignf128 __builtin_copysignq
|
||||
# define __builtin_fabsf128 __builtin_fabsq
|
||||
# define __builtin_inff128() ((_Float128) __builtin_inf ())
|
||||
# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
|
||||
# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
|
||||
# endif
|
||||
|
||||
/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
|
||||
e.g.: __builtin_signbitf128, before GCC 6. However, there has never
|
||||
been a __builtin_signbitf128 in GCC and the type-generic builtin is
|
||||
only available since GCC 6. */
|
||||
# if !__GNUC_PREREQ (6, 0)
|
||||
# define __builtin_signbitf128 __signbitf128
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Define __GLIBC_FLT_EVAL_METHOD.
|
||||
/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.
|
||||
Copyright (C) 2016-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -20,23 +20,14 @@
|
||||
# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* __GLIBC_FLT_EVAL_METHOD is the value of FLT_EVAL_METHOD used to
|
||||
determine the evaluation method typedefs such as float_t and
|
||||
double_t. It must be a value from C11 or TS 18661-3:2015, and not
|
||||
-1. */
|
||||
|
||||
/* In the default version of this header, follow __FLT_EVAL_METHOD__.
|
||||
-1 is mapped to 2 (considering evaluation as long double to be a
|
||||
conservatively safe assumption), and if __FLT_EVAL_METHOD__ is not
|
||||
defined then assume there is no excess precision and use the value
|
||||
0. */
|
||||
|
||||
#ifdef __FLT_EVAL_METHOD__
|
||||
# if __FLT_EVAL_METHOD__ == -1
|
||||
# define __GLIBC_FLT_EVAL_METHOD 2
|
||||
# else
|
||||
# define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__
|
||||
# endif
|
||||
#else
|
||||
#elif defined __x86_64__
|
||||
# define __GLIBC_FLT_EVAL_METHOD 0
|
||||
#else
|
||||
# define __GLIBC_FLT_EVAL_METHOD 2
|
||||
#endif
|
@ -1,4 +1,4 @@
|
||||
/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN.
|
||||
/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.
|
||||
Copyright (C) 2016-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -20,9 +20,5 @@
|
||||
# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* __FP_LOGB0_IS_MIN is defined to 1 if FP_ILOGB0 is INT_MIN, and 0 if
|
||||
it is -INT_MAX. __FP_LOGBNAN_IS_MIN is defined to 1 if FP_ILOGBNAN
|
||||
is INT_MIN, and 0 if it is INT_MAX. */
|
||||
|
||||
#define __FP_LOGB0_IS_MIN 0
|
||||
#define __FP_LOGBNAN_IS_MIN 0
|
||||
#define __FP_LOGB0_IS_MIN 1
|
||||
#define __FP_LOGBNAN_IS_MIN 1
|
@ -1,4 +1,4 @@
|
||||
/* Definition of __INDIRECT_RETURN. Generic version.
|
||||
/* Definition of __INDIRECT_RETURN. x86 version.
|
||||
Copyright (C) 2018-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -20,6 +20,18 @@
|
||||
# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
|
||||
#endif
|
||||
|
||||
/* __INDIRECT_RETURN is used on swapcontext to indicate if it requires
|
||||
special compiler treatment. */
|
||||
#define __INDIRECT_RETURN
|
||||
/* On x86, swapcontext returns via indirect branch when the shadow stack
|
||||
is enabled. Define __INDIRECT_RETURN to indicate whether swapcontext
|
||||
returns via indirect branch. */
|
||||
#if defined __CET__ && (__CET__ & 2) != 0
|
||||
# if __glibc_has_attribute (__indirect_return__)
|
||||
# define __INDIRECT_RETURN __attribute__ ((__indirect_return__))
|
||||
# else
|
||||
/* Newer compilers provide the indirect_return attribute, but without
|
||||
it we can use returns_twice to affect the optimizer in the same
|
||||
way and avoid unsafe optimizations. */
|
||||
# define __INDIRECT_RETURN __attribute__ ((__returns_twice__))
|
||||
# endif
|
||||
#else
|
||||
# define __INDIRECT_RETURN
|
||||
#endif
|
@ -1,5 +1,5 @@
|
||||
/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic.
|
||||
Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
|
||||
Copyright (C) 2012-2020 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
|
||||
@ -16,21 +16,18 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
/*
|
||||
* Never include <bits/ipctypes.h> directly.
|
||||
*/
|
||||
#ifndef _SYS_IPC_H
|
||||
# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _BITS_IPCTYPES_H
|
||||
#define _BITS_IPCTYPES_H 1
|
||||
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Used in `struct shmid_ds'. */
|
||||
# if __WORDSIZE == 32
|
||||
typedef unsigned short int __ipc_pid_t;
|
||||
# else
|
||||
# ifdef __x86_64__
|
||||
typedef int __ipc_pid_t;
|
||||
# else
|
||||
typedef unsigned short int __ipc_pid_t;
|
||||
# endif
|
||||
|
||||
|
||||
#endif /* bits/ipctypes.h */
|
@ -1,4 +1,4 @@
|
||||
/* Define iscanonical macro.
|
||||
/* Define iscanonical macro. ldbl-96 version.
|
||||
Copyright (C) 2016-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -20,9 +20,35 @@
|
||||
# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Return nonzero value if X is canonical. By default, we only have
|
||||
IEEE interchange binary formats, in which all values are canonical,
|
||||
but the argument must still be converted to its semantic type for
|
||||
any exceptions arising from the conversion, before being
|
||||
discarded. */
|
||||
#define iscanonical(x) ((void) (__typeof (x)) (x), 1)
|
||||
extern int __iscanonicall (long double __x)
|
||||
__THROW __attribute__ ((__const__));
|
||||
#define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
|
||||
#define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
|
||||
#if __HAVE_DISTINCT_FLOAT128
|
||||
# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
|
||||
#endif
|
||||
|
||||
/* Return nonzero value if X is canonical. In IEEE interchange binary
|
||||
formats, all values are canonical, but the argument must still be
|
||||
converted to its semantic type for any exceptions arising from the
|
||||
conversion, before being discarded; in extended precision, there
|
||||
are encodings that are not consistently handled as corresponding to
|
||||
any particular value of the type, and we return 0 for those. */
|
||||
#ifndef __cplusplus
|
||||
# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
|
||||
#else
|
||||
/* In C++ mode, __MATH_TG cannot be used, because it relies on
|
||||
__builtin_types_compatible_p, which is a C-only builtin. On the
|
||||
other hand, overloading provides the means to distinguish between
|
||||
the floating-point types. The overloading resolution will match
|
||||
the correct parameter (regardless of type qualifiers (i.e.: const
|
||||
and volatile)). */
|
||||
extern "C++" {
|
||||
inline int iscanonical (float __val) { return __iscanonicalf (__val); }
|
||||
inline int iscanonical (double __val) { return __iscanonical (__val); }
|
||||
inline int iscanonical (long double __val) { return __iscanonicall (__val); }
|
||||
# if __HAVE_DISTINCT_FLOAT128
|
||||
inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
|
||||
# endif
|
||||
}
|
||||
#endif /* __cplusplus */
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2004-2020 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
|
||||
@ -12,106 +12,148 @@
|
||||
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
|
||||
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
|
||||
|
||||
#include <sgidefs.h>
|
||||
|
||||
#if _MIPS_SIM == _ABIO32
|
||||
|
||||
/* Registers for entry into PLT on MIPS. */
|
||||
typedef struct La_mips_32_regs
|
||||
#ifndef __x86_64__
|
||||
/* Registers for entry into PLT on IA-32. */
|
||||
typedef struct La_i86_regs
|
||||
{
|
||||
uint32_t lr_reg[4]; /* $a0 through $a3 */
|
||||
double lr_fpreg[2]; /* $f12 and $f14 */
|
||||
uint32_t lr_ra;
|
||||
uint32_t lr_sp;
|
||||
} La_mips_32_regs;
|
||||
uint32_t lr_edx;
|
||||
uint32_t lr_ecx;
|
||||
uint32_t lr_eax;
|
||||
uint32_t lr_ebp;
|
||||
uint32_t lr_esp;
|
||||
} La_i86_regs;
|
||||
|
||||
/* Return values for calls from PLT on MIPS. */
|
||||
typedef struct La_mips_32_retval
|
||||
/* Return values for calls from PLT on IA-32. */
|
||||
typedef struct La_i86_retval
|
||||
{
|
||||
uint32_t lrv_v0;
|
||||
uint32_t lrv_v1;
|
||||
double lrv_f0;
|
||||
double lrv_f2;
|
||||
} La_mips_32_retval;
|
||||
uint32_t lrv_eax;
|
||||
uint32_t lrv_edx;
|
||||
long double lrv_st0;
|
||||
long double lrv_st1;
|
||||
uint64_t lrv_bnd0;
|
||||
uint64_t lrv_bnd1;
|
||||
} La_i86_retval;
|
||||
|
||||
#else
|
||||
|
||||
typedef struct La_mips_64_regs
|
||||
{
|
||||
uint64_t lr_reg[8]; /* $a0 through $a7 */
|
||||
double lr_fpreg[8]; /* $f12 throgh $f19 */
|
||||
uint64_t lr_ra;
|
||||
uint64_t lr_sp;
|
||||
} La_mips_64_regs;
|
||||
|
||||
/* Return values for calls from PLT on MIPS. */
|
||||
typedef struct La_mips_64_retval
|
||||
{
|
||||
uint64_t lrv_v0;
|
||||
uint64_t lrv_v1;
|
||||
double lrv_f0;
|
||||
double lrv_f2;
|
||||
} La_mips_64_retval;
|
||||
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#if _MIPS_SIM == _ABIO32
|
||||
extern Elf32_Addr la_i86_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_i86_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_i86_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_i86_regs *__inregs,
|
||||
La_i86_retval *__outregs,
|
||||
const char *symname);
|
||||
|
||||
extern Elf32_Addr la_mips_o32_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_mips_32_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_mips_o32_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_mips_32_regs *__inregs,
|
||||
La_mips_32_retval *__outregs,
|
||||
const char *__symname);
|
||||
|
||||
#elif _MIPS_SIM == _ABIN32
|
||||
|
||||
extern Elf32_Addr la_mips_n32_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_mips_64_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_mips_n32_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_mips_64_regs *__inregs,
|
||||
La_mips_64_retval *__outregs,
|
||||
const char *__symname);
|
||||
__END_DECLS
|
||||
|
||||
#else
|
||||
|
||||
extern Elf64_Addr la_mips_n64_gnu_pltenter (Elf64_Sym *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_mips_64_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_mips_n64_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_mips_64_regs *__inregs,
|
||||
La_mips_64_retval *__outregs,
|
||||
const char *__symname);
|
||||
/* Registers for entry into PLT on x86-64. */
|
||||
# if __GNUC_PREREQ (4,0)
|
||||
typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
|
||||
typedef float La_x86_64_ymm
|
||||
__attribute__ ((__vector_size__ (32), __aligned__ (16)));
|
||||
typedef double La_x86_64_zmm
|
||||
__attribute__ ((__vector_size__ (64), __aligned__ (16)));
|
||||
# else
|
||||
typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
|
||||
# endif
|
||||
|
||||
typedef union
|
||||
{
|
||||
# if __GNUC_PREREQ (4,0)
|
||||
La_x86_64_ymm ymm[2];
|
||||
La_x86_64_zmm zmm[1];
|
||||
# endif
|
||||
La_x86_64_xmm xmm[4];
|
||||
} La_x86_64_vector __attribute__ ((__aligned__ (16)));
|
||||
|
||||
typedef struct La_x86_64_regs
|
||||
{
|
||||
uint64_t lr_rdx;
|
||||
uint64_t lr_r8;
|
||||
uint64_t lr_r9;
|
||||
uint64_t lr_rcx;
|
||||
uint64_t lr_rsi;
|
||||
uint64_t lr_rdi;
|
||||
uint64_t lr_rbp;
|
||||
uint64_t lr_rsp;
|
||||
La_x86_64_xmm lr_xmm[8];
|
||||
La_x86_64_vector lr_vector[8];
|
||||
#ifndef __ILP32__
|
||||
__int128_t lr_bnd[4];
|
||||
#endif
|
||||
} La_x86_64_regs;
|
||||
|
||||
__END_DECLS
|
||||
/* Return values for calls from PLT on x86-64. */
|
||||
typedef struct La_x86_64_retval
|
||||
{
|
||||
uint64_t lrv_rax;
|
||||
uint64_t lrv_rdx;
|
||||
La_x86_64_xmm lrv_xmm0;
|
||||
La_x86_64_xmm lrv_xmm1;
|
||||
long double lrv_st0;
|
||||
long double lrv_st1;
|
||||
La_x86_64_vector lrv_vector0;
|
||||
La_x86_64_vector lrv_vector1;
|
||||
#ifndef __ILP32__
|
||||
__int128_t lrv_bnd0;
|
||||
__int128_t lrv_bnd1;
|
||||
#endif
|
||||
} La_x86_64_retval;
|
||||
|
||||
#define La_x32_regs La_x86_64_regs
|
||||
#define La_x32_retval La_x86_64_retval
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern Elf64_Addr la_x86_64_gnu_pltenter (Elf64_Sym *__sym,
|
||||
unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_x86_64_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_x86_64_gnu_pltexit (Elf64_Sym *__sym,
|
||||
unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_x86_64_regs *__inregs,
|
||||
La_x86_64_retval *__outregs,
|
||||
const char *__symname);
|
||||
|
||||
extern Elf32_Addr la_x32_gnu_pltenter (Elf32_Sym *__sym,
|
||||
unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
La_x32_regs *__regs,
|
||||
unsigned int *__flags,
|
||||
const char *__symname,
|
||||
long int *__framesizep);
|
||||
extern unsigned int la_x32_gnu_pltexit (Elf32_Sym *__sym,
|
||||
unsigned int __ndx,
|
||||
uintptr_t *__refcook,
|
||||
uintptr_t *__defcook,
|
||||
const La_x32_regs *__inregs,
|
||||
La_x32_retval *__outregs,
|
||||
const char *__symname);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
@ -1,4 +1,4 @@
|
||||
/* Properties of long double type. MIPS version.
|
||||
/* Properties of long double type. ldbl-96 version.
|
||||
Copyright (C) 2016-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -16,9 +16,6 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sgidefs.h>
|
||||
|
||||
#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
|
||||
# define __NO_LONG_DOUBLE_MATH 1
|
||||
#endif
|
||||
#define __LONG_DOUBLE_USES_FLOAT128 0
|
||||
/* long double is distinct from double, so there is nothing to
|
||||
define here. */
|
||||
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
@ -4,7 +4,7 @@
|
||||
|
||||
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
|
||||
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,
|
||||
@ -21,7 +21,43 @@
|
||||
include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Get default empty definitions required for __MATHCALL_VEC unfolding.
|
||||
Plaform-specific analogue of this header should redefine them with specific
|
||||
SIMD declarations. */
|
||||
#include <bits/libm-simd-decl-stubs.h>
|
||||
/* Get default empty definitions for simd declarations. */
|
||||
#include <bits/libm-simd-decl-stubs.h>
|
||||
|
||||
#if defined __x86_64__ && defined __FAST_MATH__
|
||||
# if defined _OPENMP && _OPENMP >= 201307
|
||||
/* OpenMP case. */
|
||||
# define __DECL_SIMD_x86_64 _Pragma ("omp declare simd notinbranch")
|
||||
# elif __GNUC_PREREQ (6,0)
|
||||
/* W/o OpenMP use GCC 6.* __attribute__ ((__simd__)). */
|
||||
# define __DECL_SIMD_x86_64 __attribute__ ((__simd__ ("notinbranch")))
|
||||
# endif
|
||||
|
||||
# ifdef __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_cos
|
||||
# define __DECL_SIMD_cos __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_cosf
|
||||
# define __DECL_SIMD_cosf __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_sin
|
||||
# define __DECL_SIMD_sin __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_sinf
|
||||
# define __DECL_SIMD_sinf __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_sincos
|
||||
# define __DECL_SIMD_sincos __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_sincosf
|
||||
# define __DECL_SIMD_sincosf __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_log
|
||||
# define __DECL_SIMD_log __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_logf
|
||||
# define __DECL_SIMD_logf __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_exp
|
||||
# define __DECL_SIMD_exp __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_expf
|
||||
# define __DECL_SIMD_expf __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_pow
|
||||
# define __DECL_SIMD_pow __DECL_SIMD_x86_64
|
||||
# undef __DECL_SIMD_powf
|
||||
# define __DECL_SIMD_powf __DECL_SIMD_x86_64
|
||||
|
||||
# endif
|
||||
#endif
|
@ -16,28 +16,30 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
/* Classify given number. */
|
||||
__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))
|
||||
__MATHDECL_ALIAS (int, __fpclassify,, (_Mdouble_ __value), fpclassify)
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Test for negative number. */
|
||||
__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))
|
||||
__MATHDECL_ALIAS (int, __signbit,, (_Mdouble_ __value), signbit)
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Return 0 if VALUE is finite or NaN, +1 if it
|
||||
is +Infinity, -1 if it is -Infinity. */
|
||||
__MATHDECL_1 (int, __isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
__MATHDECL_ALIAS (int, __isinf,, (_Mdouble_ __value), isinf)
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Return nonzero if VALUE is finite and not NaN. Used by isfinite macro. */
|
||||
__MATHDECL_1 (int, __finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
__MATHDECL_ALIAS (int, __finite,, (_Mdouble_ __value), finite)
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Return nonzero if VALUE is not a number. */
|
||||
__MATHDECL_1 (int, __isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
__MATHDECL_ALIAS (int, __isnan,, (_Mdouble_ __value), isnan)
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Test equality. */
|
||||
__MATHDECL_1 (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
__MATHDECL_ALIAS (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y), iseqsig);
|
||||
|
||||
/* Test for signaling NaN. */
|
||||
__MATHDECL_1 (int, __issignaling,, (_Mdouble_ __value))
|
||||
__MATHDECL_ALIAS (int, __issignaling,, (_Mdouble_ __value), issignaling)
|
||||
__attribute__ ((__const__));
|
@ -174,12 +174,14 @@ __MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
&& !__MATH_DECLARING_FLOATN
|
||||
/* Return 0 if VALUE is finite or NaN, +1 if it
|
||||
is +Infinity, -1 if it is -Infinity. */
|
||||
__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
__MATHDECL_ALIAS (int,isinf,, (_Mdouble_ __value), isinf)
|
||||
__attribute__ ((__const__));
|
||||
# endif
|
||||
|
||||
# if !__MATH_DECLARING_FLOATN
|
||||
/* Return nonzero if VALUE is finite and not NaN. */
|
||||
__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
__MATHDECL_ALIAS (int,finite,, (_Mdouble_ __value), finite)
|
||||
__attribute__ ((__const__));
|
||||
|
||||
/* Return the remainder of X/Y. */
|
||||
__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
|
||||
@ -208,7 +210,8 @@ __MATHCALL (nan,, (const char *__tagb));
|
||||
|| __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't. */ \
|
||||
&& !__MATH_DECLARING_FLOATN
|
||||
/* Return nonzero if VALUE is not a number. */
|
||||
__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
|
||||
__MATHDECL_ALIAS (int,isnan,, (_Mdouble_ __value), isnan)
|
||||
__attribute__ ((__const__));
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
/* This file should provide inline versions of math functions.
|
||||
|
||||
Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'.
|
||||
|
||||
This file should define __MATH_INLINES if functions are actually defined as
|
||||
inlines. */
|
||||
|
||||
#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
|
||||
|
||||
/* Here goes the real code. */
|
||||
|
||||
#endif
|
@ -24,6 +24,7 @@
|
||||
/* Flags for mremap. */
|
||||
# define MREMAP_MAYMOVE 1
|
||||
# define MREMAP_FIXED 2
|
||||
# define MREMAP_DONTUNMAP 4
|
||||
|
||||
/* Flags for memfd_create. */
|
||||
# ifndef MFD_CLOEXEC
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Definitions for POSIX memory map interface. Linux/generic version.
|
||||
Copyright (C) 1997-2020 Free Software Foundation, Inc.
|
||||
/* Definitions for POSIX memory map interface. Linux/x86_64 version.
|
||||
Copyright (C) 2001-2020 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
|
||||
@ -13,18 +13,20 @@
|
||||
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
|
||||
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
|
||||
|
||||
/* These definitions are appropriate for architectures that, in the
|
||||
Linux kernel, either have no uapi/asm/mman.h, or have one that
|
||||
includes asm-generic/mman.h without any changes or additions
|
||||
relevant to glibc. If there are additions relevant to glibc, an
|
||||
architecture-specific bits/mman.h is needed. */
|
||||
/* The following definitions basically come from the kernel headers.
|
||||
But the kernel header is not namespace clean. */
|
||||
|
||||
/* Other flags. */
|
||||
#ifdef __USE_MISC
|
||||
# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */
|
||||
#endif
|
||||
|
||||
#include <bits/mman-map-flags-generic.h>
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
/* Define where padding goes in struct msqid_ds. Generic version.
|
||||
Copyright (C) 2018-2020 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-pad.h> directly; include <sys/msg.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/timesize.h>
|
||||
|
||||
/* On most architectures, padding goes after time fields for 32-bit
|
||||
systems and is omitted for 64-bit systems. Some architectures pad
|
||||
before time fields instead, or omit padding despite being
|
||||
32-bit. */
|
||||
|
||||
#define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
|
||||
#define __MSQ_PAD_BEFORE_TIME 0
|
@ -20,7 +20,12 @@
|
||||
#endif
|
||||
|
||||
#include <bits/types.h>
|
||||
#include <bits/msq-pad.h>
|
||||
|
||||
/* Types used in the MSQID_DS structure definition. */
|
||||
typedef __syscall_ulong_t msgqnum_t;
|
||||
typedef __syscall_ulong_t msglen_t;
|
||||
|
||||
#include <bits/types/struct_msqid_ds.h>
|
||||
|
||||
/* Define options for message queue functions. */
|
||||
#define MSG_NOERROR 010000 /* no error if message is too big */
|
||||
@ -29,38 +34,6 @@
|
||||
# define MSG_COPY 040000 /* copy (not remove) all queue messages */
|
||||
#endif
|
||||
|
||||
/* Types used in the structure definition. */
|
||||
typedef __syscall_ulong_t msgqnum_t;
|
||||
typedef __syscall_ulong_t msglen_t;
|
||||
|
||||
#if __MSQ_PAD_BEFORE_TIME
|
||||
# define __MSQ_PAD_TIME(NAME, RES) \
|
||||
unsigned long int __glibc_reserved ## RES; __time_t NAME
|
||||
#elif __MSQ_PAD_AFTER_TIME
|
||||
# define __MSQ_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME; unsigned long int __glibc_reserved ## RES
|
||||
#else
|
||||
# define __MSQ_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME
|
||||
#endif
|
||||
|
||||
/* Structure of record for one message inside the kernel.
|
||||
The type `struct msg' is opaque. */
|
||||
struct msqid_ds
|
||||
{
|
||||
struct ipc_perm msg_perm; /* structure describing operation permission */
|
||||
__MSQ_PAD_TIME (msg_stime, 1); /* time of last msgsnd command */
|
||||
__MSQ_PAD_TIME (msg_rtime, 2); /* time of last msgrcv command */
|
||||
__MSQ_PAD_TIME (msg_ctime, 3); /* time of last change */
|
||||
__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;
|
||||
};
|
||||
|
||||
#ifdef __USE_MISC
|
||||
|
||||
# define msg_cbytes __msg_cbytes
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version.
|
||||
/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.
|
||||
Copyright (C) 2018-2020 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library.
|
||||
@ -21,5 +21,10 @@
|
||||
# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
typedef unsigned short int __pr_uid_t;
|
||||
typedef unsigned short int __pr_gid_t;
|
||||
#else
|
||||
typedef unsigned int __pr_uid_t;
|
||||
typedef unsigned int __pr_gid_t;
|
||||
typedef unsigned int __pr_gid_t;
|
||||
#endif
|
@ -1,5 +1,5 @@
|
||||
/* Types for registers for sys/procfs.h. MIPS version.
|
||||
Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
/* Types for registers for sys/procfs.h. x86 version.
|
||||
Copyright (C) 2001-2020 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
|
||||
@ -13,25 +13,38 @@
|
||||
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
|
||||
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 <sgidefs.h>
|
||||
|
||||
/* ELF register definitions */
|
||||
#define ELF_NGREG 45
|
||||
#define ELF_NFPREG 33
|
||||
|
||||
#if _MIPS_SIM == _ABIN32
|
||||
/* Type for a general-purpose register. */
|
||||
#ifdef __x86_64__
|
||||
__extension__ typedef unsigned long long elf_greg_t;
|
||||
#else
|
||||
typedef unsigned long elf_greg_t;
|
||||
#endif
|
||||
|
||||
/* And the whole bunch of them. We could have used `struct
|
||||
user_regs_struct' directly in the typedef, but tradition says that
|
||||
the register set is an array, which does have some peculiar
|
||||
semantics, so leave it that way. */
|
||||
#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
|
||||
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
|
||||
typedef double elf_fpreg_t;
|
||||
typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|
||||
#ifndef __x86_64__
|
||||
/* Register set for the floating-point registers. */
|
||||
typedef struct user_fpregs_struct elf_fpregset_t;
|
||||
|
||||
/* Register set for the extended floating-point registers. Includes
|
||||
the Pentium III SSE registers in addition to the classic
|
||||
floating-point stuff. */
|
||||
typedef struct user_fpxregs_struct elf_fpxregset_t;
|
||||
#else
|
||||
/* Register set for the extended floating-point registers. Includes
|
||||
the Pentium III SSE registers in addition to the classic
|
||||
floating-point stuff. */
|
||||
typedef struct user_fpregs_struct elf_fpregset_t;
|
||||
#endif
|
@ -1,6 +1,4 @@
|
||||
/* Machine-specific pthread type layouts. Generic version.
|
||||
Copyright (C) 2019-2020 Free Software Foundation, Inc.
|
||||
|
||||
/* Copyright (C) 2002-2020 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
|
||||
@ -15,31 +13,43 @@
|
||||
|
||||
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/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_PTHREADTYPES_ARCH_H
|
||||
#define _BITS_PTHREADTYPES_ARCH_H 1
|
||||
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 56
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 40
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 56
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 32
|
||||
#ifdef __x86_64__
|
||||
# if __WORDSIZE == 64
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 40
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 56
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 56
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 32
|
||||
# else
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 32
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 32
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 44
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||
# endif
|
||||
#else
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 36
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 24
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 32
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||
# define __SIZEOF_PTHREAD_MUTEX_T 24
|
||||
# define __SIZEOF_PTHREAD_ATTR_T 36
|
||||
# define __SIZEOF_PTHREAD_RWLOCK_T 32
|
||||
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||
#endif
|
||||
#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||
#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||
#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||
#define __SIZEOF_PTHREAD_COND_T 48
|
||||
#define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||
#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||
#define __SIZEOF_PTHREAD_COND_T 48
|
||||
#define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||
#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||
#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||
|
||||
#define __LOCK_ALIGNMENT
|
||||
#define __ONCE_ALIGNMENT
|
||||
|
||||
#ifndef __x86_64__
|
||||
/* Extra attributes for the cleanup functions. */
|
||||
# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
|
||||
#endif
|
||||
|
||||
#endif /* bits/pthreadtypes.h */
|
@ -98,7 +98,7 @@ enum __rlimit_resource
|
||||
__RLIMIT_RTPRIO = 14,
|
||||
#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
|
||||
|
||||
/* Maximum CPU time in µs that a process scheduled under a real-time
|
||||
/* 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,
|
||||
|
@ -1,33 +0,0 @@
|
||||
/* Define where padding goes in struct semid_ds. Generic version.
|
||||
Copyright (C) 2018-2020 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 use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/timesize.h>
|
||||
|
||||
/* On most architectures, padding goes after time fields for 32-bit
|
||||
systems and is omitted for 64-bit systems. Some architectures pad
|
||||
before time fields instead, or omit padding despite being 32-bit,
|
||||
or include it despite being 64-bit. This must match the layout
|
||||
used for struct semid64_ds in <asm/sembuf.h>, as glibc does not do
|
||||
layout conversions for this structure. */
|
||||
|
||||
#define __SEM_PAD_AFTER_TIME (__TIMESIZE == 32)
|
||||
#define __SEM_PAD_BEFORE_TIME 0
|
@ -20,7 +20,8 @@
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <bits/sem-pad.h>
|
||||
#include <bits/timesize.h>
|
||||
#include <bits/types/struct_semid_ds.h>
|
||||
|
||||
/* Flags for `semop'. */
|
||||
#define SEM_UNDO 0x1000 /* undo the operation on exit */
|
||||
@ -34,29 +35,6 @@
|
||||
#define SETVAL 16 /* set semval */
|
||||
#define SETALL 17 /* set all semval's */
|
||||
|
||||
|
||||
#if __SEM_PAD_BEFORE_TIME
|
||||
# define __SEM_PAD_TIME(NAME, RES) \
|
||||
__syscall_ulong_t __glibc_reserved ## RES; __time_t NAME
|
||||
#elif __SEM_PAD_AFTER_TIME
|
||||
# define __SEM_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME; __syscall_ulong_t __glibc_reserved ## RES
|
||||
#else
|
||||
# define __SEM_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME
|
||||
#endif
|
||||
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
__SEM_PAD_TIME (sem_otime, 1); /* last semop() time */
|
||||
__SEM_PAD_TIME (sem_ctime, 2); /* last time changed by semctl() */
|
||||
__syscall_ulong_t sem_nsems; /* number of semaphores in set */
|
||||
__syscall_ulong_t __glibc_reserved3;
|
||||
__syscall_ulong_t __glibc_reserved4;
|
||||
};
|
||||
|
||||
/* The user should define a union like the following to use it for arguments
|
||||
for `semctl'.
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
/* Generic POSIX semaphore type layout
|
||||
Copyright (C) 1995-2020 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
|
||||
@ -12,14 +13,16 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SEMAPHORE_H
|
||||
# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
|
||||
#endif
|
||||
|
||||
#if _MIPS_SIM == _ABI64
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
# define __SIZEOF_SEM_T 32
|
||||
#else
|
||||
# define __SIZEOF_SEM_T 16
|
||||
|
@ -1,5 +1,4 @@
|
||||
/* Define the machine-dependent type `jmp_buf'. MIPS version.
|
||||
Copyright (C) 1992-2020 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2001-2020 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
|
||||
@ -13,61 +12,29 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _MIPS_BITS_SETJMP_H
|
||||
#define _MIPS_BITS_SETJMP_H 1
|
||||
/* Define the machine-dependent type `jmp_buf'. x86-64 version. */
|
||||
#ifndef _BITS_SETJMP_H
|
||||
#define _BITS_SETJMP_H 1
|
||||
|
||||
#if !defined(_SETJMP_H) && !defined(_PTHREAD_H)
|
||||
#if !defined _SETJMP_H && !defined _PTHREAD_H
|
||||
# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
|
||||
#endif
|
||||
|
||||
#include <sgidefs.h>
|
||||
#include <bits/wordsize.h>
|
||||
|
||||
typedef struct __jmp_buf_internal_tag
|
||||
{
|
||||
#if _MIPS_SIM == _ABIO32
|
||||
/* Program counter. */
|
||||
void *__pc;
|
||||
#ifndef _ASM
|
||||
|
||||
/* Stack pointer. */
|
||||
void *__sp;
|
||||
# if __WORDSIZE == 64
|
||||
typedef long int __jmp_buf[8];
|
||||
# elif defined __x86_64__
|
||||
__extension__ typedef long long int __jmp_buf[8];
|
||||
# else
|
||||
typedef int __jmp_buf[6];
|
||||
# endif
|
||||
|
||||
/* Callee-saved registers s0 through s7. */
|
||||
int __regs[8];
|
||||
|
||||
/* The frame pointer. */
|
||||
void *__fp;
|
||||
|
||||
/* The global pointer. */
|
||||
void *__gp;
|
||||
#else
|
||||
/* Program counter. */
|
||||
__extension__ long long __pc;
|
||||
|
||||
/* Stack pointer. */
|
||||
__extension__ long long __sp;
|
||||
|
||||
/* Callee-saved registers s0 through s7. */
|
||||
__extension__ long long __regs[8];
|
||||
|
||||
/* The frame pointer. */
|
||||
__extension__ long long __fp;
|
||||
|
||||
/* The global pointer. */
|
||||
__extension__ long long __gp;
|
||||
#endif
|
||||
|
||||
/* Unused (was floating point status register). */
|
||||
int __glibc_reserved1;
|
||||
|
||||
/* Callee-saved floating point registers. */
|
||||
#if _MIPS_SIM == _ABI64
|
||||
double __fpregs[8];
|
||||
#else
|
||||
double __fpregs[6];
|
||||
#endif
|
||||
} __jmp_buf[1];
|
||||
|
||||
#endif /* _MIPS_BITS_SETJMP_H */
|
||||
#endif /* bits/setjmp.h */
|
@ -1,37 +0,0 @@
|
||||
/* Define where padding goes in struct shmid_ds. Generic version.
|
||||
Copyright (C) 2018-2020 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/shm-pad.h> directly; include <sys/shm.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/timesize.h>
|
||||
|
||||
/* On most architectures, padding goes after time fields for 32-bit
|
||||
systems and is omitted for 64-bit systems. Some architectures pad
|
||||
before time fields instead, or omit padding despite being 32-bit,
|
||||
or include it despite being 64-bit. Furthermore, some
|
||||
architectures place shm_segsz after the time fields rather than
|
||||
before them, with or without padding there. This must match the
|
||||
layout used for struct shmid64_ds in <asm/shmbuf.h>, as glibc does
|
||||
not do layout conversions for this structure. */
|
||||
|
||||
#define __SHM_PAD_AFTER_TIME (__TIMESIZE == 32)
|
||||
#define __SHM_PAD_BEFORE_TIME 0
|
||||
#define __SHM_SEGSZ_AFTER_TIME 0
|
||||
#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
|
@ -22,7 +22,6 @@
|
||||
#include <bits/types.h>
|
||||
#include <bits/wordsize.h>
|
||||
#include <bits/shmlba.h>
|
||||
#include <bits/shm-pad.h>
|
||||
|
||||
/* Permission flag for shmget. */
|
||||
#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
|
||||
@ -43,39 +42,7 @@ __BEGIN_DECLS
|
||||
/* Type to count number of attaches. */
|
||||
typedef __syscall_ulong_t shmatt_t;
|
||||
|
||||
#if __SHM_PAD_BEFORE_TIME
|
||||
# define __SHM_PAD_TIME(NAME, RES) \
|
||||
unsigned long int __glibc_reserved ## RES; __time_t NAME
|
||||
#elif __SHM_PAD_AFTER_TIME
|
||||
# define __SHM_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME; unsigned long int __glibc_reserved ## RES
|
||||
#else
|
||||
# define __SHM_PAD_TIME(NAME, RES) \
|
||||
__time_t NAME
|
||||
#endif
|
||||
|
||||
/* Data structure describing a shared memory segment. */
|
||||
struct shmid_ds
|
||||
{
|
||||
struct ipc_perm shm_perm; /* operation permission struct */
|
||||
#if !__SHM_SEGSZ_AFTER_TIME
|
||||
size_t shm_segsz; /* size of segment in bytes */
|
||||
#endif
|
||||
__SHM_PAD_TIME (shm_atime, 1); /* time of last shmat() */
|
||||
__SHM_PAD_TIME (shm_dtime, 2); /* time of last shmdt() */
|
||||
__SHM_PAD_TIME (shm_ctime, 3); /* time of last change by shmctl() */
|
||||
#if __SHM_PAD_BETWEEN_TIME_AND_SEGSZ
|
||||
unsigned long int __glibc_reserved4;
|
||||
#endif
|
||||
#if __SHM_SEGSZ_AFTER_TIME
|
||||
size_t shm_segsz; /* size of segment in bytes */
|
||||
#endif
|
||||
__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;
|
||||
};
|
||||
#include <bits/types/struct_shmid_ds.h>
|
||||
|
||||
#ifdef __USE_MISC
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2002-2020 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
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
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
|
||||
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
|
||||
@ -16,22 +16,181 @@
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_SIGCONTEXT_H
|
||||
#define _BITS_SIGCONTEXT_H 1
|
||||
#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/types.h>
|
||||
|
||||
#define FP_XSTATE_MAGIC1 0x46505853U
|
||||
#define FP_XSTATE_MAGIC2 0x46505845U
|
||||
#define FP_XSTATE_MAGIC2_SIZE sizeof (FP_XSTATE_MAGIC2)
|
||||
|
||||
struct _fpx_sw_bytes
|
||||
{
|
||||
__uint32_t magic1;
|
||||
__uint32_t extended_size;
|
||||
__uint64_t xstate_bv;
|
||||
__uint32_t xstate_size;
|
||||
__uint32_t __glibc_reserved1[7];
|
||||
};
|
||||
|
||||
struct _fpreg
|
||||
{
|
||||
unsigned short significand[4];
|
||||
unsigned short exponent;
|
||||
};
|
||||
|
||||
struct _fpxreg
|
||||
{
|
||||
unsigned short significand[4];
|
||||
unsigned short exponent;
|
||||
unsigned short __glibc_reserved1[3];
|
||||
};
|
||||
|
||||
struct _xmmreg
|
||||
{
|
||||
__uint32_t element[4];
|
||||
};
|
||||
|
||||
|
||||
|
||||
#ifndef __x86_64__
|
||||
|
||||
struct _fpstate
|
||||
{
|
||||
/* Regular FPU environment. */
|
||||
__uint32_t cw;
|
||||
__uint32_t sw;
|
||||
__uint32_t tag;
|
||||
__uint32_t ipoff;
|
||||
__uint32_t cssel;
|
||||
__uint32_t dataoff;
|
||||
__uint32_t datasel;
|
||||
struct _fpreg _st[8];
|
||||
unsigned short status;
|
||||
unsigned short magic;
|
||||
|
||||
/* FXSR FPU environment. */
|
||||
__uint32_t _fxsr_env[6];
|
||||
__uint32_t mxcsr;
|
||||
__uint32_t __glibc_reserved1;
|
||||
struct _fpxreg _fxsr_st[8];
|
||||
struct _xmmreg _xmm[8];
|
||||
__uint32_t __glibc_reserved2[56];
|
||||
};
|
||||
|
||||
#ifndef sigcontext_struct
|
||||
/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
|
||||
we need sigcontext. */
|
||||
we need sigcontext. Some packages have come to rely on
|
||||
sigcontext_struct being defined on 32-bit x86, so define this for
|
||||
their benefit. */
|
||||
# define sigcontext_struct sigcontext
|
||||
|
||||
# include <asm/sigcontext.h>
|
||||
|
||||
/* The Linux kernel headers redefine NULL wrongly, so cleanup afterwards. */
|
||||
# define __need_NULL
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
|
||||
#endif /* bits/sigcontext.h */
|
||||
#define X86_FXSR_MAGIC 0x0000
|
||||
|
||||
struct sigcontext
|
||||
{
|
||||
unsigned short gs, __gsh;
|
||||
unsigned short fs, __fsh;
|
||||
unsigned short es, __esh;
|
||||
unsigned short ds, __dsh;
|
||||
unsigned long edi;
|
||||
unsigned long esi;
|
||||
unsigned long ebp;
|
||||
unsigned long esp;
|
||||
unsigned long ebx;
|
||||
unsigned long edx;
|
||||
unsigned long ecx;
|
||||
unsigned long eax;
|
||||
unsigned long trapno;
|
||||
unsigned long err;
|
||||
unsigned long eip;
|
||||
unsigned short cs, __csh;
|
||||
unsigned long eflags;
|
||||
unsigned long esp_at_signal;
|
||||
unsigned short ss, __ssh;
|
||||
struct _fpstate * fpstate;
|
||||
unsigned long oldmask;
|
||||
unsigned long cr2;
|
||||
};
|
||||
|
||||
#else /* __x86_64__ */
|
||||
|
||||
struct _fpstate
|
||||
{
|
||||
/* FPU environment matching the 64-bit FXSAVE layout. */
|
||||
__uint16_t cwd;
|
||||
__uint16_t swd;
|
||||
__uint16_t ftw;
|
||||
__uint16_t fop;
|
||||
__uint64_t rip;
|
||||
__uint64_t rdp;
|
||||
__uint32_t mxcsr;
|
||||
__uint32_t mxcr_mask;
|
||||
struct _fpxreg _st[8];
|
||||
struct _xmmreg _xmm[16];
|
||||
__uint32_t __glibc_reserved1[24];
|
||||
};
|
||||
|
||||
struct sigcontext
|
||||
{
|
||||
__uint64_t r8;
|
||||
__uint64_t r9;
|
||||
__uint64_t r10;
|
||||
__uint64_t r11;
|
||||
__uint64_t r12;
|
||||
__uint64_t r13;
|
||||
__uint64_t r14;
|
||||
__uint64_t r15;
|
||||
__uint64_t rdi;
|
||||
__uint64_t rsi;
|
||||
__uint64_t rbp;
|
||||
__uint64_t rbx;
|
||||
__uint64_t rdx;
|
||||
__uint64_t rax;
|
||||
__uint64_t rcx;
|
||||
__uint64_t rsp;
|
||||
__uint64_t rip;
|
||||
__uint64_t eflags;
|
||||
unsigned short cs;
|
||||
unsigned short gs;
|
||||
unsigned short fs;
|
||||
unsigned short __pad0;
|
||||
__uint64_t err;
|
||||
__uint64_t trapno;
|
||||
__uint64_t oldmask;
|
||||
__uint64_t cr2;
|
||||
__extension__ union
|
||||
{
|
||||
struct _fpstate * fpstate;
|
||||
__uint64_t __fpstate_word;
|
||||
};
|
||||
__uint64_t __reserved1 [8];
|
||||
};
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
struct _xsave_hdr
|
||||
{
|
||||
__uint64_t xstate_bv;
|
||||
__uint64_t __glibc_reserved1[2];
|
||||
__uint64_t __glibc_reserved2[5];
|
||||
};
|
||||
|
||||
struct _ymmh_state
|
||||
{
|
||||
__uint32_t ymmh_space[64];
|
||||
};
|
||||
|
||||
struct _xstate
|
||||
{
|
||||
struct _fpstate fpstate;
|
||||
struct _xsave_hdr xstate_hdr;
|
||||
struct _ymmh_state ymmh;
|
||||
};
|
||||
|
||||
#endif /* _BITS_SIGCONTEXT_H */
|
@ -1,7 +1,17 @@
|
||||
/* Architecture-specific adjustments to siginfo_t. */
|
||||
/* Architecture-specific adjustments to siginfo_t. x86 version. */
|
||||
#ifndef _BITS_SIGINFO_ARCH_H
|
||||
#define _BITS_SIGINFO_ARCH_H 1
|
||||
|
||||
/* This architecture has no adjustments to make to siginfo_t. */
|
||||
#if defined __x86_64__ && __WORDSIZE == 32
|
||||
/* si_utime and si_stime must be 4 byte aligned for x32 to match the
|
||||
kernel. We align siginfo_t to 8 bytes so that si_utime and
|
||||
si_stime are actually aligned to 8 bytes since their offsets are
|
||||
multiple of 8 bytes. Note: with some compilers, the alignment
|
||||
attribute would be ignored if it were put in __SI_CLOCK_T instead
|
||||
of encapsulated in a typedef. */
|
||||
typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
|
||||
# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
|
||||
# define __SI_CLOCK_T __sigchld_clock_t
|
||||
#endif
|
||||
|
||||
#endif
|
@ -57,31 +57,9 @@
|
||||
#define SIGQUIT 3 /* Quit. */
|
||||
#define SIGTRAP 5 /* Trace/breakpoint trap. */
|
||||
#define SIGKILL 9 /* Killed. */
|
||||
#define SIGBUS 10 /* Bus error. */
|
||||
#define SIGSYS 12 /* Bad system call. */
|
||||
#define SIGPIPE 13 /* Broken pipe. */
|
||||
#define SIGALRM 14 /* Alarm clock. */
|
||||
|
||||
/* 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 SIGXFSZ 25 /* File size limit exceeded. */
|
||||
#define SIGVTALRM 26 /* Virtual timer expired. */
|
||||
#define SIGPROF 27 /* Profiling timer expired. */
|
||||
#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. */
|
||||
@ -93,8 +71,9 @@
|
||||
but some real-time signals may be used internally by glibc. Do not
|
||||
use these constants in application code; use SIGRTMIN and SIGRTMAX
|
||||
(defined in signal.h) instead. */
|
||||
#define __SIGRTMIN 32
|
||||
#define __SIGRTMAX __SIGRTMIN
|
||||
|
||||
/* Include system specific bits. */
|
||||
#include <bits/signum-arch.h>
|
||||
|
||||
/* Biggest signal number + 1 (including real-time signals). */
|
||||
#define _NSIG (__SIGRTMAX + 1)
|
||||
|
@ -1,58 +0,0 @@
|
||||
/* Signal number definitions. Linux version.
|
||||
Copyright (C) 1995-2020 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_H
|
||||
#define _BITS_SIGNUM_H 1
|
||||
|
||||
#ifndef _SIGNAL_H
|
||||
#error "Never include <bits/signum.h> directly; use <signal.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/signum-generic.h>
|
||||
|
||||
/* Adjustments and additions to the signal number constants for
|
||||
most Linux systems. */
|
||||
|
||||
#define SIGSTKFLT 16 /* Stack fault (obsolete). */
|
||||
#define SIGPWR 30 /* Power failure imminent. */
|
||||
|
||||
#undef SIGBUS
|
||||
#define SIGBUS 7
|
||||
#undef SIGUSR1
|
||||
#define SIGUSR1 10
|
||||
#undef SIGUSR2
|
||||
#define SIGUSR2 12
|
||||
#undef SIGCHLD
|
||||
#define SIGCHLD 17
|
||||
#undef SIGCONT
|
||||
#define SIGCONT 18
|
||||
#undef SIGSTOP
|
||||
#define SIGSTOP 19
|
||||
#undef SIGTSTP
|
||||
#define SIGTSTP 20
|
||||
#undef SIGURG
|
||||
#define SIGURG 23
|
||||
#undef SIGPOLL
|
||||
#define SIGPOLL 29
|
||||
#undef SIGSYS
|
||||
#define SIGSYS 31
|
||||
|
||||
#undef __SIGRTMAX
|
||||
#define __SIGRTMAX 64
|
||||
|
||||
#endif /* <signal.h> included. */
|
@ -20,6 +20,8 @@
|
||||
# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
|
||||
#endif
|
||||
|
||||
#include <bits/timesize.h>
|
||||
|
||||
#define SOL_SOCKET 1
|
||||
#define SO_ACCEPTCONN 30
|
||||
#define SO_BROADCAST 6
|
||||
@ -30,9 +32,19 @@
|
||||
#define SO_OOBINLINE 10
|
||||
#define SO_RCVBUF 8
|
||||
#define SO_RCVLOWAT 18
|
||||
#define SO_RCVTIMEO 20
|
||||
#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
|
||||
&& (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
|
||||
# define SO_RCVTIMEO 66
|
||||
#else
|
||||
# define SO_RCVTIMEO 20
|
||||
#endif
|
||||
#define SO_REUSEADDR 2
|
||||
#define SO_SNDBUF 7
|
||||
#define SO_SNDLOWAT 19
|
||||
#define SO_SNDTIMEO 21
|
||||
#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
|
||||
&& (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
|
||||
# define SO_SNDTIMEO 67
|
||||
#else
|
||||
# define SO_SNDTIMEO 21
|
||||
#endif
|
||||
#define SO_TYPE 3
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1999-2020 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
|
||||
@ -12,7 +12,7 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if !defined _SYS_STAT_H && !defined _FCNTL_H
|
||||
@ -22,90 +22,126 @@
|
||||
#ifndef _BITS_STAT_H
|
||||
#define _BITS_STAT_H 1
|
||||
|
||||
#include <sgidefs.h>
|
||||
|
||||
/* Versions of the `struct stat' data structure. */
|
||||
#define _STAT_VER_LINUX_OLD 1
|
||||
#define _STAT_VER_KERNEL 1
|
||||
#define _STAT_VER_SVR4 2
|
||||
#define _STAT_VER_LINUX 3
|
||||
#define _STAT_VER _STAT_VER_LINUX /* The one defined below. */
|
||||
#ifndef __x86_64__
|
||||
# define _STAT_VER_LINUX_OLD 1
|
||||
# define _STAT_VER_KERNEL 1
|
||||
# define _STAT_VER_SVR4 2
|
||||
# define _STAT_VER_LINUX 3
|
||||
|
||||
/* Versions of the `xmknod' interface. */
|
||||
#define _MKNOD_VER_LINUX 1
|
||||
#define _MKNOD_VER_SVR4 2
|
||||
#define _MKNOD_VER _MKNOD_VER_LINUX /* The bits defined below. */
|
||||
/* i386 versions of the `xmknod' interface. */
|
||||
# define _MKNOD_VER_LINUX 1
|
||||
# define _MKNOD_VER_SVR4 2
|
||||
# define _MKNOD_VER _MKNOD_VER_LINUX /* The bits defined below. */
|
||||
#else
|
||||
# define _STAT_VER_KERNEL 0
|
||||
# define _STAT_VER_LINUX 1
|
||||
|
||||
/* x86-64 versions of the `xmknod' interface. */
|
||||
# define _MKNOD_VER_LINUX 0
|
||||
#endif
|
||||
|
||||
#define _STAT_VER _STAT_VER_LINUX
|
||||
|
||||
#if _MIPS_SIM == _ABIO32
|
||||
/* Structure describing file characteristics. */
|
||||
struct stat
|
||||
{
|
||||
unsigned long int st_dev;
|
||||
long int st_pad1[3];
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
__ino_t st_ino; /* File serial number. */
|
||||
#else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
__dev_t st_dev; /* Device. */
|
||||
#ifndef __x86_64__
|
||||
unsigned short int __pad1;
|
||||
#endif
|
||||
__mode_t st_mode; /* File mode. */
|
||||
#if defined __x86_64__ || !defined __USE_FILE_OFFSET64
|
||||
__ino_t st_ino; /* File serial number. */
|
||||
#else
|
||||
__ino_t __st_ino; /* 32bit file serial number. */
|
||||
#endif
|
||||
#ifndef __x86_64__
|
||||
__mode_t st_mode; /* File mode. */
|
||||
__nlink_t st_nlink; /* Link count. */
|
||||
#else
|
||||
__nlink_t st_nlink; /* Link count. */
|
||||
__mode_t st_mode; /* File mode. */
|
||||
#endif
|
||||
__uid_t st_uid; /* User ID of the file's owner. */
|
||||
__gid_t st_gid; /* Group ID of the file's group.*/
|
||||
unsigned long int st_rdev; /* Device number, if device. */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
long int st_pad2[2];
|
||||
#ifdef __x86_64__
|
||||
int __pad0;
|
||||
#endif
|
||||
__dev_t st_rdev; /* Device number, if device. */
|
||||
#ifndef __x86_64__
|
||||
unsigned short int __pad2;
|
||||
#endif
|
||||
#if defined __x86_64__ || !defined __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. */
|
||||
#if defined __x86_64__ || !defined __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. */
|
||||
__syscall_ulong_t st_atimensec; /* Nscecs of last access. */
|
||||
__time_t st_mtime; /* Time of last modification. */
|
||||
__syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
|
||||
__time_t st_ctime; /* Time of last status change. */
|
||||
__syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
|
||||
#endif
|
||||
#ifdef __x86_64__
|
||||
__syscall_slong_t __glibc_reserved[3];
|
||||
#else
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
unsigned long int __glibc_reserved4;
|
||||
unsigned long int __glibc_reserved5;
|
||||
# else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
/* Note stat64 has the same shape as stat for x86-64. */
|
||||
struct stat64
|
||||
{
|
||||
__dev_t st_dev; /* Device. */
|
||||
# ifdef __x86_64__
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
__nlink_t st_nlink; /* Link count. */
|
||||
__mode_t st_mode; /* File mode. */
|
||||
# else
|
||||
unsigned int __pad1;
|
||||
__ino_t __st_ino; /* 32bit file serial number. */
|
||||
__mode_t st_mode; /* File mode. */
|
||||
__nlink_t st_nlink; /* Link count. */
|
||||
# endif
|
||||
__uid_t st_uid; /* User ID of the file's owner. */
|
||||
__gid_t st_gid; /* Group ID of the file's group.*/
|
||||
# ifdef __x86_64__
|
||||
int __pad0;
|
||||
__dev_t st_rdev; /* Device number, if device. */
|
||||
__off_t st_size; /* Size of file, in bytes. */
|
||||
/* SVR4 added this extra long to allow for expansion of off_t. */
|
||||
long int st_pad3;
|
||||
#else
|
||||
long int st_pad2[3];
|
||||
__off64_t st_size; /* Size of file, in bytes. */
|
||||
#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
|
||||
# else
|
||||
__dev_t st_rdev; /* Device number, if device. */
|
||||
unsigned int __pad2;
|
||||
__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 of 512-byte blocks allocated. */
|
||||
#else
|
||||
long int st_pad4;
|
||||
__blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
|
||||
#endif
|
||||
long int st_pad5[14];
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
unsigned long int st_dev;
|
||||
long int st_pad1[3];
|
||||
__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.*/
|
||||
unsigned long int st_rdev; /* Device number, if device. */
|
||||
long int st_pad2[3];
|
||||
__off64_t st_size; /* Size of file, in bytes. */
|
||||
__blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
|
||||
# ifdef __USE_XOPEN2K8
|
||||
/* Nanosecond resolution timestamps are stored in a format
|
||||
equivalent to 'struct timespec'. This is the type used
|
||||
@ -113,119 +149,30 @@ struct stat64
|
||||
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. */
|
||||
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. */
|
||||
# else
|
||||
__time_t st_atime; /* Time of last access. */
|
||||
unsigned long int st_atimensec; /* Nscecs of last access. */
|
||||
__syscall_ulong_t st_atimensec; /* Nscecs of last access. */
|
||||
__time_t st_mtime; /* Time of last modification. */
|
||||
unsigned long int st_mtimensec; /* Nsecs of last modification. */
|
||||
__syscall_ulong_t 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. */
|
||||
__syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
|
||||
# endif
|
||||
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||
long int st_pad3;
|
||||
__blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
|
||||
long int st_pad4[14];
|
||||
};
|
||||
#endif
|
||||
#else
|
||||
struct stat
|
||||
{
|
||||
__dev_t st_dev;
|
||||
int st_pad1[3]; /* Reserved for st_dev expansion */
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
__ino_t st_ino;
|
||||
#else
|
||||
__ino64_t st_ino;
|
||||
#endif
|
||||
__mode_t st_mode;
|
||||
__nlink_t st_nlink;
|
||||
__uid_t st_uid;
|
||||
__gid_t st_gid;
|
||||
__dev_t st_rdev;
|
||||
#if !defined __USE_FILE_OFFSET64
|
||||
unsigned int st_pad2[2]; /* Reserved for st_rdev expansion */
|
||||
__off_t st_size;
|
||||
int st_pad3;
|
||||
#else
|
||||
unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */
|
||||
__off64_t st_size;
|
||||
#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
|
||||
__blksize_t st_blksize;
|
||||
unsigned int st_pad4;
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
__blkcnt_t st_blocks;
|
||||
#else
|
||||
__blkcnt64_t st_blocks;
|
||||
#endif
|
||||
int st_pad5[14];
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
__dev_t st_dev;
|
||||
unsigned int st_pad1[3]; /* Reserved for st_dev expansion */
|
||||
__ino64_t st_ino;
|
||||
__mode_t st_mode;
|
||||
__nlink_t st_nlink;
|
||||
__uid_t st_uid;
|
||||
__gid_t st_gid;
|
||||
__dev_t st_rdev;
|
||||
unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */
|
||||
__off64_t st_size;
|
||||
# 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. */
|
||||
# ifdef __x86_64__
|
||||
__syscall_slong_t __glibc_reserved[3];
|
||||
# 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. */
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
__blksize_t st_blksize;
|
||||
unsigned int st_pad3;
|
||||
__blkcnt64_t st_blocks;
|
||||
int st_pad4[14];
|
||||
};
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Tell code we have these members. */
|
||||
#define _STATBUF_ST_BLKSIZE
|
||||
#define _STATBUF_ST_RDEV
|
||||
#define _STATBUF_ST_RDEV
|
||||
/* Nanosecond resolution time values are supported. */
|
||||
#define _STATBUF_ST_NSEC
|
||||
|
||||
/* Encoding of the file mode. */
|
||||
|
||||
|
@ -48,6 +48,7 @@
|
||||
# define STATX_ATTR_NODUMP 0x0040
|
||||
# define STATX_ATTR_ENCRYPTED 0x0800
|
||||
# define STATX_ATTR_AUTOMOUNT 0x1000
|
||||
# define STATX_ATTR_VERITY 0x100000
|
||||
#endif /* !STATX_TYPE */
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
@ -27,9 +27,17 @@ __LDBL_REDIR_DECL (vfprintf)
|
||||
__LDBL_REDIR_DECL (vprintf)
|
||||
__LDBL_REDIR_DECL (vsprintf)
|
||||
#if !__GLIBC_USE (DEPRECATED_SCANF)
|
||||
# if defined __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)
|
||||
__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)
|
||||
__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf)
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128)
|
||||
__LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128)
|
||||
__LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128)
|
||||
# else
|
||||
# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
|
||||
# endif
|
||||
#else
|
||||
__LDBL_REDIR_DECL (fscanf)
|
||||
__LDBL_REDIR_DECL (scanf)
|
||||
@ -43,9 +51,17 @@ __LDBL_REDIR_DECL (vsnprintf)
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
# if !__GLIBC_USE (DEPRECATED_SCANF)
|
||||
# if defined __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)
|
||||
__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)
|
||||
__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf)
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128)
|
||||
__LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128)
|
||||
__LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128)
|
||||
# else
|
||||
# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
|
||||
# endif
|
||||
# else
|
||||
__LDBL_REDIR_DECL (vfscanf)
|
||||
__LDBL_REDIR_DECL (vsscanf)
|
||||
@ -60,33 +76,33 @@ __LDBL_REDIR_DECL (dprintf)
|
||||
|
||||
#ifdef __USE_GNU
|
||||
__LDBL_REDIR_DECL (vasprintf)
|
||||
__LDBL_REDIR_DECL (__asprintf)
|
||||
__LDBL_REDIR2_DECL (asprintf)
|
||||
__LDBL_REDIR_DECL (asprintf)
|
||||
__LDBL_REDIR_DECL (obstack_printf)
|
||||
__LDBL_REDIR_DECL (obstack_vprintf)
|
||||
#endif
|
||||
|
||||
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
|
||||
__LDBL_REDIR_DECL (__sprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vsprintf_chk)
|
||||
__LDBL_REDIR2_DECL (sprintf_chk)
|
||||
__LDBL_REDIR2_DECL (vsprintf_chk)
|
||||
# if defined __USE_ISOC99 || defined __USE_UNIX98
|
||||
__LDBL_REDIR_DECL (__snprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vsnprintf_chk)
|
||||
__LDBL_REDIR2_DECL (snprintf_chk)
|
||||
__LDBL_REDIR2_DECL (vsnprintf_chk)
|
||||
# endif
|
||||
# if __USE_FORTIFY_LEVEL > 1
|
||||
__LDBL_REDIR_DECL (__fprintf_chk)
|
||||
__LDBL_REDIR_DECL (__printf_chk)
|
||||
__LDBL_REDIR_DECL (__vfprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vprintf_chk)
|
||||
__LDBL_REDIR2_DECL (fprintf_chk)
|
||||
__LDBL_REDIR2_DECL (printf_chk)
|
||||
__LDBL_REDIR2_DECL (vfprintf_chk)
|
||||
__LDBL_REDIR2_DECL (vprintf_chk)
|
||||
# ifdef __USE_XOPEN2K8
|
||||
__LDBL_REDIR_DECL (__dprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vdprintf_chk)
|
||||
__LDBL_REDIR2_DECL (dprintf_chk)
|
||||
__LDBL_REDIR2_DECL (vdprintf_chk)
|
||||
# endif
|
||||
# ifdef __USE_GNU
|
||||
__LDBL_REDIR_DECL (__asprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vasprintf_chk)
|
||||
__LDBL_REDIR_DECL (__obstack_printf_chk)
|
||||
__LDBL_REDIR_DECL (__obstack_vprintf_chk)
|
||||
__LDBL_REDIR2_DECL (asprintf_chk)
|
||||
__LDBL_REDIR2_DECL (vasprintf_chk)
|
||||
__LDBL_REDIR2_DECL (obstack_printf_chk)
|
||||
__LDBL_REDIR2_DECL (obstack_vprintf_chk)
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
@ -24,10 +24,12 @@
|
||||
#endif
|
||||
|
||||
extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
|
||||
const char *__restrict __format, ...) __THROW;
|
||||
const char *__restrict __format, ...) __THROW
|
||||
__attr_access ((__write_only__, 1, 3));
|
||||
extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
|
||||
const char *__restrict __format,
|
||||
__gnuc_va_list __ap) __THROW;
|
||||
__gnuc_va_list __ap) __THROW
|
||||
__attr_access ((__write_only__, 1, 3));
|
||||
|
||||
#ifdef __va_arg_pack
|
||||
__fortify_function int
|
||||
@ -54,7 +56,8 @@ __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,
|
||||
|
||||
extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
|
||||
size_t __slen, const char *__restrict __format,
|
||||
...) __THROW;
|
||||
...) __THROW
|
||||
__attr_access ((__write_only__, 1, 2));
|
||||
extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
|
||||
size_t __slen, const char *__restrict __format,
|
||||
__gnuc_va_list __ap) __THROW;
|
||||
@ -241,17 +244,19 @@ gets (char *__str)
|
||||
#endif
|
||||
|
||||
extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
|
||||
FILE *__restrict __stream) __wur;
|
||||
FILE *__restrict __stream)
|
||||
__wur __attr_access ((__write_only__, 1, 3));
|
||||
extern char *__REDIRECT (__fgets_alias,
|
||||
(char *__restrict __s, int __n,
|
||||
FILE *__restrict __stream), fgets) __wur;
|
||||
FILE *__restrict __stream), fgets)
|
||||
__wur __attr_access ((__write_only__, 1, 2));
|
||||
extern char *__REDIRECT (__fgets_chk_warn,
|
||||
(char *__restrict __s, size_t __size, int __n,
|
||||
FILE *__restrict __stream), __fgets_chk)
|
||||
__wur __warnattr ("fgets called with bigger size than length "
|
||||
"of destination buffer");
|
||||
|
||||
__fortify_function __wur char *
|
||||
__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char *
|
||||
fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
|
||||
{
|
||||
if (__bos (__s) != (size_t) -1)
|
||||
@ -299,17 +304,19 @@ fread (void *__restrict __ptr, size_t __size, size_t __n,
|
||||
|
||||
#ifdef __USE_GNU
|
||||
extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
|
||||
int __n, FILE *__restrict __stream) __wur;
|
||||
int __n, FILE *__restrict __stream)
|
||||
__wur __attr_access ((__write_only__, 1, 3));
|
||||
extern char *__REDIRECT (__fgets_unlocked_alias,
|
||||
(char *__restrict __s, int __n,
|
||||
FILE *__restrict __stream), fgets_unlocked) __wur;
|
||||
FILE *__restrict __stream), fgets_unlocked)
|
||||
__wur __attr_access ((__write_only__, 1, 2));
|
||||
extern char *__REDIRECT (__fgets_unlocked_chk_warn,
|
||||
(char *__restrict __s, size_t __size, int __n,
|
||||
FILE *__restrict __stream), __fgets_unlocked_chk)
|
||||
__wur __warnattr ("fgets_unlocked called with bigger size than length "
|
||||
"of destination buffer");
|
||||
|
||||
__fortify_function __wur char *
|
||||
__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char *
|
||||
fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
|
||||
{
|
||||
if (__bos (__s) != (size_t) -1)
|
||||
|
@ -21,21 +21,43 @@
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
# ifdef __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (strtold, strtod)
|
||||
# else
|
||||
__LDBL_REDIR1_DECL (strtold, __strtoieee128)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
# ifdef __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (strtold_l, strtod_l)
|
||||
# else
|
||||
__LDBL_REDIR1_DECL (strtold_l, __strtoieee128_l)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
|
||||
# ifdef __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (strfroml, strfromd)
|
||||
# else
|
||||
__LDBL_REDIR1_DECL (strfroml, __strfromieee128)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# if defined __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (qecvt, ecvt)
|
||||
__LDBL_REDIR1_DECL (qfcvt, fcvt)
|
||||
__LDBL_REDIR1_DECL (qgcvt, gcvt)
|
||||
__LDBL_REDIR1_DECL (qecvt_r, ecvt_r)
|
||||
__LDBL_REDIR1_DECL (qfcvt_r, fcvt_r)
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (qecvt, __qecvtieee128)
|
||||
__LDBL_REDIR1_DECL (qfcvt, __qfcvtieee128)
|
||||
__LDBL_REDIR1_DECL (qgcvt, __qgcvtieee128)
|
||||
__LDBL_REDIR1_DECL (qecvt_r, __qecvtieee128_r)
|
||||
__LDBL_REDIR1_DECL (qfcvt_r, __qfcvtieee128_r)
|
||||
# else
|
||||
# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
|
||||
# endif
|
||||
#endif
|
@ -50,10 +50,11 @@ __NTH (realpath (const char *__restrict __name, char *__restrict __resolved))
|
||||
|
||||
|
||||
extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
|
||||
size_t __nreal) __THROW __nonnull ((2));
|
||||
size_t __nreal) __THROW __nonnull ((2))
|
||||
__attr_access ((__write_only__, 2, 3));
|
||||
extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf,
|
||||
size_t __buflen), ptsname_r)
|
||||
__nonnull ((2));
|
||||
__nonnull ((2)) __attr_access ((__write_only__, 2, 3));
|
||||
extern int __REDIRECT_NTH (__ptsname_r_chk_warn,
|
||||
(int __fd, char *__buf, size_t __buflen,
|
||||
size_t __nreal), __ptsname_r_chk)
|
||||
@ -97,11 +98,13 @@ __NTH (wctomb (char *__s, wchar_t __wchar))
|
||||
|
||||
extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
|
||||
const char *__restrict __src,
|
||||
size_t __len, size_t __dstlen) __THROW;
|
||||
size_t __len, size_t __dstlen) __THROW
|
||||
__attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
|
||||
extern size_t __REDIRECT_NTH (__mbstowcs_alias,
|
||||
(wchar_t *__restrict __dst,
|
||||
const char *__restrict __src,
|
||||
size_t __len), mbstowcs);
|
||||
size_t __len), mbstowcs)
|
||||
__attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
|
||||
extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn,
|
||||
(wchar_t *__restrict __dst,
|
||||
const char *__restrict __src,
|
||||
@ -129,11 +132,13 @@ __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src,
|
||||
|
||||
extern size_t __wcstombs_chk (char *__restrict __dst,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __len, size_t __dstlen) __THROW;
|
||||
size_t __len, size_t __dstlen) __THROW
|
||||
__attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
|
||||
extern size_t __REDIRECT_NTH (__wcstombs_alias,
|
||||
(char *__restrict __dst,
|
||||
const wchar_t *__restrict __src,
|
||||
size_t __len), wcstombs);
|
||||
size_t __len), wcstombs)
|
||||
__attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
|
||||
extern size_t __REDIRECT_NTH (__wcstombs_chk_warn,
|
||||
(char *__restrict __dst,
|
||||
const wchar_t *__restrict __src,
|
||||
|
@ -75,7 +75,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len))
|
||||
# include <bits/strings_fortified.h>
|
||||
|
||||
void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
|
||||
__THROW __nonnull ((1));
|
||||
__THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
|
||||
|
||||
__fortify_function void
|
||||
__NTH (explicit_bzero (void *__dest, size_t __len))
|
||||
@ -108,7 +108,8 @@ __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
|
||||
|
||||
/* XXX We have no corresponding builtin yet. */
|
||||
extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,
|
||||
size_t __destlen) __THROW;
|
||||
size_t __destlen) __THROW
|
||||
__attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
|
||||
extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,
|
||||
size_t __n), stpncpy);
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Default mutex implementation struct definitions.
|
||||
/* x86 internal mutex struct definitions.
|
||||
Copyright (C) 2019-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -19,66 +19,45 @@
|
||||
#ifndef _THREAD_MUTEX_INTERNAL_H
|
||||
#define _THREAD_MUTEX_INTERNAL_H 1
|
||||
|
||||
/* Generic struct for both POSIX and C11 mutexes. New ports are expected
|
||||
to use the default layout, however architecture can redefine it to
|
||||
add arch-specific extension (such as lock-elision). The struct have
|
||||
a size of 32 bytes on LP32 and 40 bytes on LP64 architectures. */
|
||||
|
||||
struct __pthread_mutex_s
|
||||
{
|
||||
int __lock __LOCK_ALIGNMENT;
|
||||
int __lock;
|
||||
unsigned int __count;
|
||||
int __owner;
|
||||
#if __WORDSIZE == 64
|
||||
#ifdef __x86_64__
|
||||
unsigned int __nusers;
|
||||
#endif
|
||||
/* KIND must stay at this position in the structure to maintain
|
||||
binary compatibility with static initializers.
|
||||
|
||||
Concurrency notes:
|
||||
The __kind of a mutex is initialized either by the static
|
||||
PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init.
|
||||
|
||||
After a mutex has been initialized, the __kind of a mutex is usually not
|
||||
changed. BUT it can be set to -1 in pthread_mutex_destroy or elision can
|
||||
be enabled. This is done concurrently in the pthread_mutex_*lock
|
||||
functions by using the macro FORCE_ELISION. This macro is only defined
|
||||
for architectures which supports lock elision.
|
||||
|
||||
For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and
|
||||
PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already
|
||||
set type of a mutex. Before a mutex is initialized, only
|
||||
PTHREAD_MUTEX_NO_ELISION_NP can be set with pthread_mutexattr_settype.
|
||||
|
||||
After a mutex has been initialized, the functions pthread_mutex_*lock can
|
||||
enable elision - if the mutex-type and the machine supports it - by
|
||||
setting the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently.
|
||||
Afterwards the lock / unlock functions are using specific elision
|
||||
code-paths. */
|
||||
binary compatibility with static initializers. */
|
||||
int __kind;
|
||||
#if __WORDSIZE != 64
|
||||
unsigned int __nusers;
|
||||
#endif
|
||||
#if __WORDSIZE == 64
|
||||
int __spins;
|
||||
#ifdef __x86_64__
|
||||
short __spins;
|
||||
short __elision;
|
||||
__pthread_list_t __list;
|
||||
# define __PTHREAD_MUTEX_HAVE_PREV 1
|
||||
#else
|
||||
unsigned int __nusers;
|
||||
__extension__ union
|
||||
{
|
||||
int __spins;
|
||||
struct
|
||||
{
|
||||
short __espins;
|
||||
short __eelision;
|
||||
# define __spins __elision_data.__espins
|
||||
# define __elision __elision_data.__eelision
|
||||
} __elision_data;
|
||||
__pthread_slist_t __list;
|
||||
};
|
||||
# define __PTHREAD_MUTEX_HAVE_PREV 0
|
||||
#endif
|
||||
};
|
||||
|
||||
#if __PTHREAD_MUTEX_HAVE_PREV == 1
|
||||
#ifdef __x86_64__
|
||||
# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
|
||||
0, 0, 0, 0, __kind, 0, { 0, 0 }
|
||||
0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
|
||||
#else
|
||||
# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
|
||||
0, 0, 0, __kind, 0, { 0 }
|
||||
0, 0, 0, __kind, 0, { { 0, 0 } }
|
||||
#endif
|
||||
|
||||
#endif
|
@ -1,5 +1,6 @@
|
||||
/* MIPS internal rwlock struct definitions.
|
||||
/* x86 internal rwlock struct definitions.
|
||||
Copyright (C) 2019-2020 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
|
||||
@ -27,45 +28,38 @@ struct __pthread_rwlock_arch_t
|
||||
unsigned int __writers_futex;
|
||||
unsigned int __pad3;
|
||||
unsigned int __pad4;
|
||||
#if _MIPS_SIM == _ABI64
|
||||
#ifdef __x86_64__
|
||||
int __cur_writer;
|
||||
int __shared;
|
||||
unsigned long int __pad1;
|
||||
signed char __rwelision;
|
||||
# ifdef __ILP32__
|
||||
unsigned char __pad1[3];
|
||||
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
|
||||
# else
|
||||
unsigned char __pad1[7];
|
||||
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
|
||||
# endif
|
||||
unsigned long int __pad2;
|
||||
/* FLAGS must stay at this position in the structure to maintain
|
||||
binary compatibility. */
|
||||
unsigned int __flags;
|
||||
# else
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
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;
|
||||
# else
|
||||
#else /* __x86_64__ */
|
||||
/* FLAGS must stay at this position in the structure to maintain
|
||||
binary compatibility. */
|
||||
unsigned char __flags;
|
||||
unsigned char __shared;
|
||||
unsigned char __pad1;
|
||||
signed char __rwelision;
|
||||
unsigned char __pad2;
|
||||
# endif
|
||||
int __cur_writer;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if _MIPS_SIM == _ABI64
|
||||
#ifdef __x86_64__
|
||||
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
|
||||
0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
|
||||
#else
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
|
||||
# else
|
||||
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||
0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif
|
@ -1,32 +0,0 @@
|
||||
/* Declare sys_errlist and sys_nerr, or don't. Compatibility (do) version.
|
||||
Copyright (C) 2002-2020 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 _STDIO_H
|
||||
# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
|
||||
#endif
|
||||
|
||||
/* sys_errlist and sys_nerr are deprecated. Use strerror instead. */
|
||||
|
||||
#ifdef __USE_MISC
|
||||
extern int sys_nerr;
|
||||
extern const char *const sys_errlist[];
|
||||
#endif
|
||||
#ifdef __USE_GNU
|
||||
extern int _sys_nerr;
|
||||
extern const char *const _sys_errlist[];
|
||||
#endif
|
@ -1,11 +1,11 @@
|
||||
/* Generated at libc build time from syscall list. */
|
||||
/* The system call list corresponds to kernel 5.4. */
|
||||
/* The system call list corresponds to kernel 5.7. */
|
||||
|
||||
#ifndef _SYSCALL_H
|
||||
# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."
|
||||
#endif
|
||||
|
||||
#define __GLIBC_LINUX_VERSION_CODE 328704
|
||||
#define __GLIBC_LINUX_VERSION_CODE 329472
|
||||
|
||||
#ifdef __NR_FAST_atomic_update
|
||||
# define SYS_FAST_atomic_update __NR_FAST_atomic_update
|
||||
@ -75,6 +75,18 @@
|
||||
# define SYS_alloc_hugepages __NR_alloc_hugepages
|
||||
#endif
|
||||
|
||||
#ifdef __NR_arc_gettls
|
||||
# define SYS_arc_gettls __NR_arc_gettls
|
||||
#endif
|
||||
|
||||
#ifdef __NR_arc_settls
|
||||
# define SYS_arc_settls __NR_arc_settls
|
||||
#endif
|
||||
|
||||
#ifdef __NR_arc_usr_cmpxchg
|
||||
# define SYS_arc_usr_cmpxchg __NR_arc_usr_cmpxchg
|
||||
#endif
|
||||
|
||||
#ifdef __NR_arch_prctl
|
||||
# define SYS_arch_prctl __NR_arch_prctl
|
||||
#endif
|
||||
@ -1079,6 +1091,10 @@
|
||||
# define SYS_openat __NR_openat
|
||||
#endif
|
||||
|
||||
#ifdef __NR_openat2
|
||||
# define SYS_openat2 __NR_openat2
|
||||
#endif
|
||||
|
||||
#ifdef __NR_osf_adjtime
|
||||
# define SYS_osf_adjtime __NR_osf_adjtime
|
||||
#endif
|
||||
@ -1551,6 +1567,10 @@
|
||||
# define SYS_personality __NR_personality
|
||||
#endif
|
||||
|
||||
#ifdef __NR_pidfd_getfd
|
||||
# define SYS_pidfd_getfd __NR_pidfd_getfd
|
||||
#endif
|
||||
|
||||
#ifdef __NR_pidfd_open
|
||||
# define SYS_pidfd_open __NR_pidfd_open
|
||||
#endif
|
||||
|
@ -1 +0,0 @@
|
||||
/* Empty file. */
|
@ -27,9 +27,9 @@ __LDBL_REDIR_DECL (vsyslog)
|
||||
#endif
|
||||
|
||||
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
|
||||
__LDBL_REDIR_DECL (__syslog_chk)
|
||||
__LDBL_REDIR2_DECL (syslog_chk)
|
||||
|
||||
# ifdef __USE_MISC
|
||||
__LDBL_REDIR_DECL (__vsyslog_chk)
|
||||
__LDBL_REDIR2_DECL (vsyslog_chk)
|
||||
# endif
|
||||
#endif
|
@ -116,4 +116,14 @@ struct __pthread_cond_s
|
||||
unsigned int __g_signals[2];
|
||||
};
|
||||
|
||||
typedef unsigned int __tss_t;
|
||||
typedef unsigned long int __thrd_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int __data __ONCE_ALIGNMENT;
|
||||
} __once_flag;
|
||||
|
||||
#define __ONCE_FLAG_INIT { 0 }
|
||||
|
||||
#endif /* _THREAD_SHARED_TYPES_H */
|
@ -1,4 +1,4 @@
|
||||
/* Bit size of the time_t type at glibc build time, general case.
|
||||
/* Bit size of the time_t type at glibc build time, x86-64 and x32 case.
|
||||
Copyright (C) 2018-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -16,7 +16,10 @@
|
||||
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
|
||||
#if defined __x86_64__ && defined __ILP32__
|
||||
/* For x32, time is 64-bit even though word size is 32-bit. */
|
||||
# define __TIMESIZE 64
|
||||
#else
|
||||
/* For others, time size is word size. */
|
||||
# define __TIMESIZE __WORDSIZE
|
||||
#endif
|
@ -160,6 +160,7 @@ __STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
|
||||
__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
|
||||
__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
|
||||
__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
|
||||
__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t;
|
||||
|
||||
__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
|
||||
__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* bits/typesizes.h -- underlying types for *_t. Generic version.
|
||||
Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
|
||||
Copyright (C) 2012-2020 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
|
||||
@ -26,42 +26,55 @@
|
||||
/* 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. */
|
||||
|
||||
/* X32 kernel interface is 64-bit. */
|
||||
#if defined __x86_64__ && defined __ILP32__
|
||||
# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
|
||||
# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
|
||||
#else
|
||||
# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
|
||||
# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
|
||||
#endif
|
||||
|
||||
#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 __INO_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
#define __INO64_T_TYPE __UQUAD_TYPE
|
||||
#define __MODE_T_TYPE __U32_TYPE
|
||||
#define __NLINK_T_TYPE __UWORD_TYPE
|
||||
#define __OFF_T_TYPE __SLONGWORD_TYPE
|
||||
#ifdef __x86_64__
|
||||
# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#else
|
||||
# define __NLINK_T_TYPE __UWORD_TYPE
|
||||
# define __FSWORD_T_TYPE __SWORD_TYPE
|
||||
#endif
|
||||
#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __OFF64_T_TYPE __SQUAD_TYPE
|
||||
#define __PID_T_TYPE __S32_TYPE
|
||||
#define __RLIM_T_TYPE __ULONGWORD_TYPE
|
||||
#define __RLIM_T_TYPE __SYSCALL_ULONG_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 __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __BLKCNT64_T_TYPE __SQUAD_TYPE
|
||||
#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
|
||||
#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
|
||||
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
|
||||
#define __ID_T_TYPE __U32_TYPE
|
||||
#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
|
||||
#define __USECONDS_T_TYPE __U32_TYPE
|
||||
#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
|
||||
#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_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 __BLKSIZE_T_TYPE __SYSCALL_SLONG_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
|
||||
#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE
|
||||
|
||||
#ifdef __LP64__
|
||||
#ifdef __x86_64__
|
||||
/* 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. */
|
||||
@ -70,19 +83,24 @@
|
||||
/* Same for ino_t and ino64_t. */
|
||||
# define __INO_T_MATCHES_INO64_T 1
|
||||
|
||||
/* And for rlim_t and rlim64_t. */
|
||||
/* 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
|
||||
|
||||
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
|
||||
#endif
|
||||
|
||||
/* Number of descriptors that can fit in an `fd_set'. */
|
||||
#define __FD_SETSIZE 1024
|
||||
#define __FD_SETSIZE 1024
|
||||
|
||||
|
||||
#endif /* bits/typesizes.h */
|
@ -21,9 +21,11 @@
|
||||
#endif
|
||||
|
||||
extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,
|
||||
size_t __buflen) __wur;
|
||||
size_t __buflen)
|
||||
__wur __attr_access ((__write_only__, 2, 3));
|
||||
extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,
|
||||
size_t __nbytes), read) __wur;
|
||||
size_t __nbytes), read)
|
||||
__wur __attr_access ((__write_only__, 2, 3));
|
||||
extern ssize_t __REDIRECT (__read_chk_warn,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
size_t __buflen), __read_chk)
|
||||
@ -46,15 +48,19 @@ read (int __fd, void *__buf, size_t __nbytes)
|
||||
|
||||
#ifdef __USE_UNIX98
|
||||
extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,
|
||||
__off_t __offset, size_t __bufsize) __wur;
|
||||
__off_t __offset, size_t __bufsize)
|
||||
__wur __attr_access ((__write_only__, 2, 3));
|
||||
extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,
|
||||
__off64_t __offset, size_t __bufsize) __wur;
|
||||
__off64_t __offset, size_t __bufsize)
|
||||
__wur __attr_access ((__write_only__, 2, 3));
|
||||
extern ssize_t __REDIRECT (__pread_alias,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
__off_t __offset), pread) __wur;
|
||||
__off_t __offset), pread)
|
||||
__wur __attr_access ((__write_only__, 2, 3));
|
||||
extern ssize_t __REDIRECT (__pread64_alias,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
__off64_t __offset), pread64) __wur;
|
||||
__off64_t __offset), pread64)
|
||||
__wur __attr_access ((__write_only__, 2, 3));
|
||||
extern ssize_t __REDIRECT (__pread_chk_warn,
|
||||
(int __fd, void *__buf, size_t __nbytes,
|
||||
__off_t __offset, size_t __bufsize), __pread_chk)
|
||||
@ -123,11 +129,11 @@ pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
|
||||
extern ssize_t __readlink_chk (const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len,
|
||||
size_t __buflen)
|
||||
__THROW __nonnull ((1, 2)) __wur;
|
||||
__THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
|
||||
extern ssize_t __REDIRECT_NTH (__readlink_alias,
|
||||
(const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len), readlink)
|
||||
__nonnull ((1, 2)) __wur;
|
||||
__nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
|
||||
extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,
|
||||
(const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len,
|
||||
@ -155,12 +161,12 @@ __NTH (readlink (const char *__restrict __path, char *__restrict __buf,
|
||||
extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len,
|
||||
size_t __buflen)
|
||||
__THROW __nonnull ((2, 3)) __wur;
|
||||
__THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));
|
||||
extern ssize_t __REDIRECT_NTH (__readlinkat_alias,
|
||||
(int __fd, const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len),
|
||||
readlinkat)
|
||||
__nonnull ((2, 3)) __wur;
|
||||
__nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));
|
||||
extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,
|
||||
(int __fd, const char *__restrict __path,
|
||||
char *__restrict __buf, size_t __len,
|
||||
@ -187,9 +193,10 @@ __NTH (readlinkat (int __fd, const char *__restrict __path,
|
||||
#endif
|
||||
|
||||
extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
|
||||
__THROW __wur;
|
||||
__THROW __wur __attr_access ((__write_only__, 1, 2));
|
||||
extern char *__REDIRECT_NTH (__getcwd_alias,
|
||||
(char *__buf, size_t __size), getcwd) __wur;
|
||||
(char *__buf, size_t __size), getcwd)
|
||||
__wur __attr_access ((__write_only__, 1, 2));
|
||||
extern char *__REDIRECT_NTH (__getcwd_chk_warn,
|
||||
(char *__buf, size_t __size, size_t __buflen),
|
||||
__getcwd_chk)
|
||||
@ -212,7 +219,7 @@ __NTH (getcwd (char *__buf, size_t __size))
|
||||
|
||||
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
|
||||
extern char *__getwd_chk (char *__buf, size_t buflen)
|
||||
__THROW __nonnull ((1)) __wur;
|
||||
__THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
|
||||
extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd)
|
||||
__nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd "
|
||||
"doesn't specify buffer size");
|
||||
@ -227,9 +234,11 @@ __NTH (getwd (char *__buf))
|
||||
#endif
|
||||
|
||||
extern size_t __confstr_chk (int __name, char *__buf, size_t __len,
|
||||
size_t __buflen) __THROW;
|
||||
size_t __buflen) __THROW
|
||||
__attr_access ((__write_only__, 2, 3));
|
||||
extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf,
|
||||
size_t __len), confstr);
|
||||
size_t __len), confstr)
|
||||
__attr_access ((__write_only__, 2, 3));
|
||||
extern size_t __REDIRECT_NTH (__confstr_chk_warn,
|
||||
(int __name, char *__buf, size_t __len,
|
||||
size_t __buflen), __confstr_chk)
|
||||
@ -252,9 +261,9 @@ __NTH (confstr (int __name, char *__buf, size_t __len))
|
||||
|
||||
|
||||
extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)
|
||||
__THROW __wur;
|
||||
__THROW __wur __attr_access ((__write_only__, 2, 1));
|
||||
extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),
|
||||
getgroups) __wur;
|
||||
getgroups) __wur __attr_access ((__write_only__, 2, 1));
|
||||
extern int __REDIRECT_NTH (__getgroups_chk_warn,
|
||||
(int __size, __gid_t __list[], size_t __listlen),
|
||||
__getgroups_chk)
|
||||
@ -277,7 +286,8 @@ __NTH (getgroups (int __size, __gid_t __list[]))
|
||||
|
||||
|
||||
extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,
|
||||
size_t __nreal) __THROW __nonnull ((2));
|
||||
size_t __nreal) __THROW __nonnull ((2))
|
||||
__attr_access ((__write_only__, 2, 3));
|
||||
extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,
|
||||
size_t __buflen), ttyname_r)
|
||||
__nonnull ((2));
|
||||
@ -304,7 +314,7 @@ __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))
|
||||
|
||||
#ifdef __USE_POSIX199506
|
||||
extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
|
||||
__nonnull ((1));
|
||||
__nonnull ((1)) __attr_access ((__write_only__, 1, 2));
|
||||
extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),
|
||||
getlogin_r) __nonnull ((1));
|
||||
extern int __REDIRECT (__getlogin_r_chk_warn,
|
||||
@ -331,9 +341,10 @@ getlogin_r (char *__buf, size_t __buflen)
|
||||
|
||||
#if defined __USE_MISC || defined __USE_UNIX98
|
||||
extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)
|
||||
__THROW __nonnull ((1));
|
||||
__THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
|
||||
extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen),
|
||||
gethostname) __nonnull ((1));
|
||||
gethostname)
|
||||
__nonnull ((1)) __attr_access ((__write_only__, 1, 2));
|
||||
extern int __REDIRECT_NTH (__gethostname_chk_warn,
|
||||
(char *__buf, size_t __buflen, size_t __nreal),
|
||||
__gethostname_chk)
|
||||
@ -358,10 +369,11 @@ __NTH (gethostname (char *__buf, size_t __buflen))
|
||||
|
||||
#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98)
|
||||
extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)
|
||||
__THROW __nonnull ((1)) __wur;
|
||||
__THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
|
||||
extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,
|
||||
size_t __buflen),
|
||||
getdomainname) __nonnull ((1)) __wur;
|
||||
getdomainname) __nonnull ((1))
|
||||
__wur __attr_access ((__write_only__, 1, 2));
|
||||
extern int __REDIRECT_NTH (__getdomainname_chk_warn,
|
||||
(char *__buf, size_t __buflen, size_t __nreal),
|
||||
__getdomainname_chk)
|
||||
|
@ -28,9 +28,17 @@ __LDBL_REDIR_DECL (vfwprintf);
|
||||
__LDBL_REDIR_DECL (vwprintf);
|
||||
__LDBL_REDIR_DECL (vswprintf);
|
||||
# if !__GLIBC_USE (DEPRECATED_SCANF)
|
||||
# if defined __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
|
||||
__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
|
||||
__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128)
|
||||
__LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128)
|
||||
__LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128)
|
||||
# else
|
||||
# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
|
||||
# endif
|
||||
# else
|
||||
__LDBL_REDIR_DECL (fwscanf);
|
||||
__LDBL_REDIR_DECL (wscanf);
|
||||
@ -39,11 +47,23 @@ __LDBL_REDIR_DECL (swscanf);
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ISOC99
|
||||
# ifdef __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (wcstold, wcstod);
|
||||
# else
|
||||
__LDBL_REDIR1_DECL (wcstold, __wcstoieee128)
|
||||
# endif
|
||||
# if !__GLIBC_USE (DEPRECATED_SCANF)
|
||||
# if defined __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
|
||||
__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
|
||||
__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
__LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128)
|
||||
__LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128)
|
||||
__LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128)
|
||||
# else
|
||||
# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
|
||||
# endif
|
||||
# else
|
||||
__LDBL_REDIR_DECL (vfwscanf);
|
||||
__LDBL_REDIR_DECL (vwscanf);
|
||||
@ -52,16 +72,20 @@ __LDBL_REDIR_DECL (vswscanf);
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
# ifdef __LDBL_COMPAT
|
||||
__LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
|
||||
# else
|
||||
__LDBL_REDIR1_DECL (wcstold_l, __wcstoieee128_l)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
|
||||
__LDBL_REDIR_DECL (__swprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vswprintf_chk)
|
||||
__LDBL_REDIR2_DECL (swprintf_chk)
|
||||
__LDBL_REDIR2_DECL (vswprintf_chk)
|
||||
# if __USE_FORTIFY_LEVEL > 1
|
||||
__LDBL_REDIR_DECL (__fwprintf_chk)
|
||||
__LDBL_REDIR_DECL (__wprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vfwprintf_chk)
|
||||
__LDBL_REDIR_DECL (__vwprintf_chk)
|
||||
__LDBL_REDIR2_DECL (fwprintf_chk)
|
||||
__LDBL_REDIR2_DECL (wprintf_chk)
|
||||
__LDBL_REDIR2_DECL (vfwprintf_chk)
|
||||
__LDBL_REDIR2_DECL (vwprintf_chk)
|
||||
# endif
|
||||
#endif
|
@ -1,31 +1,17 @@
|
||||
/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
/* Determine the wordsize from the preprocessor defines. */
|
||||
|
||||
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 <sgidefs.h>
|
||||
|
||||
#define __WORDSIZE _MIPS_SZPTR
|
||||
|
||||
#if _MIPS_SIM == _ABI64
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
#if defined __x86_64__ && !defined __ILP32__
|
||||
# define __WORDSIZE 64
|
||||
#else
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
# define __WORDSIZE 32
|
||||
#define __WORDSIZE32_SIZE_ULONG 0
|
||||
#define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
||||
#ifdef __x86_64__
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
/* Both x86-64 and x32 use the 64-bit system call interface. */
|
||||
# define __SYSCALL_WORDSIZE 64
|
||||
#else
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
#endif
|
@ -95,11 +95,15 @@ __BEGIN_DECLS
|
||||
|
||||
#define __MATHCALL(function, args) \
|
||||
__MATHDECL (_Mdouble_complex_,function, args)
|
||||
#define __MATHDECL(type, function, args) \
|
||||
#define __MATHDECL_IMPL(type, function, args) \
|
||||
__MATHDECL_1(type, function, args); \
|
||||
__MATHDECL_1(type, __CONCAT(__,function), args)
|
||||
#define __MATHDECL_1(type, function, args) \
|
||||
#define __MATHDECL(type, function, args) \
|
||||
__MATHDECL_IMPL(type, function, args)
|
||||
#define __MATHDECL_1_IMPL(type, function, args) \
|
||||
extern type __MATH_PRECNAME(function) args __THROW
|
||||
#define __MATHDECL_1(type, function, args) \
|
||||
__MATHDECL_1_IMPL(type, function, args)
|
||||
|
||||
#define _Mdouble_ double
|
||||
#define __MATH_PRECNAME(name) name
|
||||
@ -122,11 +126,31 @@ __BEGIN_DECLS
|
||||
# undef __MATHDECL_1
|
||||
# define __MATHDECL_1(type, function, args) \
|
||||
extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function)
|
||||
# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# undef __MATHDECL_1
|
||||
# undef __MATHDECL
|
||||
# define __REDIR_TO(function) \
|
||||
__ ## function ## ieee128
|
||||
# define __MATHDECL_1(type, function, alias, args) \
|
||||
extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, alias)
|
||||
#define __MATHDECL(type, function, args) \
|
||||
__MATHDECL_1(type, function, __REDIR_TO(function), args); \
|
||||
__MATHDECL_1(type, __CONCAT(__,function), __REDIR_TO(function), args)
|
||||
# endif
|
||||
|
||||
# define _Mdouble_ long double
|
||||
# define __MATH_PRECNAME(name) name##l
|
||||
# include <bits/cmathcalls.h>
|
||||
# if defined __LDBL_COMPAT \
|
||||
|| __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# undef __REDIR_TO
|
||||
# undef __MATHDECL_1
|
||||
# undef __MATHDECL
|
||||
#define __MATHDECL(type, function, args) \
|
||||
__MATHDECL_IMPL(type, function, args)
|
||||
# define __MATHDECL_1(type, function, args) \
|
||||
__MATHDECL_1_IMPL(type, function, args)
|
||||
# endif
|
||||
#endif
|
||||
#undef _Mdouble_
|
||||
#undef __MATH_PRECNAME
|
||||
@ -215,6 +239,7 @@ __BEGIN_DECLS
|
||||
# undef _Mdouble_complex_
|
||||
#endif
|
||||
|
||||
#undef __MATHDECL_1_IMPL
|
||||
#undef __MATHDECL_1
|
||||
#undef __MATHDECL
|
||||
#undef __MATHCALL
|
||||
|
@ -330,7 +330,7 @@ typedef struct
|
||||
#define EM_CLOUDSHIELD 192 /* CloudShield */
|
||||
#define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */
|
||||
#define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */
|
||||
#define EM_ARC_COMPACT2 195 /* Synopsys ARCompact V2 */
|
||||
#define EM_ARCV2 195 /* Synopsys ARCv2 ISA. */
|
||||
#define EM_OPEN8 196 /* Open8 RISC */
|
||||
#define EM_RL78 197 /* Renesas RL78 */
|
||||
#define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */
|
||||
@ -721,6 +721,7 @@ typedef struct
|
||||
#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
|
||||
#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
|
||||
#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
|
||||
#define PT_GNU_PROPERTY 0x6474e553 /* GNU property */
|
||||
#define PT_LOSUNW 0x6ffffffa
|
||||
#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
|
||||
#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
|
||||
@ -1318,6 +1319,12 @@ typedef struct
|
||||
/* Application-specific semantics, hi */
|
||||
#define GNU_PROPERTY_HIUSER 0xffffffff
|
||||
|
||||
/* AArch64 specific GNU properties. */
|
||||
#define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000
|
||||
|
||||
#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0)
|
||||
#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC (1U << 1)
|
||||
|
||||
/* The x86 instruction sets indicated by the corresponding bits are
|
||||
used in program. Their support in the hardware is optional. */
|
||||
#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000
|
||||
@ -3946,8 +3953,9 @@ enum
|
||||
#define R_RISCV_SET16 55
|
||||
#define R_RISCV_SET32 56
|
||||
#define R_RISCV_32_PCREL 57
|
||||
#define R_RISCV_IRELATIVE 58
|
||||
|
||||
#define R_RISCV_NUM 58
|
||||
#define R_RISCV_NUM 59
|
||||
|
||||
/* BPF specific declarations. */
|
||||
|
||||
@ -4027,6 +4035,74 @@ enum
|
||||
#define R_NDS32_TLS_TPOFF 102
|
||||
#define R_NDS32_TLS_DESC 119
|
||||
|
||||
/* ARCompact/ARCv2 specific relocs. */
|
||||
#define R_ARC_NONE 0x0
|
||||
#define R_ARC_8 0x1
|
||||
#define R_ARC_16 0x2
|
||||
#define R_ARC_24 0x3
|
||||
#define R_ARC_32 0x4
|
||||
#define R_ARC_B26 0x5
|
||||
#define R_ARC_B22_PCREL 0x6
|
||||
#define R_ARC_H30 0x7
|
||||
#define R_ARC_N8 0x8
|
||||
#define R_ARC_N16 0x9
|
||||
#define R_ARC_N24 0xA
|
||||
#define R_ARC_N32 0xB
|
||||
#define R_ARC_SDA 0xC
|
||||
#define R_ARC_SECTOFF 0xD
|
||||
#define R_ARC_S21H_PCREL 0xE
|
||||
#define R_ARC_S21W_PCREL 0xF
|
||||
#define R_ARC_S25H_PCREL 0x10
|
||||
#define R_ARC_S25W_PCREL 0x11
|
||||
#define R_ARC_SDA32 0x12
|
||||
#define R_ARC_SDA_LDST 0x13
|
||||
#define R_ARC_SDA_LDST1 0x14
|
||||
#define R_ARC_SDA_LDST2 0x15
|
||||
#define R_ARC_SDA16_LD 0x16
|
||||
#define R_ARC_SDA16_LD1 0x17
|
||||
#define R_ARC_SDA16_LD2 0x18
|
||||
#define R_ARC_S13_PCREL 0x19
|
||||
#define R_ARC_W 0x1A
|
||||
#define R_ARC_32_ME 0x1B
|
||||
#define R_ARC_N32_ME 0x1C
|
||||
#define R_ARC_SECTOFF_ME 0x1D
|
||||
#define R_ARC_SDA32_ME 0x1E
|
||||
#define R_ARC_W_ME 0x1F
|
||||
#define R_ARC_H30_ME 0x20
|
||||
#define R_ARC_SECTOFF_U8 0x21
|
||||
#define R_ARC_SECTOFF_S9 0x22
|
||||
#define R_AC_SECTOFF_U8 0x23
|
||||
#define R_AC_SECTOFF_U8_1 0x24
|
||||
#define R_AC_SECTOFF_U8_2 0x25
|
||||
#define R_AC_SECTOFF_S9 0x26
|
||||
#define R_AC_SECTOFF_S9_1 0x27
|
||||
#define R_AC_SECTOFF_S9_2 0x28
|
||||
#define R_ARC_SECTOFF_ME_1 0x29
|
||||
#define R_ARC_SECTOFF_ME_2 0x2A
|
||||
#define R_ARC_SECTOFF_1 0x2B
|
||||
#define R_ARC_SECTOFF_2 0x2C
|
||||
#define R_ARC_PC32 0x32
|
||||
#define R_ARC_GOTPC32 0x33
|
||||
#define R_ARC_PLT32 0x34
|
||||
#define R_ARC_COPY 0x35
|
||||
#define R_ARC_GLOB_DAT 0x36
|
||||
#define R_ARC_JUMP_SLOT 0x37
|
||||
#define R_ARC_RELATIVE 0x38
|
||||
#define R_ARC_GOTOFF 0x39
|
||||
#define R_ARC_GOTPC 0x3A
|
||||
#define R_ARC_GOT32 0x3B
|
||||
|
||||
#define R_ARC_TLS_DTPMOD 0x42
|
||||
#define R_ARC_TLS_DTPOFF 0x43
|
||||
#define R_ARC_TLS_TPOFF 0x44
|
||||
#define R_ARC_TLS_GD_GOT 0x45
|
||||
#define R_ARC_TLS_GD_LD 0x46
|
||||
#define R_ARC_TLS_GD_CALL 0x47
|
||||
#define R_ARC_TLS_IE_GOT 0x48
|
||||
#define R_ARC_TLS_DTPOFF_S9 0x4a
|
||||
#define R_ARC_TLS_LE_S9 0x4a
|
||||
#define R_ARC_TLS_LE_32 0x4b
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* elf.h */
|
@ -52,7 +52,8 @@ extern void errx (int __status, const char *__format, ...)
|
||||
extern void verrx (int __status, const char *, __gnuc_va_list)
|
||||
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
|
||||
|
||||
#ifdef __LDBL_COMPAT
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/err-ldbl.h>
|
||||
#endif
|
||||
|
||||
|
@ -47,11 +47,13 @@ extern unsigned int error_message_count;
|
||||
variable controls whether this mode is selected or not. */
|
||||
extern int error_one_per_line;
|
||||
|
||||
#ifdef __LDBL_COMPAT
|
||||
#include <bits/floatn.h>
|
||||
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
|
||||
# include <bits/error-ldbl.h>
|
||||
#else
|
||||
/* Do not inline error and error_at_line when long double has the same
|
||||
size of double, because that would invalidate the redirections to the
|
||||
size of double, nor when long double reuses the float128
|
||||
implementation, because that would invalidate the redirections to the
|
||||
compatibility functions. */
|
||||
# if defined __extern_always_inline && defined __va_arg_pack
|
||||
# include <bits/error.h>
|
||||
|
@ -454,7 +454,7 @@
|
||||
/* Major and minor version number of the GNU C library package. Use
|
||||
these macros to test for features in specific releases. */
|
||||
#define __GLIBC__ 2
|
||||
#define __GLIBC_MINOR__ 31
|
||||
#define __GLIBC_MINOR__ 32
|
||||
|
||||
#define __GLIBC_PREREQ(maj, min) \
|
||||
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
|
||||
|
@ -140,10 +140,6 @@ extern int fegetmode (femode_t *__modep) __THROW;
|
||||
extern int fesetmode (const femode_t *__modep) __THROW;
|
||||
#endif
|
||||
|
||||
/* Include optimization. */
|
||||
#ifdef __OPTIMIZE__
|
||||
# include <bits/fenvinline.h>
|
||||
#endif
|
||||
|
||||
/* NaN support. */
|
||||
|
||||
|
@ -16,4 +16,28 @@
|
||||
! License along with the GNU C Library; if not, see
|
||||
! <https://www.gnu.org/licenses/>.
|
||||
|
||||
! No SIMD math functions are available for this platform.
|
||||
!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
|
||||
!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
|
||||
|
||||
!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
|
||||
!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
|
@ -1,6 +1,7 @@
|
||||
/* FPU control word bits. Mips version.
|
||||
Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
/* FPU control word bits. x86 version.
|
||||
Copyright (C) 1993-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Olaf Flebbe.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
@ -13,120 +14,96 @@
|
||||
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
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _FPU_CONTROL_H
|
||||
#define _FPU_CONTROL_H
|
||||
#define _FPU_CONTROL_H 1
|
||||
|
||||
/* MIPS FPU floating point control register bits.
|
||||
/* Note that this file sets on x86-64 only the x87 FPU, it does not
|
||||
touch the SSE unit. */
|
||||
|
||||
/* Here is the dirty part. Set up your 387 through the control word
|
||||
* (cw) register.
|
||||
*
|
||||
* 31-25 -> floating point conditions code bits 7-1. These bits are only
|
||||
* available in MIPS IV.
|
||||
* 24 -> flush denormalized results to zero instead of
|
||||
* causing unimplemented operation exception. This bit is only
|
||||
* available for MIPS III and newer.
|
||||
* 23 -> Condition bit
|
||||
* 22-21 -> reserved for architecture implementers
|
||||
* 20 -> reserved (read as 0, write with 0)
|
||||
* 19 -> IEEE 754-2008 non-arithmetic ABS.fmt and NEG.fmt enable
|
||||
* 18 -> IEEE 754-2008 recommended NaN encoding enable
|
||||
* 17 -> cause bit for unimplemented operation
|
||||
* 16 -> cause bit for invalid exception
|
||||
* 15 -> cause bit for division by zero exception
|
||||
* 14 -> cause bit for overflow exception
|
||||
* 13 -> cause bit for underflow exception
|
||||
* 12 -> cause bit for inexact exception
|
||||
* 11 -> enable exception for invalid exception
|
||||
* 10 -> enable exception for division by zero exception
|
||||
* 9 -> enable exception for overflow exception
|
||||
* 8 -> enable exception for underflow exception
|
||||
* 7 -> enable exception for inexact exception
|
||||
* 6 -> flag invalid exception
|
||||
* 5 -> flag division by zero exception
|
||||
* 4 -> flag overflow exception
|
||||
* 3 -> flag underflow exception
|
||||
* 2 -> flag inexact exception
|
||||
* 1-0 -> rounding control
|
||||
* 15-13 12 11-10 9-8 7-6 5 4 3 2 1 0
|
||||
* | reserved | IC | RC | PC | reserved | PM | UM | OM | ZM | DM | IM
|
||||
*
|
||||
* IM: Invalid operation mask
|
||||
* DM: Denormalized operand mask
|
||||
* ZM: Zero-divide mask
|
||||
* OM: Overflow mask
|
||||
* UM: Underflow mask
|
||||
* PM: Precision (inexact result) mask
|
||||
*
|
||||
* Rounding Control:
|
||||
* 00 - rounding to nearest (RN)
|
||||
* 01 - rounding toward zero (RZ)
|
||||
* 10 - rounding (up) toward plus infinity (RP)
|
||||
* 11 - rounding (down)toward minus infinity (RM)
|
||||
* Mask bit is 1 means no interrupt.
|
||||
*
|
||||
* PC: Precision control
|
||||
* 11 - round to extended precision
|
||||
* 10 - round to double precision
|
||||
* 00 - round to single precision
|
||||
*
|
||||
* RC: Rounding control
|
||||
* 00 - rounding to nearest
|
||||
* 01 - rounding down (toward - infinity)
|
||||
* 10 - rounding up (toward + infinity)
|
||||
* 11 - rounding toward zero
|
||||
*
|
||||
* IC: Infinity control
|
||||
* That is for 8087 and 80287 only.
|
||||
*
|
||||
* The hardware default is 0x037f which we use.
|
||||
*/
|
||||
|
||||
#include <features.h>
|
||||
|
||||
#ifdef __mips_soft_float
|
||||
/* masking of interrupts */
|
||||
#define _FPU_MASK_IM 0x01
|
||||
#define _FPU_MASK_DM 0x02
|
||||
#define _FPU_MASK_ZM 0x04
|
||||
#define _FPU_MASK_OM 0x08
|
||||
#define _FPU_MASK_UM 0x10
|
||||
#define _FPU_MASK_PM 0x20
|
||||
|
||||
#define _FPU_RESERVED 0xffffffff
|
||||
#define _FPU_DEFAULT 0x00000000
|
||||
typedef unsigned int fpu_control_t;
|
||||
#define _FPU_GETCW(cw) (cw) = 0
|
||||
#define _FPU_SETCW(cw) (void) (cw)
|
||||
extern fpu_control_t __fpu_control;
|
||||
/* precision control */
|
||||
#define _FPU_EXTENDED 0x300 /* libm requires double extended precision. */
|
||||
#define _FPU_DOUBLE 0x200
|
||||
#define _FPU_SINGLE 0x0
|
||||
|
||||
#else /* __mips_soft_float */
|
||||
/* rounding control */
|
||||
#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
|
||||
#define _FPU_RC_DOWN 0x400
|
||||
#define _FPU_RC_UP 0x800
|
||||
#define _FPU_RC_ZERO 0xC00
|
||||
|
||||
/* Masks for interrupts. */
|
||||
#define _FPU_MASK_V 0x0800 /* Invalid operation */
|
||||
#define _FPU_MASK_Z 0x0400 /* Division by zero */
|
||||
#define _FPU_MASK_O 0x0200 /* Overflow */
|
||||
#define _FPU_MASK_U 0x0100 /* Underflow */
|
||||
#define _FPU_MASK_I 0x0080 /* Inexact operation */
|
||||
|
||||
/* Flush denormalized numbers to zero. */
|
||||
#define _FPU_FLUSH_TZ 0x1000000
|
||||
|
||||
/* IEEE 754-2008 compliance control. */
|
||||
#define _FPU_ABS2008 0x80000
|
||||
#define _FPU_NAN2008 0x40000
|
||||
|
||||
/* Rounding control. */
|
||||
#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
|
||||
#define _FPU_RC_ZERO 0x1
|
||||
#define _FPU_RC_UP 0x2
|
||||
#define _FPU_RC_DOWN 0x3
|
||||
/* Mask for rounding control. */
|
||||
#define _FPU_RC_MASK 0x3
|
||||
|
||||
#define _FPU_RESERVED 0xfe8c0000 /* Reserved bits in cw, incl ABS/NAN2008. */
|
||||
#define _FPU_RESERVED 0xF0C0 /* Reserved bits in cw */
|
||||
|
||||
|
||||
/* The fdlibm code requires strict IEEE double precision arithmetic,
|
||||
and no interrupts for exceptions, rounding to nearest. */
|
||||
#ifdef __mips_nan2008
|
||||
# define _FPU_DEFAULT 0x000C0000
|
||||
#else
|
||||
# define _FPU_DEFAULT 0x00000000
|
||||
#endif
|
||||
|
||||
/* IEEE: same as above, but exceptions. */
|
||||
#ifdef __mips_nan2008
|
||||
# define _FPU_IEEE 0x000C0F80
|
||||
#else
|
||||
# define _FPU_IEEE 0x00000F80
|
||||
#endif
|
||||
#define _FPU_DEFAULT 0x037f
|
||||
|
||||
/* IEEE: same as above. */
|
||||
#define _FPU_IEEE 0x037f
|
||||
|
||||
/* Type of the control word. */
|
||||
typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
|
||||
typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__)));
|
||||
|
||||
/* Macros for accessing the hardware control word. */
|
||||
extern fpu_control_t __mips_fpu_getcw (void) __THROW;
|
||||
extern void __mips_fpu_setcw (fpu_control_t) __THROW;
|
||||
#ifdef __mips16
|
||||
# define _FPU_GETCW(cw) do { (cw) = __mips_fpu_getcw (); } while (0)
|
||||
# define _FPU_SETCW(cw) __mips_fpu_setcw (cw)
|
||||
#else
|
||||
# define _FPU_GETCW(cw) __asm__ volatile ("cfc1 %0,$31" : "=r" (cw))
|
||||
# define _FPU_SETCW(cw) __asm__ volatile ("ctc1 %0,$31" : : "r" (cw))
|
||||
#endif
|
||||
/* Macros for accessing the hardware control word. "*&" is used to
|
||||
work around a bug in older versions of GCC. __volatile__ is used
|
||||
to support combination of writing the control register and reading
|
||||
it back. Without __volatile__, the old value may be used for reading
|
||||
back under compiler optimization.
|
||||
|
||||
Note that the use of these macros is not sufficient anymore with
|
||||
recent hardware nor on x86-64. Some floating point operations are
|
||||
executed in the SSE/SSE2 engines which have their own control and
|
||||
status register. */
|
||||
#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
|
||||
#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
|
||||
|
||||
/* Default control word set at startup. */
|
||||
extern fpu_control_t __fpu_control;
|
||||
|
||||
#endif /* __mips_soft_float */
|
||||
|
||||
#endif /* fpu_control.h */
|
@ -20,8 +20,6 @@
|
||||
#define LIBNSS_FILES_SO "libnss_files.so.2"
|
||||
#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
|
||||
#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
|
||||
#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
|
||||
#define LIBNSS_NIS_SO "libnss_nis.so.2"
|
||||
#define LIBNSS_TEST1_SO "libnss_test1.so.2"
|
||||
#define LIBNSS_TEST2_SO "libnss_test2.so.2"
|
||||
#define LIBPTHREAD_SO "libpthread.so.0"
|
||||
|
@ -20,8 +20,6 @@
|
||||
#define LIBNSS_FILES_SO "libnss_files.so.2"
|
||||
#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
|
||||
#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
|
||||
#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
|
||||
#define LIBNSS_NIS_SO "libnss_nis.so.2"
|
||||
#define LIBNSS_TEST1_SO "libnss_test1.so.2"
|
||||
#define LIBNSS_TEST2_SO "libnss_test2.so.2"
|
||||
#define LIBPTHREAD_SO "libpthread.so.0"
|
||||
|
@ -19,8 +19,6 @@
|
||||
#define LIBNSS_FILES_SO "libnss_files.so.2"
|
||||
#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
|
||||
#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
|
||||
#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
|
||||
#define LIBNSS_NIS_SO "libnss_nis.so.2"
|
||||
#define LIBNSS_TEST1_SO "libnss_test1.so.2"
|
||||
#define LIBNSS_TEST2_SO "libnss_test2.so.2"
|
||||
#define LIBPTHREAD_SO "libpthread.so.0"
|
||||
|
@ -19,8 +19,6 @@
|
||||
#define LIBNSS_FILES_SO "libnss_files.so.2"
|
||||
#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
|
||||
#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
|
||||
#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
|
||||
#define LIBNSS_NIS_SO "libnss_nis.so.2"
|
||||
#define LIBNSS_TEST1_SO "libnss_test1.so.2"
|
||||
#define LIBNSS_TEST2_SO "libnss_test2.so.2"
|
||||
#define LIBPTHREAD_SO "libpthread.so.0"
|
||||
|
@ -19,8 +19,6 @@
|
||||
#define LIBNSS_FILES_SO "libnss_files.so.2"
|
||||
#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
|
||||
#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
|
||||
#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
|
||||
#define LIBNSS_NIS_SO "libnss_nis.so.2"
|
||||
#define LIBNSS_TEST1_SO "libnss_test1.so.2"
|
||||
#define LIBNSS_TEST2_SO "libnss_test2.so.2"
|
||||
#define LIBPTHREAD_SO "libpthread.so.0"
|
||||
|
@ -20,8 +20,6 @@
|
||||
#define LIBNSS_FILES_SO "libnss_files.so.2"
|
||||
#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
|
||||
#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
|
||||
#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
|
||||
#define LIBNSS_NIS_SO "libnss_nis.so.2"
|
||||
#define LIBNSS_TEST1_SO "libnss_test1.so.2"
|
||||
#define LIBNSS_TEST2_SO "libnss_test2.so.2"
|
||||
#define LIBPTHREAD_SO "libpthread.so.0"
|
||||
|
@ -4,43 +4,14 @@
|
||||
#ifndef __GNU_LIB_NAMES_H
|
||||
#define __GNU_LIB_NAMES_H 1
|
||||
|
||||
#include <sgidefs.h>
|
||||
|
||||
#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
|
||||
# include <gnu/lib-names-o32_soft.h>
|
||||
#if !defined __x86_64__
|
||||
# include <gnu/lib-names-32.h>
|
||||
#endif
|
||||
#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
|
||||
# include <gnu/lib-names-o32_hard.h>
|
||||
#if defined __x86_64__ && defined __LP64__
|
||||
# include <gnu/lib-names-64.h>
|
||||
#endif
|
||||
#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
|
||||
# include <gnu/lib-names-o32_soft_2008.h>
|
||||
#endif
|
||||
#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32)
|
||||
# include <gnu/lib-names-o32_hard_2008.h>
|
||||
#endif
|
||||
#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
|
||||
# include <gnu/lib-names-n32_soft.h>
|
||||
#endif
|
||||
#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
|
||||
# include <gnu/lib-names-n32_hard.h>
|
||||
#endif
|
||||
#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
|
||||
# include <gnu/lib-names-n32_soft_2008.h>
|
||||
#endif
|
||||
#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32)
|
||||
# include <gnu/lib-names-n32_hard_2008.h>
|
||||
#endif
|
||||
#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
|
||||
# include <gnu/lib-names-n64_soft.h>
|
||||
#endif
|
||||
#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
|
||||
# include <gnu/lib-names-n64_hard.h>
|
||||
#endif
|
||||
#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
|
||||
# include <gnu/lib-names-n64_soft_2008.h>
|
||||
#endif
|
||||
#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64)
|
||||
# include <gnu/lib-names-n64_hard_2008.h>
|
||||
#if defined __x86_64__ && defined __ILP32__
|
||||
# include <gnu/lib-names-x32.h>
|
||||
#endif
|
||||
|
||||
#endif /* gnu/lib-names.h */
|
@ -10,9 +10,7 @@
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
@ -1,18 +0,0 @@
|
||||
/* This file is automatically generated.
|
||||
It defines a symbol `__stub_FUNCTION' for each function
|
||||
in the C library which is a stub, meaning it will fail
|
||||
every time called, usually setting errno to ENOSYS. */
|
||||
|
||||
#ifdef _LIBC
|
||||
#error Applications may not define the macro _LIBC
|
||||
#endif
|
||||
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
@ -13,9 +13,7 @@
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
@ -12,9 +12,7 @@
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
@ -12,9 +12,7 @@
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
@ -10,9 +10,7 @@
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
@ -13,9 +13,7 @@
|
||||
#define __stub_chflags
|
||||
#define __stub_fchflags
|
||||
#define __stub_gtty
|
||||
#define __stub_lchmod
|
||||
#define __stub_revoke
|
||||
#define __stub_setlogin
|
||||
#define __stub_sigreturn
|
||||
#define __stub_sstk
|
||||
#define __stub_stty
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user