authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-08-30 21:27:30-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-08-30 21:27:30-07:00
logdd8cc6b0f1f7e92c0ec2bfa22e12f1595206e35d
tree7ae8dae143377e2832d95520799468a3ee0795f9
parenteeadd55d15852b6bc67b459b452e83a8a8ba2933

update glibc headers to 2.32


277 files changed, 4516 insertions(+), 4064 deletions(-)

lib/libc/include/aarch64-linux-gnu/bits/floatn.h deleted-97
...@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/hwcap.h+20-1
...@@ -53,4 +53,23 @@...@@ -53,4 +53,23 @@
53#define HWCAP_SSBS (1 << 28)53#define HWCAP_SSBS (1 << 28)
54#define HWCAP_SB (1 << 29)54#define HWCAP_SB (1 << 29)
55#define HWCAP_PACA (1 << 30)55#define HWCAP_PACA (1 << 30)
56#define HWCAP_PACG (1UL << 31)
\ No newline at end of file
56#define HWCAP_PACG (1UL << 31)
57
58#define HWCAP2_DCPODP (1 << 0)
59#define HWCAP2_SVE2 (1 << 1)
60#define HWCAP2_SVEAES (1 << 2)
61#define HWCAP2_SVEPMULL (1 << 3)
62#define HWCAP2_SVEBITPERM (1 << 4)
63#define HWCAP2_SVESHA3 (1 << 5)
64#define HWCAP2_SVESM4 (1 << 6)
65#define HWCAP2_FLAGM2 (1 << 7)
66#define HWCAP2_FRINT (1 << 8)
67#define HWCAP2_SVEI8MM (1 << 9)
68#define HWCAP2_SVEF32MM (1 << 10)
69#define HWCAP2_SVEF64MM (1 << 11)
70#define HWCAP2_SVEBF16 (1 << 12)
71#define HWCAP2_I8MM (1 << 13)
72#define HWCAP2_BF16 (1 << 14)
73#define HWCAP2_DGH (1 << 15)
74#define HWCAP2_RNG (1 << 16)
75#define HWCAP2_BTI (1 << 17)
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/long-double.h+1-1
...@@ -18,4 +18,4 @@...@@ -18,4 +18,4 @@
1818
19/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/mman.h created+31
...@@ -0,0 +1,31 @@
1/* Definitions for POSIX memory map interface. Linux/AArch64 version.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
21#endif
22
23/* AArch64 specific definitions, should be in sync with
24 arch/arm64/include/uapi/asm/mman.h. */
25
26#define PROT_BTI 0x10
27
28#include <bits/mman-map-flags-generic.h>
29
30/* Include generic Linux declarations. */
31#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/typesizes.h+29-9
...@@ -26,31 +26,45 @@...@@ -26,31 +26,45 @@
2626
27/* See <bits/types.h> for the meaning of these macros. This file exists so27/* See <bits/types.h> for the meaning of these macros. This file exists so
28 that <bits/types.h> need not vary across different GNU platforms. */28 that <bits/types.h> need not vary across different GNU platforms. */
29#if __TIMESIZE == 64 && __WORDSIZE == 32
30/* These are the "new" y2038 types defined for architectures added after
31 the 5.1 kernel. */
32# define __INO_T_TYPE __UQUAD_TYPE
33# define __OFF_T_TYPE __SQUAD_TYPE
34# define __RLIM_T_TYPE __UQUAD_TYPE
35# define __BLKCNT_T_TYPE __SQUAD_TYPE
36# define __FSBLKCNT_T_TYPE __UQUAD_TYPE
37# define __FSFILCNT_T_TYPE __UQUAD_TYPE
38# define __TIME_T_TYPE __SQUAD_TYPE
39# define __SUSECONDS_T_TYPE __SQUAD_TYPE
40#else
41# define __INO_T_TYPE __ULONGWORD_TYPE
42# define __OFF_T_TYPE __SLONGWORD_TYPE
43# define __RLIM_T_TYPE __ULONGWORD_TYPE
44# define __BLKCNT_T_TYPE __SLONGWORD_TYPE
45# define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
46# define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
47# define __TIME_T_TYPE __SLONGWORD_TYPE
48# define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
49#endif
2950
30#define __DEV_T_TYPE __UQUAD_TYPE51#define __DEV_T_TYPE __UQUAD_TYPE
31#define __UID_T_TYPE __U32_TYPE52#define __UID_T_TYPE __U32_TYPE
32#define __GID_T_TYPE __U32_TYPE53#define __GID_T_TYPE __U32_TYPE
33#define __INO_T_TYPE __ULONGWORD_TYPE
34#define __INO64_T_TYPE __UQUAD_TYPE54#define __INO64_T_TYPE __UQUAD_TYPE
35#define __MODE_T_TYPE __U32_TYPE55#define __MODE_T_TYPE __U32_TYPE
36#define __NLINK_T_TYPE __U32_TYPE56#define __NLINK_T_TYPE __U32_TYPE
37#define __OFF_T_TYPE __SLONGWORD_TYPE
38#define __OFF64_T_TYPE __SQUAD_TYPE57#define __OFF64_T_TYPE __SQUAD_TYPE
39#define __PID_T_TYPE __S32_TYPE58#define __PID_T_TYPE __S32_TYPE
40#define __RLIM_T_TYPE __ULONGWORD_TYPE
41#define __RLIM64_T_TYPE __UQUAD_TYPE59#define __RLIM64_T_TYPE __UQUAD_TYPE
42#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
43#define __BLKCNT64_T_TYPE __SQUAD_TYPE60#define __BLKCNT64_T_TYPE __SQUAD_TYPE
44#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
45#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE61#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
46#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
47#define __FSFILCNT64_T_TYPE __UQUAD_TYPE62#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
48#define __FSWORD_T_TYPE __SWORD_TYPE63#define __FSWORD_T_TYPE __SWORD_TYPE
49#define __ID_T_TYPE __U32_TYPE64#define __ID_T_TYPE __U32_TYPE
50#define __CLOCK_T_TYPE __SLONGWORD_TYPE65#define __CLOCK_T_TYPE __SLONGWORD_TYPE
51#define __TIME_T_TYPE __SLONGWORD_TYPE
52#define __USECONDS_T_TYPE __U32_TYPE66#define __USECONDS_T_TYPE __U32_TYPE
53#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE68#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE69#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE70#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -62,7 +76,7 @@...@@ -62,7 +76,7 @@
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE76#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE77#define __CPU_MASK_TYPE __ULONGWORD_TYPE
6478
65#ifdef __LP64__79#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
66/* Tell the libc code that off_t and off64_t are actually the same type80/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types81 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */82 for C type-checking purposes. */
...@@ -76,11 +90,17 @@...@@ -76,11 +90,17 @@
7690
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */91/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 192# define __STATFS_MATCHES_STATFS64 1
93
94/* And for getitimer, setitimer and rusage */
95# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
79#else96#else
80# define __RLIM_T_MATCHES_RLIM64_T 097# define __RLIM_T_MATCHES_RLIM64_T 0
8198
82# define __STATFS_MATCHES_STATFS64 099# define __STATFS_MATCHES_STATFS64 0
100
101# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
83#endif102#endif
103
84/* Number of descriptors that can fit in an `fd_set'. */104/* Number of descriptors that can fit in an `fd_set'. */
85#define __FD_SETSIZE 1024105#define __FD_SETSIZE 1024
86106
lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/aarch64-linux-gnu/gnu/stubs-lp64.h+1-4
...@@ -15,10 +15,7 @@...@@ -15,10 +15,7 @@
15#define __stub_chflags15#define __stub_chflags
16#define __stub_fchflags16#define __stub_fchflags
17#define __stub_gtty17#define __stub_gtty
18#define __stub_lchmod
19#define __stub_revoke18#define __stub_revoke
20#define __stub_setlogin19#define __stub_setlogin
21#define __stub_sigreturn20#define __stub_sigreturn
22#define __stub_sstk
23#define __stub_stty
24#define __stub_sysctl
\ No newline at end of file
21#define __stub_stty
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h deleted-97
...@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h+20-1
...@@ -53,4 +53,23 @@...@@ -53,4 +53,23 @@
53#define HWCAP_SSBS (1 << 28)53#define HWCAP_SSBS (1 << 28)
54#define HWCAP_SB (1 << 29)54#define HWCAP_SB (1 << 29)
55#define HWCAP_PACA (1 << 30)55#define HWCAP_PACA (1 << 30)
56#define HWCAP_PACG (1UL << 31)
\ No newline at end of file
56#define HWCAP_PACG (1UL << 31)
57
58#define HWCAP2_DCPODP (1 << 0)
59#define HWCAP2_SVE2 (1 << 1)
60#define HWCAP2_SVEAES (1 << 2)
61#define HWCAP2_SVEPMULL (1 << 3)
62#define HWCAP2_SVEBITPERM (1 << 4)
63#define HWCAP2_SVESHA3 (1 << 5)
64#define HWCAP2_SVESM4 (1 << 6)
65#define HWCAP2_FLAGM2 (1 << 7)
66#define HWCAP2_FRINT (1 << 8)
67#define HWCAP2_SVEI8MM (1 << 9)
68#define HWCAP2_SVEF32MM (1 << 10)
69#define HWCAP2_SVEF64MM (1 << 11)
70#define HWCAP2_SVEBF16 (1 << 12)
71#define HWCAP2_I8MM (1 << 13)
72#define HWCAP2_BF16 (1 << 14)
73#define HWCAP2_DGH (1 << 15)
74#define HWCAP2_RNG (1 << 16)
75#define HWCAP2_BTI (1 << 17)
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h+1-1
...@@ -18,4 +18,4 @@...@@ -18,4 +18,4 @@
1818
19/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/mman.h created+31
...@@ -0,0 +1,31 @@
1/* Definitions for POSIX memory map interface. Linux/AArch64 version.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
21#endif
22
23/* AArch64 specific definitions, should be in sync with
24 arch/arm64/include/uapi/asm/mman.h. */
25
26#define PROT_BTI 0x10
27
28#include <bits/mman-map-flags-generic.h>
29
30/* Include generic Linux declarations. */
31#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h+29-9
...@@ -26,31 +26,45 @@...@@ -26,31 +26,45 @@
2626
27/* See <bits/types.h> for the meaning of these macros. This file exists so27/* See <bits/types.h> for the meaning of these macros. This file exists so
28 that <bits/types.h> need not vary across different GNU platforms. */28 that <bits/types.h> need not vary across different GNU platforms. */
29#if __TIMESIZE == 64 && __WORDSIZE == 32
30/* These are the "new" y2038 types defined for architectures added after
31 the 5.1 kernel. */
32# define __INO_T_TYPE __UQUAD_TYPE
33# define __OFF_T_TYPE __SQUAD_TYPE
34# define __RLIM_T_TYPE __UQUAD_TYPE
35# define __BLKCNT_T_TYPE __SQUAD_TYPE
36# define __FSBLKCNT_T_TYPE __UQUAD_TYPE
37# define __FSFILCNT_T_TYPE __UQUAD_TYPE
38# define __TIME_T_TYPE __SQUAD_TYPE
39# define __SUSECONDS_T_TYPE __SQUAD_TYPE
40#else
41# define __INO_T_TYPE __ULONGWORD_TYPE
42# define __OFF_T_TYPE __SLONGWORD_TYPE
43# define __RLIM_T_TYPE __ULONGWORD_TYPE
44# define __BLKCNT_T_TYPE __SLONGWORD_TYPE
45# define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
46# define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
47# define __TIME_T_TYPE __SLONGWORD_TYPE
48# define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
49#endif
2950
30#define __DEV_T_TYPE __UQUAD_TYPE51#define __DEV_T_TYPE __UQUAD_TYPE
31#define __UID_T_TYPE __U32_TYPE52#define __UID_T_TYPE __U32_TYPE
32#define __GID_T_TYPE __U32_TYPE53#define __GID_T_TYPE __U32_TYPE
33#define __INO_T_TYPE __ULONGWORD_TYPE
34#define __INO64_T_TYPE __UQUAD_TYPE54#define __INO64_T_TYPE __UQUAD_TYPE
35#define __MODE_T_TYPE __U32_TYPE55#define __MODE_T_TYPE __U32_TYPE
36#define __NLINK_T_TYPE __U32_TYPE56#define __NLINK_T_TYPE __U32_TYPE
37#define __OFF_T_TYPE __SLONGWORD_TYPE
38#define __OFF64_T_TYPE __SQUAD_TYPE57#define __OFF64_T_TYPE __SQUAD_TYPE
39#define __PID_T_TYPE __S32_TYPE58#define __PID_T_TYPE __S32_TYPE
40#define __RLIM_T_TYPE __ULONGWORD_TYPE
41#define __RLIM64_T_TYPE __UQUAD_TYPE59#define __RLIM64_T_TYPE __UQUAD_TYPE
42#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
43#define __BLKCNT64_T_TYPE __SQUAD_TYPE60#define __BLKCNT64_T_TYPE __SQUAD_TYPE
44#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
45#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE61#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
46#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
47#define __FSFILCNT64_T_TYPE __UQUAD_TYPE62#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
48#define __FSWORD_T_TYPE __SWORD_TYPE63#define __FSWORD_T_TYPE __SWORD_TYPE
49#define __ID_T_TYPE __U32_TYPE64#define __ID_T_TYPE __U32_TYPE
50#define __CLOCK_T_TYPE __SLONGWORD_TYPE65#define __CLOCK_T_TYPE __SLONGWORD_TYPE
51#define __TIME_T_TYPE __SLONGWORD_TYPE
52#define __USECONDS_T_TYPE __U32_TYPE66#define __USECONDS_T_TYPE __U32_TYPE
53#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE68#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE69#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE70#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -62,7 +76,7 @@...@@ -62,7 +76,7 @@
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE76#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE77#define __CPU_MASK_TYPE __ULONGWORD_TYPE
6478
65#ifdef __LP64__79#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
66/* Tell the libc code that off_t and off64_t are actually the same type80/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types81 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */82 for C type-checking purposes. */
...@@ -76,11 +90,17 @@...@@ -76,11 +90,17 @@
7690
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */91/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 192# define __STATFS_MATCHES_STATFS64 1
93
94/* And for getitimer, setitimer and rusage */
95# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
79#else96#else
80# define __RLIM_T_MATCHES_RLIM64_T 097# define __RLIM_T_MATCHES_RLIM64_T 0
8198
82# define __STATFS_MATCHES_STATFS64 099# define __STATFS_MATCHES_STATFS64 0
100
101# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
83#endif102#endif
103
84/* Number of descriptors that can fit in an `fd_set'. */104/* Number of descriptors that can fit in an `fd_set'. */
85#define __FD_SETSIZE 1024105#define __FD_SETSIZE 1024
86106
lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/aarch64_be-linux-gnu/gnu/stubs-lp64_be.h+1-4
...@@ -15,10 +15,7 @@...@@ -15,10 +15,7 @@
15#define __stub_chflags15#define __stub_chflags
16#define __stub_fchflags16#define __stub_fchflags
17#define __stub_gtty17#define __stub_gtty
18#define __stub_lchmod
19#define __stub_revoke18#define __stub_revoke
20#define __stub_setlogin19#define __stub_setlogin
21#define __stub_sigreturn20#define __stub_sigreturn
22#define __stub_sstk
23#define __stub_stty
24#define __stub_sysctl
\ No newline at end of file
21#define __stub_stty
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/long-double.h+14-1
...@@ -37,4 +37,17 @@...@@ -37,4 +37,17 @@
37#ifndef __NO_LONG_DOUBLE_MATH37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 138# define __NO_LONG_DOUBLE_MATH 1
39#endif39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
40
41/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
42 choice of the underlying ABI of long double. It will always assume
43 a constant value for each translation unit.
44
45 If the value is non-zero, any API which is parameterized by the long
46 double type (i.e the scanf/printf family of functions or the explicitly
47 parameterized math.h functions) will be redirected to a compatible
48 implementation using _Float128 ABI via symbols suffixed with ieee128.
49
50 The mechanism this macro uses to acquire may be a function
51 of architecture, or target specific options used to invoke the
52 compiler. */
53#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/semaphore.h deleted-34
...@@ -1,34 +0,0 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22
23#define __SIZEOF_SEM_T 16
24
25
26/* Value returned if `sem_open' failed. */
27#define SEM_FAILED ((sem_t *) 0)
28
29
30typedef union
31{
32 char __size[__SIZEOF_SEM_T];
33 long int __align;
34} sem_t;
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/long-double.h+14-1
...@@ -37,4 +37,17 @@...@@ -37,4 +37,17 @@
37#ifndef __NO_LONG_DOUBLE_MATH37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 138# define __NO_LONG_DOUBLE_MATH 1
39#endif39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
40
41/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
42 choice of the underlying ABI of long double. It will always assume
43 a constant value for each translation unit.
44
45 If the value is non-zero, any API which is parameterized by the long
46 double type (i.e the scanf/printf family of functions or the explicitly
47 parameterized math.h functions) will be redirected to a compatible
48 implementation using _Float128 ABI via symbols suffixed with ieee128.
49
50 The mechanism this macro uses to acquire may be a function
51 of architecture, or target specific options used to invoke the
52 compiler. */
53#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/semaphore.h deleted-34
...@@ -1,34 +0,0 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22
23#define __SIZEOF_SEM_T 16
24
25
26/* Value returned if `sem_open' failed. */
27#define SEM_FAILED ((sem_t *) 0)
28
29
30typedef union
31{
32 char __size[__SIZEOF_SEM_T];
33 long int __align;
34} sem_t;
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/long-double.h+14-1
...@@ -37,4 +37,17 @@...@@ -37,4 +37,17 @@
37#ifndef __NO_LONG_DOUBLE_MATH37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 138# define __NO_LONG_DOUBLE_MATH 1
39#endif39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
40
41/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
42 choice of the underlying ABI of long double. It will always assume
43 a constant value for each translation unit.
44
45 If the value is non-zero, any API which is parameterized by the long
46 double type (i.e the scanf/printf family of functions or the explicitly
47 parameterized math.h functions) will be redirected to a compatible
48 implementation using _Float128 ABI via symbols suffixed with ieee128.
49
50 The mechanism this macro uses to acquire may be a function
51 of architecture, or target specific options used to invoke the
52 compiler. */
53#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/semaphore.h deleted-34
...@@ -1,34 +0,0 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22
23#define __SIZEOF_SEM_T 16
24
25
26/* Value returned if `sem_open' failed. */
27#define SEM_FAILED ((sem_t *) 0)
28
29
30typedef union
31{
32 char __size[__SIZEOF_SEM_T];
33 long int __align;
34} sem_t;
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h+14-1
...@@ -37,4 +37,17 @@...@@ -37,4 +37,17 @@
37#ifndef __NO_LONG_DOUBLE_MATH37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 138# define __NO_LONG_DOUBLE_MATH 1
39#endif39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
40
41/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
42 choice of the underlying ABI of long double. It will always assume
43 a constant value for each translation unit.
44
45 If the value is non-zero, any API which is parameterized by the long
46 double type (i.e the scanf/printf family of functions or the explicitly
47 parameterized math.h functions) will be redirected to a compatible
48 implementation using _Float128 ABI via symbols suffixed with ieee128.
49
50 The mechanism this macro uses to acquire may be a function
51 of architecture, or target specific options used to invoke the
52 compiler. */
53#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/semaphore.h deleted-34
...@@ -1,34 +0,0 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22
23#define __SIZEOF_SEM_T 16
24
25
26/* Value returned if `sem_open' failed. */
27#define SEM_FAILED ((sem_t *) 0)
28
29
30typedef union
31{
32 char __size[__SIZEOF_SEM_T];
33 long int __align;
34} sem_t;
\ No newline at end of file
lib/libc/include/generic-glibc/argp.h+2-1
...@@ -554,7 +554,8 @@ __NTH (__option_is_end (const struct argp_option *__opt))...@@ -554,7 +554,8 @@ __NTH (__option_is_end (const struct argp_option *__opt))
554# endif554# endif
555#endif /* Use extern inlines. */555#endif /* Use extern inlines. */
556556
557#ifdef __LDBL_COMPAT557#include <bits/floatn.h>
558#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
558# include <bits/argp-ldbl.h>559# include <bits/argp-ldbl.h>
559#endif560#endif
560561
lib/libc/include/generic-glibc/bits/fcntl-linux.h+2-1
...@@ -290,7 +290,8 @@ struct f_owner_ex...@@ -290,7 +290,8 @@ struct f_owner_ex
290290
291#ifdef __USE_GNU291#ifdef __USE_GNU
292/* Hint values for F_{GET,SET}_RW_HINT. */292/* Hint values for F_{GET,SET}_RW_HINT. */
293# define RWF_WRITE_LIFE_NOT_SET 0293# define RWH_WRITE_LIFE_NOT_SET 0
294# define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
294# define RWH_WRITE_LIFE_NONE 1295# define RWH_WRITE_LIFE_NONE 1
295# define RWH_WRITE_LIFE_SHORT 2296# define RWH_WRITE_LIFE_SHORT 2
296# define RWH_WRITE_LIFE_MEDIUM 3297# define RWH_WRITE_LIFE_MEDIUM 3
lib/libc/include/generic-glibc/bits/fenvinline.h deleted-8
...@@ -1,8 +0,0 @@
1/* This file provides inline versions of floating-pint environment
2 handling functions. If there were any. */
3
4#ifndef __NO_MATH_INLINES
5
6/* Here is where the code would go. */
7
8#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/floatn.h+1-1
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
lib/libc/include/generic-glibc/bits/long-double.h+1-1
...@@ -21,4 +21,4 @@...@@ -21,4 +21,4 @@
21#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO3221#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23#endif23#endif
24#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
24#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h+10-8
...@@ -16,28 +16,30 @@...@@ -16,28 +16,30 @@
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19
20/* Classify given number. */19/* Classify given number. */
21__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))20__MATHDECL_ALIAS (int, __fpclassify,, (_Mdouble_ __value), fpclassify)
22 __attribute__ ((__const__));21 __attribute__ ((__const__));
2322
24/* Test for negative number. */23/* Test for negative number. */
25__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))24__MATHDECL_ALIAS (int, __signbit,, (_Mdouble_ __value), signbit)
26 __attribute__ ((__const__));25 __attribute__ ((__const__));
2726
28/* Return 0 if VALUE is finite or NaN, +1 if it27/* Return 0 if VALUE is finite or NaN, +1 if it
29 is +Infinity, -1 if it is -Infinity. */28 is +Infinity, -1 if it is -Infinity. */
30__MATHDECL_1 (int, __isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));29__MATHDECL_ALIAS (int, __isinf,, (_Mdouble_ __value), isinf)
30 __attribute__ ((__const__));
3131
32/* Return nonzero if VALUE is finite and not NaN. Used by isfinite macro. */32/* Return nonzero if VALUE is finite and not NaN. Used by isfinite macro. */
33__MATHDECL_1 (int, __finite,, (_Mdouble_ __value)) __attribute__ ((__const__));33__MATHDECL_ALIAS (int, __finite,, (_Mdouble_ __value), finite)
34 __attribute__ ((__const__));
3435
35/* Return nonzero if VALUE is not a number. */36/* Return nonzero if VALUE is not a number. */
36__MATHDECL_1 (int, __isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));37__MATHDECL_ALIAS (int, __isnan,, (_Mdouble_ __value), isnan)
38 __attribute__ ((__const__));
3739
38/* Test equality. */40/* Test equality. */
39__MATHDECL_1 (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y));41__MATHDECL_ALIAS (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y), iseqsig);
4042
41/* Test for signaling NaN. */43/* Test for signaling NaN. */
42__MATHDECL_1 (int, __issignaling,, (_Mdouble_ __value))44__MATHDECL_ALIAS (int, __issignaling,, (_Mdouble_ __value), issignaling)
43 __attribute__ ((__const__));45 __attribute__ ((__const__));
\ No newline at end of file
lib/libc/include/generic-glibc/bits/mathcalls.h+6-3
...@@ -174,12 +174,14 @@ __MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));...@@ -174,12 +174,14 @@ __MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
174 && !__MATH_DECLARING_FLOATN174 && !__MATH_DECLARING_FLOATN
175/* Return 0 if VALUE is finite or NaN, +1 if it175/* Return 0 if VALUE is finite or NaN, +1 if it
176 is +Infinity, -1 if it is -Infinity. */176 is +Infinity, -1 if it is -Infinity. */
177__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));177__MATHDECL_ALIAS (int,isinf,, (_Mdouble_ __value), isinf)
178 __attribute__ ((__const__));
178# endif179# endif
179180
180# if !__MATH_DECLARING_FLOATN181# if !__MATH_DECLARING_FLOATN
181/* Return nonzero if VALUE is finite and not NaN. */182/* Return nonzero if VALUE is finite and not NaN. */
182__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));183__MATHDECL_ALIAS (int,finite,, (_Mdouble_ __value), finite)
184 __attribute__ ((__const__));
183185
184/* Return the remainder of X/Y. */186/* Return the remainder of X/Y. */
185__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));187__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
...@@ -208,7 +210,8 @@ __MATHCALL (nan,, (const char *__tagb));...@@ -208,7 +210,8 @@ __MATHCALL (nan,, (const char *__tagb));
208 || __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't. */ \210 || __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't. */ \
209 && !__MATH_DECLARING_FLOATN211 && !__MATH_DECLARING_FLOATN
210/* Return nonzero if VALUE is not a number. */212/* Return nonzero if VALUE is not a number. */
211__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));213__MATHDECL_ALIAS (int,isnan,, (_Mdouble_ __value), isnan)
214 __attribute__ ((__const__));
212# endif215# endif
213#endif216#endif
214217
lib/libc/include/generic-glibc/bits/mathinline.h deleted-12
...@@ -1,12 +0,0 @@
1/* This file should provide inline versions of math functions.
2
3 Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'.
4
5 This file should define __MATH_INLINES if functions are actually defined as
6 inlines. */
7
8#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
9
10/* Here goes the real code. */
11
12#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/mman-shared.h+1
...@@ -24,6 +24,7 @@...@@ -24,6 +24,7 @@
24/* Flags for mremap. */24/* Flags for mremap. */
25# define MREMAP_MAYMOVE 125# define MREMAP_MAYMOVE 1
26# define MREMAP_FIXED 226# define MREMAP_FIXED 2
27# define MREMAP_DONTUNMAP 4
2728
28/* Flags for memfd_create. */29/* Flags for memfd_create. */
29# ifndef MFD_CLOEXEC30# ifndef MFD_CLOEXEC
lib/libc/include/generic-glibc/bits/msq-pad.h deleted-31
...@@ -1,31 +0,0 @@
1/* Define where padding goes in struct msqid_ds. Generic version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25/* On most architectures, padding goes after time fields for 32-bit
26 systems and is omitted for 64-bit systems. Some architectures pad
27 before time fields instead, or omit padding despite being
28 32-bit. */
29
30#define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
31#define __MSQ_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/msq.h+6-33
...@@ -20,7 +20,12 @@...@@ -20,7 +20,12 @@
20#endif20#endif
2121
22#include <bits/types.h>22#include <bits/types.h>
23#include <bits/msq-pad.h>23
24/* Types used in the MSQID_DS structure definition. */
25typedef __syscall_ulong_t msgqnum_t;
26typedef __syscall_ulong_t msglen_t;
27
28#include <bits/types/struct_msqid_ds.h>
2429
25/* Define options for message queue functions. */30/* Define options for message queue functions. */
26#define MSG_NOERROR 010000 /* no error if message is too big */31#define MSG_NOERROR 010000 /* no error if message is too big */
...@@ -29,38 +34,6 @@...@@ -29,38 +34,6 @@
29# define MSG_COPY 040000 /* copy (not remove) all queue messages */34# define MSG_COPY 040000 /* copy (not remove) all queue messages */
30#endif35#endif
3136
32/* Types used in the structure definition. */
33typedef __syscall_ulong_t msgqnum_t;
34typedef __syscall_ulong_t msglen_t;
35
36#if __MSQ_PAD_BEFORE_TIME
37# define __MSQ_PAD_TIME(NAME, RES) \
38 unsigned long int __glibc_reserved ## RES; __time_t NAME
39#elif __MSQ_PAD_AFTER_TIME
40# define __MSQ_PAD_TIME(NAME, RES) \
41 __time_t NAME; unsigned long int __glibc_reserved ## RES
42#else
43# define __MSQ_PAD_TIME(NAME, RES) \
44 __time_t NAME
45#endif
46
47/* Structure of record for one message inside the kernel.
48 The type `struct msg' is opaque. */
49struct msqid_ds
50{
51 struct ipc_perm msg_perm; /* structure describing operation permission */
52 __MSQ_PAD_TIME (msg_stime, 1); /* time of last msgsnd command */
53 __MSQ_PAD_TIME (msg_rtime, 2); /* time of last msgrcv command */
54 __MSQ_PAD_TIME (msg_ctime, 3); /* time of last change */
55 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
56 msgqnum_t msg_qnum; /* number of messages currently on queue */
57 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
58 __pid_t msg_lspid; /* pid of last msgsnd() */
59 __pid_t msg_lrpid; /* pid of last msgrcv() */
60 __syscall_ulong_t __glibc_reserved4;
61 __syscall_ulong_t __glibc_reserved5;
62};
63
64#ifdef __USE_MISC37#ifdef __USE_MISC
6538
66# define msg_cbytes __msg_cbytes39# define msg_cbytes __msg_cbytes
lib/libc/include/generic-glibc/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/generic-glibc/bits/sem-pad.h deleted-33
...@@ -1,33 +0,0 @@
1/* Define where padding goes in struct semid_ds. Generic version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25/* On most architectures, padding goes after time fields for 32-bit
26 systems and is omitted for 64-bit systems. Some architectures pad
27 before time fields instead, or omit padding despite being 32-bit,
28 or include it despite being 64-bit. This must match the layout
29 used for struct semid64_ds in <asm/sembuf.h>, as glibc does not do
30 layout conversions for this structure. */
31
32#define __SEM_PAD_AFTER_TIME (__TIMESIZE == 32)
33#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/sem.h+2-24
...@@ -20,7 +20,8 @@...@@ -20,7 +20,8 @@
20#endif20#endif
2121
22#include <sys/types.h>22#include <sys/types.h>
23#include <bits/sem-pad.h>23#include <bits/timesize.h>
24#include <bits/types/struct_semid_ds.h>
2425
25/* Flags for `semop'. */26/* Flags for `semop'. */
26#define SEM_UNDO 0x1000 /* undo the operation on exit */27#define SEM_UNDO 0x1000 /* undo the operation on exit */
...@@ -34,29 +35,6 @@...@@ -34,29 +35,6 @@
34#define SETVAL 16 /* set semval */35#define SETVAL 16 /* set semval */
35#define SETALL 17 /* set all semval's */36#define SETALL 17 /* set all semval's */
3637
37
38#if __SEM_PAD_BEFORE_TIME
39# define __SEM_PAD_TIME(NAME, RES) \
40 __syscall_ulong_t __glibc_reserved ## RES; __time_t NAME
41#elif __SEM_PAD_AFTER_TIME
42# define __SEM_PAD_TIME(NAME, RES) \
43 __time_t NAME; __syscall_ulong_t __glibc_reserved ## RES
44#else
45# define __SEM_PAD_TIME(NAME, RES) \
46 __time_t NAME
47#endif
48
49/* Data structure describing a set of semaphores. */
50struct semid_ds
51{
52 struct ipc_perm sem_perm; /* operation permission struct */
53 __SEM_PAD_TIME (sem_otime, 1); /* last semop() time */
54 __SEM_PAD_TIME (sem_ctime, 2); /* last time changed by semctl() */
55 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
56 __syscall_ulong_t __glibc_reserved3;
57 __syscall_ulong_t __glibc_reserved4;
58};
59
60/* The user should define a union like the following to use it for arguments38/* The user should define a union like the following to use it for arguments
61 for `semctl'.39 for `semctl'.
6240
lib/libc/include/generic-glibc/bits/semaphore.h+6-3
...@@ -1,4 +1,5 @@...@@ -1,4 +1,5 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.1/* Generic POSIX semaphore type layout
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
34
4 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -12,14 +13,16 @@...@@ -12,14 +13,16 @@
12 Lesser General Public License for more details.13 Lesser General Public License for more details.
1314
14 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see16 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1718
18#ifndef _SEMAPHORE_H19#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif21#endif
2122
22#if _MIPS_SIM == _ABI6423#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
23# define __SIZEOF_SEM_T 3226# define __SIZEOF_SEM_T 32
24#else27#else
25# define __SIZEOF_SEM_T 1628# define __SIZEOF_SEM_T 16
lib/libc/include/generic-glibc/bits/shm-pad.h deleted-37
...@@ -1,37 +0,0 @@
1/* Define where padding goes in struct shmid_ds. Generic version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25/* On most architectures, padding goes after time fields for 32-bit
26 systems and is omitted for 64-bit systems. Some architectures pad
27 before time fields instead, or omit padding despite being 32-bit,
28 or include it despite being 64-bit. Furthermore, some
29 architectures place shm_segsz after the time fields rather than
30 before them, with or without padding there. This must match the
31 layout used for struct shmid64_ds in <asm/shmbuf.h>, as glibc does
32 not do layout conversions for this structure. */
33
34#define __SHM_PAD_AFTER_TIME (__TIMESIZE == 32)
35#define __SHM_PAD_BEFORE_TIME 0
36#define __SHM_SEGSZ_AFTER_TIME 0
37#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/shm.h+1-34
...@@ -22,7 +22,6 @@...@@ -22,7 +22,6 @@
22#include <bits/types.h>22#include <bits/types.h>
23#include <bits/wordsize.h>23#include <bits/wordsize.h>
24#include <bits/shmlba.h>24#include <bits/shmlba.h>
25#include <bits/shm-pad.h>
2625
27/* Permission flag for shmget. */26/* Permission flag for shmget. */
28#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */27#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
...@@ -43,39 +42,7 @@ __BEGIN_DECLS...@@ -43,39 +42,7 @@ __BEGIN_DECLS
43/* Type to count number of attaches. */42/* Type to count number of attaches. */
44typedef __syscall_ulong_t shmatt_t;43typedef __syscall_ulong_t shmatt_t;
4544
46#if __SHM_PAD_BEFORE_TIME45#include <bits/types/struct_shmid_ds.h>
47# define __SHM_PAD_TIME(NAME, RES) \
48 unsigned long int __glibc_reserved ## RES; __time_t NAME
49#elif __SHM_PAD_AFTER_TIME
50# define __SHM_PAD_TIME(NAME, RES) \
51 __time_t NAME; unsigned long int __glibc_reserved ## RES
52#else
53# define __SHM_PAD_TIME(NAME, RES) \
54 __time_t NAME
55#endif
56
57/* Data structure describing a shared memory segment. */
58struct shmid_ds
59 {
60 struct ipc_perm shm_perm; /* operation permission struct */
61#if !__SHM_SEGSZ_AFTER_TIME
62 size_t shm_segsz; /* size of segment in bytes */
63#endif
64 __SHM_PAD_TIME (shm_atime, 1); /* time of last shmat() */
65 __SHM_PAD_TIME (shm_dtime, 2); /* time of last shmdt() */
66 __SHM_PAD_TIME (shm_ctime, 3); /* time of last change by shmctl() */
67#if __SHM_PAD_BETWEEN_TIME_AND_SEGSZ
68 unsigned long int __glibc_reserved4;
69#endif
70#if __SHM_SEGSZ_AFTER_TIME
71 size_t shm_segsz; /* size of segment in bytes */
72#endif
73 __pid_t shm_cpid; /* pid of creator */
74 __pid_t shm_lpid; /* pid of last shmop */
75 shmatt_t shm_nattch; /* number of current attaches */
76 __syscall_ulong_t __glibc_reserved5;
77 __syscall_ulong_t __glibc_reserved6;
78 };
7946
80#ifdef __USE_MISC47#ifdef __USE_MISC
8148
lib/libc/include/generic-glibc/bits/signum-arch.h created+64
...@@ -0,0 +1,64 @@
1/* Signal number definitions. Linux version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_ARCH_H
20#define _BITS_SIGNUM_ARCH_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum-arch.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 most Linux systems. */
28
29#define SIGSTKFLT 16 /* Stack fault (obsolete). */
30#define SIGPWR 30 /* Power failure imminent. */
31
32/* Historical signals specified by POSIX. */
33#define SIGBUS 7 /* Bus error. */
34#define SIGSYS 31 /* Bad system call. */
35
36/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
37#define SIGURG 23 /* Urgent data is available at a socket. */
38#define SIGSTOP 19 /* Stop, unblockable. */
39#define SIGTSTP 20 /* Keyboard stop. */
40#define SIGCONT 18 /* Continue. */
41#define SIGCHLD 17 /* Child terminated or stopped. */
42#define SIGTTIN 21 /* Background read from control terminal. */
43#define SIGTTOU 22 /* Background write to control terminal. */
44#define SIGPOLL 29 /* Pollable event occurred (System V). */
45#define SIGXFSZ 25 /* File size limit exceeded. */
46#define SIGXCPU 24 /* CPU time limit exceeded. */
47#define SIGVTALRM 26 /* Virtual timer expired. */
48#define SIGPROF 27 /* Profiling timer expired. */
49#define SIGUSR1 10 /* User-defined signal 1. */
50#define SIGUSR2 12 /* User-defined signal 2. */
51
52/* Nonstandard signals found in all modern POSIX systems
53 (including both BSD and Linux). */
54#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
55
56/* Archaic names for compatibility. */
57#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
58#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
59#define SIGCLD SIGCHLD /* Old System V name */
60
61#define __SIGRTMIN 32
62#define __SIGRTMAX 64
63
64#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/signum-generic.h+3-24
...@@ -57,31 +57,9 @@...@@ -57,31 +57,9 @@
57#define SIGQUIT 3 /* Quit. */57#define SIGQUIT 3 /* Quit. */
58#define SIGTRAP 5 /* Trace/breakpoint trap. */58#define SIGTRAP 5 /* Trace/breakpoint trap. */
59#define SIGKILL 9 /* Killed. */59#define SIGKILL 9 /* Killed. */
60#define SIGBUS 10 /* Bus error. */
61#define SIGSYS 12 /* Bad system call. */
62#define SIGPIPE 13 /* Broken pipe. */60#define SIGPIPE 13 /* Broken pipe. */
63#define SIGALRM 14 /* Alarm clock. */61#define SIGALRM 14 /* Alarm clock. */
6462
65/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
66#define SIGURG 16 /* Urgent data is available at a socket. */
67#define SIGSTOP 17 /* Stop, unblockable. */
68#define SIGTSTP 18 /* Keyboard stop. */
69#define SIGCONT 19 /* Continue. */
70#define SIGCHLD 20 /* Child terminated or stopped. */
71#define SIGTTIN 21 /* Background read from control terminal. */
72#define SIGTTOU 22 /* Background write to control terminal. */
73#define SIGPOLL 23 /* Pollable event occurred (System V). */
74#define SIGXCPU 24 /* CPU time limit exceeded. */
75#define SIGXFSZ 25 /* File size limit exceeded. */
76#define SIGVTALRM 26 /* Virtual timer expired. */
77#define SIGPROF 27 /* Profiling timer expired. */
78#define SIGUSR1 30 /* User-defined signal 1. */
79#define SIGUSR2 31 /* User-defined signal 2. */
80
81/* Nonstandard signals found in all modern POSIX systems
82 (including both BSD and Linux). */
83#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
84
85/* Archaic names for compatibility. */63/* Archaic names for compatibility. */
86#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */64#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
87#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */65#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
...@@ -93,8 +71,9 @@...@@ -93,8 +71,9 @@
93 but some real-time signals may be used internally by glibc. Do not71 but some real-time signals may be used internally by glibc. Do not
94 use these constants in application code; use SIGRTMIN and SIGRTMAX72 use these constants in application code; use SIGRTMIN and SIGRTMAX
95 (defined in signal.h) instead. */73 (defined in signal.h) instead. */
96#define __SIGRTMIN 3274
97#define __SIGRTMAX __SIGRTMIN75/* Include system specific bits. */
76#include <bits/signum-arch.h>
9877
99/* Biggest signal number + 1 (including real-time signals). */78/* Biggest signal number + 1 (including real-time signals). */
100#define _NSIG (__SIGRTMAX + 1)79#define _NSIG (__SIGRTMAX + 1)
lib/libc/include/generic-glibc/bits/signum.h deleted-58
...@@ -1,58 +0,0 @@
1/* Signal number definitions. Linux version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 most Linux systems. */
30
31#define SIGSTKFLT 16 /* Stack fault (obsolete). */
32#define SIGPWR 30 /* Power failure imminent. */
33
34#undef SIGBUS
35#define SIGBUS 7
36#undef SIGUSR1
37#define SIGUSR1 10
38#undef SIGUSR2
39#define SIGUSR2 12
40#undef SIGCHLD
41#define SIGCHLD 17
42#undef SIGCONT
43#define SIGCONT 18
44#undef SIGSTOP
45#define SIGSTOP 19
46#undef SIGTSTP
47#define SIGTSTP 20
48#undef SIGURG
49#define SIGURG 23
50#undef SIGPOLL
51#define SIGPOLL 29
52#undef SIGSYS
53#define SIGSYS 31
54
55#undef __SIGRTMAX
56#define __SIGRTMAX 64
57
58#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/socket-constants.h+14-2
...@@ -20,6 +20,8 @@...@@ -20,6 +20,8 @@
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif21#endif
2222
23#include <bits/timesize.h>
24
23#define SOL_SOCKET 125#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 3026#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 627#define SO_BROADCAST 6
...@@ -30,9 +32,19 @@...@@ -30,9 +32,19 @@
30#define SO_OOBINLINE 1032#define SO_OOBINLINE 10
31#define SO_RCVBUF 833#define SO_RCVBUF 8
32#define SO_RCVLOWAT 1834#define SO_RCVLOWAT 18
33#define SO_RCVTIMEO 2035#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
36 && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
37# define SO_RCVTIMEO 66
38#else
39# define SO_RCVTIMEO 20
40#endif
34#define SO_REUSEADDR 241#define SO_REUSEADDR 2
35#define SO_SNDBUF 742#define SO_SNDBUF 7
36#define SO_SNDLOWAT 1943#define SO_SNDLOWAT 19
37#define SO_SNDTIMEO 2144#if (__TIMESIZE == 64 && __WORDSIZE == 32 \
45 && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
46# define SO_SNDTIMEO 67
47#else
48# define SO_SNDTIMEO 21
49#endif
38#define SO_TYPE 350#define SO_TYPE 3
\ No newline at end of file
lib/libc/include/generic-glibc/bits/statx-generic.h+1
...@@ -48,6 +48,7 @@...@@ -48,6 +48,7 @@
48# define STATX_ATTR_NODUMP 0x004048# define STATX_ATTR_NODUMP 0x0040
49# define STATX_ATTR_ENCRYPTED 0x080049# define STATX_ATTR_ENCRYPTED 0x0800
50# define STATX_ATTR_AUTOMOUNT 0x100050# define STATX_ATTR_AUTOMOUNT 0x1000
51# define STATX_ATTR_VERITY 0x100000
51#endif /* !STATX_TYPE */52#endif /* !STATX_TYPE */
5253
53__BEGIN_DECLS54__BEGIN_DECLS
lib/libc/include/generic-glibc/bits/stdio-ldbl.h+31-15
...@@ -27,9 +27,17 @@ __LDBL_REDIR_DECL (vfprintf)...@@ -27,9 +27,17 @@ __LDBL_REDIR_DECL (vfprintf)
27__LDBL_REDIR_DECL (vprintf)27__LDBL_REDIR_DECL (vprintf)
28__LDBL_REDIR_DECL (vsprintf)28__LDBL_REDIR_DECL (vsprintf)
29#if !__GLIBC_USE (DEPRECATED_SCANF)29#if !__GLIBC_USE (DEPRECATED_SCANF)
30# if defined __LDBL_COMPAT
30__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)31__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)
31__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)32__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)
32__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf)33__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf)
34# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
35__LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128)
36__LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128)
37__LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128)
38# else
39# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
40# endif
33#else41#else
34__LDBL_REDIR_DECL (fscanf)42__LDBL_REDIR_DECL (fscanf)
35__LDBL_REDIR_DECL (scanf)43__LDBL_REDIR_DECL (scanf)
...@@ -43,9 +51,17 @@ __LDBL_REDIR_DECL (vsnprintf)...@@ -43,9 +51,17 @@ __LDBL_REDIR_DECL (vsnprintf)
4351
44#ifdef __USE_ISOC9952#ifdef __USE_ISOC99
45# if !__GLIBC_USE (DEPRECATED_SCANF)53# if !__GLIBC_USE (DEPRECATED_SCANF)
54# if defined __LDBL_COMPAT
46__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)55__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)
47__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)56__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)
48__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf)57__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf)
58# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
59__LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128)
60__LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128)
61__LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128)
62# else
63# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
64# endif
49# else65# else
50__LDBL_REDIR_DECL (vfscanf)66__LDBL_REDIR_DECL (vfscanf)
51__LDBL_REDIR_DECL (vsscanf)67__LDBL_REDIR_DECL (vsscanf)
...@@ -60,33 +76,33 @@ __LDBL_REDIR_DECL (dprintf)...@@ -60,33 +76,33 @@ __LDBL_REDIR_DECL (dprintf)
6076
61#ifdef __USE_GNU77#ifdef __USE_GNU
62__LDBL_REDIR_DECL (vasprintf)78__LDBL_REDIR_DECL (vasprintf)
63__LDBL_REDIR_DECL (__asprintf)79__LDBL_REDIR2_DECL (asprintf)
64__LDBL_REDIR_DECL (asprintf)80__LDBL_REDIR_DECL (asprintf)
65__LDBL_REDIR_DECL (obstack_printf)81__LDBL_REDIR_DECL (obstack_printf)
66__LDBL_REDIR_DECL (obstack_vprintf)82__LDBL_REDIR_DECL (obstack_vprintf)
67#endif83#endif
6884
69#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function85#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
70__LDBL_REDIR_DECL (__sprintf_chk)86__LDBL_REDIR2_DECL (sprintf_chk)
71__LDBL_REDIR_DECL (__vsprintf_chk)87__LDBL_REDIR2_DECL (vsprintf_chk)
72# if defined __USE_ISOC99 || defined __USE_UNIX9888# if defined __USE_ISOC99 || defined __USE_UNIX98
73__LDBL_REDIR_DECL (__snprintf_chk)89__LDBL_REDIR2_DECL (snprintf_chk)
74__LDBL_REDIR_DECL (__vsnprintf_chk)90__LDBL_REDIR2_DECL (vsnprintf_chk)
75# endif91# endif
76# if __USE_FORTIFY_LEVEL > 192# if __USE_FORTIFY_LEVEL > 1
77__LDBL_REDIR_DECL (__fprintf_chk)93__LDBL_REDIR2_DECL (fprintf_chk)
78__LDBL_REDIR_DECL (__printf_chk)94__LDBL_REDIR2_DECL (printf_chk)
79__LDBL_REDIR_DECL (__vfprintf_chk)95__LDBL_REDIR2_DECL (vfprintf_chk)
80__LDBL_REDIR_DECL (__vprintf_chk)96__LDBL_REDIR2_DECL (vprintf_chk)
81# ifdef __USE_XOPEN2K897# ifdef __USE_XOPEN2K8
82__LDBL_REDIR_DECL (__dprintf_chk)98__LDBL_REDIR2_DECL (dprintf_chk)
83__LDBL_REDIR_DECL (__vdprintf_chk)99__LDBL_REDIR2_DECL (vdprintf_chk)
84# endif100# endif
85# ifdef __USE_GNU101# ifdef __USE_GNU
86__LDBL_REDIR_DECL (__asprintf_chk)102__LDBL_REDIR2_DECL (asprintf_chk)
87__LDBL_REDIR_DECL (__vasprintf_chk)103__LDBL_REDIR2_DECL (vasprintf_chk)
88__LDBL_REDIR_DECL (__obstack_printf_chk)104__LDBL_REDIR2_DECL (obstack_printf_chk)
89__LDBL_REDIR_DECL (__obstack_vprintf_chk)105__LDBL_REDIR2_DECL (obstack_vprintf_chk)
90# endif106# endif
91# endif107# endif
92#endif108#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/stdio2.h+16-9
...@@ -24,10 +24,12 @@...@@ -24,10 +24,12 @@
24#endif24#endif
2525
26extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,26extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
27 const char *__restrict __format, ...) __THROW;27 const char *__restrict __format, ...) __THROW
28 __attr_access ((__write_only__, 1, 3));
28extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,29extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
29 const char *__restrict __format,30 const char *__restrict __format,
30 __gnuc_va_list __ap) __THROW;31 __gnuc_va_list __ap) __THROW
32 __attr_access ((__write_only__, 1, 3));
3133
32#ifdef __va_arg_pack34#ifdef __va_arg_pack
33__fortify_function int35__fortify_function int
...@@ -54,7 +56,8 @@ __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,...@@ -54,7 +56,8 @@ __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,
5456
55extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,57extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
56 size_t __slen, const char *__restrict __format,58 size_t __slen, const char *__restrict __format,
57 ...) __THROW;59 ...) __THROW
60 __attr_access ((__write_only__, 1, 2));
58extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,61extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
59 size_t __slen, const char *__restrict __format,62 size_t __slen, const char *__restrict __format,
60 __gnuc_va_list __ap) __THROW;63 __gnuc_va_list __ap) __THROW;
...@@ -241,17 +244,19 @@ gets (char *__str)...@@ -241,17 +244,19 @@ gets (char *__str)
241#endif244#endif
242245
243extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,246extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
244 FILE *__restrict __stream) __wur;247 FILE *__restrict __stream)
248 __wur __attr_access ((__write_only__, 1, 3));
245extern char *__REDIRECT (__fgets_alias,249extern char *__REDIRECT (__fgets_alias,
246 (char *__restrict __s, int __n,250 (char *__restrict __s, int __n,
247 FILE *__restrict __stream), fgets) __wur;251 FILE *__restrict __stream), fgets)
252 __wur __attr_access ((__write_only__, 1, 2));
248extern char *__REDIRECT (__fgets_chk_warn,253extern char *__REDIRECT (__fgets_chk_warn,
249 (char *__restrict __s, size_t __size, int __n,254 (char *__restrict __s, size_t __size, int __n,
250 FILE *__restrict __stream), __fgets_chk)255 FILE *__restrict __stream), __fgets_chk)
251 __wur __warnattr ("fgets called with bigger size than length "256 __wur __warnattr ("fgets called with bigger size than length "
252 "of destination buffer");257 "of destination buffer");
253258
254__fortify_function __wur char *259__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char *
255fgets (char *__restrict __s, int __n, FILE *__restrict __stream)260fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
256{261{
257 if (__bos (__s) != (size_t) -1)262 if (__bos (__s) != (size_t) -1)
...@@ -299,17 +304,19 @@ fread (void *__restrict __ptr, size_t __size, size_t __n,...@@ -299,17 +304,19 @@ fread (void *__restrict __ptr, size_t __size, size_t __n,
299304
300#ifdef __USE_GNU305#ifdef __USE_GNU
301extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,306extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
302 int __n, FILE *__restrict __stream) __wur;307 int __n, FILE *__restrict __stream)
308 __wur __attr_access ((__write_only__, 1, 3));
303extern char *__REDIRECT (__fgets_unlocked_alias,309extern char *__REDIRECT (__fgets_unlocked_alias,
304 (char *__restrict __s, int __n,310 (char *__restrict __s, int __n,
305 FILE *__restrict __stream), fgets_unlocked) __wur;311 FILE *__restrict __stream), fgets_unlocked)
312 __wur __attr_access ((__write_only__, 1, 2));
306extern char *__REDIRECT (__fgets_unlocked_chk_warn,313extern char *__REDIRECT (__fgets_unlocked_chk_warn,
307 (char *__restrict __s, size_t __size, int __n,314 (char *__restrict __s, size_t __size, int __n,
308 FILE *__restrict __stream), __fgets_unlocked_chk)315 FILE *__restrict __stream), __fgets_unlocked_chk)
309 __wur __warnattr ("fgets_unlocked called with bigger size than length "316 __wur __warnattr ("fgets_unlocked called with bigger size than length "
310 "of destination buffer");317 "of destination buffer");
311318
312__fortify_function __wur char *319__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char *
313fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)320fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
314{321{
315 if (__bos (__s) != (size_t) -1)322 if (__bos (__s) != (size_t) -1)
lib/libc/include/generic-glibc/bits/stdlib-ldbl.h+22
...@@ -21,21 +21,43 @@...@@ -21,21 +21,43 @@
21#endif21#endif
2222
23#ifdef __USE_ISOC9923#ifdef __USE_ISOC99
24# ifdef __LDBL_COMPAT
24__LDBL_REDIR1_DECL (strtold, strtod)25__LDBL_REDIR1_DECL (strtold, strtod)
26# else
27__LDBL_REDIR1_DECL (strtold, __strtoieee128)
28# endif
25#endif29#endif
2630
27#ifdef __USE_GNU31#ifdef __USE_GNU
32# ifdef __LDBL_COMPAT
28__LDBL_REDIR1_DECL (strtold_l, strtod_l)33__LDBL_REDIR1_DECL (strtold_l, strtod_l)
34# else
35__LDBL_REDIR1_DECL (strtold_l, __strtoieee128_l)
36# endif
29#endif37#endif
3038
31#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)39#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
40# ifdef __LDBL_COMPAT
32__LDBL_REDIR1_DECL (strfroml, strfromd)41__LDBL_REDIR1_DECL (strfroml, strfromd)
42# else
43__LDBL_REDIR1_DECL (strfroml, __strfromieee128)
44# endif
33#endif45#endif
3446
35#ifdef __USE_MISC47#ifdef __USE_MISC
48# if defined __LDBL_COMPAT
36__LDBL_REDIR1_DECL (qecvt, ecvt)49__LDBL_REDIR1_DECL (qecvt, ecvt)
37__LDBL_REDIR1_DECL (qfcvt, fcvt)50__LDBL_REDIR1_DECL (qfcvt, fcvt)
38__LDBL_REDIR1_DECL (qgcvt, gcvt)51__LDBL_REDIR1_DECL (qgcvt, gcvt)
39__LDBL_REDIR1_DECL (qecvt_r, ecvt_r)52__LDBL_REDIR1_DECL (qecvt_r, ecvt_r)
40__LDBL_REDIR1_DECL (qfcvt_r, fcvt_r)53__LDBL_REDIR1_DECL (qfcvt_r, fcvt_r)
54# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
55__LDBL_REDIR1_DECL (qecvt, __qecvtieee128)
56__LDBL_REDIR1_DECL (qfcvt, __qfcvtieee128)
57__LDBL_REDIR1_DECL (qgcvt, __qgcvtieee128)
58__LDBL_REDIR1_DECL (qecvt_r, __qecvtieee128_r)
59__LDBL_REDIR1_DECL (qfcvt_r, __qfcvtieee128_r)
60# else
61# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
62# endif
41#endif63#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/stdlib.h+11-6
...@@ -50,10 +50,11 @@ __NTH (realpath (const char *__restrict __name, char *__restrict __resolved))...@@ -50,10 +50,11 @@ __NTH (realpath (const char *__restrict __name, char *__restrict __resolved))
5050
5151
52extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,52extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
53 size_t __nreal) __THROW __nonnull ((2));53 size_t __nreal) __THROW __nonnull ((2))
54 __attr_access ((__write_only__, 2, 3));
54extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf,55extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf,
55 size_t __buflen), ptsname_r)56 size_t __buflen), ptsname_r)
56 __nonnull ((2));57 __nonnull ((2)) __attr_access ((__write_only__, 2, 3));
57extern int __REDIRECT_NTH (__ptsname_r_chk_warn,58extern int __REDIRECT_NTH (__ptsname_r_chk_warn,
58 (int __fd, char *__buf, size_t __buflen,59 (int __fd, char *__buf, size_t __buflen,
59 size_t __nreal), __ptsname_r_chk)60 size_t __nreal), __ptsname_r_chk)
...@@ -97,11 +98,13 @@ __NTH (wctomb (char *__s, wchar_t __wchar))...@@ -97,11 +98,13 @@ __NTH (wctomb (char *__s, wchar_t __wchar))
9798
98extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,99extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
99 const char *__restrict __src,100 const char *__restrict __src,
100 size_t __len, size_t __dstlen) __THROW;101 size_t __len, size_t __dstlen) __THROW
102 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
101extern size_t __REDIRECT_NTH (__mbstowcs_alias,103extern size_t __REDIRECT_NTH (__mbstowcs_alias,
102 (wchar_t *__restrict __dst,104 (wchar_t *__restrict __dst,
103 const char *__restrict __src,105 const char *__restrict __src,
104 size_t __len), mbstowcs);106 size_t __len), mbstowcs)
107 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
105extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn,108extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn,
106 (wchar_t *__restrict __dst,109 (wchar_t *__restrict __dst,
107 const char *__restrict __src,110 const char *__restrict __src,
...@@ -129,11 +132,13 @@ __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src,...@@ -129,11 +132,13 @@ __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src,
129132
130extern size_t __wcstombs_chk (char *__restrict __dst,133extern size_t __wcstombs_chk (char *__restrict __dst,
131 const wchar_t *__restrict __src,134 const wchar_t *__restrict __src,
132 size_t __len, size_t __dstlen) __THROW;135 size_t __len, size_t __dstlen) __THROW
136 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
133extern size_t __REDIRECT_NTH (__wcstombs_alias,137extern size_t __REDIRECT_NTH (__wcstombs_alias,
134 (char *__restrict __dst,138 (char *__restrict __dst,
135 const wchar_t *__restrict __src,139 const wchar_t *__restrict __src,
136 size_t __len), wcstombs);140 size_t __len), wcstombs)
141 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
137extern size_t __REDIRECT_NTH (__wcstombs_chk_warn,142extern size_t __REDIRECT_NTH (__wcstombs_chk_warn,
138 (char *__restrict __dst,143 (char *__restrict __dst,
139 const wchar_t *__restrict __src,144 const wchar_t *__restrict __src,
lib/libc/include/generic-glibc/bits/string_fortified.h+3-2
...@@ -75,7 +75,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len))...@@ -75,7 +75,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len))
75# include <bits/strings_fortified.h>75# include <bits/strings_fortified.h>
7676
77void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)77void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
78 __THROW __nonnull ((1));78 __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
7979
80__fortify_function void80__fortify_function void
81__NTH (explicit_bzero (void *__dest, size_t __len))81__NTH (explicit_bzero (void *__dest, size_t __len))
...@@ -108,7 +108,8 @@ __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,...@@ -108,7 +108,8 @@ __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
108108
109/* XXX We have no corresponding builtin yet. */109/* XXX We have no corresponding builtin yet. */
110extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,110extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,
111 size_t __destlen) __THROW;111 size_t __destlen) __THROW
112 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
112extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,113extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,
113 size_t __n), stpncpy);114 size_t __n), stpncpy);
114115
lib/libc/include/generic-glibc/bits/sys_errlist.h deleted-32
...@@ -1,32 +0,0 @@
1/* Declare sys_errlist and sys_nerr, or don't. Compatibility (do) version.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _STDIO_H
20# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
21#endif
22
23/* sys_errlist and sys_nerr are deprecated. Use strerror instead. */
24
25#ifdef __USE_MISC
26extern int sys_nerr;
27extern const char *const sys_errlist[];
28#endif
29#ifdef __USE_GNU
30extern int _sys_nerr;
31extern const char *const _sys_errlist[];
32#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/syscall.h+22-2
...@@ -1,11 +1,11 @@...@@ -1,11 +1,11 @@
1/* Generated at libc build time from syscall list. */1/* Generated at libc build time from syscall list. */
2/* The system call list corresponds to kernel 5.4. */2/* The system call list corresponds to kernel 5.7. */
33
4#ifndef _SYSCALL_H4#ifndef _SYSCALL_H
5# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."5# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."
6#endif6#endif
77
8#define __GLIBC_LINUX_VERSION_CODE 3287048#define __GLIBC_LINUX_VERSION_CODE 329472
99
10#ifdef __NR_FAST_atomic_update10#ifdef __NR_FAST_atomic_update
11# define SYS_FAST_atomic_update __NR_FAST_atomic_update11# define SYS_FAST_atomic_update __NR_FAST_atomic_update
...@@ -75,6 +75,18 @@...@@ -75,6 +75,18 @@
75# define SYS_alloc_hugepages __NR_alloc_hugepages75# define SYS_alloc_hugepages __NR_alloc_hugepages
76#endif76#endif
7777
78#ifdef __NR_arc_gettls
79# define SYS_arc_gettls __NR_arc_gettls
80#endif
81
82#ifdef __NR_arc_settls
83# define SYS_arc_settls __NR_arc_settls
84#endif
85
86#ifdef __NR_arc_usr_cmpxchg
87# define SYS_arc_usr_cmpxchg __NR_arc_usr_cmpxchg
88#endif
89
78#ifdef __NR_arch_prctl90#ifdef __NR_arch_prctl
79# define SYS_arch_prctl __NR_arch_prctl91# define SYS_arch_prctl __NR_arch_prctl
80#endif92#endif
...@@ -1079,6 +1091,10 @@...@@ -1079,6 +1091,10 @@
1079# define SYS_openat __NR_openat1091# define SYS_openat __NR_openat
1080#endif1092#endif
10811093
1094#ifdef __NR_openat2
1095# define SYS_openat2 __NR_openat2
1096#endif
1097
1082#ifdef __NR_osf_adjtime1098#ifdef __NR_osf_adjtime
1083# define SYS_osf_adjtime __NR_osf_adjtime1099# define SYS_osf_adjtime __NR_osf_adjtime
1084#endif1100#endif
...@@ -1551,6 +1567,10 @@...@@ -1551,6 +1567,10 @@
1551# define SYS_personality __NR_personality1567# define SYS_personality __NR_personality
1552#endif1568#endif
15531569
1570#ifdef __NR_pidfd_getfd
1571# define SYS_pidfd_getfd __NR_pidfd_getfd
1572#endif
1573
1554#ifdef __NR_pidfd_open1574#ifdef __NR_pidfd_open
1555# define SYS_pidfd_open __NR_pidfd_open1575# define SYS_pidfd_open __NR_pidfd_open
1556#endif1576#endif
lib/libc/include/generic-glibc/bits/sysctl.h deleted-1
...@@ -1 +0,0 @@
1/* Empty file. */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/syslog-ldbl.h+2-2
...@@ -27,9 +27,9 @@ __LDBL_REDIR_DECL (vsyslog)...@@ -27,9 +27,9 @@ __LDBL_REDIR_DECL (vsyslog)
27#endif27#endif
2828
29#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function29#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
30__LDBL_REDIR_DECL (__syslog_chk)30__LDBL_REDIR2_DECL (syslog_chk)
3131
32# ifdef __USE_MISC32# ifdef __USE_MISC
33__LDBL_REDIR_DECL (__vsyslog_chk)33__LDBL_REDIR2_DECL (vsyslog_chk)
34# endif34# endif
35#endif35#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/thread-shared-types.h+10
...@@ -116,4 +116,14 @@ struct __pthread_cond_s...@@ -116,4 +116,14 @@ struct __pthread_cond_s
116 unsigned int __g_signals[2];116 unsigned int __g_signals[2];
117};117};
118118
119typedef unsigned int __tss_t;
120typedef unsigned long int __thrd_t;
121
122typedef struct
123{
124 int __data __ONCE_ALIGNMENT;
125} __once_flag;
126
127#define __ONCE_FLAG_INIT { 0 }
128
119#endif /* _THREAD_SHARED_TYPES_H */129#endif /* _THREAD_SHARED_TYPES_H */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/types.h+1
...@@ -160,6 +160,7 @@ __STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */...@@ -160,6 +160,7 @@ __STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
160__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */160__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
161__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */161__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
162__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */162__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
163__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t;
163164
164__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */165__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
165__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */166__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h created+47
...@@ -0,0 +1,47 @@
1/* Generic implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29 __time_t msg_stime; /* time of last msgsnd command */
30 unsigned long int __msg_stime_high;
31 __time_t msg_rtime; /* time of last msgsnd command */
32 unsigned long int __msg_rtime_high;
33 __time_t msg_ctime; /* time of last change */
34 unsigned long int __msg_ctime_high;
35#else
36 __time_t msg_stime; /* time of last msgsnd command */
37 __time_t msg_rtime; /* time of last msgsnd command */
38 __time_t msg_ctime; /* time of last change */
39#endif
40 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
41 msgqnum_t msg_qnum; /* number of messages currently on queue */
42 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
43 __pid_t msg_lspid; /* pid of last msgsnd() */
44 __pid_t msg_lrpid; /* pid of last msgrcv() */
45 __syscall_ulong_t __glibc_reserved4;
46 __syscall_ulong_t __glibc_reserved5;
47};
\ No newline at end of file
lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h created+39
...@@ -0,0 +1,39 @@
1/* Generic implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 __time_t sem_otime; /* last semop() time */
29 __syscall_ulong_t __sem_otime_high;
30 __time_t sem_ctime; /* last time changed by semctl() */
31 __syscall_ulong_t __sem_ctime_high;
32#else
33 __time_t sem_otime;
34 __time_t sem_ctime;
35#endif
36 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
37 __syscall_ulong_t __glibc_reserved3;
38 __syscall_ulong_t __glibc_reserved4;
39};
\ No newline at end of file
lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h created+45
...@@ -0,0 +1,45 @@
1/* Generic implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27 size_t shm_segsz; /* size of segment in bytes */
28#if __TIMESIZE == 32
29 __time_t shm_atime; /* time of last shmat() */
30 unsigned long int __shm_atime_high;
31 __time_t shm_dtime; /* time of last shmdt() */
32 unsigned long int __shm_dtime_high;
33 __time_t shm_ctime; /* time of last change by shmctl() */
34 unsigned long int __shm_ctime_high;
35#else
36 __time_t shm_atime; /* time of last shmat() */
37 __time_t shm_dtime; /* time of last shmdt() */
38 __time_t shm_ctime; /* time of last change by shmctl() */
39#endif
40 __pid_t shm_cpid; /* pid of creator */
41 __pid_t shm_lpid; /* pid of last shmop */
42 shmatt_t shm_nattch; /* number of current attaches */
43 __syscall_ulong_t __glibc_reserved5;
44 __syscall_ulong_t __glibc_reserved6;
45 };
\ No newline at end of file
lib/libc/include/generic-glibc/bits/typesizes.h+7
...@@ -50,6 +50,7 @@...@@ -50,6 +50,7 @@
50#define __TIME_T_TYPE __SLONGWORD_TYPE50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
53#define __DADDR_T_TYPE __S32_TYPE54#define __DADDR_T_TYPE __S32_TYPE
54#define __KEY_T_TYPE __S32_TYPE55#define __KEY_T_TYPE __S32_TYPE
55#define __CLOCKID_T_TYPE __S32_TYPE56#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -75,10 +76,16 @@...@@ -75,10 +76,16 @@
7576
76/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
77# define __STATFS_MATCHES_STATFS64 178# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
78#else82#else
79# define __RLIM_T_MATCHES_RLIM64_T 083# define __RLIM_T_MATCHES_RLIM64_T 0
8084
81# define __STATFS_MATCHES_STATFS64 085# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
82#endif89#endif
8390
84/* Number of descriptors that can fit in an `fd_set'. */91/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/include/generic-glibc/bits/unistd.h+35-23
...@@ -21,9 +21,11 @@...@@ -21,9 +21,11 @@
21#endif21#endif
2222
23extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,23extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,
24 size_t __buflen) __wur;24 size_t __buflen)
25 __wur __attr_access ((__write_only__, 2, 3));
25extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,26extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,
26 size_t __nbytes), read) __wur;27 size_t __nbytes), read)
28 __wur __attr_access ((__write_only__, 2, 3));
27extern ssize_t __REDIRECT (__read_chk_warn,29extern ssize_t __REDIRECT (__read_chk_warn,
28 (int __fd, void *__buf, size_t __nbytes,30 (int __fd, void *__buf, size_t __nbytes,
29 size_t __buflen), __read_chk)31 size_t __buflen), __read_chk)
...@@ -46,15 +48,19 @@ read (int __fd, void *__buf, size_t __nbytes)...@@ -46,15 +48,19 @@ read (int __fd, void *__buf, size_t __nbytes)
4648
47#ifdef __USE_UNIX9849#ifdef __USE_UNIX98
48extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,50extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,
49 __off_t __offset, size_t __bufsize) __wur;51 __off_t __offset, size_t __bufsize)
52 __wur __attr_access ((__write_only__, 2, 3));
50extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,53extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,
51 __off64_t __offset, size_t __bufsize) __wur;54 __off64_t __offset, size_t __bufsize)
55 __wur __attr_access ((__write_only__, 2, 3));
52extern ssize_t __REDIRECT (__pread_alias,56extern ssize_t __REDIRECT (__pread_alias,
53 (int __fd, void *__buf, size_t __nbytes,57 (int __fd, void *__buf, size_t __nbytes,
54 __off_t __offset), pread) __wur;58 __off_t __offset), pread)
59 __wur __attr_access ((__write_only__, 2, 3));
55extern ssize_t __REDIRECT (__pread64_alias,60extern ssize_t __REDIRECT (__pread64_alias,
56 (int __fd, void *__buf, size_t __nbytes,61 (int __fd, void *__buf, size_t __nbytes,
57 __off64_t __offset), pread64) __wur;62 __off64_t __offset), pread64)
63 __wur __attr_access ((__write_only__, 2, 3));
58extern ssize_t __REDIRECT (__pread_chk_warn,64extern ssize_t __REDIRECT (__pread_chk_warn,
59 (int __fd, void *__buf, size_t __nbytes,65 (int __fd, void *__buf, size_t __nbytes,
60 __off_t __offset, size_t __bufsize), __pread_chk)66 __off_t __offset, size_t __bufsize), __pread_chk)
...@@ -123,11 +129,11 @@ pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)...@@ -123,11 +129,11 @@ pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
123extern ssize_t __readlink_chk (const char *__restrict __path,129extern ssize_t __readlink_chk (const char *__restrict __path,
124 char *__restrict __buf, size_t __len,130 char *__restrict __buf, size_t __len,
125 size_t __buflen)131 size_t __buflen)
126 __THROW __nonnull ((1, 2)) __wur;132 __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
127extern ssize_t __REDIRECT_NTH (__readlink_alias,133extern ssize_t __REDIRECT_NTH (__readlink_alias,
128 (const char *__restrict __path,134 (const char *__restrict __path,
129 char *__restrict __buf, size_t __len), readlink)135 char *__restrict __buf, size_t __len), readlink)
130 __nonnull ((1, 2)) __wur;136 __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
131extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,137extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,
132 (const char *__restrict __path,138 (const char *__restrict __path,
133 char *__restrict __buf, size_t __len,139 char *__restrict __buf, size_t __len,
...@@ -155,12 +161,12 @@ __NTH (readlink (const char *__restrict __path, char *__restrict __buf,...@@ -155,12 +161,12 @@ __NTH (readlink (const char *__restrict __path, char *__restrict __buf,
155extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,161extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,
156 char *__restrict __buf, size_t __len,162 char *__restrict __buf, size_t __len,
157 size_t __buflen)163 size_t __buflen)
158 __THROW __nonnull ((2, 3)) __wur;164 __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));
159extern ssize_t __REDIRECT_NTH (__readlinkat_alias,165extern ssize_t __REDIRECT_NTH (__readlinkat_alias,
160 (int __fd, const char *__restrict __path,166 (int __fd, const char *__restrict __path,
161 char *__restrict __buf, size_t __len),167 char *__restrict __buf, size_t __len),
162 readlinkat)168 readlinkat)
163 __nonnull ((2, 3)) __wur;169 __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));
164extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,170extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,
165 (int __fd, const char *__restrict __path,171 (int __fd, const char *__restrict __path,
166 char *__restrict __buf, size_t __len,172 char *__restrict __buf, size_t __len,
...@@ -187,9 +193,10 @@ __NTH (readlinkat (int __fd, const char *__restrict __path,...@@ -187,9 +193,10 @@ __NTH (readlinkat (int __fd, const char *__restrict __path,
187#endif193#endif
188194
189extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)195extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
190 __THROW __wur;196 __THROW __wur __attr_access ((__write_only__, 1, 2));
191extern char *__REDIRECT_NTH (__getcwd_alias,197extern char *__REDIRECT_NTH (__getcwd_alias,
192 (char *__buf, size_t __size), getcwd) __wur;198 (char *__buf, size_t __size), getcwd)
199 __wur __attr_access ((__write_only__, 1, 2));
193extern char *__REDIRECT_NTH (__getcwd_chk_warn,200extern char *__REDIRECT_NTH (__getcwd_chk_warn,
194 (char *__buf, size_t __size, size_t __buflen),201 (char *__buf, size_t __size, size_t __buflen),
195 __getcwd_chk)202 __getcwd_chk)
...@@ -212,7 +219,7 @@ __NTH (getcwd (char *__buf, size_t __size))...@@ -212,7 +219,7 @@ __NTH (getcwd (char *__buf, size_t __size))
212219
213#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED220#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
214extern char *__getwd_chk (char *__buf, size_t buflen)221extern char *__getwd_chk (char *__buf, size_t buflen)
215 __THROW __nonnull ((1)) __wur;222 __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
216extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd)223extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd)
217 __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd "224 __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd "
218 "doesn't specify buffer size");225 "doesn't specify buffer size");
...@@ -227,9 +234,11 @@ __NTH (getwd (char *__buf))...@@ -227,9 +234,11 @@ __NTH (getwd (char *__buf))
227#endif234#endif
228235
229extern size_t __confstr_chk (int __name, char *__buf, size_t __len,236extern size_t __confstr_chk (int __name, char *__buf, size_t __len,
230 size_t __buflen) __THROW;237 size_t __buflen) __THROW
238 __attr_access ((__write_only__, 2, 3));
231extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf,239extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf,
232 size_t __len), confstr);240 size_t __len), confstr)
241 __attr_access ((__write_only__, 2, 3));
233extern size_t __REDIRECT_NTH (__confstr_chk_warn,242extern size_t __REDIRECT_NTH (__confstr_chk_warn,
234 (int __name, char *__buf, size_t __len,243 (int __name, char *__buf, size_t __len,
235 size_t __buflen), __confstr_chk)244 size_t __buflen), __confstr_chk)
...@@ -252,9 +261,9 @@ __NTH (confstr (int __name, char *__buf, size_t __len))...@@ -252,9 +261,9 @@ __NTH (confstr (int __name, char *__buf, size_t __len))
252261
253262
254extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)263extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)
255 __THROW __wur;264 __THROW __wur __attr_access ((__write_only__, 2, 1));
256extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),265extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),
257 getgroups) __wur;266 getgroups) __wur __attr_access ((__write_only__, 2, 1));
258extern int __REDIRECT_NTH (__getgroups_chk_warn,267extern int __REDIRECT_NTH (__getgroups_chk_warn,
259 (int __size, __gid_t __list[], size_t __listlen),268 (int __size, __gid_t __list[], size_t __listlen),
260 __getgroups_chk)269 __getgroups_chk)
...@@ -277,7 +286,8 @@ __NTH (getgroups (int __size, __gid_t __list[]))...@@ -277,7 +286,8 @@ __NTH (getgroups (int __size, __gid_t __list[]))
277286
278287
279extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,288extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,
280 size_t __nreal) __THROW __nonnull ((2));289 size_t __nreal) __THROW __nonnull ((2))
290 __attr_access ((__write_only__, 2, 3));
281extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,291extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,
282 size_t __buflen), ttyname_r)292 size_t __buflen), ttyname_r)
283 __nonnull ((2));293 __nonnull ((2));
...@@ -304,7 +314,7 @@ __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))...@@ -304,7 +314,7 @@ __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))
304314
305#ifdef __USE_POSIX199506315#ifdef __USE_POSIX199506
306extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)316extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
307 __nonnull ((1));317 __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
308extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),318extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),
309 getlogin_r) __nonnull ((1));319 getlogin_r) __nonnull ((1));
310extern int __REDIRECT (__getlogin_r_chk_warn,320extern int __REDIRECT (__getlogin_r_chk_warn,
...@@ -331,9 +341,10 @@ getlogin_r (char *__buf, size_t __buflen)...@@ -331,9 +341,10 @@ getlogin_r (char *__buf, size_t __buflen)
331341
332#if defined __USE_MISC || defined __USE_UNIX98342#if defined __USE_MISC || defined __USE_UNIX98
333extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)343extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)
334 __THROW __nonnull ((1));344 __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
335extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen),345extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen),
336 gethostname) __nonnull ((1));346 gethostname)
347 __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
337extern int __REDIRECT_NTH (__gethostname_chk_warn,348extern int __REDIRECT_NTH (__gethostname_chk_warn,
338 (char *__buf, size_t __buflen, size_t __nreal),349 (char *__buf, size_t __buflen, size_t __nreal),
339 __gethostname_chk)350 __gethostname_chk)
...@@ -358,10 +369,11 @@ __NTH (gethostname (char *__buf, size_t __buflen))...@@ -358,10 +369,11 @@ __NTH (gethostname (char *__buf, size_t __buflen))
358369
359#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98)370#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98)
360extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)371extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)
361 __THROW __nonnull ((1)) __wur;372 __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
362extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,373extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,
363 size_t __buflen),374 size_t __buflen),
364 getdomainname) __nonnull ((1)) __wur;375 getdomainname) __nonnull ((1))
376 __wur __attr_access ((__write_only__, 1, 2));
365extern int __REDIRECT_NTH (__getdomainname_chk_warn,377extern int __REDIRECT_NTH (__getdomainname_chk_warn,
366 (char *__buf, size_t __buflen, size_t __nreal),378 (char *__buf, size_t __buflen, size_t __nreal),
367 __getdomainname_chk)379 __getdomainname_chk)
lib/libc/include/generic-glibc/bits/wchar-ldbl.h+30-6
...@@ -28,9 +28,17 @@ __LDBL_REDIR_DECL (vfwprintf);...@@ -28,9 +28,17 @@ __LDBL_REDIR_DECL (vfwprintf);
28__LDBL_REDIR_DECL (vwprintf);28__LDBL_REDIR_DECL (vwprintf);
29__LDBL_REDIR_DECL (vswprintf);29__LDBL_REDIR_DECL (vswprintf);
30# if !__GLIBC_USE (DEPRECATED_SCANF)30# if !__GLIBC_USE (DEPRECATED_SCANF)
31# if defined __LDBL_COMPAT
31__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)32__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
32__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)33__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
33__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)34__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)
35# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
36__LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128)
37__LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128)
38__LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128)
39# else
40# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
41# endif
34# else42# else
35__LDBL_REDIR_DECL (fwscanf);43__LDBL_REDIR_DECL (fwscanf);
36__LDBL_REDIR_DECL (wscanf);44__LDBL_REDIR_DECL (wscanf);
...@@ -39,11 +47,23 @@ __LDBL_REDIR_DECL (swscanf);...@@ -39,11 +47,23 @@ __LDBL_REDIR_DECL (swscanf);
39#endif47#endif
4048
41#ifdef __USE_ISOC9949#ifdef __USE_ISOC99
50# ifdef __LDBL_COMPAT
42__LDBL_REDIR1_DECL (wcstold, wcstod);51__LDBL_REDIR1_DECL (wcstold, wcstod);
52# else
53__LDBL_REDIR1_DECL (wcstold, __wcstoieee128)
54# endif
43# if !__GLIBC_USE (DEPRECATED_SCANF)55# if !__GLIBC_USE (DEPRECATED_SCANF)
56# if defined __LDBL_COMPAT
44__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)57__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
45__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)58__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
46__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)59__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)
60# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
61__LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128)
62__LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128)
63__LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128)
64# else
65# error bits/stdlib-ldbl.h included when no ldbl redirections are required.
66# endif
47# else67# else
48__LDBL_REDIR_DECL (vfwscanf);68__LDBL_REDIR_DECL (vfwscanf);
49__LDBL_REDIR_DECL (vwscanf);69__LDBL_REDIR_DECL (vwscanf);
...@@ -52,16 +72,20 @@ __LDBL_REDIR_DECL (vswscanf);...@@ -52,16 +72,20 @@ __LDBL_REDIR_DECL (vswscanf);
52#endif72#endif
5373
54#ifdef __USE_GNU74#ifdef __USE_GNU
75# ifdef __LDBL_COMPAT
55__LDBL_REDIR1_DECL (wcstold_l, wcstod_l);76__LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
77# else
78__LDBL_REDIR1_DECL (wcstold_l, __wcstoieee128_l)
79# endif
56#endif80#endif
5781
58#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function82#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
59__LDBL_REDIR_DECL (__swprintf_chk)83__LDBL_REDIR2_DECL (swprintf_chk)
60__LDBL_REDIR_DECL (__vswprintf_chk)84__LDBL_REDIR2_DECL (vswprintf_chk)
61# if __USE_FORTIFY_LEVEL > 185# if __USE_FORTIFY_LEVEL > 1
62__LDBL_REDIR_DECL (__fwprintf_chk)86__LDBL_REDIR2_DECL (fwprintf_chk)
63__LDBL_REDIR_DECL (__wprintf_chk)87__LDBL_REDIR2_DECL (wprintf_chk)
64__LDBL_REDIR_DECL (__vfwprintf_chk)88__LDBL_REDIR2_DECL (vfwprintf_chk)
65__LDBL_REDIR_DECL (__vwprintf_chk)89__LDBL_REDIR2_DECL (vwprintf_chk)
66# endif90# endif
67#endif91#endif
\ No newline at end of file
lib/libc/include/generic-glibc/complex.h+27-2
...@@ -95,11 +95,15 @@ __BEGIN_DECLS...@@ -95,11 +95,15 @@ __BEGIN_DECLS
9595
96#define __MATHCALL(function, args) \96#define __MATHCALL(function, args) \
97 __MATHDECL (_Mdouble_complex_,function, args)97 __MATHDECL (_Mdouble_complex_,function, args)
98#define __MATHDECL(type, function, args) \98#define __MATHDECL_IMPL(type, function, args) \
99 __MATHDECL_1(type, function, args); \99 __MATHDECL_1(type, function, args); \
100 __MATHDECL_1(type, __CONCAT(__,function), args)100 __MATHDECL_1(type, __CONCAT(__,function), args)
101#define __MATHDECL_1(type, function, args) \101#define __MATHDECL(type, function, args) \
102 __MATHDECL_IMPL(type, function, args)
103#define __MATHDECL_1_IMPL(type, function, args) \
102 extern type __MATH_PRECNAME(function) args __THROW104 extern type __MATH_PRECNAME(function) args __THROW
105#define __MATHDECL_1(type, function, args) \
106 __MATHDECL_1_IMPL(type, function, args)
103107
104#define _Mdouble_ double108#define _Mdouble_ double
105#define __MATH_PRECNAME(name) name109#define __MATH_PRECNAME(name) name
...@@ -122,11 +126,31 @@ __BEGIN_DECLS...@@ -122,11 +126,31 @@ __BEGIN_DECLS
122# undef __MATHDECL_1126# undef __MATHDECL_1
123# define __MATHDECL_1(type, function, args) \127# define __MATHDECL_1(type, function, args) \
124 extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function)128 extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function)
129# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
130# undef __MATHDECL_1
131# undef __MATHDECL
132# define __REDIR_TO(function) \
133 __ ## function ## ieee128
134# define __MATHDECL_1(type, function, alias, args) \
135 extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, alias)
136#define __MATHDECL(type, function, args) \
137 __MATHDECL_1(type, function, __REDIR_TO(function), args); \
138 __MATHDECL_1(type, __CONCAT(__,function), __REDIR_TO(function), args)
125# endif139# endif
126140
127# define _Mdouble_ long double141# define _Mdouble_ long double
128# define __MATH_PRECNAME(name) name##l142# define __MATH_PRECNAME(name) name##l
129# include <bits/cmathcalls.h>143# include <bits/cmathcalls.h>
144# if defined __LDBL_COMPAT \
145 || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
146# undef __REDIR_TO
147# undef __MATHDECL_1
148# undef __MATHDECL
149#define __MATHDECL(type, function, args) \
150 __MATHDECL_IMPL(type, function, args)
151# define __MATHDECL_1(type, function, args) \
152 __MATHDECL_1_IMPL(type, function, args)
153# endif
130#endif154#endif
131#undef _Mdouble_155#undef _Mdouble_
132#undef __MATH_PRECNAME156#undef __MATH_PRECNAME
...@@ -215,6 +239,7 @@ __BEGIN_DECLS...@@ -215,6 +239,7 @@ __BEGIN_DECLS
215# undef _Mdouble_complex_239# undef _Mdouble_complex_
216#endif240#endif
217241
242#undef __MATHDECL_1_IMPL
218#undef __MATHDECL_1243#undef __MATHDECL_1
219#undef __MATHDECL244#undef __MATHDECL
220#undef __MATHCALL245#undef __MATHCALL
lib/libc/include/generic-glibc/elf.h+78-2
...@@ -330,7 +330,7 @@ typedef struct...@@ -330,7 +330,7 @@ typedef struct
330#define EM_CLOUDSHIELD 192 /* CloudShield */330#define EM_CLOUDSHIELD 192 /* CloudShield */
331#define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */331#define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */
332#define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */332#define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */
333#define EM_ARC_COMPACT2 195 /* Synopsys ARCompact V2 */333#define EM_ARCV2 195 /* Synopsys ARCv2 ISA. */
334#define EM_OPEN8 196 /* Open8 RISC */334#define EM_OPEN8 196 /* Open8 RISC */
335#define EM_RL78 197 /* Renesas RL78 */335#define EM_RL78 197 /* Renesas RL78 */
336#define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */336#define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */
...@@ -721,6 +721,7 @@ typedef struct...@@ -721,6 +721,7 @@ typedef struct
721#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */721#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
722#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */722#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
723#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */723#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
724#define PT_GNU_PROPERTY 0x6474e553 /* GNU property */
724#define PT_LOSUNW 0x6ffffffa725#define PT_LOSUNW 0x6ffffffa
725#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */726#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
726#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */727#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
...@@ -1318,6 +1319,12 @@ typedef struct...@@ -1318,6 +1319,12 @@ typedef struct
1318/* Application-specific semantics, hi */1319/* Application-specific semantics, hi */
1319#define GNU_PROPERTY_HIUSER 0xffffffff1320#define GNU_PROPERTY_HIUSER 0xffffffff
13201321
1322/* AArch64 specific GNU properties. */
1323#define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000
1324
1325#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0)
1326#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC (1U << 1)
1327
1321/* The x86 instruction sets indicated by the corresponding bits are1328/* The x86 instruction sets indicated by the corresponding bits are
1322 used in program. Their support in the hardware is optional. */1329 used in program. Their support in the hardware is optional. */
1323#define GNU_PROPERTY_X86_ISA_1_USED 0xc00000001330#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000
...@@ -3946,8 +3953,9 @@ enum...@@ -3946,8 +3953,9 @@ enum
3946#define R_RISCV_SET16 553953#define R_RISCV_SET16 55
3947#define R_RISCV_SET32 563954#define R_RISCV_SET32 56
3948#define R_RISCV_32_PCREL 573955#define R_RISCV_32_PCREL 57
3956#define R_RISCV_IRELATIVE 58
39493957
3950#define R_RISCV_NUM 583958#define R_RISCV_NUM 59
39513959
3952/* BPF specific declarations. */3960/* BPF specific declarations. */
39533961
...@@ -4027,6 +4035,74 @@ enum...@@ -4027,6 +4035,74 @@ enum
4027#define R_NDS32_TLS_TPOFF 1024035#define R_NDS32_TLS_TPOFF 102
4028#define R_NDS32_TLS_DESC 1194036#define R_NDS32_TLS_DESC 119
40294037
4038/* ARCompact/ARCv2 specific relocs. */
4039#define R_ARC_NONE 0x0
4040#define R_ARC_8 0x1
4041#define R_ARC_16 0x2
4042#define R_ARC_24 0x3
4043#define R_ARC_32 0x4
4044#define R_ARC_B26 0x5
4045#define R_ARC_B22_PCREL 0x6
4046#define R_ARC_H30 0x7
4047#define R_ARC_N8 0x8
4048#define R_ARC_N16 0x9
4049#define R_ARC_N24 0xA
4050#define R_ARC_N32 0xB
4051#define R_ARC_SDA 0xC
4052#define R_ARC_SECTOFF 0xD
4053#define R_ARC_S21H_PCREL 0xE
4054#define R_ARC_S21W_PCREL 0xF
4055#define R_ARC_S25H_PCREL 0x10
4056#define R_ARC_S25W_PCREL 0x11
4057#define R_ARC_SDA32 0x12
4058#define R_ARC_SDA_LDST 0x13
4059#define R_ARC_SDA_LDST1 0x14
4060#define R_ARC_SDA_LDST2 0x15
4061#define R_ARC_SDA16_LD 0x16
4062#define R_ARC_SDA16_LD1 0x17
4063#define R_ARC_SDA16_LD2 0x18
4064#define R_ARC_S13_PCREL 0x19
4065#define R_ARC_W 0x1A
4066#define R_ARC_32_ME 0x1B
4067#define R_ARC_N32_ME 0x1C
4068#define R_ARC_SECTOFF_ME 0x1D
4069#define R_ARC_SDA32_ME 0x1E
4070#define R_ARC_W_ME 0x1F
4071#define R_ARC_H30_ME 0x20
4072#define R_ARC_SECTOFF_U8 0x21
4073#define R_ARC_SECTOFF_S9 0x22
4074#define R_AC_SECTOFF_U8 0x23
4075#define R_AC_SECTOFF_U8_1 0x24
4076#define R_AC_SECTOFF_U8_2 0x25
4077#define R_AC_SECTOFF_S9 0x26
4078#define R_AC_SECTOFF_S9_1 0x27
4079#define R_AC_SECTOFF_S9_2 0x28
4080#define R_ARC_SECTOFF_ME_1 0x29
4081#define R_ARC_SECTOFF_ME_2 0x2A
4082#define R_ARC_SECTOFF_1 0x2B
4083#define R_ARC_SECTOFF_2 0x2C
4084#define R_ARC_PC32 0x32
4085#define R_ARC_GOTPC32 0x33
4086#define R_ARC_PLT32 0x34
4087#define R_ARC_COPY 0x35
4088#define R_ARC_GLOB_DAT 0x36
4089#define R_ARC_JUMP_SLOT 0x37
4090#define R_ARC_RELATIVE 0x38
4091#define R_ARC_GOTOFF 0x39
4092#define R_ARC_GOTPC 0x3A
4093#define R_ARC_GOT32 0x3B
4094
4095#define R_ARC_TLS_DTPMOD 0x42
4096#define R_ARC_TLS_DTPOFF 0x43
4097#define R_ARC_TLS_TPOFF 0x44
4098#define R_ARC_TLS_GD_GOT 0x45
4099#define R_ARC_TLS_GD_LD 0x46
4100#define R_ARC_TLS_GD_CALL 0x47
4101#define R_ARC_TLS_IE_GOT 0x48
4102#define R_ARC_TLS_DTPOFF_S9 0x4a
4103#define R_ARC_TLS_LE_S9 0x4a
4104#define R_ARC_TLS_LE_32 0x4b
4105
4030__END_DECLS4106__END_DECLS
40314107
4032#endif /* elf.h */4108#endif /* elf.h */
\ No newline at end of file
lib/libc/include/generic-glibc/err.h+2-1
...@@ -52,7 +52,8 @@ extern void errx (int __status, const char *__format, ...)...@@ -52,7 +52,8 @@ extern void errx (int __status, const char *__format, ...)
52extern void verrx (int __status, const char *, __gnuc_va_list)52extern void verrx (int __status, const char *, __gnuc_va_list)
53 __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));53 __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
5454
55#ifdef __LDBL_COMPAT55#include <bits/floatn.h>
56#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
56# include <bits/err-ldbl.h>57# include <bits/err-ldbl.h>
57#endif58#endif
5859
lib/libc/include/generic-glibc/error.h+4-2
...@@ -47,11 +47,13 @@ extern unsigned int error_message_count;...@@ -47,11 +47,13 @@ extern unsigned int error_message_count;
47 variable controls whether this mode is selected or not. */47 variable controls whether this mode is selected or not. */
48extern int error_one_per_line;48extern int error_one_per_line;
4949
50#ifdef __LDBL_COMPAT50#include <bits/floatn.h>
51#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
51# include <bits/error-ldbl.h>52# include <bits/error-ldbl.h>
52#else53#else
53/* Do not inline error and error_at_line when long double has the same54/* Do not inline error and error_at_line when long double has the same
54 size of double, because that would invalidate the redirections to the55 size of double, nor when long double reuses the float128
56 implementation, because that would invalidate the redirections to the
55 compatibility functions. */57 compatibility functions. */
56# if defined __extern_always_inline && defined __va_arg_pack58# if defined __extern_always_inline && defined __va_arg_pack
57# include <bits/error.h>59# include <bits/error.h>
lib/libc/include/generic-glibc/features.h+1-1
...@@ -454,7 +454,7 @@...@@ -454,7 +454,7 @@
454/* Major and minor version number of the GNU C library package. Use454/* Major and minor version number of the GNU C library package. Use
455 these macros to test for features in specific releases. */455 these macros to test for features in specific releases. */
456#define __GLIBC__ 2456#define __GLIBC__ 2
457#define __GLIBC_MINOR__ 31457#define __GLIBC_MINOR__ 32
458458
459#define __GLIBC_PREREQ(maj, min) \459#define __GLIBC_PREREQ(maj, min) \
460 ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))460 ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
lib/libc/include/generic-glibc/fenv.h-4
...@@ -140,10 +140,6 @@ extern int fegetmode (femode_t *__modep) __THROW;...@@ -140,10 +140,6 @@ extern int fegetmode (femode_t *__modep) __THROW;
140extern int fesetmode (const femode_t *__modep) __THROW;140extern int fesetmode (const femode_t *__modep) __THROW;
141#endif141#endif
142142
143/* Include optimization. */
144#ifdef __OPTIMIZE__
145# include <bits/fenvinline.h>
146#endif
147143
148/* NaN support. */144/* NaN support. */
149145
lib/libc/include/generic-glibc/gnu/lib-names-32.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-hard.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h-2
...@@ -19,8 +19,6 @@...@@ -19,8 +19,6 @@
19#define LIBNSS_FILES_SO "libnss_files.so.2"19#define LIBNSS_FILES_SO "libnss_files.so.2"
20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
22#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
23#define LIBNSS_NIS_SO "libnss_nis.so.2"
24#define LIBNSS_TEST1_SO "libnss_test1.so.2"22#define LIBNSS_TEST1_SO "libnss_test1.so.2"
25#define LIBNSS_TEST2_SO "libnss_test2.so.2"23#define LIBNSS_TEST2_SO "libnss_test2.so.2"
26#define LIBPTHREAD_SO "libpthread.so.0"24#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h-2
...@@ -19,8 +19,6 @@...@@ -19,8 +19,6 @@
19#define LIBNSS_FILES_SO "libnss_files.so.2"19#define LIBNSS_FILES_SO "libnss_files.so.2"
20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
22#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
23#define LIBNSS_NIS_SO "libnss_nis.so.2"
24#define LIBNSS_TEST1_SO "libnss_test1.so.2"22#define LIBNSS_TEST1_SO "libnss_test1.so.2"
25#define LIBNSS_TEST2_SO "libnss_test2.so.2"23#define LIBNSS_TEST2_SO "libnss_test2.so.2"
26#define LIBPTHREAD_SO "libpthread.so.0"24#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h-2
...@@ -19,8 +19,6 @@...@@ -19,8 +19,6 @@
19#define LIBNSS_FILES_SO "libnss_files.so.2"19#define LIBNSS_FILES_SO "libnss_files.so.2"
20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
22#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
23#define LIBNSS_NIS_SO "libnss_nis.so.2"
24#define LIBNSS_TEST1_SO "libnss_test1.so.2"22#define LIBNSS_TEST1_SO "libnss_test1.so.2"
25#define LIBNSS_TEST2_SO "libnss_test2.so.2"23#define LIBNSS_TEST2_SO "libnss_test2.so.2"
26#define LIBPTHREAD_SO "libpthread.so.0"24#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-soft.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/stubs-32.h-2
...@@ -10,9 +10,7 @@...@@ -10,9 +10,7 @@
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fchflags11#define __stub_fchflags
12#define __stub_gtty12#define __stub_gtty
13#define __stub_lchmod
14#define __stub_revoke13#define __stub_revoke
15#define __stub_setlogin14#define __stub_setlogin
16#define __stub_sigreturn15#define __stub_sigreturn
17#define __stub_sstk
18#define __stub_stty16#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-64.h-2
...@@ -10,9 +10,7 @@...@@ -10,9 +10,7 @@
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fchflags11#define __stub_fchflags
12#define __stub_gtty12#define __stub_gtty
13#define __stub_lchmod
14#define __stub_revoke13#define __stub_revoke
15#define __stub_setlogin14#define __stub_setlogin
16#define __stub_sigreturn15#define __stub_sigreturn
17#define __stub_sstk
18#define __stub_stty16#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-hard.h-2
...@@ -13,9 +13,7 @@...@@ -13,9 +13,7 @@
13#define __stub_chflags13#define __stub_chflags
14#define __stub_fchflags14#define __stub_fchflags
15#define __stub_gtty15#define __stub_gtty
16#define __stub_lchmod
17#define __stub_revoke16#define __stub_revoke
18#define __stub_setlogin17#define __stub_setlogin
19#define __stub_sigreturn18#define __stub_sigreturn
20#define __stub_sstk
21#define __stub_stty19#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-n32_hard.h-2
...@@ -12,9 +12,7 @@...@@ -12,9 +12,7 @@
12#define __stub_chflags12#define __stub_chflags
13#define __stub_fchflags13#define __stub_fchflags
14#define __stub_gtty14#define __stub_gtty
15#define __stub_lchmod
16#define __stub_revoke15#define __stub_revoke
17#define __stub_setlogin16#define __stub_setlogin
18#define __stub_sigreturn17#define __stub_sigreturn
19#define __stub_sstk
20#define __stub_stty18#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-n64_hard.h-2
...@@ -12,9 +12,7 @@...@@ -12,9 +12,7 @@
12#define __stub_chflags12#define __stub_chflags
13#define __stub_fchflags13#define __stub_fchflags
14#define __stub_gtty14#define __stub_gtty
15#define __stub_lchmod
16#define __stub_revoke15#define __stub_revoke
17#define __stub_setlogin16#define __stub_setlogin
18#define __stub_sigreturn17#define __stub_sigreturn
19#define __stub_sstk
20#define __stub_stty18#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-o32_hard.h-2
...@@ -10,9 +10,7 @@...@@ -10,9 +10,7 @@
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fchflags11#define __stub_fchflags
12#define __stub_gtty12#define __stub_gtty
13#define __stub_lchmod
14#define __stub_revoke13#define __stub_revoke
15#define __stub_setlogin14#define __stub_setlogin
16#define __stub_sigreturn15#define __stub_sigreturn
17#define __stub_sstk
18#define __stub_stty16#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-soft.h-2
...@@ -13,9 +13,7 @@...@@ -13,9 +13,7 @@
13#define __stub_chflags13#define __stub_chflags
14#define __stub_fchflags14#define __stub_fchflags
15#define __stub_gtty15#define __stub_gtty
16#define __stub_lchmod
17#define __stub_revoke16#define __stub_revoke
18#define __stub_setlogin17#define __stub_setlogin
19#define __stub_sigreturn18#define __stub_sigreturn
20#define __stub_sstk
21#define __stub_stty19#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/inttypes.h+24-24
...@@ -321,10 +321,10 @@ extern long int __strtol_internal (const char *__restrict __nptr,...@@ -321,10 +321,10 @@ extern long int __strtol_internal (const char *__restrict __nptr,
321 __THROW __nonnull ((1)) __wur;321 __THROW __nonnull ((1)) __wur;
322/* Like `strtol' but convert to `intmax_t'. */322/* Like `strtol' but convert to `intmax_t'. */
323__extern_inline intmax_t323__extern_inline intmax_t
324__NTH (strtoimax (const char *__restrict nptr, char **__restrict endptr,324__NTH (strtoimax (const char *__restrict __nptr, char **__restrict __endptr,
325 int base))325 int __base))
326{326{
327 return __strtol_internal (nptr, endptr, base, 0);327 return __strtol_internal (__nptr, __endptr, __base, 0);
328}328}
329329
330extern unsigned long int __strtoul_internal (const char *__restrict __nptr,330extern unsigned long int __strtoul_internal (const char *__restrict __nptr,
...@@ -333,10 +333,10 @@ extern unsigned long int __strtoul_internal (const char *__restrict __nptr,...@@ -333,10 +333,10 @@ extern unsigned long int __strtoul_internal (const char *__restrict __nptr,
333 __THROW __nonnull ((1)) __wur;333 __THROW __nonnull ((1)) __wur;
334/* Like `strtoul' but convert to `uintmax_t'. */334/* Like `strtoul' but convert to `uintmax_t'. */
335__extern_inline uintmax_t335__extern_inline uintmax_t
336__NTH (strtoumax (const char *__restrict nptr, char **__restrict endptr,336__NTH (strtoumax (const char *__restrict __nptr, char **__restrict __endptr,
337 int base))337 int __base))
338{338{
339 return __strtoul_internal (nptr, endptr, base, 0);339 return __strtoul_internal (__nptr, __endptr, __base, 0);
340}340}
341341
342extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,342extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,
...@@ -345,10 +345,10 @@ extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,...@@ -345,10 +345,10 @@ extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,
345 __THROW __nonnull ((1)) __wur;345 __THROW __nonnull ((1)) __wur;
346/* Like `wcstol' but convert to `intmax_t'. */346/* Like `wcstol' but convert to `intmax_t'. */
347__extern_inline intmax_t347__extern_inline intmax_t
348__NTH (wcstoimax (const __gwchar_t *__restrict nptr,348__NTH (wcstoimax (const __gwchar_t *__restrict __nptr,
349 __gwchar_t **__restrict endptr, int base))349 __gwchar_t **__restrict __endptr, int __base))
350{350{
351 return __wcstol_internal (nptr, endptr, base, 0);351 return __wcstol_internal (__nptr, __endptr, __base, 0);
352}352}
353353
354extern unsigned long int __wcstoul_internal (const __gwchar_t *354extern unsigned long int __wcstoul_internal (const __gwchar_t *
...@@ -359,10 +359,10 @@ extern unsigned long int __wcstoul_internal (const __gwchar_t *...@@ -359,10 +359,10 @@ extern unsigned long int __wcstoul_internal (const __gwchar_t *
359 __THROW __nonnull ((1)) __wur;359 __THROW __nonnull ((1)) __wur;
360/* Like `wcstoul' but convert to `uintmax_t'. */360/* Like `wcstoul' but convert to `uintmax_t'. */
361__extern_inline uintmax_t361__extern_inline uintmax_t
362__NTH (wcstoumax (const __gwchar_t *__restrict nptr,362__NTH (wcstoumax (const __gwchar_t *__restrict __nptr,
363 __gwchar_t **__restrict endptr, int base))363 __gwchar_t **__restrict __endptr, int __base))
364{364{
365 return __wcstoul_internal (nptr, endptr, base, 0);365 return __wcstoul_internal (__nptr, __endptr, __base, 0);
366}366}
367367
368# else /* __WORDSIZE == 32 */368# else /* __WORDSIZE == 32 */
...@@ -374,10 +374,10 @@ extern long long int __strtoll_internal (const char *__restrict __nptr,...@@ -374,10 +374,10 @@ extern long long int __strtoll_internal (const char *__restrict __nptr,
374 __THROW __nonnull ((1)) __wur;374 __THROW __nonnull ((1)) __wur;
375/* Like `strtol' but convert to `intmax_t'. */375/* Like `strtol' but convert to `intmax_t'. */
376__extern_inline intmax_t376__extern_inline intmax_t
377__NTH (strtoimax (const char *__restrict nptr, char **__restrict endptr,377__NTH (strtoimax (const char *__restrict __nptr, char **__restrict __endptr,
378 int base))378 int __base))
379{379{
380 return __strtoll_internal (nptr, endptr, base, 0);380 return __strtoll_internal (__nptr, __endptr, __base, 0);
381}381}
382382
383__extension__383__extension__
...@@ -390,10 +390,10 @@ extern unsigned long long int __strtoull_internal (const char *...@@ -390,10 +390,10 @@ extern unsigned long long int __strtoull_internal (const char *
390 __THROW __nonnull ((1)) __wur;390 __THROW __nonnull ((1)) __wur;
391/* Like `strtoul' but convert to `uintmax_t'. */391/* Like `strtoul' but convert to `uintmax_t'. */
392__extern_inline uintmax_t392__extern_inline uintmax_t
393__NTH (strtoumax (const char *__restrict nptr, char **__restrict endptr,393__NTH (strtoumax (const char *__restrict __nptr, char **__restrict __endptr,
394 int base))394 int __base))
395{395{
396 return __strtoull_internal (nptr, endptr, base, 0);396 return __strtoull_internal (__nptr, __endptr, __base, 0);
397}397}
398398
399__extension__399__extension__
...@@ -403,10 +403,10 @@ extern long long int __wcstoll_internal (const __gwchar_t *__restrict __nptr,...@@ -403,10 +403,10 @@ extern long long int __wcstoll_internal (const __gwchar_t *__restrict __nptr,
403 __THROW __nonnull ((1)) __wur;403 __THROW __nonnull ((1)) __wur;
404/* Like `wcstol' but convert to `intmax_t'. */404/* Like `wcstol' but convert to `intmax_t'. */
405__extern_inline intmax_t405__extern_inline intmax_t
406__NTH (wcstoimax (const __gwchar_t *__restrict nptr,406__NTH (wcstoimax (const __gwchar_t *__restrict __nptr,
407 __gwchar_t **__restrict endptr, int base))407 __gwchar_t **__restrict __endptr, int __base))
408{408{
409 return __wcstoll_internal (nptr, endptr, base, 0);409 return __wcstoll_internal (__nptr, __endptr, __base, 0);
410}410}
411411
412412
...@@ -420,10 +420,10 @@ extern unsigned long long int __wcstoull_internal (const __gwchar_t *...@@ -420,10 +420,10 @@ extern unsigned long long int __wcstoull_internal (const __gwchar_t *
420 __THROW __nonnull ((1)) __wur;420 __THROW __nonnull ((1)) __wur;
421/* Like `wcstoul' but convert to `uintmax_t'. */421/* Like `wcstoul' but convert to `uintmax_t'. */
422__extern_inline uintmax_t422__extern_inline uintmax_t
423__NTH (wcstoumax (const __gwchar_t *__restrict nptr,423__NTH (wcstoumax (const __gwchar_t *__restrict __nptr,
424 __gwchar_t **__restrict endptr, int base))424 __gwchar_t **__restrict __endptr, int __base))
425{425{
426 return __wcstoull_internal (nptr, endptr, base, 0);426 return __wcstoull_internal (__nptr, __endptr, __base, 0);
427}427}
428428
429# endif /* __WORDSIZE == 32 */429# endif /* __WORDSIZE == 32 */
lib/libc/include/generic-glibc/malloc.h+4-3
...@@ -75,11 +75,11 @@ extern void *pvalloc (size_t __size) __THROW __attribute_malloc__ __wur;...@@ -75,11 +75,11 @@ extern void *pvalloc (size_t __size) __THROW __attribute_malloc__ __wur;
7575
76/* Underlying allocation function; successive calls should return76/* Underlying allocation function; successive calls should return
77 contiguous pieces of memory. */77 contiguous pieces of memory. */
78extern void *(*__morecore) (ptrdiff_t __size);78extern void *(*__morecore) (ptrdiff_t __size) __MALLOC_DEPRECATED;
7979
80/* Default value of `__morecore'. */80/* Default value of `__morecore'. */
81extern void *__default_morecore (ptrdiff_t __size)81extern void *__default_morecore (ptrdiff_t __size)
82__THROW __attribute_malloc__;82__THROW __attribute_malloc__ __MALLOC_DEPRECATED;
8383
84/* SVID2/XPG mallinfo structure */84/* SVID2/XPG mallinfo structure */
8585
...@@ -156,7 +156,8 @@ extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t __alignment,...@@ -156,7 +156,8 @@ extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t __alignment,
156 size_t __size,156 size_t __size,
157 const void *)157 const void *)
158__MALLOC_DEPRECATED;158__MALLOC_DEPRECATED;
159extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);159extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void)
160 __MALLOC_DEPRECATED;
160161
161162
162__END_DECLS163__END_DECLS
lib/libc/include/generic-glibc/math.h+68-20
...@@ -279,8 +279,17 @@ enum...@@ -279,8 +279,17 @@ enum
279#define __MATHDECLX(type, function,suffix, args, attrib) \279#define __MATHDECLX(type, function,suffix, args, attrib) \
280 __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); \280 __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); \
281 __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib)281 __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib)
282#define __MATHDECL_1(type, function,suffix, args) \282#define __MATHDECL_1_IMPL(type, function, suffix, args) \
283 extern type __MATH_PRECNAME(function,suffix) args __THROW283 extern type __MATH_PRECNAME(function,suffix) args __THROW
284#define __MATHDECL_1(type, function, suffix, args) \
285 __MATHDECL_1_IMPL(type, function, suffix, args)
286/* Ignore the alias by default. The alias is only useful with
287 redirections. */
288#define __MATHDECL_ALIAS(type, function, suffix, args, alias) \
289 __MATHDECL_1(type, function, suffix, args)
290
291#define __MATHREDIR(type, function, suffix, args, to) \
292 extern type __REDIRECT_NTH (__MATH_PRECNAME (function, suffix), args, to)
284293
285#define _Mdouble_ double294#define _Mdouble_ double
286#define __MATH_PRECNAME(name,r) __CONCAT(name,r)295#define __MATH_PRECNAME(name,r) __CONCAT(name,r)
...@@ -331,11 +340,37 @@ extern long double __REDIRECT_NTH (nexttowardl,...@@ -331,11 +340,37 @@ extern long double __REDIRECT_NTH (nexttowardl,
331# endif340# endif
332341
333# undef __MATHDECL_1342# undef __MATHDECL_1
334# define __MATHDECL_2(type, function,suffix, args, alias) \
335 extern type __REDIRECT_NTH(__MATH_PRECNAME(function,suffix), \
336 args, alias)
337# define __MATHDECL_1(type, function,suffix, args) \343# define __MATHDECL_1(type, function,suffix, args) \
338 __MATHDECL_2(type, function,suffix, args, __CONCAT(function,suffix))344 __MATHREDIR(type, function, suffix, args, __CONCAT(function,suffix))
345
346# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
347# ifdef __REDIRECT_NTH
348# ifdef __USE_ISOC99
349extern float __REDIRECT_NTH (nexttowardf, (float __x, long double __y),
350 __nexttowardf_to_ieee128)
351 __attribute__ ((__const__));
352extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
353 __nexttoward_to_ieee128)
354 __attribute__ ((__const__));
355
356#define __dremieee128 __remainderieee128
357#define __gammaieee128 __lgammaieee128
358
359# endif
360# endif
361
362# undef __MATHDECL_1
363# undef __MATHDECL_ALIAS
364
365# define __REDIRTO(function, suffix) \
366 __ ## function ## ieee128 ## suffix
367# define __REDIRTO_ALT(function, suffix) \
368 __ ## function ## f128 ## suffix
369
370# define __MATHDECL_1(type, function, suffix, args) \
371 __MATHREDIR (type, function, suffix, args, __REDIRTO (function, suffix))
372# define __MATHDECL_ALIAS(type, function, suffix, args, alias) \
373 __MATHREDIR (type, function, suffix, args, __REDIRTO_ALT (alias, suffix))
339# endif374# endif
340375
341/* Include the file of declarations again, this time using `long double'376/* Include the file of declarations again, this time using `long double'
...@@ -348,11 +383,23 @@ extern long double __REDIRECT_NTH (nexttowardl,...@@ -348,11 +383,23 @@ extern long double __REDIRECT_NTH (nexttowardl,
348# define __MATH_DECLARE_LDOUBLE 1383# define __MATH_DECLARE_LDOUBLE 1
349# include <bits/mathcalls-helper-functions.h>384# include <bits/mathcalls-helper-functions.h>
350# include <bits/mathcalls.h>385# include <bits/mathcalls.h>
386
351# undef _Mdouble_387# undef _Mdouble_
352# undef __MATH_PRECNAME388# undef __MATH_PRECNAME
353# undef __MATH_DECLARING_DOUBLE389# undef __MATH_DECLARING_DOUBLE
354# undef __MATH_DECLARING_FLOATN390# undef __MATH_DECLARING_FLOATN
355391
392# if defined __LDBL_COMPAT \
393 || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
394# undef __REDIRTO
395# undef __REDIRTO_ALT
396# undef __MATHDECL_1
397# undef __MATHDECL_ALIAS
398# define __MATHDECL_1(type, function, suffix, args) \
399 __MATHDECL_1_IMPL(type, function, suffix, args)
400# define __MATHDECL_ALIAS(type, function, suffix, args, alias) \
401 __MATHDECL_1(type, function, suffix, args)
402# endif
356# endif /* !(__NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT */403# endif /* !(__NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT */
357404
358#endif /* Use ISO C99. */405#endif /* Use ISO C99. */
...@@ -479,7 +526,9 @@ extern long double __REDIRECT_NTH (nexttowardl,...@@ -479,7 +526,9 @@ extern long double __REDIRECT_NTH (nexttowardl,
479# undef __MATH_DECLARING_FLOATN526# undef __MATH_DECLARING_FLOATN
480#endif /* __HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC). */527#endif /* __HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC). */
481528
529#undef __MATHDECL_1_IMPL
482#undef __MATHDECL_1530#undef __MATHDECL_1
531#undef __MATHDECL_ALIAS
483#undef __MATHDECL532#undef __MATHDECL
484#undef __MATHCALL533#undef __MATHCALL
485534
...@@ -511,6 +560,11 @@ extern long double __REDIRECT_NTH (nexttowardl,...@@ -511,6 +560,11 @@ extern long double __REDIRECT_NTH (nexttowardl,
511# ifdef __LDBL_COMPAT560# ifdef __LDBL_COMPAT
512# define __MATHCALL_REDIR_NAME(name) f ## name561# define __MATHCALL_REDIR_NAME(name) f ## name
513# undef __MATHCALL_NARROW562# undef __MATHCALL_NARROW
563# define __MATHCALL_NARROW(func, redir, nargs) \
564 __MATHCALL_NARROW_REDIR (func, redir, nargs)
565# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
566# define __MATHCALL_REDIR_NAME(name) __ ## f32 ## name ## ieee128
567# undef __MATHCALL_NARROW
514# define __MATHCALL_NARROW(func, redir, nargs) \568# define __MATHCALL_NARROW(func, redir, nargs) \
515 __MATHCALL_NARROW_REDIR (func, redir, nargs)569 __MATHCALL_NARROW_REDIR (func, redir, nargs)
516# endif570# endif
...@@ -518,7 +572,8 @@ extern long double __REDIRECT_NTH (nexttowardl,...@@ -518,7 +572,8 @@ extern long double __REDIRECT_NTH (nexttowardl,
518# undef _Mret_572# undef _Mret_
519# undef _Marg_573# undef _Marg_
520# undef __MATHCALL_NAME574# undef __MATHCALL_NAME
521# ifdef __LDBL_COMPAT575# if defined __LDBL_COMPAT \
576 || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
522# undef __MATHCALL_REDIR_NAME577# undef __MATHCALL_REDIR_NAME
523# undef __MATHCALL_NARROW578# undef __MATHCALL_NARROW
524# define __MATHCALL_NARROW(func, redir, nargs) \579# define __MATHCALL_NARROW(func, redir, nargs) \
...@@ -531,6 +586,11 @@ extern long double __REDIRECT_NTH (nexttowardl,...@@ -531,6 +586,11 @@ extern long double __REDIRECT_NTH (nexttowardl,
531# ifdef __LDBL_COMPAT586# ifdef __LDBL_COMPAT
532# define __MATHCALL_REDIR_NAME(name) __nldbl_d ## name ## l587# define __MATHCALL_REDIR_NAME(name) __nldbl_d ## name ## l
533# undef __MATHCALL_NARROW588# undef __MATHCALL_NARROW
589# define __MATHCALL_NARROW(func, redir, nargs) \
590 __MATHCALL_NARROW_REDIR (func, redir, nargs)
591# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
592# define __MATHCALL_REDIR_NAME(name) __ ## f64 ## name ## ieee128
593# undef __MATHCALL_NARROW
534# define __MATHCALL_NARROW(func, redir, nargs) \594# define __MATHCALL_NARROW(func, redir, nargs) \
535 __MATHCALL_NARROW_REDIR (func, redir, nargs)595 __MATHCALL_NARROW_REDIR (func, redir, nargs)
536# endif596# endif
...@@ -538,7 +598,8 @@ extern long double __REDIRECT_NTH (nexttowardl,...@@ -538,7 +598,8 @@ extern long double __REDIRECT_NTH (nexttowardl,
538# undef _Mret_598# undef _Mret_
539# undef _Marg_599# undef _Marg_
540# undef __MATHCALL_NAME600# undef __MATHCALL_NAME
541# ifdef __LDBL_COMPAT601# if defined __LDBL_COMPAT \
602 || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
542# undef __MATHCALL_REDIR_NAME603# undef __MATHCALL_REDIR_NAME
543# undef __MATHCALL_NARROW604# undef __MATHCALL_NARROW
544# define __MATHCALL_NARROW(func, redir, nargs) \605# define __MATHCALL_NARROW(func, redir, nargs) \
...@@ -1196,13 +1257,6 @@ iszero (__T __val)...@@ -1196,13 +1257,6 @@ iszero (__T __val)
1196# error "M_* values needed for _Float128x"1257# error "M_* values needed for _Float128x"
1197#endif1258#endif
11981259
1199/* When compiling in strict ISO C compatible mode we must not use the
1200 inline functions since they, among other things, do not set the
1201 `errno' variable correctly. */
1202#if defined __STRICT_ANSI__ && !defined __NO_MATH_INLINES
1203# define __NO_MATH_INLINES 1
1204#endif
1205
1206#ifdef __USE_ISOC991260#ifdef __USE_ISOC99
1207# if __GNUC_PREREQ (3, 1)1261# if __GNUC_PREREQ (3, 1)
1208/* ISO C99 defines some macros to compare number while taking care for1262/* ISO C99 defines some macros to compare number while taking care for
...@@ -1240,12 +1294,6 @@ iszero (__T __val)...@@ -1240,12 +1294,6 @@ iszero (__T __val)
1240# endif1294# endif
1241#endif1295#endif
12421296
1243/* Get machine-dependent inline versions (if there are any). */
1244#ifdef __USE_EXTERN_INLINES
1245# include <bits/mathinline.h>
1246#endif
1247
1248
1249#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)1297#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
1250/* An expression whose type has the widest of the evaluation formats1298/* An expression whose type has the widest of the evaluation formats
1251 of X and Y (which are of floating-point types). */1299 of X and Y (which are of floating-point types). */
lib/libc/include/generic-glibc/monetary.h+2-1
...@@ -50,7 +50,8 @@ extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,...@@ -50,7 +50,8 @@ extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
50 __THROW __attribute_format_strfmon__ (4, 5);50 __THROW __attribute_format_strfmon__ (4, 5);
51#endif51#endif
5252
53#ifdef __LDBL_COMPAT53#include <bits/floatn.h>
54#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
54# include <bits/monetary-ldbl.h>55# include <bits/monetary-ldbl.h>
55#endif56#endif
5657
lib/libc/include/generic-glibc/netinet/icmp6.h+4-4
...@@ -85,16 +85,16 @@ struct icmp6_hdr...@@ -85,16 +85,16 @@ struct icmp6_hdr
85#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */85#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */
8686
87#define ICMP6_FILTER_WILLPASS(type, filterp) \87#define ICMP6_FILTER_WILLPASS(type, filterp) \
88 ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)88 ((((filterp)->icmp6_filt[(type) >> 5]) & (1U << ((type) & 31))) == 0)
8989
90#define ICMP6_FILTER_WILLBLOCK(type, filterp) \90#define ICMP6_FILTER_WILLBLOCK(type, filterp) \
91 ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)91 ((((filterp)->icmp6_filt[(type) >> 5]) & (1U << ((type) & 31))) != 0)
9292
93#define ICMP6_FILTER_SETPASS(type, filterp) \93#define ICMP6_FILTER_SETPASS(type, filterp) \
94 ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31))))94 ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1U << ((type) & 31))))
9595
96#define ICMP6_FILTER_SETBLOCK(type, filterp) \96#define ICMP6_FILTER_SETBLOCK(type, filterp) \
97 ((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31))))97 ((((filterp)->icmp6_filt[(type) >> 5]) |= (1U << ((type) & 31))))
9898
99#define ICMP6_FILTER_SETPASSALL(filterp) \99#define ICMP6_FILTER_SETPASSALL(filterp) \
100 memset (filterp, 0, sizeof (struct icmp6_filter));100 memset (filterp, 0, sizeof (struct icmp6_filter));
lib/libc/include/generic-glibc/netinet/in.h+4
...@@ -87,8 +87,12 @@ enum...@@ -87,8 +87,12 @@ enum
87#define IPPROTO_UDPLITE IPPROTO_UDPLITE87#define IPPROTO_UDPLITE IPPROTO_UDPLITE
88 IPPROTO_MPLS = 137, /* MPLS in IP. */88 IPPROTO_MPLS = 137, /* MPLS in IP. */
89#define IPPROTO_MPLS IPPROTO_MPLS89#define IPPROTO_MPLS IPPROTO_MPLS
90 IPPROTO_ETHERNET = 143, /* Ethernet-within-IPv6 Encapsulation. */
91#define IPPROTO_ETHERNET IPPROTO_ETHERNET
90 IPPROTO_RAW = 255, /* Raw IP packets. */92 IPPROTO_RAW = 255, /* Raw IP packets. */
91#define IPPROTO_RAW IPPROTO_RAW93#define IPPROTO_RAW IPPROTO_RAW
94 IPPROTO_MPTCP = 262, /* Multipath TCP connection. */
95#define IPPROTO_MPTCP IPPROTO_MPTCP
92 IPPROTO_MAX96 IPPROTO_MAX
93 };97 };
9498
lib/libc/include/generic-glibc/nss.h+201-2
...@@ -19,10 +19,12 @@...@@ -19,10 +19,12 @@
19 and for implementors of new services. */19 and for implementors of new services. */
2020
21#ifndef _NSS_H21#ifndef _NSS_H
22#define _NSS_H 122#define _NSS_H 1
2323
24#include <features.h>24#include <features.h>
25#include <stddef.h>
25#include <stdint.h>26#include <stdint.h>
27#include <sys/types.h>
2628
2729
28__BEGIN_DECLS30__BEGIN_DECLS
...@@ -56,7 +58,204 @@ struct gaih_addrtuple...@@ -56,7 +58,204 @@ struct gaih_addrtuple
56 Attention: Using this function repeatedly will slowly eat up the58 Attention: Using this function repeatedly will slowly eat up the
57 whole memory since previous selection data cannot be freed. */59 whole memory since previous selection data cannot be freed. */
58extern int __nss_configure_lookup (const char *__dbname,60extern int __nss_configure_lookup (const char *__dbname,
59 const char *__string) __THROW;61 const char *__string) __THROW;
62
63/* NSS-related types. */
64struct __netgrent;
65struct aliasent;
66struct ether_addr;
67struct etherent;
68struct group;
69struct hostent;
70struct netent;
71struct passwd;
72struct protoent;
73struct rpcent;
74struct servent;
75struct sgrp;
76struct spwd;
77struct traced_file;
78
79/* Types of functions exported from NSS service modules. */
80typedef enum nss_status nss_endaliasent (void);
81typedef enum nss_status nss_endetherent (void);
82typedef enum nss_status nss_endgrent (void);
83typedef enum nss_status nss_endhostent (void);
84typedef enum nss_status nss_endnetent (void);
85typedef enum nss_status nss_endnetgrent (struct __netgrent *);
86typedef enum nss_status nss_endprotoent (void);
87typedef enum nss_status nss_endpwent (void);
88typedef enum nss_status nss_endrpcent (void);
89typedef enum nss_status nss_endservent (void);
90typedef enum nss_status nss_endsgent (void);
91typedef enum nss_status nss_endspent (void);
92typedef enum nss_status nss_getaliasbyname_r (const char *, struct aliasent *,
93 char *, size_t, int *);
94typedef enum nss_status nss_getaliasent_r (struct aliasent *,
95 char *, size_t, int *);
96typedef enum nss_status nss_getcanonname_r (const char *, char *, size_t,
97 char **, int *, int *);
98typedef enum nss_status nss_getetherent_r (struct etherent *,
99 char *, size_t, int *);
100typedef enum nss_status nss_getgrent_r (struct group *, char *, size_t, int *);
101typedef enum nss_status nss_getgrgid_r (__gid_t, struct group *,
102 char *, size_t, int *);
103typedef enum nss_status nss_getgrnam_r (const char *, struct group *,
104 char *, size_t, int *);
105typedef enum nss_status nss_gethostbyaddr2_r (const void *, __socklen_t, int,
106 struct hostent *, char *, size_t,
107 int *, int *, int32_t *);
108typedef enum nss_status nss_gethostbyaddr_r (const void *, __socklen_t, int,
109 struct hostent *, char *, size_t,
110 int *, int *);
111typedef enum nss_status nss_gethostbyname2_r (const char *, int,
112 struct hostent *, char *, size_t,
113 int *, int *);
114typedef enum nss_status nss_gethostbyname3_r (const char *, int,
115 struct hostent *, char *, size_t,
116 int *, int *, int32_t *,
117 char **);
118typedef enum nss_status nss_gethostbyname4_r (const char *,
119 struct gaih_addrtuple **,
120 char *, size_t,
121 int *, int *, int32_t *);
122typedef enum nss_status nss_gethostbyname_r (const char *, struct hostent *,
123 char *, size_t, int *, int *);
124typedef enum nss_status nss_gethostent_r (struct hostent *, char *, size_t,
125 int *, int *);
126typedef enum nss_status nss_gethostton_r (const char *, struct etherent *,
127 char *, size_t, int *);
128typedef enum nss_status nss_getnetbyaddr_r (uint32_t, int, struct netent *,
129 char *, size_t, int *, int *);
130typedef enum nss_status nss_getnetbyname_r (const char *, struct netent *,
131 char *, size_t, int *, int *);
132typedef enum nss_status nss_getnetent_r (struct netent *,
133 char *, size_t, int *, int *);
134typedef enum nss_status nss_getnetgrent_r (struct __netgrent *,
135 char *, size_t, int *);
136typedef enum nss_status nss_getntohost_r (const struct ether_addr *,
137 struct etherent *, char *, size_t,
138 int *);
139typedef enum nss_status nss_getprotobyname_r (const char *, struct protoent *,
140 char *, size_t, int *);
141typedef enum nss_status nss_getprotobynumber_r (int, struct protoent *,
142 char *, size_t, int *);
143typedef enum nss_status nss_getprotoent_r (struct protoent *,
144 char *, size_t, int *);
145typedef enum nss_status nss_getpublickey (const char *, char *, int *);
146typedef enum nss_status nss_getpwent_r (struct passwd *,
147 char *, size_t, int *);
148typedef enum nss_status nss_getpwnam_r (const char *, struct passwd *,
149 char *, size_t, int *);
150typedef enum nss_status nss_getpwuid_r (__uid_t, struct passwd *,
151 char *, size_t, int *);
152typedef enum nss_status nss_getrpcbyname_r (const char *, struct rpcent *,
153 char *, size_t, int *);
154typedef enum nss_status nss_getrpcbynumber_r (int, struct rpcent *,
155 char *, size_t, int *);
156typedef enum nss_status nss_getrpcent_r (struct rpcent *,
157 char *, size_t, int *);
158typedef enum nss_status nss_getsecretkey (const char *, char *, char *, int *);
159typedef enum nss_status nss_getservbyname_r (const char *, const char *,
160 struct servent *, char *, size_t,
161 int *);
162typedef enum nss_status nss_getservbyport_r (int, const char *,
163 struct servent *, char *, size_t,
164 int *);
165typedef enum nss_status nss_getservent_r (struct servent *, char *, size_t,
166 int *);
167typedef enum nss_status nss_getsgent_r (struct sgrp *, char *, size_t, int *);
168typedef enum nss_status nss_getsgnam_r (const char *, struct sgrp *,
169 char *, size_t, int *);
170typedef enum nss_status nss_getspent_r (struct spwd *, char *, size_t, int *);
171typedef enum nss_status nss_getspnam_r (const char *, struct spwd *,
172 char *, size_t, int *);
173typedef void nss_init (void (*) (size_t, struct traced_file *));
174typedef enum nss_status nss_initgroups_dyn (const char *, __gid_t, long int *,
175 long int *, __gid_t **, long int,
176 int *);
177typedef enum nss_status nss_netname2user (char [], __uid_t *, __gid_t *,
178 int *, __gid_t *, int *);
179typedef enum nss_status nss_setaliasent (void);
180typedef enum nss_status nss_setetherent (int);
181typedef enum nss_status nss_setgrent (int);
182typedef enum nss_status nss_sethostent (int);
183typedef enum nss_status nss_setnetent (int);
184typedef enum nss_status nss_setnetgrent (const char *, struct __netgrent *);
185typedef enum nss_status nss_setprotoent (int);
186typedef enum nss_status nss_setpwent (int);
187typedef enum nss_status nss_setrpcent (int);
188typedef enum nss_status nss_setservent (int);
189typedef enum nss_status nss_setsgent (int);
190typedef enum nss_status nss_setspent (int);
191
192/* Declare all NSS functions for MODULE. */
193#define NSS_DECLARE_MODULE_FUNCTIONS(module) \
194 extern nss_endaliasent _nss_##module##_endaliasent; \
195 extern nss_endetherent _nss_##module##_endetherent; \
196 extern nss_endgrent _nss_##module##_endgrent; \
197 extern nss_endhostent _nss_##module##_endhostent; \
198 extern nss_endnetent _nss_##module##_endnetent; \
199 extern nss_endnetgrent _nss_##module##__endnetgrent; \
200 extern nss_endprotoent _nss_##module##_endprotoent; \
201 extern nss_endpwent _nss_##module##_endpwent; \
202 extern nss_endrpcent _nss_##module##_endrpcent; \
203 extern nss_endservent _nss_##module##_endservent; \
204 extern nss_endsgent _nss_##module##_endsgent; \
205 extern nss_endspent _nss_##module##_endspent; \
206 extern nss_getaliasbyname_r _nss_##module##_getaliasbyname_r; \
207 extern nss_getaliasent_r _nss_##module##_getaliasent_r; \
208 extern nss_getcanonname_r _nss_##module##_getcanonname_r; \
209 extern nss_getetherent_r _nss_##module##_getetherent_r; \
210 extern nss_getgrent_r _nss_##module##_getgrent_r; \
211 extern nss_getgrgid_r _nss_##module##_getgrgid_r; \
212 extern nss_getgrnam_r _nss_##module##_getgrnam_r; \
213 extern nss_gethostbyaddr2_r _nss_##module##_gethostbyaddr2_r; \
214 extern nss_gethostbyaddr_r _nss_##module##_gethostbyaddr_r; \
215 extern nss_gethostbyname2_r _nss_##module##_gethostbyname2_r; \
216 extern nss_gethostbyname3_r _nss_##module##_gethostbyname3_r; \
217 extern nss_gethostbyname4_r _nss_##module##_gethostbyname4_r; \
218 extern nss_gethostbyname_r _nss_##module##_gethostbyname_r; \
219 extern nss_gethostent_r _nss_##module##_gethostent_r; \
220 extern nss_gethostton_r _nss_##module##_gethostton_r; \
221 extern nss_getnetbyaddr_r _nss_##module##_getnetbyaddr_r; \
222 extern nss_getnetbyname_r _nss_##module##_getnetbyname_r; \
223 extern nss_getnetent_r _nss_##module##_getnetent_r; \
224 extern nss_getnetgrent_r _nss_##module##_getnetgrent_r; \
225 extern nss_getntohost_r _nss_##module##_getntohost_r; \
226 extern nss_getprotobyname_r _nss_##module##_getprotobyname_r; \
227 extern nss_getprotobynumber_r _nss_##module##_getprotobynumber_r; \
228 extern nss_getprotoent_r _nss_##module##_getprotoent_r; \
229 extern nss_getpublickey _nss_##module##_getpublickey; \
230 extern nss_getpwent_r _nss_##module##_getpwent_r; \
231 extern nss_getpwnam_r _nss_##module##_getpwnam_r; \
232 extern nss_getpwuid_r _nss_##module##_getpwuid_r; \
233 extern nss_getrpcbyname_r _nss_##module##_getrpcbyname_r; \
234 extern nss_getrpcbynumber_r _nss_##module##_getrpcbynumber_r; \
235 extern nss_getrpcent_r _nss_##module##_getrpcent_r; \
236 extern nss_getsecretkey _nss_##module##_getsecretkey; \
237 extern nss_getservbyname_r _nss_##module##_getservbyname_r; \
238 extern nss_getservbyport_r _nss_##module##_getservbyport_r; \
239 extern nss_getservent_r _nss_##module##_getservent_r; \
240 extern nss_getsgent_r _nss_##module##_getsgent_r; \
241 extern nss_getsgnam_r _nss_##module##_getsgnam_r; \
242 extern nss_getspent_r _nss_##module##_getspent_r; \
243 extern nss_getspnam_r _nss_##module##_getspnam_r; \
244 extern nss_init _nss_##module##_init; \
245 extern nss_initgroups_dyn _nss_##module##_initgroups_dyn; \
246 extern nss_netname2user _nss_##module##_netname2user; \
247 extern nss_setaliasent _nss_##module##_setaliasent; \
248 extern nss_setetherent _nss_##module##_setetherent; \
249 extern nss_setgrent _nss_##module##_setgrent; \
250 extern nss_sethostent _nss_##module##_sethostent; \
251 extern nss_setnetent _nss_##module##_setnetent; \
252 extern nss_setnetgrent _nss_##module##_setnetgrent; \
253 extern nss_setprotoent _nss_##module##_setprotoent; \
254 extern nss_setpwent _nss_##module##_setpwent; \
255 extern nss_setrpcent _nss_##module##_setrpcent; \
256 extern nss_setservent _nss_##module##_setservent; \
257 extern nss_setsgent _nss_##module##_setsgent; \
258 extern nss_setspent _nss_##module##_setspent; \
60259
61__END_DECLS260__END_DECLS
62261
lib/libc/include/generic-glibc/printf.h+2-1
...@@ -182,7 +182,8 @@ extern int printf_size_info (const struct printf_info *__restrict...@@ -182,7 +182,8 @@ extern int printf_size_info (const struct printf_info *__restrict
182 __info, size_t __n, int *__restrict __argtypes)182 __info, size_t __n, int *__restrict __argtypes)
183 __THROW;183 __THROW;
184184
185#ifdef __LDBL_COMPAT185#include <bits/floatn.h>
186#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
186# include <bits/printf-ldbl.h>187# include <bits/printf-ldbl.h>
187#endif188#endif
188189
lib/libc/include/generic-glibc/pthread.h+15
...@@ -27,6 +27,7 @@...@@ -27,6 +27,7 @@
27#include <bits/setjmp.h>27#include <bits/setjmp.h>
28#include <bits/wordsize.h>28#include <bits/wordsize.h>
29#include <bits/types/struct_timespec.h>29#include <bits/types/struct_timespec.h>
30#include <bits/types/__sigset_t.h>
3031
3132
32/* Detach state. */33/* Detach state. */
...@@ -385,6 +386,20 @@ extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,...@@ -385,6 +386,20 @@ extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
385extern int pthread_getattr_default_np (pthread_attr_t *__attr)386extern int pthread_getattr_default_np (pthread_attr_t *__attr)
386 __THROW __nonnull ((1));387 __THROW __nonnull ((1));
387388
389/* Store *SIGMASK as the signal mask for the new thread in *ATTR. */
390extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
391 const __sigset_t *sigmask);
392
393/* Store the signal mask of *ATTR in *SIGMASK. If there is no signal
394 mask stored, return PTHREAD_ATTR_NOSIGMASK_NP. Return zero on
395 success. */
396extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
397 __sigset_t *sigmask);
398
399/* Special return value from pthread_attr_getsigmask_np if the signal
400 mask has not been set. */
401#define PTHREAD_ATTR_NO_SIGMASK_NP (-1)
402
388/* Set the default attributes to be used by pthread_create in this403/* Set the default attributes to be used by pthread_create in this
389 process. */404 process. */
390extern int pthread_setattr_default_np (const pthread_attr_t *__attr)405extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
lib/libc/include/generic-glibc/signal.h+17-14
...@@ -27,7 +27,7 @@...@@ -27,7 +27,7 @@
27__BEGIN_DECLS27__BEGIN_DECLS
2828
29#include <bits/types.h>29#include <bits/types.h>
30#include <bits/signum.h>30#include <bits/signum-generic.h>
3131
32#include <bits/types/sig_atomic_t.h>32#include <bits/types/sig_atomic_t.h>
3333
...@@ -148,7 +148,8 @@ extern void psiginfo (const siginfo_t *__pinfo, const char *__s);...@@ -148,7 +148,8 @@ extern void psiginfo (const siginfo_t *__pinfo, const char *__s);
148148
149#ifdef __USE_XOPEN_EXTENDED149#ifdef __USE_XOPEN_EXTENDED
150# ifdef __GNUC__150# ifdef __GNUC__
151extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");151extern int sigpause (int __sig) __asm__ ("__xpg_sigpause")
152 __attribute_deprecated_msg__ ("Use the sigsuspend function instead");
152# else153# else
153extern int __sigpause (int __sig_or_mask, int __is_sig);154extern int __sigpause (int __sig_or_mask, int __is_sig);
154/* Remove a signal from the signal mask and suspend the process. */155/* Remove a signal from the signal mask and suspend the process. */
...@@ -164,7 +165,9 @@ extern int __sigpause (int __sig_or_mask, int __is_sig);...@@ -164,7 +165,9 @@ extern int __sigpause (int __sig_or_mask, int __is_sig);
164 simply do not work in many situations. Use `sigprocmask' instead. */165 simply do not work in many situations. Use `sigprocmask' instead. */
165166
166/* Compute mask for signal SIG. */167/* Compute mask for signal SIG. */
167# define sigmask(sig) ((int)(1u << ((sig) - 1)))168# define sigmask(sig) \
169 __glibc_macro_warning ("sigmask is deprecated") \
170 ((int)(1u << ((sig) - 1)))
168171
169/* Block signals in MASK, returning the old mask. */172/* Block signals in MASK, returning the old mask. */
170extern int sigblock (int __mask) __THROW __attribute_deprecated__;173extern int sigblock (int __mask) __THROW __attribute_deprecated__;
...@@ -281,12 +284,6 @@ extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val)...@@ -281,12 +284,6 @@ extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val)
281284
282#ifdef __USE_MISC285#ifdef __USE_MISC
283286
284/* Names of the signals. This variable exists only for compatibility.
285 Use `strsignal' instead (see <string.h>). */
286extern const char *const _sys_siglist[_NSIG];
287extern const char *const sys_siglist[_NSIG];
288
289
290/* Get machine-dependent `struct sigcontext' and signal subcodes. */287/* Get machine-dependent `struct sigcontext' and signal subcodes. */
291# include <bits/sigcontext.h>288# include <bits/sigcontext.h>
292289
...@@ -311,7 +308,8 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;...@@ -311,7 +308,8 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;
311/* If INTERRUPT is nonzero, make signal SIG interrupt system calls308/* If INTERRUPT is nonzero, make signal SIG interrupt system calls
312 (causing them to fail with EINTR); if INTERRUPT is zero, make system309 (causing them to fail with EINTR); if INTERRUPT is zero, make system
313 calls be restarted after signal SIG. */310 calls be restarted after signal SIG. */
314extern int siginterrupt (int __sig, int __interrupt) __THROW;311extern int siginterrupt (int __sig, int __interrupt) __THROW
312 __attribute_deprecated_msg__ ("Use sigaction with SA_RESTART instead");
315313
316# include <bits/sigstack.h>314# include <bits/sigstack.h>
317# include <bits/ss_flags.h>315# include <bits/ss_flags.h>
...@@ -340,16 +338,21 @@ extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)...@@ -340,16 +338,21 @@ extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
340/* Simplified interface for signal management. */338/* Simplified interface for signal management. */
341339
342/* Add SIG to the calling process' signal mask. */340/* Add SIG to the calling process' signal mask. */
343extern int sighold (int __sig) __THROW;341extern int sighold (int __sig) __THROW
342 __attribute_deprecated_msg__ ("Use the sigprocmask function instead");
344343
345/* Remove SIG from the calling process' signal mask. */344/* Remove SIG from the calling process' signal mask. */
346extern int sigrelse (int __sig) __THROW;345extern int sigrelse (int __sig) __THROW
346 __attribute_deprecated_msg__ ("Use the sigprocmask function instead");
347347
348/* Set the disposition of SIG to SIG_IGN. */348/* Set the disposition of SIG to SIG_IGN. */
349extern int sigignore (int __sig) __THROW;349extern int sigignore (int __sig) __THROW
350 __attribute_deprecated_msg__ ("Use the signal function instead");
350351
351/* Set the disposition of SIG. */352/* Set the disposition of SIG. */
352extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __THROW;353extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __THROW
354 __attribute_deprecated_msg__
355 ("Use the signal and sigprocmask functions instead");
353#endif356#endif
354357
355#if defined __USE_POSIX199506 || defined __USE_UNIX98358#if defined __USE_POSIX199506 || defined __USE_UNIX98
lib/libc/include/generic-glibc/stdio.h+14-13
...@@ -400,9 +400,12 @@ extern int sscanf (const char *__restrict __s,...@@ -400,9 +400,12 @@ extern int sscanf (const char *__restrict __s,
400 const char *__restrict __format, ...) __THROW;400 const char *__restrict __format, ...) __THROW;
401401
402/* For historical reasons, the C99-compliant versions of the scanf402/* For historical reasons, the C99-compliant versions of the scanf
403 functions are at alternative names. When __LDBL_COMPAT is in403 functions are at alternative names. When __LDBL_COMPAT or
404 effect, this is handled in bits/stdio-ldbl.h. */404 __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
405#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT405 bits/stdio-ldbl.h. */
406#include <bits/floatn.h>
407#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
408 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
406# ifdef __REDIRECT409# ifdef __REDIRECT
407extern int __REDIRECT (fscanf, (FILE *__restrict __stream,410extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
408 const char *__restrict __format, ...),411 const char *__restrict __format, ...),
...@@ -447,7 +450,8 @@ extern int vsscanf (const char *__restrict __s,...@@ -447,7 +450,8 @@ extern int vsscanf (const char *__restrict __s,
447450
448/* Same redirection as above for the v*scanf family. */451/* Same redirection as above for the v*scanf family. */
449# if !__GLIBC_USE (DEPRECATED_SCANF)452# if !__GLIBC_USE (DEPRECATED_SCANF)
450# if defined __REDIRECT && !defined __LDBL_COMPAT453# if defined __REDIRECT && !defined __LDBL_COMPAT \
454 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
451extern int __REDIRECT (vfscanf,455extern int __REDIRECT (vfscanf,
452 (FILE *__restrict __s,456 (FILE *__restrict __s,
453 const char *__restrict __format, __gnuc_va_list __arg),457 const char *__restrict __format, __gnuc_va_list __arg),
...@@ -562,7 +566,7 @@ extern int putw (int __w, FILE *__stream);...@@ -562,7 +566,7 @@ extern int putw (int __w, FILE *__stream);
562 This function is a possible cancellation point and therefore not566 This function is a possible cancellation point and therefore not
563 marked with __THROW. */567 marked with __THROW. */
564extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)568extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
565 __wur;569 __wur __attr_access ((__write_only__, 1, 2));
566570
567#if __GLIBC_USE (DEPRECATED_GETS)571#if __GLIBC_USE (DEPRECATED_GETS)
568/* Get a newline-terminated string from stdin, removing the newline.572/* Get a newline-terminated string from stdin, removing the newline.
...@@ -585,7 +589,8 @@ extern char *gets (char *__s) __wur __attribute_deprecated__;...@@ -585,7 +589,8 @@ extern char *gets (char *__s) __wur __attribute_deprecated__;
585 or due to the implementation it is a cancellation point and589 or due to the implementation it is a cancellation point and
586 therefore not marked with __THROW. */590 therefore not marked with __THROW. */
587extern char *fgets_unlocked (char *__restrict __s, int __n,591extern char *fgets_unlocked (char *__restrict __s, int __n,
588 FILE *__restrict __stream) __wur;592 FILE *__restrict __stream) __wur
593 __attr_access ((__write_only__, 1, 2));
589#endif594#endif
590595
591596
...@@ -774,12 +779,6 @@ extern int ferror_unlocked (FILE *__stream) __THROW __wur;...@@ -774,12 +779,6 @@ extern int ferror_unlocked (FILE *__stream) __THROW __wur;
774 marked with __THROW. */779 marked with __THROW. */
775extern void perror (const char *__s);780extern void perror (const char *__s);
776781
777/* Provide the declarations for `sys_errlist' and `sys_nerr' if they
778 are available on this system. Even if available, these variables
779 should not be used directly. The `strerror' function provides
780 all the necessary functionality. */
781#include <bits/sys_errlist.h>
782
783782
784#ifdef __USE_POSIX783#ifdef __USE_POSIX
785/* Return the system file descriptor for STREAM. */784/* Return the system file descriptor for STREAM. */
...@@ -866,7 +865,9 @@ extern int __overflow (FILE *, int);...@@ -866,7 +865,9 @@ extern int __overflow (FILE *, int);
866#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function865#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
867# include <bits/stdio2.h>866# include <bits/stdio2.h>
868#endif867#endif
869#ifdef __LDBL_COMPAT868
869#include <bits/floatn.h>
870#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
870# include <bits/stdio-ldbl.h>871# include <bits/stdio-ldbl.h>
871#endif872#endif
872873
lib/libc/include/generic-glibc/stdlib.h+9-6
...@@ -397,7 +397,7 @@ extern long int a64l (const char *__s)...@@ -397,7 +397,7 @@ extern long int a64l (const char *__s)
397 `initstate' and `setstate' functions are those from BSD Unices.397 `initstate' and `setstate' functions are those from BSD Unices.
398 The `rand' and `srand' functions are required by the ANSI standard.398 The `rand' and `srand' functions are required by the ANSI standard.
399 We provide both interfaces to the same random number generator. */399 We provide both interfaces to the same random number generator. */
400/* Return a random long integer between 0 and RAND_MAX inclusive. */400/* Return a random long integer between 0 and 2^31-1 inclusive. */
401extern long int random (void) __THROW;401extern long int random (void) __THROW;
402402
403/* Seed the random number generator with the given number. */403/* Seed the random number generator with the given number. */
...@@ -931,12 +931,13 @@ extern int wctomb (char *__s, wchar_t __wchar) __THROW;...@@ -931,12 +931,13 @@ extern int wctomb (char *__s, wchar_t __wchar) __THROW;
931931
932/* Convert a multibyte string to a wide char string. */932/* Convert a multibyte string to a wide char string. */
933extern size_t mbstowcs (wchar_t *__restrict __pwcs,933extern size_t mbstowcs (wchar_t *__restrict __pwcs,
934 const char *__restrict __s, size_t __n) __THROW;934 const char *__restrict __s, size_t __n) __THROW
935 __attr_access ((__read_only__, 2));
935/* Convert a wide char string to multibyte string. */936/* Convert a wide char string to multibyte string. */
936extern size_t wcstombs (char *__restrict __s,937extern size_t wcstombs (char *__restrict __s,
937 const wchar_t *__restrict __pwcs, size_t __n)938 const wchar_t *__restrict __pwcs, size_t __n)
938 __THROW;939 __THROW
939940 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
940941
941#ifdef __USE_MISC942#ifdef __USE_MISC
942/* Determine whether the string value of RESPONSE matches the affirmation943/* Determine whether the string value of RESPONSE matches the affirmation
...@@ -990,7 +991,7 @@ extern char *ptsname (int __fd) __THROW __wur;...@@ -990,7 +991,7 @@ extern char *ptsname (int __fd) __THROW __wur;
990 terminal associated with the master FD is open on in BUF.991 terminal associated with the master FD is open on in BUF.
991 Return 0 on success, otherwise an error number. */992 Return 0 on success, otherwise an error number. */
992extern int ptsname_r (int __fd, char *__buf, size_t __buflen)993extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
993 __THROW __nonnull ((2));994 __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3));
994995
995/* Open a master pseudo terminal and return its file descriptor. */996/* Open a master pseudo terminal and return its file descriptor. */
996extern int getpt (void);997extern int getpt (void);
...@@ -1016,7 +1017,9 @@ extern int ttyslot (void) __THROW;...@@ -1016,7 +1017,9 @@ extern int ttyslot (void) __THROW;
1016#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function1017#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
1017# include <bits/stdlib.h>1018# include <bits/stdlib.h>
1018#endif1019#endif
1019#ifdef __LDBL_COMPAT1020
1021#include <bits/floatn.h>
1022#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
1020# include <bits/stdlib-ldbl.h>1023# include <bits/stdlib-ldbl.h>
1021#endif1024#endif
10221025
lib/libc/include/generic-glibc/string.h+36-12
...@@ -53,7 +53,7 @@ extern void *memmove (void *__dest, const void *__src, size_t __n)...@@ -53,7 +53,7 @@ extern void *memmove (void *__dest, const void *__src, size_t __n)
53#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC2X)53#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC2X)
54extern void *memccpy (void *__restrict __dest, const void *__restrict __src,54extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
55 int __c, size_t __n)55 int __c, size_t __n)
56 __THROW __nonnull ((1, 2));56 __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 4));
57#endif /* Misc || X/Open. */57#endif /* Misc || X/Open. */
5858
5959
...@@ -108,12 +108,15 @@ extern void *rawmemchr (const void *__s, int __c)...@@ -108,12 +108,15 @@ extern void *rawmemchr (const void *__s, int __c)
108/* Search N bytes of S for the final occurrence of C. */108/* Search N bytes of S for the final occurrence of C. */
109# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO109# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
110extern "C++" void *memrchr (void *__s, int __c, size_t __n)110extern "C++" void *memrchr (void *__s, int __c, size_t __n)
111 __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));111 __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1))
112 __attr_access ((__read_only__, 1, 3));
112extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)113extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
113 __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));114 __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1))
115 __attr_access ((__read_only__, 1, 3));
114# else116# else
115extern void *memrchr (const void *__s, int __c, size_t __n)117extern void *memrchr (const void *__s, int __c, size_t __n)
116 __THROW __attribute_pure__ __nonnull ((1));118 __THROW __attribute_pure__ __nonnull ((1))
119 __attr_access ((__read_only__, 1, 3));
117# endif120# endif
118#endif121#endif
119122
...@@ -146,7 +149,7 @@ extern int strcoll (const char *__s1, const char *__s2)...@@ -146,7 +149,7 @@ extern int strcoll (const char *__s1, const char *__s2)
146/* Put a transformation of SRC into no more than N bytes of DEST. */149/* Put a transformation of SRC into no more than N bytes of DEST. */
147extern size_t strxfrm (char *__restrict __dest,150extern size_t strxfrm (char *__restrict __dest,
148 const char *__restrict __src, size_t __n)151 const char *__restrict __src, size_t __n)
149 __THROW __nonnull ((2));152 __THROW __nonnull ((2)) __attr_access ((__write_only__, 1, 3));
150153
151#ifdef __USE_XOPEN2K8154#ifdef __USE_XOPEN2K8
152/* POSIX.1-2008 extended locale interface (see locale.h). */155/* POSIX.1-2008 extended locale interface (see locale.h). */
...@@ -158,7 +161,8 @@ extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l)...@@ -158,7 +161,8 @@ extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l)
158/* Put a transformation of SRC into no more than N bytes of DEST,161/* Put a transformation of SRC into no more than N bytes of DEST,
159 using sorting rules from L. */162 using sorting rules from L. */
160extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,163extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
161 locale_t __l) __THROW __nonnull ((2, 4));164 locale_t __l) __THROW __nonnull ((2, 4))
165 __attr_access ((__write_only__, 1, 3));
162#endif166#endif
163167
164#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \168#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \
...@@ -368,7 +372,9 @@ extern char *strcasestr (const char *__haystack, const char *__needle)...@@ -368,7 +372,9 @@ extern char *strcasestr (const char *__haystack, const char *__needle)
368 HAYSTACK is HAYSTACKLEN bytes long. */372 HAYSTACK is HAYSTACKLEN bytes long. */
369extern void *memmem (const void *__haystack, size_t __haystacklen,373extern void *memmem (const void *__haystack, size_t __haystacklen,
370 const void *__needle, size_t __needlelen)374 const void *__needle, size_t __needlelen)
371 __THROW __attribute_pure__ __nonnull ((1, 3));375 __THROW __attribute_pure__ __nonnull ((1, 3))
376 __attr_access ((__read_only__, 1, 2))
377 __attr_access ((__read_only__, 3, 4));
372378
373/* Copy N bytes of SRC to DEST, return pointer to bytes after the379/* Copy N bytes of SRC to DEST, return pointer to bytes after the
374 last written byte. */380 last written byte. */
...@@ -409,17 +415,25 @@ extern char *strerror (int __errnum) __THROW;...@@ -409,17 +415,25 @@ extern char *strerror (int __errnum) __THROW;
409# ifdef __REDIRECT_NTH415# ifdef __REDIRECT_NTH
410extern int __REDIRECT_NTH (strerror_r,416extern int __REDIRECT_NTH (strerror_r,
411 (int __errnum, char *__buf, size_t __buflen),417 (int __errnum, char *__buf, size_t __buflen),
412 __xpg_strerror_r) __nonnull ((2));418 __xpg_strerror_r) __nonnull ((2))
419 __attr_access ((__write_only__, 2, 3));
413# else420# else
414extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen)421extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen)
415 __THROW __nonnull ((2));422 __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3));
416# define strerror_r __xpg_strerror_r423# define strerror_r __xpg_strerror_r
417# endif424# endif
418# else425# else
419/* If a temporary buffer is required, at most BUFLEN bytes of BUF will be426/* If a temporary buffer is required, at most BUFLEN bytes of BUF will be
420 used. */427 used. */
421extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)428extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
422 __THROW __nonnull ((2)) __wur;429 __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3));
430# endif
431
432# ifdef __USE_GNU
433/* Return a string describing the meaning of tthe error in ERR. */
434extern const char *strerrordesc_np (int __err) __THROW;
435/* Return a string with the error name in ERR. */
436extern const char *strerrorname_np (int __err) __THROW;
423# endif437# endif
424#endif438#endif
425439
...@@ -433,7 +447,8 @@ extern char *strerror_l (int __errnum, locale_t __l) __THROW;...@@ -433,7 +447,8 @@ extern char *strerror_l (int __errnum, locale_t __l) __THROW;
433447
434/* Set N bytes of S to 0. The compiler will not delete a call to this448/* Set N bytes of S to 0. The compiler will not delete a call to this
435 function, even if S is dead after the call. */449 function, even if S is dead after the call. */
436extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1));450extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1))
451 __attr_access ((__write_only__, 1, 2));
437452
438/* Return the next DELIM-delimited token from *STRINGP,453/* Return the next DELIM-delimited token from *STRINGP,
439 terminating it with a '\0', and update *STRINGP to point past it. */454 terminating it with a '\0', and update *STRINGP to point past it. */
...@@ -446,6 +461,14 @@ extern char *strsep (char **__restrict __stringp,...@@ -446,6 +461,14 @@ extern char *strsep (char **__restrict __stringp,
446/* Return a string describing the meaning of the signal number in SIG. */461/* Return a string describing the meaning of the signal number in SIG. */
447extern char *strsignal (int __sig) __THROW;462extern char *strsignal (int __sig) __THROW;
448463
464# ifdef __USE_GNU
465/* Return an abbreviation string for the signal number SIG. */
466extern const char *sigabbrev_np (int __sig) __THROW;
467/* Return a string describing the meaning of the signal number in SIG,
468 the result is not translated. */
469extern const char *sigdescr_np (int __sig) __THROW;
470# endif
471
449/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */472/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
450extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)473extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
451 __THROW __nonnull ((1, 2));474 __THROW __nonnull ((1, 2));
...@@ -471,7 +494,8 @@ extern int strverscmp (const char *__s1, const char *__s2)...@@ -471,7 +494,8 @@ extern int strverscmp (const char *__s1, const char *__s2)
471extern char *strfry (char *__string) __THROW __nonnull ((1));494extern char *strfry (char *__string) __THROW __nonnull ((1));
472495
473/* Frobnicate N bytes of S. */496/* Frobnicate N bytes of S. */
474extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1));497extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1))
498 __attr_access ((__write_only__, 1, 2));
475499
476# ifndef basename500# ifndef basename
477/* Return the file name within directory of FILENAME. We don't501/* Return the file name within directory of FILENAME. We don't
lib/libc/include/generic-glibc/sys/cdefs.h+47-2
...@@ -452,7 +452,37 @@...@@ -452,7 +452,37 @@
452#include <bits/wordsize.h>452#include <bits/wordsize.h>
453#include <bits/long-double.h>453#include <bits/long-double.h>
454454
455#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH455#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
456# ifdef __REDIRECT
457
458/* Alias name defined automatically. */
459# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir
460# define __LDBL_REDIR_DECL(name) \
461 extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
462
463/* Alias name defined automatically, with leading underscores. */
464# define __LDBL_REDIR2_DECL(name) \
465 extern __typeof (__##name) __##name \
466 __asm (__ASMNAME ("__" #name "ieee128"));
467
468/* Alias name defined manually. */
469# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1
470# define __LDBL_REDIR1_DECL(name, alias) \
471 extern __typeof (name) name __asm (__ASMNAME (#alias));
472
473# define __LDBL_REDIR1_NTH(name, proto, alias) \
474 __REDIRECT_NTH (name, proto, alias)
475# define __REDIRECT_NTH_LDBL(name, proto, alias) \
476 __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128)
477
478/* Unused. */
479# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl
480# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth
481
482# else
483_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform");
484# endif
485#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
456# define __LDBL_COMPAT 1486# define __LDBL_COMPAT 1
457# ifdef __REDIRECT487# ifdef __REDIRECT
458# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)488# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
...@@ -461,6 +491,8 @@...@@ -461,6 +491,8 @@
461# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)491# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
462# define __LDBL_REDIR_NTH(name, proto) \492# define __LDBL_REDIR_NTH(name, proto) \
463 __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)493 __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
494# define __LDBL_REDIR2_DECL(name) \
495 extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
464# define __LDBL_REDIR1_DECL(name, alias) \496# define __LDBL_REDIR1_DECL(name, alias) \
465 extern __typeof (name) name __asm (__ASMNAME (#alias));497 extern __typeof (name) name __asm (__ASMNAME (#alias));
466# define __LDBL_REDIR_DECL(name) \498# define __LDBL_REDIR_DECL(name) \
...@@ -471,11 +503,13 @@...@@ -471,11 +503,13 @@
471 __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)503 __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
472# endif504# endif
473#endif505#endif
474#if !defined __LDBL_COMPAT || !defined __REDIRECT506#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
507 || !defined __REDIRECT
475# define __LDBL_REDIR1(name, proto, alias) name proto508# define __LDBL_REDIR1(name, proto, alias) name proto
476# define __LDBL_REDIR(name, proto) name proto509# define __LDBL_REDIR(name, proto) name proto
477# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW510# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
478# define __LDBL_REDIR_NTH(name, proto) name proto __THROW511# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
512# define __LDBL_REDIR2_DECL(name)
479# define __LDBL_REDIR_DECL(name)513# define __LDBL_REDIR_DECL(name)
480# ifdef __REDIRECT514# ifdef __REDIRECT
481# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)515# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
...@@ -514,4 +548,15 @@...@@ -514,4 +548,15 @@
514# define __HAVE_GENERIC_SELECTION 0548# define __HAVE_GENERIC_SELECTION 0
515#endif549#endif
516550
551#if __GNUC_PREREQ (10, 0)
552/* Designates a 1-based positional argument ref-index of pointer type
553 that can be used to access size-index elements of the pointed-to
554 array according to access mode, or at least one element when
555 size-index is not provided:
556 access (access-mode, <ref-index> [, <size-index>]) */
557#define __attr_access(x) __attribute__ ((__access__ x))
558#else
559# define __attr_access(x)
560#endif
561
517#endif /* sys/cdefs.h */562#endif /* sys/cdefs.h */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/random.h+1
...@@ -25,6 +25,7 @@...@@ -25,6 +25,7 @@
25/* Flags for use with getrandom. */25/* Flags for use with getrandom. */
26#define GRND_NONBLOCK 0x0126#define GRND_NONBLOCK 0x01
27#define GRND_RANDOM 0x0227#define GRND_RANDOM 0x02
28#define GRND_INSECURE 0x04
2829
29__BEGIN_DECLS30__BEGIN_DECLS
3031
lib/libc/include/generic-glibc/sys/single_threaded.h created+33
...@@ -0,0 +1,33 @@
1/* Support for single-thread optimizations.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SINGLE_THREADED_H
20#define _SYS_SINGLE_THREADED_H
21
22#include <features.h>
23
24__BEGIN_DECLS
25
26/* If this variable is non-zero, then the current thread is the only
27 thread in the process image. If it is zero, the process might be
28 multi-threaded. */
29extern char __libc_single_threaded;
30
31__END_DECLS
32
33#endif /* _SYS_SINGLE_THREADED_H */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/sysctl.h deleted-76
...@@ -1,76 +0,0 @@
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SYS_SYSCTL_H
19#define _SYS_SYSCTL_H 1
20
21#warning "The <sys/sysctl.h> header is deprecated and will be removed."
22
23#include <features.h>
24#define __need_size_t
25#include <stddef.h>
26/* Prevent more kernel headers than necessary to be included. */
27#ifndef _LINUX_KERNEL_H
28# define _LINUX_KERNEL_H 1
29# define __undef_LINUX_KERNEL_H
30#endif
31#ifndef _LINUX_TYPES_H
32# define _LINUX_TYPES_H 1
33# define __undef_LINUX_TYPES_H
34#endif
35#ifndef _LINUX_LIST_H
36# define _LINUX_LIST_H 1
37# define __undef_LINUX_LIST_H
38#endif
39#ifndef __LINUX_COMPILER_H
40# define __LINUX_COMPILER_H 1
41# define __user
42# define __undef__LINUX_COMPILER_H
43#endif
44
45#include <linux/sysctl.h>
46
47#ifdef __undef_LINUX_KERNEL_H
48# undef _LINUX_KERNEL_H
49# undef __undef_LINUX_KERNEL_H
50#endif
51#ifdef __undef_LINUX_TYPES_H
52# undef _LINUX_TYPES_H
53# undef __undef_LINUX_TYPES_H
54#endif
55#ifdef __undef_LINUX_LIST_H
56# undef _LINUX_LIST_H
57# undef __undef_LINUX_LIST_H
58#endif
59#ifdef __undef__LINUX_COMPILER_H
60# undef __LINUX_COMPILER_H
61# undef __user
62# undef __undef__LINUX_COMPILER_H
63#endif
64
65#include <bits/sysctl.h>
66
67__BEGIN_DECLS
68
69/* Read or write system parameters. */
70extern int sysctl (int *__name, int __nlen, void *__oldval,
71 size_t *__oldlenp, void *__newval, size_t __newlen) __THROW
72 __attribute_deprecated__;
73
74__END_DECLS
75
76#endif /* _SYS_SYSCTL_H */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/syslog.h+3-1
...@@ -206,7 +206,9 @@ extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)...@@ -206,7 +206,9 @@ extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)
206#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function206#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
207# include <bits/syslog.h>207# include <bits/syslog.h>
208#endif208#endif
209#ifdef __LDBL_COMPAT209
210#include <bits/floatn.h>
211#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
210# include <bits/syslog-ldbl.h>212# include <bits/syslog-ldbl.h>
211#endif213#endif
212214
lib/libc/include/generic-glibc/threads.h+5-8
...@@ -24,7 +24,7 @@...@@ -24,7 +24,7 @@
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
27#include <bits/pthreadtypes-arch.h>27#include <bits/thread-shared-types.h>
28#include <bits/types/struct_timespec.h>28#include <bits/types/struct_timespec.h>
2929
30#ifndef __cplusplus30#ifndef __cplusplus
...@@ -32,10 +32,10 @@ __BEGIN_DECLS...@@ -32,10 +32,10 @@ __BEGIN_DECLS
32#endif32#endif
3333
34#define TSS_DTOR_ITERATIONS 434#define TSS_DTOR_ITERATIONS 4
35typedef unsigned int tss_t;35typedef __tss_t tss_t;
36typedef void (*tss_dtor_t) (void*);36typedef void (*tss_dtor_t) (void*);
3737
38typedef unsigned long int thrd_t;38typedef __thrd_t thrd_t;
39typedef int (*thrd_start_t) (void*);39typedef int (*thrd_start_t) (void*);
4040
41/* Exit and error codes. */41/* Exit and error codes. */
...@@ -56,11 +56,8 @@ enum...@@ -56,11 +56,8 @@ enum
56 mtx_timed = 256 mtx_timed = 2
57};57};
5858
59typedef struct59typedef __once_flag once_flag;
60{60#define ONCE_FLAG_INIT __ONCE_FLAG_INIT
61 int __data __ONCE_ALIGNMENT;
62} once_flag;
63#define ONCE_FLAG_INIT { 0 }
6461
65typedef union62typedef union
66{63{
lib/libc/include/generic-glibc/unistd.h+41-24
...@@ -357,13 +357,15 @@ extern int close (int __fd);...@@ -357,13 +357,15 @@ extern int close (int __fd);
357357
358 This function is a cancellation point and therefore not marked with358 This function is a cancellation point and therefore not marked with
359 __THROW. */359 __THROW. */
360extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur;360extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur
361 __attr_access ((__write_only__, 2, 3));
361362
362/* Write N bytes of BUF to FD. Return the number written, or -1.363/* Write N bytes of BUF to FD. Return the number written, or -1.
363364
364 This function is a cancellation point and therefore not marked with365 This function is a cancellation point and therefore not marked with
365 __THROW. */366 __THROW. */
366extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur;367extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
368 __attr_access ((__read_only__, 2, 3));
367369
368#if defined __USE_UNIX98 || defined __USE_XOPEN2K8370#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
369# ifndef __USE_FILE_OFFSET64371# ifndef __USE_FILE_OFFSET64
...@@ -374,7 +376,8 @@ extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur;...@@ -374,7 +376,8 @@ extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur;
374 This function is a cancellation point and therefore not marked with376 This function is a cancellation point and therefore not marked with
375 __THROW. */377 __THROW. */
376extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,378extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
377 __off_t __offset) __wur;379 __off_t __offset) __wur
380 __attr_access ((__write_only__, 2, 3));
378381
379/* Write N bytes of BUF to FD at the given position OFFSET without382/* Write N bytes of BUF to FD at the given position OFFSET without
380 changing the file pointer. Return the number written, or -1.383 changing the file pointer. Return the number written, or -1.
...@@ -382,15 +385,19 @@ extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,...@@ -382,15 +385,19 @@ extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
382 This function is a cancellation point and therefore not marked with385 This function is a cancellation point and therefore not marked with
383 __THROW. */386 __THROW. */
384extern ssize_t pwrite (int __fd, const void *__buf, size_t __n,387extern ssize_t pwrite (int __fd, const void *__buf, size_t __n,
385 __off_t __offset) __wur;388 __off_t __offset) __wur
389 __attr_access ((__read_only__, 2, 3));
390
386# else391# else
387# ifdef __REDIRECT392# ifdef __REDIRECT
388extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes,393extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes,
389 __off64_t __offset),394 __off64_t __offset),
390 pread64) __wur;395 pread64) __wur
396 __attr_access ((__write_only__, 2, 3));
391extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,397extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,
392 size_t __nbytes, __off64_t __offset),398 size_t __nbytes, __off64_t __offset),
393 pwrite64) __wur;399 pwrite64) __wur
400 __attr_access ((__read_only__, 2, 3));
394# else401# else
395# define pread pread64402# define pread pread64
396# define pwrite pwrite64403# define pwrite pwrite64
...@@ -402,11 +409,13 @@ extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,...@@ -402,11 +409,13 @@ extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,
402 changing the file pointer. Return the number read, -1 for errors409 changing the file pointer. Return the number read, -1 for errors
403 or 0 for EOF. */410 or 0 for EOF. */
404extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,411extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
405 __off64_t __offset) __wur;412 __off64_t __offset) __wur
413 __attr_access ((__write_only__, 2, 3));
406/* Write N bytes of BUF to FD at the given position OFFSET without414/* Write N bytes of BUF to FD at the given position OFFSET without
407 changing the file pointer. Return the number written, or -1. */415 changing the file pointer. Return the number written, or -1. */
408extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n,416extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n,
409 __off64_t __offset) __wur;417 __off64_t __offset) __wur
418 __attr_access ((__read_only__, 2, 3));
410# endif419# endif
411#endif420#endif
412421
...@@ -508,7 +517,8 @@ extern int fchdir (int __fd) __THROW __wur;...@@ -508,7 +517,8 @@ extern int fchdir (int __fd) __THROW __wur;
508 an array is allocated with `malloc'; the array is SIZE517 an array is allocated with `malloc'; the array is SIZE
509 bytes long, unless SIZE == 0, in which case it is as518 bytes long, unless SIZE == 0, in which case it is as
510 big as necessary. */519 big as necessary. */
511extern char *getcwd (char *__buf, size_t __size) __THROW __wur;520extern char *getcwd (char *__buf, size_t __size) __THROW __wur
521 __attr_access ((__write_only__, 1, 2));
512522
513#ifdef __USE_GNU523#ifdef __USE_GNU
514/* Return a malloc'd string containing the current directory name.524/* Return a malloc'd string containing the current directory name.
...@@ -523,7 +533,8 @@ extern char *get_current_dir_name (void) __THROW;...@@ -523,7 +533,8 @@ extern char *get_current_dir_name (void) __THROW;
523 If successful, return BUF. If not, put an error message in533 If successful, return BUF. If not, put an error message in
524 BUF and return NULL. BUF should be at least PATH_MAX bytes long. */534 BUF and return NULL. BUF should be at least PATH_MAX bytes long. */
525extern char *getwd (char *__buf)535extern char *getwd (char *__buf)
526 __THROW __nonnull ((1)) __attribute_deprecated__ __wur;536 __THROW __nonnull ((1)) __attribute_deprecated__ __wur
537 __attr_access ((__write_only__, 1));
527#endif538#endif
528539
529540
...@@ -620,7 +631,8 @@ extern long int sysconf (int __name) __THROW;...@@ -620,7 +631,8 @@ extern long int sysconf (int __name) __THROW;
620631
621#ifdef __USE_POSIX2632#ifdef __USE_POSIX2
622/* Get the value of the string-valued system variable NAME. */633/* Get the value of the string-valued system variable NAME. */
623extern size_t confstr (int __name, char *__buf, size_t __len) __THROW;634extern size_t confstr (int __name, char *__buf, size_t __len) __THROW
635 __attr_access ((__write_only__, 2, 3));
624#endif636#endif
625637
626638
...@@ -686,8 +698,8 @@ extern __gid_t getegid (void) __THROW;...@@ -686,8 +698,8 @@ extern __gid_t getegid (void) __THROW;
686/* If SIZE is zero, return the number of supplementary groups698/* If SIZE is zero, return the number of supplementary groups
687 the calling process is in. Otherwise, fill in the group IDs699 the calling process is in. Otherwise, fill in the group IDs
688 of its supplementary groups in LIST and return the number written. */700 of its supplementary groups in LIST and return the number written. */
689extern int getgroups (int __size, __gid_t __list[]) __THROW __wur;701extern int getgroups (int __size, __gid_t __list[]) __THROW __wur
690702 __attr_access ((__write_only__, 2, 1));
691#ifdef __USE_GNU703#ifdef __USE_GNU
692/* Return nonzero iff the calling process is in group GID. */704/* Return nonzero iff the calling process is in group GID. */
693extern int group_member (__gid_t __gid) __THROW;705extern int group_member (__gid_t __gid) __THROW;
...@@ -772,7 +784,7 @@ extern char *ttyname (int __fd) __THROW;...@@ -772,7 +784,7 @@ extern char *ttyname (int __fd) __THROW;
772/* Store at most BUFLEN characters of the pathname of the terminal FD is784/* Store at most BUFLEN characters of the pathname of the terminal FD is
773 open on in BUF. Return 0 on success, otherwise an error number. */785 open on in BUF. Return 0 on success, otherwise an error number. */
774extern int ttyname_r (int __fd, char *__buf, size_t __buflen)786extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
775 __THROW __nonnull ((2)) __wur;787 __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3));
776788
777/* Return 1 if FD is a valid descriptor associated789/* Return 1 if FD is a valid descriptor associated
778 with a terminal, zero if not. */790 with a terminal, zero if not. */
...@@ -807,7 +819,8 @@ extern int symlink (const char *__from, const char *__to)...@@ -807,7 +819,8 @@ extern int symlink (const char *__from, const char *__to)
807 Returns the number of characters read, or -1 for errors. */819 Returns the number of characters read, or -1 for errors. */
808extern ssize_t readlink (const char *__restrict __path,820extern ssize_t readlink (const char *__restrict __path,
809 char *__restrict __buf, size_t __len)821 char *__restrict __buf, size_t __len)
810 __THROW __nonnull ((1, 2)) __wur;822 __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
823
811#endif /* Use POSIX.1-2001. */824#endif /* Use POSIX.1-2001. */
812825
813#ifdef __USE_ATFILE826#ifdef __USE_ATFILE
...@@ -818,7 +831,7 @@ extern int symlinkat (const char *__from, int __tofd,...@@ -818,7 +831,7 @@ extern int symlinkat (const char *__from, int __tofd,
818/* Like readlink but a relative PATH is interpreted relative to FD. */831/* Like readlink but a relative PATH is interpreted relative to FD. */
819extern ssize_t readlinkat (int __fd, const char *__restrict __path,832extern ssize_t readlinkat (int __fd, const char *__restrict __path,
820 char *__restrict __buf, size_t __len)833 char *__restrict __buf, size_t __len)
821 __THROW __nonnull ((2, 3)) __wur;834 __THROW __nonnull ((2, 3)) __wur __attr_access ((__read_only__, 3, 4));
822#endif835#endif
823836
824/* Remove the link NAME. */837/* Remove the link NAME. */
...@@ -853,7 +866,8 @@ extern char *getlogin (void);...@@ -853,7 +866,8 @@ extern char *getlogin (void);
853866
854 This function is a possible cancellation point and therefore not867 This function is a possible cancellation point and therefore not
855 marked with __THROW. */868 marked with __THROW. */
856extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1));869extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1))
870 __attr_access ((__write_only__, 1, 2));
857#endif871#endif
858872
859#ifdef __USE_MISC873#ifdef __USE_MISC
...@@ -874,7 +888,8 @@ extern int setlogin (const char *__name) __THROW __nonnull ((1));...@@ -874,7 +888,8 @@ extern int setlogin (const char *__name) __THROW __nonnull ((1));
874/* Put the name of the current host in no more than LEN bytes of NAME.888/* Put the name of the current host in no more than LEN bytes of NAME.
875 The result is null-terminated if LEN is large enough for the full889 The result is null-terminated if LEN is large enough for the full
876 name and the terminator. */890 name and the terminator. */
877extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1));891extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1))
892 __attr_access ((__write_only__, 1, 2));
878#endif893#endif
879894
880895
...@@ -882,7 +897,7 @@ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1));...@@ -882,7 +897,7 @@ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1));
882/* Set the name of the current host to NAME, which is LEN bytes long.897/* Set the name of the current host to NAME, which is LEN bytes long.
883 This call is restricted to the super-user. */898 This call is restricted to the super-user. */
884extern int sethostname (const char *__name, size_t __len)899extern int sethostname (const char *__name, size_t __len)
885 __THROW __nonnull ((1)) __wur;900 __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2));
886901
887/* Set the current machine's Internet number to ID.902/* Set the current machine's Internet number to ID.
888 This call is restricted to the super-user. */903 This call is restricted to the super-user. */
...@@ -893,10 +908,9 @@ extern int sethostid (long int __id) __THROW __wur;...@@ -893,10 +908,9 @@ extern int sethostid (long int __id) __THROW __wur;
893 Called just like `gethostname' and `sethostname'.908 Called just like `gethostname' and `sethostname'.
894 The NIS domain name is usually the empty string when not using NIS. */909 The NIS domain name is usually the empty string when not using NIS. */
895extern int getdomainname (char *__name, size_t __len)910extern int getdomainname (char *__name, size_t __len)
896 __THROW __nonnull ((1)) __wur;911 __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
897extern int setdomainname (const char *__name, size_t __len)912extern int setdomainname (const char *__name, size_t __len)
898 __THROW __nonnull ((1)) __wur;913 __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2));
899
900914
901/* Revoke access permissions to all processes currently communicating915/* Revoke access permissions to all processes currently communicating
902 with the control terminal, and then send a SIGHUP signal to the process916 with the control terminal, and then send a SIGHUP signal to the process
...@@ -1131,7 +1145,9 @@ extern char *crypt (const char *__key, const char *__salt)...@@ -1131,7 +1145,9 @@ extern char *crypt (const char *__key, const char *__salt)
1131 range [FROM - N + 1, FROM - 1]. If N is odd the first byte in FROM1145 range [FROM - N + 1, FROM - 1]. If N is odd the first byte in FROM
1132 is without partner. */1146 is without partner. */
1133extern void swab (const void *__restrict __from, void *__restrict __to,1147extern void swab (const void *__restrict __from, void *__restrict __to,
1134 ssize_t __n) __THROW __nonnull ((1, 2));1148 ssize_t __n) __THROW __nonnull ((1, 2))
1149 __attr_access ((__read_only__, 1, 3))
1150 __attr_access ((__write_only__, 2, 3));
1135#endif1151#endif
11361152
11371153
...@@ -1158,7 +1174,8 @@ extern int pthread_atfork (void (*__prepare) (void),...@@ -1158,7 +1174,8 @@ extern int pthread_atfork (void (*__prepare) (void),
1158#ifdef __USE_MISC1174#ifdef __USE_MISC
1159/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on1175/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on
1160 success or -1 on error. */1176 success or -1 on error. */
1161int getentropy (void *__buffer, size_t __length) __wur;1177int getentropy (void *__buffer, size_t __length) __wur
1178 __attr_access ((__write_only__, 1, 2));
1162#endif1179#endif
11631180
1164/* Define some macros helping to catch buffer overflows. */1181/* Define some macros helping to catch buffer overflows. */
lib/libc/include/generic-glibc/wchar.h+9-5
...@@ -633,9 +633,11 @@ extern int swscanf (const wchar_t *__restrict __s,...@@ -633,9 +633,11 @@ extern int swscanf (const wchar_t *__restrict __s,
633 __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;633 __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
634634
635/* For historical reasons, the C99-compliant versions of the scanf635/* For historical reasons, the C99-compliant versions of the scanf
636 functions are at alternative names. When __LDBL_COMPAT is in636 functions are at alternative names. When __LDBL_COMPAT or
637 effect, this is handled in bits/wchar-ldbl.h. */637 __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
638#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT638 bits/wchar-ldbl.h. */
639#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
640 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
639# ifdef __REDIRECT641# ifdef __REDIRECT
640extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,642extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
641 const wchar_t *__restrict __format, ...),643 const wchar_t *__restrict __format, ...),
...@@ -688,7 +690,8 @@ extern int vswscanf (const wchar_t *__restrict __s,...@@ -688,7 +690,8 @@ extern int vswscanf (const wchar_t *__restrict __s,
688/* Same redirection as above for the v*wscanf family. */690/* Same redirection as above for the v*wscanf family. */
689# if !__GLIBC_USE (DEPRECATED_SCANF) \691# if !__GLIBC_USE (DEPRECATED_SCANF) \
690 && (!defined __LDBL_COMPAT || !defined __REDIRECT) \692 && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
691 && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)693 && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \
694 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
692# ifdef __REDIRECT695# ifdef __REDIRECT
693extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,696extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
694 const wchar_t *__restrict __format,697 const wchar_t *__restrict __format,
...@@ -849,7 +852,8 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,...@@ -849,7 +852,8 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
849# include <bits/wchar2.h>852# include <bits/wchar2.h>
850#endif853#endif
851854
852#ifdef __LDBL_COMPAT855#include <bits/floatn.h>
856#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
853# include <bits/wchar-ldbl.h>857# include <bits/wchar-ldbl.h>
854#endif858#endif
855859
lib/libc/include/i386-linux-gnu/bits/fenv.h-54
...@@ -113,58 +113,4 @@ femode_t;...@@ -113,58 +113,4 @@ femode_t;
113113
114/* Default floating-point control modes. */114/* Default floating-point control modes. */
115# define FE_DFL_MODE ((const femode_t *) -1L)115# define FE_DFL_MODE ((const femode_t *) -1L)
116#endif
117
118
119#ifdef __USE_EXTERN_INLINES
120__BEGIN_DECLS
121
122/* Optimized versions. */
123#ifndef _LIBC
124extern int __REDIRECT_NTH (__feraiseexcept_renamed, (int), feraiseexcept);
125#endif
126__extern_always_inline void
127__NTH (__feraiseexcept_invalid_divbyzero (int __excepts))
128{
129 if ((FE_INVALID & __excepts) != 0)
130 {
131 /* One example of an invalid operation is 0.0 / 0.0. */
132 float __f = 0.0;
133
134# ifdef __SSE_MATH__
135 __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
136# else
137 __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
138 : "=t" (__f) : "0" (__f));
139# endif
140 (void) &__f;
141 }
142 if ((FE_DIVBYZERO & __excepts) != 0)
143 {
144 float __f = 1.0;
145 float __g = 0.0;
146
147# ifdef __SSE_MATH__
148 __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
149# else
150 __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
151 : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
152# endif
153 (void) &__f;
154 }
155}
156__extern_inline int
157__NTH (feraiseexcept (int __excepts))
158{
159 if (__builtin_constant_p (__excepts)
160 && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0)
161 {
162 __feraiseexcept_invalid_divbyzero (__excepts);
163 return 0;
164 }
165
166 return __feraiseexcept_renamed (__excepts);
167}
168
169__END_DECLS
170#endif116#endif
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/long-double.h+1-1
...@@ -18,4 +18,4 @@...@@ -18,4 +18,4 @@
1818
19/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/select.h deleted-63
...@@ -1,63 +0,0 @@
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SYS_SELECT_H
19# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
20#endif
21
22#include <bits/wordsize.h>
23
24
25#if defined __GNUC__ && __GNUC__ >= 2
26
27# if __WORDSIZE == 64
28# define __FD_ZERO_STOS "stosq"
29# else
30# define __FD_ZERO_STOS "stosl"
31# endif
32
33# define __FD_ZERO(fdsp) \
34 do { \
35 int __d0, __d1; \
36 __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS \
37 : "=c" (__d0), "=D" (__d1) \
38 : "a" (0), "0" (sizeof (fd_set) \
39 / sizeof (__fd_mask)), \
40 "1" (&__FDS_BITS (fdsp)[0]) \
41 : "memory"); \
42 } while (0)
43
44#else /* ! GNU CC */
45
46/* We don't use `memset' because this would require a prototype and
47 the array isn't too big. */
48# define __FD_ZERO(set) \
49 do { \
50 unsigned int __i; \
51 fd_set *__arr = (set); \
52 for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
53 __FDS_BITS (__arr)[__i] = 0; \
54 } while (0)
55
56#endif /* GNU CC */
57
58#define __FD_SET(d, set) \
59 ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
60#define __FD_CLR(d, set) \
61 ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
62#define __FD_ISSET(d, set) \
63 ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. x86 version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 1
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/semaphore.h deleted-40
...@@ -1,40 +0,0 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
26# define __SIZEOF_SEM_T 32
27#else
28# define __SIZEOF_SEM_T 16
29#endif
30
31
32/* Value returned if `sem_open' failed. */
33#define SEM_FAILED ((sem_t *) 0)
34
35
36typedef union
37{
38 char __size[__SIZEOF_SEM_T];
39 long int __align;
40} sem_t;
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/sysctl.h deleted-20
...@@ -1,20 +0,0 @@
1/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
17
18#if defined __x86_64__ && defined __ILP32__
19# error "sysctl system call is unsupported in x32 kernel"
20#endif
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/types/struct_semid_ds.h created+34
...@@ -0,0 +1,34 @@
1/* x86 implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __syscall_ulong_t __sem_otime_high;
29 __time_t sem_ctime; /* last time changed by semctl() */
30 __syscall_ulong_t __sem_ctime_high;
31 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
32 __syscall_ulong_t __glibc_reserved3;
33 __syscall_ulong_t __glibc_reserved4;
34};
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/typesizes.h+6
...@@ -64,6 +64,7 @@...@@ -64,6 +64,7 @@
64#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE64#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
65#define __USECONDS_T_TYPE __U32_TYPE65#define __USECONDS_T_TYPE __U32_TYPE
66#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE66#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
67#define __DADDR_T_TYPE __S32_TYPE68#define __DADDR_T_TYPE __S32_TYPE
68#define __KEY_T_TYPE __S32_TYPE69#define __KEY_T_TYPE __S32_TYPE
69#define __CLOCKID_T_TYPE __S32_TYPE70#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -87,10 +88,15 @@...@@ -87,10 +88,15 @@
8788
88/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */89/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
89# define __STATFS_MATCHES_STATFS64 190# define __STATFS_MATCHES_STATFS64 1
91
92/* And for getitimer, setitimer and rusage */
93# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
90#else94#else
91# define __RLIM_T_MATCHES_RLIM64_T 095# define __RLIM_T_MATCHES_RLIM64_T 0
9296
93# define __STATFS_MATCHES_STATFS64 097# define __STATFS_MATCHES_STATFS64 0
98
99# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
94#endif100#endif
95101
96/* Number of descriptors that can fit in an `fd_set'. */102/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/include/mips-linux-gnu/bits/floatn.h created+97
...@@ -0,0 +1,97 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/msq-pad.h deleted-31
...@@ -1,31 +0,0 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#ifdef __MIPSEL__
26# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
27# define __MSQ_PAD_BEFORE_TIME 0
28#else
29# define __MSQ_PAD_AFTER_TIME 0
30# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
31#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/mips-linux-gnu/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 0
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/semaphore.h created+36
...@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22#if _MIPS_SIM == _ABI64
23# define __SIZEOF_SEM_T 32
24#else
25# define __SIZEOF_SEM_T 16
26#endif
27
28/* Value returned if `sem_open' failed. */
29#define SEM_FAILED ((sem_t *) 0)
30
31
32typedef union
33{
34 char __size[__SIZEOF_SEM_T];
35 long int __align;
36} sem_t;
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/shm-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#define __SHM_PAD_AFTER_TIME 0
24#define __SHM_PAD_BEFORE_TIME 0
25#define __SHM_SEGSZ_AFTER_TIME 0
26#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/signum-arch.h created+65
...@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/MIPS. */
28
29#define SIGEMT 7 /* Emulator trap. */
30#define SIGPWR 19 /* Power failure imminent. */
31
32/* Historical signals specified by POSIX. */
33#define SIGBUS 10 /* Bus error. */
34#define SIGSYS 12 /* Bad system call. */
35
36/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
37#define SIGURG 21 /* Urgent data is available at a socket. */
38#define SIGSTOP 23 /* Stop, unblockable. */
39#define SIGTSTP 24 /* Keyboard stop. */
40#define SIGCONT 25 /* Continue. */
41#define SIGCHLD 18 /* Child terminated or stopped. */
42#define SIGTTIN 26 /* Background read from control terminal. */
43#define SIGTTOU 27 /* Background write to control terminal. */
44#define SIGPOLL 22 /* Pollable event occurred (System V). */
45#define SIGXCPU 30 /* CPU time limit exceeded. */
46#define SIGVTALRM 28 /* Virtual timer expired. */
47#define SIGPROF 29 /* Profiling timer expired. */
48#define SIGXFSZ 31 /* File size limit exceeded. */
49#define SIGUSR1 16 /* User-defined signal 1. */
50#define SIGUSR2 17 /* User-defined signal 2. */
51
52/* Nonstandard signals found in all modern POSIX systems
53 (including both BSD and Linux). */
54#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
55
56/* Archaic names for compatibility. */
57#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
58#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
59#define SIGCLD SIGCHLD /* Old System V name */
60
61/* By default no real-time signals are supported. */
62#define __SIGRTMIN 32
63#define __SIGRTMAX 127
64
65#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/signum.h deleted-68
...@@ -1,68 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 Linux/MIPS. */
30
31#define SIGEMT 7 /* Emulator trap. */
32#define SIGPWR 19 /* Power failure imminent. */
33
34#undef SIGUSR1
35#define SIGUSR1 16
36#undef SIGUSR2
37#define SIGUSR2 17
38#undef SIGCHLD
39#define SIGCHLD 18
40#undef SIGWINCH
41#define SIGWINCH 20
42#undef SIGURG
43#define SIGURG 21
44#undef SIGPOLL
45#define SIGPOLL 22
46#undef SIGSTOP
47#define SIGSTOP 23
48#undef SIGTSTP
49#define SIGTSTP 24
50#undef SIGCONT
51#define SIGCONT 25
52#undef SIGTTIN
53#define SIGTTIN 26
54#undef SIGTTOU
55#define SIGTTOU 27
56#undef SIGVTALRM
57#define SIGVTALRM 28
58#undef SIGPROF
59#define SIGPROF 29
60#undef SIGXCPU
61#define SIGXCPU 30
62#undef SIGXFSZ
63#define SIGXFSZ 31
64
65#undef __SIGRTMAX
66#define __SIGRTMAX 127
67
68#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/types/struct_msqid_ds.h created+56
...@@ -0,0 +1,56 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29# ifdef __MIPSEL__
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_stime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_rtime_high;
34 __time_t msg_ctime; /* time of last change */
35 unsigned long int __msg_ctime_high;
36# else
37 unsigned long int __msg_stime_high;
38 __time_t msg_stime; /* time of last msgsnd command */
39 unsigned long int __msg_rtime_high;
40 __time_t msg_rtime; /* time of last msgsnd command */
41 unsigned long int __msg_ctime_high;
42 __time_t msg_ctime; /* time of last change */
43# endif
44#else
45 __time_t msg_stime; /* time of last msgsnd command */
46 __time_t msg_rtime; /* time of last msgsnd command */
47 __time_t msg_ctime; /* time of last change */
48#endif
49 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
50 msgqnum_t msg_qnum; /* number of messages currently on queue */
51 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
52 __pid_t msg_lspid; /* pid of last msgsnd() */
53 __pid_t msg_lrpid; /* pid of last msgrcv() */
54 __syscall_ulong_t __glibc_reserved4;
55 __syscall_ulong_t __glibc_reserved5;
56};
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/types/struct_semid_ds.h created+32
...@@ -0,0 +1,32 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __time_t sem_ctime; /* last time changed by semctl() */
29 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
30 __syscall_ulong_t __sem_otime_high;
31 __syscall_ulong_t __sem_ctime_high;
32};
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/types/struct_shmid_ds.h created+49
...@@ -0,0 +1,49 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27 size_t shm_segsz; /* size of segment in bytes */
28#if __TIMESIZE == 32
29 __time_t shm_atime; /* time of last shmat() */
30 __time_t shm_dtime; /* time of last shmdt() */
31 __time_t shm_ctime; /* time of last change by shmctl() */
32#else
33 __time_t shm_atime; /* time of last shmat() */
34 __time_t shm_dtime; /* time of last shmdt() */
35 __time_t shm_ctime; /* time of last change by shmctl() */
36#endif
37 __pid_t shm_cpid; /* pid of creator */
38 __pid_t shm_lpid; /* pid of last shmop */
39 shmatt_t shm_nattch; /* number of current attaches */
40#if __TIMESIZE == 32
41 unsigned short int __shm_atime_high;
42 unsigned short int __shm_dtime_high;
43 unsigned short int __shm_ctime_high;
44 unsigned short int __glibc_reserved4;
45#else
46 __syscall_ulong_t __glibc_reserved5;
47 __syscall_ulong_t __glibc_reserved6;
48#endif
49 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/floatn.h created+97
...@@ -0,0 +1,97 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/msq-pad.h deleted-31
...@@ -1,31 +0,0 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#ifdef __MIPSEL__
26# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
27# define __MSQ_PAD_BEFORE_TIME 0
28#else
29# define __MSQ_PAD_AFTER_TIME 0
30# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
31#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/mips64-linux-gnuabi64/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 0
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h created+36
...@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22#if _MIPS_SIM == _ABI64
23# define __SIZEOF_SEM_T 32
24#else
25# define __SIZEOF_SEM_T 16
26#endif
27
28/* Value returned if `sem_open' failed. */
29#define SEM_FAILED ((sem_t *) 0)
30
31
32typedef union
33{
34 char __size[__SIZEOF_SEM_T];
35 long int __align;
36} sem_t;
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/shm-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#define __SHM_PAD_AFTER_TIME 0
24#define __SHM_PAD_BEFORE_TIME 0
25#define __SHM_SEGSZ_AFTER_TIME 0
26#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h created+65
...@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/MIPS. */
28
29#define SIGEMT 7 /* Emulator trap. */
30#define SIGPWR 19 /* Power failure imminent. */
31
32/* Historical signals specified by POSIX. */
33#define SIGBUS 10 /* Bus error. */
34#define SIGSYS 12 /* Bad system call. */
35
36/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
37#define SIGURG 21 /* Urgent data is available at a socket. */
38#define SIGSTOP 23 /* Stop, unblockable. */
39#define SIGTSTP 24 /* Keyboard stop. */
40#define SIGCONT 25 /* Continue. */
41#define SIGCHLD 18 /* Child terminated or stopped. */
42#define SIGTTIN 26 /* Background read from control terminal. */
43#define SIGTTOU 27 /* Background write to control terminal. */
44#define SIGPOLL 22 /* Pollable event occurred (System V). */
45#define SIGXCPU 30 /* CPU time limit exceeded. */
46#define SIGVTALRM 28 /* Virtual timer expired. */
47#define SIGPROF 29 /* Profiling timer expired. */
48#define SIGXFSZ 31 /* File size limit exceeded. */
49#define SIGUSR1 16 /* User-defined signal 1. */
50#define SIGUSR2 17 /* User-defined signal 2. */
51
52/* Nonstandard signals found in all modern POSIX systems
53 (including both BSD and Linux). */
54#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
55
56/* Archaic names for compatibility. */
57#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
58#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
59#define SIGCLD SIGCHLD /* Old System V name */
60
61/* By default no real-time signals are supported. */
62#define __SIGRTMIN 32
63#define __SIGRTMAX 127
64
65#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/signum.h deleted-68
...@@ -1,68 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 Linux/MIPS. */
30
31#define SIGEMT 7 /* Emulator trap. */
32#define SIGPWR 19 /* Power failure imminent. */
33
34#undef SIGUSR1
35#define SIGUSR1 16
36#undef SIGUSR2
37#define SIGUSR2 17
38#undef SIGCHLD
39#define SIGCHLD 18
40#undef SIGWINCH
41#define SIGWINCH 20
42#undef SIGURG
43#define SIGURG 21
44#undef SIGPOLL
45#define SIGPOLL 22
46#undef SIGSTOP
47#define SIGSTOP 23
48#undef SIGTSTP
49#define SIGTSTP 24
50#undef SIGCONT
51#define SIGCONT 25
52#undef SIGTTIN
53#define SIGTTIN 26
54#undef SIGTTOU
55#define SIGTTOU 27
56#undef SIGVTALRM
57#define SIGVTALRM 28
58#undef SIGPROF
59#define SIGPROF 29
60#undef SIGXCPU
61#define SIGXCPU 30
62#undef SIGXFSZ
63#define SIGXFSZ 31
64
65#undef __SIGRTMAX
66#define __SIGRTMAX 127
67
68#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h created+56
...@@ -0,0 +1,56 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29# ifdef __MIPSEL__
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_stime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_rtime_high;
34 __time_t msg_ctime; /* time of last change */
35 unsigned long int __msg_ctime_high;
36# else
37 unsigned long int __msg_stime_high;
38 __time_t msg_stime; /* time of last msgsnd command */
39 unsigned long int __msg_rtime_high;
40 __time_t msg_rtime; /* time of last msgsnd command */
41 unsigned long int __msg_ctime_high;
42 __time_t msg_ctime; /* time of last change */
43# endif
44#else
45 __time_t msg_stime; /* time of last msgsnd command */
46 __time_t msg_rtime; /* time of last msgsnd command */
47 __time_t msg_ctime; /* time of last change */
48#endif
49 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
50 msgqnum_t msg_qnum; /* number of messages currently on queue */
51 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
52 __pid_t msg_lspid; /* pid of last msgsnd() */
53 __pid_t msg_lrpid; /* pid of last msgrcv() */
54 __syscall_ulong_t __glibc_reserved4;
55 __syscall_ulong_t __glibc_reserved5;
56};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h created+32
...@@ -0,0 +1,32 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __time_t sem_ctime; /* last time changed by semctl() */
29 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
30 __syscall_ulong_t __sem_otime_high;
31 __syscall_ulong_t __sem_ctime_high;
32};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h created+49
...@@ -0,0 +1,49 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27 size_t shm_segsz; /* size of segment in bytes */
28#if __TIMESIZE == 32
29 __time_t shm_atime; /* time of last shmat() */
30 __time_t shm_dtime; /* time of last shmdt() */
31 __time_t shm_ctime; /* time of last change by shmctl() */
32#else
33 __time_t shm_atime; /* time of last shmat() */
34 __time_t shm_dtime; /* time of last shmdt() */
35 __time_t shm_ctime; /* time of last change by shmctl() */
36#endif
37 __pid_t shm_cpid; /* pid of creator */
38 __pid_t shm_lpid; /* pid of last shmop */
39 shmatt_t shm_nattch; /* number of current attaches */
40#if __TIMESIZE == 32
41 unsigned short int __shm_atime_high;
42 unsigned short int __shm_dtime_high;
43 unsigned short int __shm_ctime_high;
44 unsigned short int __glibc_reserved4;
45#else
46 __syscall_ulong_t __glibc_reserved5;
47 __syscall_ulong_t __glibc_reserved6;
48#endif
49 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/floatn.h created+97
...@@ -0,0 +1,97 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/msq-pad.h deleted-31
...@@ -1,31 +0,0 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#ifdef __MIPSEL__
26# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
27# define __MSQ_PAD_BEFORE_TIME 0
28#else
29# define __MSQ_PAD_AFTER_TIME 0
30# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
31#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/mips64-linux-gnuabin32/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 0
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h created+36
...@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22#if _MIPS_SIM == _ABI64
23# define __SIZEOF_SEM_T 32
24#else
25# define __SIZEOF_SEM_T 16
26#endif
27
28/* Value returned if `sem_open' failed. */
29#define SEM_FAILED ((sem_t *) 0)
30
31
32typedef union
33{
34 char __size[__SIZEOF_SEM_T];
35 long int __align;
36} sem_t;
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/shm-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#define __SHM_PAD_AFTER_TIME 0
24#define __SHM_PAD_BEFORE_TIME 0
25#define __SHM_SEGSZ_AFTER_TIME 0
26#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h created+65
...@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/MIPS. */
28
29#define SIGEMT 7 /* Emulator trap. */
30#define SIGPWR 19 /* Power failure imminent. */
31
32/* Historical signals specified by POSIX. */
33#define SIGBUS 10 /* Bus error. */
34#define SIGSYS 12 /* Bad system call. */
35
36/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
37#define SIGURG 21 /* Urgent data is available at a socket. */
38#define SIGSTOP 23 /* Stop, unblockable. */
39#define SIGTSTP 24 /* Keyboard stop. */
40#define SIGCONT 25 /* Continue. */
41#define SIGCHLD 18 /* Child terminated or stopped. */
42#define SIGTTIN 26 /* Background read from control terminal. */
43#define SIGTTOU 27 /* Background write to control terminal. */
44#define SIGPOLL 22 /* Pollable event occurred (System V). */
45#define SIGXCPU 30 /* CPU time limit exceeded. */
46#define SIGVTALRM 28 /* Virtual timer expired. */
47#define SIGPROF 29 /* Profiling timer expired. */
48#define SIGXFSZ 31 /* File size limit exceeded. */
49#define SIGUSR1 16 /* User-defined signal 1. */
50#define SIGUSR2 17 /* User-defined signal 2. */
51
52/* Nonstandard signals found in all modern POSIX systems
53 (including both BSD and Linux). */
54#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
55
56/* Archaic names for compatibility. */
57#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
58#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
59#define SIGCLD SIGCHLD /* Old System V name */
60
61/* By default no real-time signals are supported. */
62#define __SIGRTMIN 32
63#define __SIGRTMAX 127
64
65#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/signum.h deleted-68
...@@ -1,68 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 Linux/MIPS. */
30
31#define SIGEMT 7 /* Emulator trap. */
32#define SIGPWR 19 /* Power failure imminent. */
33
34#undef SIGUSR1
35#define SIGUSR1 16
36#undef SIGUSR2
37#define SIGUSR2 17
38#undef SIGCHLD
39#define SIGCHLD 18
40#undef SIGWINCH
41#define SIGWINCH 20
42#undef SIGURG
43#define SIGURG 21
44#undef SIGPOLL
45#define SIGPOLL 22
46#undef SIGSTOP
47#define SIGSTOP 23
48#undef SIGTSTP
49#define SIGTSTP 24
50#undef SIGCONT
51#define SIGCONT 25
52#undef SIGTTIN
53#define SIGTTIN 26
54#undef SIGTTOU
55#define SIGTTOU 27
56#undef SIGVTALRM
57#define SIGVTALRM 28
58#undef SIGPROF
59#define SIGPROF 29
60#undef SIGXCPU
61#define SIGXCPU 30
62#undef SIGXFSZ
63#define SIGXFSZ 31
64
65#undef __SIGRTMAX
66#define __SIGRTMAX 127
67
68#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h created+56
...@@ -0,0 +1,56 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29# ifdef __MIPSEL__
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_stime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_rtime_high;
34 __time_t msg_ctime; /* time of last change */
35 unsigned long int __msg_ctime_high;
36# else
37 unsigned long int __msg_stime_high;
38 __time_t msg_stime; /* time of last msgsnd command */
39 unsigned long int __msg_rtime_high;
40 __time_t msg_rtime; /* time of last msgsnd command */
41 unsigned long int __msg_ctime_high;
42 __time_t msg_ctime; /* time of last change */
43# endif
44#else
45 __time_t msg_stime; /* time of last msgsnd command */
46 __time_t msg_rtime; /* time of last msgsnd command */
47 __time_t msg_ctime; /* time of last change */
48#endif
49 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
50 msgqnum_t msg_qnum; /* number of messages currently on queue */
51 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
52 __pid_t msg_lspid; /* pid of last msgsnd() */
53 __pid_t msg_lrpid; /* pid of last msgrcv() */
54 __syscall_ulong_t __glibc_reserved4;
55 __syscall_ulong_t __glibc_reserved5;
56};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h created+32
...@@ -0,0 +1,32 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __time_t sem_ctime; /* last time changed by semctl() */
29 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
30 __syscall_ulong_t __sem_otime_high;
31 __syscall_ulong_t __sem_ctime_high;
32};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h created+49
...@@ -0,0 +1,49 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27 size_t shm_segsz; /* size of segment in bytes */
28#if __TIMESIZE == 32
29 __time_t shm_atime; /* time of last shmat() */
30 __time_t shm_dtime; /* time of last shmdt() */
31 __time_t shm_ctime; /* time of last change by shmctl() */
32#else
33 __time_t shm_atime; /* time of last shmat() */
34 __time_t shm_dtime; /* time of last shmdt() */
35 __time_t shm_ctime; /* time of last change by shmctl() */
36#endif
37 __pid_t shm_cpid; /* pid of creator */
38 __pid_t shm_lpid; /* pid of last shmop */
39 shmatt_t shm_nattch; /* number of current attaches */
40#if __TIMESIZE == 32
41 unsigned short int __shm_atime_high;
42 unsigned short int __shm_dtime_high;
43 unsigned short int __shm_ctime_high;
44 unsigned short int __glibc_reserved4;
45#else
46 __syscall_ulong_t __glibc_reserved5;
47 __syscall_ulong_t __glibc_reserved6;
48#endif
49 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/floatn.h created+97
...@@ -0,0 +1,97 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/msq-pad.h deleted-31
...@@ -1,31 +0,0 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#ifdef __MIPSEL__
26# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
27# define __MSQ_PAD_BEFORE_TIME 0
28#else
29# define __MSQ_PAD_AFTER_TIME 0
30# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
31#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/mips64el-linux-gnuabi64/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 0
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h created+36
...@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22#if _MIPS_SIM == _ABI64
23# define __SIZEOF_SEM_T 32
24#else
25# define __SIZEOF_SEM_T 16
26#endif
27
28/* Value returned if `sem_open' failed. */
29#define SEM_FAILED ((sem_t *) 0)
30
31
32typedef union
33{
34 char __size[__SIZEOF_SEM_T];
35 long int __align;
36} sem_t;
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/shm-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#define __SHM_PAD_AFTER_TIME 0
24#define __SHM_PAD_BEFORE_TIME 0
25#define __SHM_SEGSZ_AFTER_TIME 0
26#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h created+65
...@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/MIPS. */
28
29#define SIGEMT 7 /* Emulator trap. */
30#define SIGPWR 19 /* Power failure imminent. */
31
32/* Historical signals specified by POSIX. */
33#define SIGBUS 10 /* Bus error. */
34#define SIGSYS 12 /* Bad system call. */
35
36/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
37#define SIGURG 21 /* Urgent data is available at a socket. */
38#define SIGSTOP 23 /* Stop, unblockable. */
39#define SIGTSTP 24 /* Keyboard stop. */
40#define SIGCONT 25 /* Continue. */
41#define SIGCHLD 18 /* Child terminated or stopped. */
42#define SIGTTIN 26 /* Background read from control terminal. */
43#define SIGTTOU 27 /* Background write to control terminal. */
44#define SIGPOLL 22 /* Pollable event occurred (System V). */
45#define SIGXCPU 30 /* CPU time limit exceeded. */
46#define SIGVTALRM 28 /* Virtual timer expired. */
47#define SIGPROF 29 /* Profiling timer expired. */
48#define SIGXFSZ 31 /* File size limit exceeded. */
49#define SIGUSR1 16 /* User-defined signal 1. */
50#define SIGUSR2 17 /* User-defined signal 2. */
51
52/* Nonstandard signals found in all modern POSIX systems
53 (including both BSD and Linux). */
54#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
55
56/* Archaic names for compatibility. */
57#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
58#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
59#define SIGCLD SIGCHLD /* Old System V name */
60
61/* By default no real-time signals are supported. */
62#define __SIGRTMIN 32
63#define __SIGRTMAX 127
64
65#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/signum.h deleted-68
...@@ -1,68 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 Linux/MIPS. */
30
31#define SIGEMT 7 /* Emulator trap. */
32#define SIGPWR 19 /* Power failure imminent. */
33
34#undef SIGUSR1
35#define SIGUSR1 16
36#undef SIGUSR2
37#define SIGUSR2 17
38#undef SIGCHLD
39#define SIGCHLD 18
40#undef SIGWINCH
41#define SIGWINCH 20
42#undef SIGURG
43#define SIGURG 21
44#undef SIGPOLL
45#define SIGPOLL 22
46#undef SIGSTOP
47#define SIGSTOP 23
48#undef SIGTSTP
49#define SIGTSTP 24
50#undef SIGCONT
51#define SIGCONT 25
52#undef SIGTTIN
53#define SIGTTIN 26
54#undef SIGTTOU
55#define SIGTTOU 27
56#undef SIGVTALRM
57#define SIGVTALRM 28
58#undef SIGPROF
59#define SIGPROF 29
60#undef SIGXCPU
61#define SIGXCPU 30
62#undef SIGXFSZ
63#define SIGXFSZ 31
64
65#undef __SIGRTMAX
66#define __SIGRTMAX 127
67
68#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h created+56
...@@ -0,0 +1,56 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29# ifdef __MIPSEL__
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_stime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_rtime_high;
34 __time_t msg_ctime; /* time of last change */
35 unsigned long int __msg_ctime_high;
36# else
37 unsigned long int __msg_stime_high;
38 __time_t msg_stime; /* time of last msgsnd command */
39 unsigned long int __msg_rtime_high;
40 __time_t msg_rtime; /* time of last msgsnd command */
41 unsigned long int __msg_ctime_high;
42 __time_t msg_ctime; /* time of last change */
43# endif
44#else
45 __time_t msg_stime; /* time of last msgsnd command */
46 __time_t msg_rtime; /* time of last msgsnd command */
47 __time_t msg_ctime; /* time of last change */
48#endif
49 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
50 msgqnum_t msg_qnum; /* number of messages currently on queue */
51 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
52 __pid_t msg_lspid; /* pid of last msgsnd() */
53 __pid_t msg_lrpid; /* pid of last msgrcv() */
54 __syscall_ulong_t __glibc_reserved4;
55 __syscall_ulong_t __glibc_reserved5;
56};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h created+32
...@@ -0,0 +1,32 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __time_t sem_ctime; /* last time changed by semctl() */
29 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
30 __syscall_ulong_t __sem_otime_high;
31 __syscall_ulong_t __sem_ctime_high;
32};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h created+49
...@@ -0,0 +1,49 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27 size_t shm_segsz; /* size of segment in bytes */
28#if __TIMESIZE == 32
29 __time_t shm_atime; /* time of last shmat() */
30 __time_t shm_dtime; /* time of last shmdt() */
31 __time_t shm_ctime; /* time of last change by shmctl() */
32#else
33 __time_t shm_atime; /* time of last shmat() */
34 __time_t shm_dtime; /* time of last shmdt() */
35 __time_t shm_ctime; /* time of last change by shmctl() */
36#endif
37 __pid_t shm_cpid; /* pid of creator */
38 __pid_t shm_lpid; /* pid of last shmop */
39 shmatt_t shm_nattch; /* number of current attaches */
40#if __TIMESIZE == 32
41 unsigned short int __shm_atime_high;
42 unsigned short int __shm_dtime_high;
43 unsigned short int __shm_ctime_high;
44 unsigned short int __glibc_reserved4;
45#else
46 __syscall_ulong_t __glibc_reserved5;
47 __syscall_ulong_t __glibc_reserved6;
48#endif
49 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/floatn.h created+97
...@@ -0,0 +1,97 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/msq-pad.h deleted-31
...@@ -1,31 +0,0 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#ifdef __MIPSEL__
26# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
27# define __MSQ_PAD_BEFORE_TIME 0
28#else
29# define __MSQ_PAD_AFTER_TIME 0
30# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
31#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/mips64el-linux-gnuabin32/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 0
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h created+36
...@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22#if _MIPS_SIM == _ABI64
23# define __SIZEOF_SEM_T 32
24#else
25# define __SIZEOF_SEM_T 16
26#endif
27
28/* Value returned if `sem_open' failed. */
29#define SEM_FAILED ((sem_t *) 0)
30
31
32typedef union
33{
34 char __size[__SIZEOF_SEM_T];
35 long int __align;
36} sem_t;
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/shm-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#define __SHM_PAD_AFTER_TIME 0
24#define __SHM_PAD_BEFORE_TIME 0
25#define __SHM_SEGSZ_AFTER_TIME 0
26#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h created+65
...@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/MIPS. */
28
29#define SIGEMT 7 /* Emulator trap. */
30#define SIGPWR 19 /* Power failure imminent. */
31
32/* Historical signals specified by POSIX. */
33#define SIGBUS 10 /* Bus error. */
34#define SIGSYS 12 /* Bad system call. */
35
36/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
37#define SIGURG 21 /* Urgent data is available at a socket. */
38#define SIGSTOP 23 /* Stop, unblockable. */
39#define SIGTSTP 24 /* Keyboard stop. */
40#define SIGCONT 25 /* Continue. */
41#define SIGCHLD 18 /* Child terminated or stopped. */
42#define SIGTTIN 26 /* Background read from control terminal. */
43#define SIGTTOU 27 /* Background write to control terminal. */
44#define SIGPOLL 22 /* Pollable event occurred (System V). */
45#define SIGXCPU 30 /* CPU time limit exceeded. */
46#define SIGVTALRM 28 /* Virtual timer expired. */
47#define SIGPROF 29 /* Profiling timer expired. */
48#define SIGXFSZ 31 /* File size limit exceeded. */
49#define SIGUSR1 16 /* User-defined signal 1. */
50#define SIGUSR2 17 /* User-defined signal 2. */
51
52/* Nonstandard signals found in all modern POSIX systems
53 (including both BSD and Linux). */
54#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
55
56/* Archaic names for compatibility. */
57#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
58#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
59#define SIGCLD SIGCHLD /* Old System V name */
60
61/* By default no real-time signals are supported. */
62#define __SIGRTMIN 32
63#define __SIGRTMAX 127
64
65#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/signum.h deleted-68
...@@ -1,68 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 Linux/MIPS. */
30
31#define SIGEMT 7 /* Emulator trap. */
32#define SIGPWR 19 /* Power failure imminent. */
33
34#undef SIGUSR1
35#define SIGUSR1 16
36#undef SIGUSR2
37#define SIGUSR2 17
38#undef SIGCHLD
39#define SIGCHLD 18
40#undef SIGWINCH
41#define SIGWINCH 20
42#undef SIGURG
43#define SIGURG 21
44#undef SIGPOLL
45#define SIGPOLL 22
46#undef SIGSTOP
47#define SIGSTOP 23
48#undef SIGTSTP
49#define SIGTSTP 24
50#undef SIGCONT
51#define SIGCONT 25
52#undef SIGTTIN
53#define SIGTTIN 26
54#undef SIGTTOU
55#define SIGTTOU 27
56#undef SIGVTALRM
57#define SIGVTALRM 28
58#undef SIGPROF
59#define SIGPROF 29
60#undef SIGXCPU
61#define SIGXCPU 30
62#undef SIGXFSZ
63#define SIGXFSZ 31
64
65#undef __SIGRTMAX
66#define __SIGRTMAX 127
67
68#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h created+56
...@@ -0,0 +1,56 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29# ifdef __MIPSEL__
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_stime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_rtime_high;
34 __time_t msg_ctime; /* time of last change */
35 unsigned long int __msg_ctime_high;
36# else
37 unsigned long int __msg_stime_high;
38 __time_t msg_stime; /* time of last msgsnd command */
39 unsigned long int __msg_rtime_high;
40 __time_t msg_rtime; /* time of last msgsnd command */
41 unsigned long int __msg_ctime_high;
42 __time_t msg_ctime; /* time of last change */
43# endif
44#else
45 __time_t msg_stime; /* time of last msgsnd command */
46 __time_t msg_rtime; /* time of last msgsnd command */
47 __time_t msg_ctime; /* time of last change */
48#endif
49 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
50 msgqnum_t msg_qnum; /* number of messages currently on queue */
51 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
52 __pid_t msg_lspid; /* pid of last msgsnd() */
53 __pid_t msg_lrpid; /* pid of last msgrcv() */
54 __syscall_ulong_t __glibc_reserved4;
55 __syscall_ulong_t __glibc_reserved5;
56};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h created+32
...@@ -0,0 +1,32 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __time_t sem_ctime; /* last time changed by semctl() */
29 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
30 __syscall_ulong_t __sem_otime_high;
31 __syscall_ulong_t __sem_ctime_high;
32};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h created+49
...@@ -0,0 +1,49 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27 size_t shm_segsz; /* size of segment in bytes */
28#if __TIMESIZE == 32
29 __time_t shm_atime; /* time of last shmat() */
30 __time_t shm_dtime; /* time of last shmdt() */
31 __time_t shm_ctime; /* time of last change by shmctl() */
32#else
33 __time_t shm_atime; /* time of last shmat() */
34 __time_t shm_dtime; /* time of last shmdt() */
35 __time_t shm_ctime; /* time of last change by shmctl() */
36#endif
37 __pid_t shm_cpid; /* pid of creator */
38 __pid_t shm_lpid; /* pid of last shmop */
39 shmatt_t shm_nattch; /* number of current attaches */
40#if __TIMESIZE == 32
41 unsigned short int __shm_atime_high;
42 unsigned short int __shm_dtime_high;
43 unsigned short int __shm_ctime_high;
44 unsigned short int __glibc_reserved4;
45#else
46 __syscall_ulong_t __glibc_reserved5;
47 __syscall_ulong_t __glibc_reserved6;
48#endif
49 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/floatn.h created+97
...@@ -0,0 +1,97 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/msq-pad.h deleted-31
...@@ -1,31 +0,0 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#ifdef __MIPSEL__
26# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32)
27# define __MSQ_PAD_BEFORE_TIME 0
28#else
29# define __MSQ_PAD_AFTER_TIME 0
30# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
31#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/mipsel-linux-gnu/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 0
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/semaphore.h created+36
...@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22#if _MIPS_SIM == _ABI64
23# define __SIZEOF_SEM_T 32
24#else
25# define __SIZEOF_SEM_T 16
26#endif
27
28/* Value returned if `sem_open' failed. */
29#define SEM_FAILED ((sem_t *) 0)
30
31
32typedef union
33{
34 char __size[__SIZEOF_SEM_T];
35 long int __align;
36} sem_t;
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/shm-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#define __SHM_PAD_AFTER_TIME 0
24#define __SHM_PAD_BEFORE_TIME 0
25#define __SHM_SEGSZ_AFTER_TIME 0
26#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/signum-arch.h created+65
...@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/MIPS. */
28
29#define SIGEMT 7 /* Emulator trap. */
30#define SIGPWR 19 /* Power failure imminent. */
31
32/* Historical signals specified by POSIX. */
33#define SIGBUS 10 /* Bus error. */
34#define SIGSYS 12 /* Bad system call. */
35
36/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
37#define SIGURG 21 /* Urgent data is available at a socket. */
38#define SIGSTOP 23 /* Stop, unblockable. */
39#define SIGTSTP 24 /* Keyboard stop. */
40#define SIGCONT 25 /* Continue. */
41#define SIGCHLD 18 /* Child terminated or stopped. */
42#define SIGTTIN 26 /* Background read from control terminal. */
43#define SIGTTOU 27 /* Background write to control terminal. */
44#define SIGPOLL 22 /* Pollable event occurred (System V). */
45#define SIGXCPU 30 /* CPU time limit exceeded. */
46#define SIGVTALRM 28 /* Virtual timer expired. */
47#define SIGPROF 29 /* Profiling timer expired. */
48#define SIGXFSZ 31 /* File size limit exceeded. */
49#define SIGUSR1 16 /* User-defined signal 1. */
50#define SIGUSR2 17 /* User-defined signal 2. */
51
52/* Nonstandard signals found in all modern POSIX systems
53 (including both BSD and Linux). */
54#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
55
56/* Archaic names for compatibility. */
57#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
58#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
59#define SIGCLD SIGCHLD /* Old System V name */
60
61/* By default no real-time signals are supported. */
62#define __SIGRTMIN 32
63#define __SIGRTMAX 127
64
65#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/signum.h deleted-68
...@@ -1,68 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 Linux/MIPS. */
30
31#define SIGEMT 7 /* Emulator trap. */
32#define SIGPWR 19 /* Power failure imminent. */
33
34#undef SIGUSR1
35#define SIGUSR1 16
36#undef SIGUSR2
37#define SIGUSR2 17
38#undef SIGCHLD
39#define SIGCHLD 18
40#undef SIGWINCH
41#define SIGWINCH 20
42#undef SIGURG
43#define SIGURG 21
44#undef SIGPOLL
45#define SIGPOLL 22
46#undef SIGSTOP
47#define SIGSTOP 23
48#undef SIGTSTP
49#define SIGTSTP 24
50#undef SIGCONT
51#define SIGCONT 25
52#undef SIGTTIN
53#define SIGTTIN 26
54#undef SIGTTOU
55#define SIGTTOU 27
56#undef SIGVTALRM
57#define SIGVTALRM 28
58#undef SIGPROF
59#define SIGPROF 29
60#undef SIGXCPU
61#define SIGXCPU 30
62#undef SIGXFSZ
63#define SIGXFSZ 31
64
65#undef __SIGRTMAX
66#define __SIGRTMAX 127
67
68#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/types/struct_msqid_ds.h created+56
...@@ -0,0 +1,56 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29# ifdef __MIPSEL__
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_stime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_rtime_high;
34 __time_t msg_ctime; /* time of last change */
35 unsigned long int __msg_ctime_high;
36# else
37 unsigned long int __msg_stime_high;
38 __time_t msg_stime; /* time of last msgsnd command */
39 unsigned long int __msg_rtime_high;
40 __time_t msg_rtime; /* time of last msgsnd command */
41 unsigned long int __msg_ctime_high;
42 __time_t msg_ctime; /* time of last change */
43# endif
44#else
45 __time_t msg_stime; /* time of last msgsnd command */
46 __time_t msg_rtime; /* time of last msgsnd command */
47 __time_t msg_ctime; /* time of last change */
48#endif
49 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
50 msgqnum_t msg_qnum; /* number of messages currently on queue */
51 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
52 __pid_t msg_lspid; /* pid of last msgsnd() */
53 __pid_t msg_lrpid; /* pid of last msgrcv() */
54 __syscall_ulong_t __glibc_reserved4;
55 __syscall_ulong_t __glibc_reserved5;
56};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/types/struct_semid_ds.h created+32
...@@ -0,0 +1,32 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __time_t sem_ctime; /* last time changed by semctl() */
29 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
30 __syscall_ulong_t __sem_otime_high;
31 __syscall_ulong_t __sem_ctime_high;
32};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/types/struct_shmid_ds.h created+49
...@@ -0,0 +1,49 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27 size_t shm_segsz; /* size of segment in bytes */
28#if __TIMESIZE == 32
29 __time_t shm_atime; /* time of last shmat() */
30 __time_t shm_dtime; /* time of last shmdt() */
31 __time_t shm_ctime; /* time of last change by shmctl() */
32#else
33 __time_t shm_atime; /* time of last shmat() */
34 __time_t shm_dtime; /* time of last shmdt() */
35 __time_t shm_ctime; /* time of last change by shmctl() */
36#endif
37 __pid_t shm_cpid; /* pid of creator */
38 __pid_t shm_lpid; /* pid of last shmop */
39 shmatt_t shm_nattch; /* number of current attaches */
40#if __TIMESIZE == 32
41 unsigned short int __shm_atime_high;
42 unsigned short int __shm_dtime_high;
43 unsigned short int __shm_ctime_high;
44 unsigned short int __glibc_reserved4;
45#else
46 __syscall_ulong_t __glibc_reserved5;
47 __syscall_ulong_t __glibc_reserved6;
48#endif
49 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/fenvinline.h deleted-102
...@@ -1,102 +0,0 @@
1/* Inline floating-point environment handling functions for powerpc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
20
21/* Inline definitions for fegetround. */
22# define __fegetround_ISA300() \
23 (__extension__ ({ \
24 union { double __d; unsigned long long __ll; } __u; \
25 __asm__ __volatile__ ( \
26 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
27 : "=f" (__u.__d)); \
28 __u.__ll & 0x0000000000000003LL; \
29 }))
30
31# define __fegetround_ISA2() \
32 (__extension__ ({ \
33 int __fegetround_result; \
34 __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0" \
35 : "=r"(__fegetround_result) : : "cr7"); \
36 __fegetround_result & 3; \
37 }))
38
39# ifdef _ARCH_PWR9
40# define __fegetround() __fegetround_ISA300()
41# elif defined __BUILTIN_CPU_SUPPORTS__
42# define __fegetround() \
43 (__glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
44 ? __fegetround_ISA300() \
45 : __fegetround_ISA2() \
46 )
47# else
48# define __fegetround() __fegetround_ISA2()
49# endif
50
51# define fegetround() __fegetround ()
52
53# ifndef __NO_MATH_INLINES
54/* The weird 'i#*X' constraints on the following suppress a gcc
55 warning when __excepts is not a constant. Otherwise, they mean the
56 same as just plain 'i'. */
57
58# if __GNUC_PREREQ(3, 4)
59
60/* Inline definition for feraiseexcept. */
61# define feraiseexcept(__excepts) \
62 (__extension__ ({ \
63 int __e = __excepts; \
64 int __ret; \
65 if (__builtin_constant_p (__e) \
66 && (__e & (__e - 1)) == 0 \
67 && __e != FE_INVALID) \
68 { \
69 if (__e != 0) \
70 __asm__ __volatile__ ("mtfsb1 %0" \
71 : : "i#*X" (__builtin_clz (__e))); \
72 __ret = 0; \
73 } \
74 else \
75 __ret = feraiseexcept (__e); \
76 __ret; \
77 }))
78
79/* Inline definition for feclearexcept. */
80# define feclearexcept(__excepts) \
81 (__extension__ ({ \
82 int __e = __excepts; \
83 int __ret; \
84 if (__builtin_constant_p (__e) \
85 && (__e & (__e - 1)) == 0 \
86 && __e != FE_INVALID) \
87 { \
88 if (__e != 0) \
89 __asm__ __volatile__ ("mtfsb0 %0" \
90 : : "i#*X" (__builtin_clz (__e))); \
91 __ret = 0; \
92 } \
93 else \
94 __ret = feclearexcept (__e); \
95 __ret; \
96 }))
97
98# endif /* __GNUC_PREREQ(3, 4). */
99
100# endif /* !__NO_MATH_INLINES. */
101
102#endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/hwcap.h+3-1
...@@ -73,4 +73,6 @@...@@ -73,4 +73,6 @@
73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended
76 state. */
\ No newline at end of file
76 state. */
77#define PPC_FEATURE2_ARCH_3_1 0x00040000 /* ISA 3.1. */
78#define PPC_FEATURE2_MMA 0x00020000 /* Matrix-Multiply Assist. */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/iscanonical.h+1-1
...@@ -20,7 +20,7 @@...@@ -20,7 +20,7 @@
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif21#endif
2222
23#ifdef __NO_LONG_DOUBLE_MATH23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
25#else25#else
26extern int __iscanonicall (long double __x)26extern int __iscanonicall (long double __x)
lib/libc/include/powerpc-linux-gnu/bits/long-double.h+1-1
...@@ -22,4 +22,4 @@...@@ -22,4 +22,4 @@
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23# endif23# endif
24#endif24#endif
25#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
25#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/msq-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct msqid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __MSQ_PAD_AFTER_TIME 0
26#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/sem-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct semid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SEM_PAD_AFTER_TIME 0
26#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/semaphore.h deleted-40
...@@ -1,40 +0,0 @@
1/* Machine-specific POSIX semaphore type layouts. PowerPC version.
2 Copyright (C) 2003-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <https://www.gnu.org/licenses/>. */
19
20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
22#endif
23
24#include <bits/wordsize.h>
25
26#if __WORDSIZE == 64
27# define __SIZEOF_SEM_T 32
28#else
29# define __SIZEOF_SEM_T 16
30#endif
31
32/* Value returned if `sem_open' failed. */
33#define SEM_FAILED ((sem_t *) 0)
34
35
36typedef union
37{
38 char __size[__SIZEOF_SEM_T];
39 long int __align;
40} sem_t;
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/shm-pad.h deleted-28
...@@ -1,28 +0,0 @@
1/* Define where padding goes in struct shmid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SHM_PAD_AFTER_TIME 0
26#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
27#define __SHM_SEGSZ_AFTER_TIME 1
28#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/types/struct_msqid_ds.h created+47
...@@ -0,0 +1,47 @@
1/* Linux/PowerPC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29 unsigned long int __msg_stime_high;
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_rtime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_ctime_high;
34 __time_t msg_ctime; /* time of last change */
35#else
36 __time_t msg_stime; /* time of last msgsnd command */
37 __time_t msg_rtime; /* time of last msgsnd command */
38 __time_t msg_ctime; /* time of last change */
39#endif
40 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
41 msgqnum_t msg_qnum; /* number of messages currently on queue */
42 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
43 __pid_t msg_lspid; /* pid of last msgsnd() */
44 __pid_t msg_lrpid; /* pid of last msgrcv() */
45 __syscall_ulong_t __glibc_reserved4;
46 __syscall_ulong_t __glibc_reserved5;
47};
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/types/struct_semid_ds.h created+39
...@@ -0,0 +1,39 @@
1/* PowerPC implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 __syscall_ulong_t __sem_otime_high;
29 __time_t sem_otime; /* last semop() time */
30 __syscall_ulong_t __sem_ctime_high;
31 __time_t sem_ctime; /* last time changed by semctl() */
32#else
33 __time_t sem_otime; /* last semop() time */
34 __time_t sem_ctime; /* last time changed by semctl() */
35#endif
36 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
37 __syscall_ulong_t __glibc_reserved3;
38 __syscall_ulong_t __glibc_reserved4;
39};
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/types/struct_shmid_ds.h created+46
...@@ -0,0 +1,46 @@
1/* Linux/PowerPC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 unsigned long int __shm_atime_high;
29 __time_t shm_atime; /* time of last shmat() */
30 unsigned long int __shm_dtime_high;
31 __time_t shm_dtime; /* time of last shmdt() */
32 unsigned long int __shm_ctime_high;
33 __time_t shm_ctime; /* time of last change by shmctl() */
34 unsigned long int __glibc_reserved4;
35#else
36 __time_t shm_atime; /* time of last shmat() */
37 __time_t shm_dtime; /* time of last shmdt() */
38 __time_t shm_ctime; /* time of last change by shmctl() */
39#endif
40 size_t shm_segsz; /* size of segment in bytes */
41 __pid_t shm_cpid; /* pid of creator */
42 __pid_t shm_lpid; /* pid of last shmop */
43 shmatt_t shm_nattch; /* number of current attaches */
44 __syscall_ulong_t __glibc_reserved5;
45 __syscall_ulong_t __glibc_reserved6;
46 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/lib-names-32.h-2
...@@ -19,8 +19,6 @@...@@ -19,8 +19,6 @@
19#define LIBNSS_FILES_SO "libnss_files.so.2"19#define LIBNSS_FILES_SO "libnss_files.so.2"
20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
22#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
23#define LIBNSS_NIS_SO "libnss_nis.so.2"
24#define LIBNSS_TEST1_SO "libnss_test1.so.2"22#define LIBNSS_TEST1_SO "libnss_test1.so.2"
25#define LIBNSS_TEST2_SO "libnss_test2.so.2"23#define LIBNSS_TEST2_SO "libnss_test2.so.2"
26#define LIBPTHREAD_SO "libpthread.so.0"24#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/powerpc-linux-gnu/ieee754.h+66-2
...@@ -21,6 +21,7 @@...@@ -21,6 +21,7 @@
21#include <features.h>21#include <features.h>
2222
23#include <bits/endian.h>23#include <bits/endian.h>
24#include <bits/floatn.h>
2425
25__BEGIN_DECLS26__BEGIN_DECLS
2627
...@@ -111,6 +112,65 @@ union ieee754_double...@@ -111,6 +112,65 @@ union ieee754_double
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */112#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112113
113114
115#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
116/* long double is IEEE 128 bit */
117union ieee854_long_double
118 {
119 long double d;
120
121 /* This is the IEEE 854 quad-precision format. */
122 struct
123 {
124#if __BYTE_ORDER == __BIG_ENDIAN
125 unsigned int negative:1;
126 unsigned int exponent:15;
127 /* Together these comprise the mantissa. */
128 unsigned int mantissa0:16;
129 unsigned int mantissa1:32;
130 unsigned int mantissa2:32;
131 unsigned int mantissa3:32;
132#endif /* Big endian. */
133#if __BYTE_ORDER == __LITTLE_ENDIAN
134 /* Together these comprise the mantissa. */
135 unsigned int mantissa3:32;
136 unsigned int mantissa2:32;
137 unsigned int mantissa1:32;
138 unsigned int mantissa0:16;
139 unsigned int exponent:15;
140 unsigned int negative:1;
141#endif /* Little endian. */
142 } ieee;
143
144 /* This format makes it easier to see if a NaN is a signalling NaN. */
145 struct
146 {
147#if __BYTE_ORDER == __BIG_ENDIAN
148 unsigned int negative:1;
149 unsigned int exponent:15;
150 unsigned int quiet_nan:1;
151 /* Together these comprise the mantissa. */
152 unsigned int mantissa0:15;
153 unsigned int mantissa1:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa3:32;
156#else
157 /* Together these comprise the mantissa. */
158 unsigned int mantissa3:32;
159 unsigned int mantissa2:32;
160 unsigned int mantissa1:32;
161 unsigned int mantissa0:15;
162 unsigned int quiet_nan:1;
163 unsigned int exponent:15;
164 unsigned int negative:1;
165#endif
166 } ieee_nan;
167 };
168
169#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
170#endif
171
172
173#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0)
114/* IBM extended format for long double.174/* IBM extended format for long double.
115175
116 Each long double is made up of two IEEE doubles. The value of the176 Each long double is made up of two IEEE doubles. The value of the
...@@ -121,12 +181,16 @@ union ieee754_double...@@ -121,12 +181,16 @@ union ieee754_double
121 -0.0. No other requirements are made; so, for example, 1.0 may be181 -0.0. No other requirements are made; so, for example, 1.0 may be
122 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
123 NaN is don't-care. */183 NaN is don't-care. */
124
125union ibm_extended_long_double184union ibm_extended_long_double
126 {185 {
127 long double ld;186# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
187 __ibm128 ld;
188# else
189 long double ld;
190# endif
128 union ieee754_double d[2];191 union ieee754_double d[2];
129 };192 };
193#endif
130194
131__END_DECLS195__END_DECLS
132196
lib/libc/include/powerpc64-linux-gnu/bits/fenvinline.h deleted-102
...@@ -1,102 +0,0 @@
1/* Inline floating-point environment handling functions for powerpc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
20
21/* Inline definitions for fegetround. */
22# define __fegetround_ISA300() \
23 (__extension__ ({ \
24 union { double __d; unsigned long long __ll; } __u; \
25 __asm__ __volatile__ ( \
26 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
27 : "=f" (__u.__d)); \
28 __u.__ll & 0x0000000000000003LL; \
29 }))
30
31# define __fegetround_ISA2() \
32 (__extension__ ({ \
33 int __fegetround_result; \
34 __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0" \
35 : "=r"(__fegetround_result) : : "cr7"); \
36 __fegetround_result & 3; \
37 }))
38
39# ifdef _ARCH_PWR9
40# define __fegetround() __fegetround_ISA300()
41# elif defined __BUILTIN_CPU_SUPPORTS__
42# define __fegetround() \
43 (__glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
44 ? __fegetround_ISA300() \
45 : __fegetround_ISA2() \
46 )
47# else
48# define __fegetround() __fegetround_ISA2()
49# endif
50
51# define fegetround() __fegetround ()
52
53# ifndef __NO_MATH_INLINES
54/* The weird 'i#*X' constraints on the following suppress a gcc
55 warning when __excepts is not a constant. Otherwise, they mean the
56 same as just plain 'i'. */
57
58# if __GNUC_PREREQ(3, 4)
59
60/* Inline definition for feraiseexcept. */
61# define feraiseexcept(__excepts) \
62 (__extension__ ({ \
63 int __e = __excepts; \
64 int __ret; \
65 if (__builtin_constant_p (__e) \
66 && (__e & (__e - 1)) == 0 \
67 && __e != FE_INVALID) \
68 { \
69 if (__e != 0) \
70 __asm__ __volatile__ ("mtfsb1 %0" \
71 : : "i#*X" (__builtin_clz (__e))); \
72 __ret = 0; \
73 } \
74 else \
75 __ret = feraiseexcept (__e); \
76 __ret; \
77 }))
78
79/* Inline definition for feclearexcept. */
80# define feclearexcept(__excepts) \
81 (__extension__ ({ \
82 int __e = __excepts; \
83 int __ret; \
84 if (__builtin_constant_p (__e) \
85 && (__e & (__e - 1)) == 0 \
86 && __e != FE_INVALID) \
87 { \
88 if (__e != 0) \
89 __asm__ __volatile__ ("mtfsb0 %0" \
90 : : "i#*X" (__builtin_clz (__e))); \
91 __ret = 0; \
92 } \
93 else \
94 __ret = feclearexcept (__e); \
95 __ret; \
96 }))
97
98# endif /* __GNUC_PREREQ(3, 4). */
99
100# endif /* !__NO_MATH_INLINES. */
101
102#endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h+3-1
...@@ -73,4 +73,6 @@...@@ -73,4 +73,6 @@
73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended
76 state. */
\ No newline at end of file
76 state. */
77#define PPC_FEATURE2_ARCH_3_1 0x00040000 /* ISA 3.1. */
78#define PPC_FEATURE2_MMA 0x00020000 /* Matrix-Multiply Assist. */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h+1-1
...@@ -20,7 +20,7 @@...@@ -20,7 +20,7 @@
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif21#endif
2222
23#ifdef __NO_LONG_DOUBLE_MATH23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
25#else25#else
26extern int __iscanonicall (long double __x)26extern int __iscanonicall (long double __x)
lib/libc/include/powerpc64-linux-gnu/bits/long-double.h+1-1
...@@ -22,4 +22,4 @@...@@ -22,4 +22,4 @@
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23# endif23# endif
24#endif24#endif
25#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
25#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/msq-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct msqid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __MSQ_PAD_AFTER_TIME 0
26#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/sem-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct semid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SEM_PAD_AFTER_TIME 0
26#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/semaphore.h deleted-40
...@@ -1,40 +0,0 @@
1/* Machine-specific POSIX semaphore type layouts. PowerPC version.
2 Copyright (C) 2003-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <https://www.gnu.org/licenses/>. */
19
20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
22#endif
23
24#include <bits/wordsize.h>
25
26#if __WORDSIZE == 64
27# define __SIZEOF_SEM_T 32
28#else
29# define __SIZEOF_SEM_T 16
30#endif
31
32/* Value returned if `sem_open' failed. */
33#define SEM_FAILED ((sem_t *) 0)
34
35
36typedef union
37{
38 char __size[__SIZEOF_SEM_T];
39 long int __align;
40} sem_t;
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/shm-pad.h deleted-28
...@@ -1,28 +0,0 @@
1/* Define where padding goes in struct shmid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SHM_PAD_AFTER_TIME 0
26#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
27#define __SHM_SEGSZ_AFTER_TIME 1
28#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h created+47
...@@ -0,0 +1,47 @@
1/* Linux/PowerPC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29 unsigned long int __msg_stime_high;
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_rtime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_ctime_high;
34 __time_t msg_ctime; /* time of last change */
35#else
36 __time_t msg_stime; /* time of last msgsnd command */
37 __time_t msg_rtime; /* time of last msgsnd command */
38 __time_t msg_ctime; /* time of last change */
39#endif
40 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
41 msgqnum_t msg_qnum; /* number of messages currently on queue */
42 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
43 __pid_t msg_lspid; /* pid of last msgsnd() */
44 __pid_t msg_lrpid; /* pid of last msgrcv() */
45 __syscall_ulong_t __glibc_reserved4;
46 __syscall_ulong_t __glibc_reserved5;
47};
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h created+39
...@@ -0,0 +1,39 @@
1/* PowerPC implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 __syscall_ulong_t __sem_otime_high;
29 __time_t sem_otime; /* last semop() time */
30 __syscall_ulong_t __sem_ctime_high;
31 __time_t sem_ctime; /* last time changed by semctl() */
32#else
33 __time_t sem_otime; /* last semop() time */
34 __time_t sem_ctime; /* last time changed by semctl() */
35#endif
36 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
37 __syscall_ulong_t __glibc_reserved3;
38 __syscall_ulong_t __glibc_reserved4;
39};
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h created+46
...@@ -0,0 +1,46 @@
1/* Linux/PowerPC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 unsigned long int __shm_atime_high;
29 __time_t shm_atime; /* time of last shmat() */
30 unsigned long int __shm_dtime_high;
31 __time_t shm_dtime; /* time of last shmdt() */
32 unsigned long int __shm_ctime_high;
33 __time_t shm_ctime; /* time of last change by shmctl() */
34 unsigned long int __glibc_reserved4;
35#else
36 __time_t shm_atime; /* time of last shmat() */
37 __time_t shm_dtime; /* time of last shmdt() */
38 __time_t shm_ctime; /* time of last change by shmctl() */
39#endif
40 size_t shm_segsz; /* size of segment in bytes */
41 __pid_t shm_cpid; /* pid of creator */
42 __pid_t shm_lpid; /* pid of last shmop */
43 shmatt_t shm_nattch; /* number of current attaches */
44 __syscall_ulong_t __glibc_reserved5;
45 __syscall_ulong_t __glibc_reserved6;
46 };
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/powerpc64-linux-gnu/gnu/stubs-64-v1.h-2
...@@ -10,9 +10,7 @@...@@ -10,9 +10,7 @@
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fchflags11#define __stub_fchflags
12#define __stub_gtty12#define __stub_gtty
13#define __stub_lchmod
14#define __stub_revoke13#define __stub_revoke
15#define __stub_setlogin14#define __stub_setlogin
16#define __stub_sigreturn15#define __stub_sigreturn
17#define __stub_sstk
18#define __stub_stty16#define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/ieee754.h+66-2
...@@ -21,6 +21,7 @@...@@ -21,6 +21,7 @@
21#include <features.h>21#include <features.h>
2222
23#include <bits/endian.h>23#include <bits/endian.h>
24#include <bits/floatn.h>
2425
25__BEGIN_DECLS26__BEGIN_DECLS
2627
...@@ -111,6 +112,65 @@ union ieee754_double...@@ -111,6 +112,65 @@ union ieee754_double
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */112#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112113
113114
115#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
116/* long double is IEEE 128 bit */
117union ieee854_long_double
118 {
119 long double d;
120
121 /* This is the IEEE 854 quad-precision format. */
122 struct
123 {
124#if __BYTE_ORDER == __BIG_ENDIAN
125 unsigned int negative:1;
126 unsigned int exponent:15;
127 /* Together these comprise the mantissa. */
128 unsigned int mantissa0:16;
129 unsigned int mantissa1:32;
130 unsigned int mantissa2:32;
131 unsigned int mantissa3:32;
132#endif /* Big endian. */
133#if __BYTE_ORDER == __LITTLE_ENDIAN
134 /* Together these comprise the mantissa. */
135 unsigned int mantissa3:32;
136 unsigned int mantissa2:32;
137 unsigned int mantissa1:32;
138 unsigned int mantissa0:16;
139 unsigned int exponent:15;
140 unsigned int negative:1;
141#endif /* Little endian. */
142 } ieee;
143
144 /* This format makes it easier to see if a NaN is a signalling NaN. */
145 struct
146 {
147#if __BYTE_ORDER == __BIG_ENDIAN
148 unsigned int negative:1;
149 unsigned int exponent:15;
150 unsigned int quiet_nan:1;
151 /* Together these comprise the mantissa. */
152 unsigned int mantissa0:15;
153 unsigned int mantissa1:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa3:32;
156#else
157 /* Together these comprise the mantissa. */
158 unsigned int mantissa3:32;
159 unsigned int mantissa2:32;
160 unsigned int mantissa1:32;
161 unsigned int mantissa0:15;
162 unsigned int quiet_nan:1;
163 unsigned int exponent:15;
164 unsigned int negative:1;
165#endif
166 } ieee_nan;
167 };
168
169#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
170#endif
171
172
173#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0)
114/* IBM extended format for long double.174/* IBM extended format for long double.
115175
116 Each long double is made up of two IEEE doubles. The value of the176 Each long double is made up of two IEEE doubles. The value of the
...@@ -121,12 +181,16 @@ union ieee754_double...@@ -121,12 +181,16 @@ union ieee754_double
121 -0.0. No other requirements are made; so, for example, 1.0 may be181 -0.0. No other requirements are made; so, for example, 1.0 may be
122 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
123 NaN is don't-care. */183 NaN is don't-care. */
124
125union ibm_extended_long_double184union ibm_extended_long_double
126 {185 {
127 long double ld;186# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
187 __ibm128 ld;
188# else
189 long double ld;
190# endif
128 union ieee754_double d[2];191 union ieee754_double d[2];
129 };192 };
193#endif
130194
131__END_DECLS195__END_DECLS
132196
lib/libc/include/powerpc64le-linux-gnu/bits/fenvinline.h deleted-102
...@@ -1,102 +0,0 @@
1/* Inline floating-point environment handling functions for powerpc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
20
21/* Inline definitions for fegetround. */
22# define __fegetround_ISA300() \
23 (__extension__ ({ \
24 union { double __d; unsigned long long __ll; } __u; \
25 __asm__ __volatile__ ( \
26 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
27 : "=f" (__u.__d)); \
28 __u.__ll & 0x0000000000000003LL; \
29 }))
30
31# define __fegetround_ISA2() \
32 (__extension__ ({ \
33 int __fegetround_result; \
34 __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0" \
35 : "=r"(__fegetround_result) : : "cr7"); \
36 __fegetround_result & 3; \
37 }))
38
39# ifdef _ARCH_PWR9
40# define __fegetround() __fegetround_ISA300()
41# elif defined __BUILTIN_CPU_SUPPORTS__
42# define __fegetround() \
43 (__glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
44 ? __fegetround_ISA300() \
45 : __fegetround_ISA2() \
46 )
47# else
48# define __fegetround() __fegetround_ISA2()
49# endif
50
51# define fegetround() __fegetround ()
52
53# ifndef __NO_MATH_INLINES
54/* The weird 'i#*X' constraints on the following suppress a gcc
55 warning when __excepts is not a constant. Otherwise, they mean the
56 same as just plain 'i'. */
57
58# if __GNUC_PREREQ(3, 4)
59
60/* Inline definition for feraiseexcept. */
61# define feraiseexcept(__excepts) \
62 (__extension__ ({ \
63 int __e = __excepts; \
64 int __ret; \
65 if (__builtin_constant_p (__e) \
66 && (__e & (__e - 1)) == 0 \
67 && __e != FE_INVALID) \
68 { \
69 if (__e != 0) \
70 __asm__ __volatile__ ("mtfsb1 %0" \
71 : : "i#*X" (__builtin_clz (__e))); \
72 __ret = 0; \
73 } \
74 else \
75 __ret = feraiseexcept (__e); \
76 __ret; \
77 }))
78
79/* Inline definition for feclearexcept. */
80# define feclearexcept(__excepts) \
81 (__extension__ ({ \
82 int __e = __excepts; \
83 int __ret; \
84 if (__builtin_constant_p (__e) \
85 && (__e & (__e - 1)) == 0 \
86 && __e != FE_INVALID) \
87 { \
88 if (__e != 0) \
89 __asm__ __volatile__ ("mtfsb0 %0" \
90 : : "i#*X" (__builtin_clz (__e))); \
91 __ret = 0; \
92 } \
93 else \
94 __ret = feclearexcept (__e); \
95 __ret; \
96 }))
97
98# endif /* __GNUC_PREREQ(3, 4). */
99
100# endif /* !__NO_MATH_INLINES. */
101
102#endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h+3-1
...@@ -73,4 +73,6 @@...@@ -73,4 +73,6 @@
73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended
76 state. */
\ No newline at end of file
76 state. */
77#define PPC_FEATURE2_ARCH_3_1 0x00040000 /* ISA 3.1. */
78#define PPC_FEATURE2_MMA 0x00020000 /* Matrix-Multiply Assist. */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h+1-1
...@@ -20,7 +20,7 @@...@@ -20,7 +20,7 @@
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif21#endif
2222
23#ifdef __NO_LONG_DOUBLE_MATH23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
25#else25#else
26extern int __iscanonicall (long double __x)26extern int __iscanonicall (long double __x)
lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h+3-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-opt version.1/* Properties of long double type. ldbl-opt version.
2 Copyright (C) 2016-2020 Free Software Foundation, Inc.2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -22,4 +22,5 @@...@@ -22,4 +22,5 @@
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23# endif23# endif
24#endif24#endif
25#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
25
26#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI (__LDBL_MANT_DIG__ == 113)
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/msq-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct msqid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __MSQ_PAD_AFTER_TIME 0
26#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/sem-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct semid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SEM_PAD_AFTER_TIME 0
26#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/semaphore.h deleted-40
...@@ -1,40 +0,0 @@
1/* Machine-specific POSIX semaphore type layouts. PowerPC version.
2 Copyright (C) 2003-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <https://www.gnu.org/licenses/>. */
19
20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
22#endif
23
24#include <bits/wordsize.h>
25
26#if __WORDSIZE == 64
27# define __SIZEOF_SEM_T 32
28#else
29# define __SIZEOF_SEM_T 16
30#endif
31
32/* Value returned if `sem_open' failed. */
33#define SEM_FAILED ((sem_t *) 0)
34
35
36typedef union
37{
38 char __size[__SIZEOF_SEM_T];
39 long int __align;
40} sem_t;
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/shm-pad.h deleted-28
...@@ -1,28 +0,0 @@
1/* Define where padding goes in struct shmid_ds. PowerPC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SHM_PAD_AFTER_TIME 0
26#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
27#define __SHM_SEGSZ_AFTER_TIME 1
28#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h created+47
...@@ -0,0 +1,47 @@
1/* Linux/PowerPC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29 unsigned long int __msg_stime_high;
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_rtime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_ctime_high;
34 __time_t msg_ctime; /* time of last change */
35#else
36 __time_t msg_stime; /* time of last msgsnd command */
37 __time_t msg_rtime; /* time of last msgsnd command */
38 __time_t msg_ctime; /* time of last change */
39#endif
40 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
41 msgqnum_t msg_qnum; /* number of messages currently on queue */
42 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
43 __pid_t msg_lspid; /* pid of last msgsnd() */
44 __pid_t msg_lrpid; /* pid of last msgrcv() */
45 __syscall_ulong_t __glibc_reserved4;
46 __syscall_ulong_t __glibc_reserved5;
47};
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h created+39
...@@ -0,0 +1,39 @@
1/* PowerPC implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 __syscall_ulong_t __sem_otime_high;
29 __time_t sem_otime; /* last semop() time */
30 __syscall_ulong_t __sem_ctime_high;
31 __time_t sem_ctime; /* last time changed by semctl() */
32#else
33 __time_t sem_otime; /* last semop() time */
34 __time_t sem_ctime; /* last time changed by semctl() */
35#endif
36 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
37 __syscall_ulong_t __glibc_reserved3;
38 __syscall_ulong_t __glibc_reserved4;
39};
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h created+46
...@@ -0,0 +1,46 @@
1/* Linux/PowerPC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 unsigned long int __shm_atime_high;
29 __time_t shm_atime; /* time of last shmat() */
30 unsigned long int __shm_dtime_high;
31 __time_t shm_dtime; /* time of last shmdt() */
32 unsigned long int __shm_ctime_high;
33 __time_t shm_ctime; /* time of last change by shmctl() */
34 unsigned long int __glibc_reserved4;
35#else
36 __time_t shm_atime; /* time of last shmat() */
37 __time_t shm_dtime; /* time of last shmdt() */
38 __time_t shm_ctime; /* time of last change by shmctl() */
39#endif
40 size_t shm_segsz; /* size of segment in bytes */
41 __pid_t shm_cpid; /* pid of creator */
42 __pid_t shm_lpid; /* pid of last shmop */
43 shmatt_t shm_nattch; /* number of current attaches */
44 __syscall_ulong_t __glibc_reserved5;
45 __syscall_ulong_t __glibc_reserved6;
46 };
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h-2
...@@ -10,9 +10,7 @@...@@ -10,9 +10,7 @@
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fchflags11#define __stub_fchflags
12#define __stub_gtty12#define __stub_gtty
13#define __stub_lchmod
14#define __stub_revoke13#define __stub_revoke
15#define __stub_setlogin14#define __stub_setlogin
16#define __stub_sigreturn15#define __stub_sigreturn
17#define __stub_sstk
18#define __stub_stty16#define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/ieee754.h+66-2
...@@ -21,6 +21,7 @@...@@ -21,6 +21,7 @@
21#include <features.h>21#include <features.h>
2222
23#include <bits/endian.h>23#include <bits/endian.h>
24#include <bits/floatn.h>
2425
25__BEGIN_DECLS26__BEGIN_DECLS
2627
...@@ -111,6 +112,65 @@ union ieee754_double...@@ -111,6 +112,65 @@ union ieee754_double
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */112#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112113
113114
115#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
116/* long double is IEEE 128 bit */
117union ieee854_long_double
118 {
119 long double d;
120
121 /* This is the IEEE 854 quad-precision format. */
122 struct
123 {
124#if __BYTE_ORDER == __BIG_ENDIAN
125 unsigned int negative:1;
126 unsigned int exponent:15;
127 /* Together these comprise the mantissa. */
128 unsigned int mantissa0:16;
129 unsigned int mantissa1:32;
130 unsigned int mantissa2:32;
131 unsigned int mantissa3:32;
132#endif /* Big endian. */
133#if __BYTE_ORDER == __LITTLE_ENDIAN
134 /* Together these comprise the mantissa. */
135 unsigned int mantissa3:32;
136 unsigned int mantissa2:32;
137 unsigned int mantissa1:32;
138 unsigned int mantissa0:16;
139 unsigned int exponent:15;
140 unsigned int negative:1;
141#endif /* Little endian. */
142 } ieee;
143
144 /* This format makes it easier to see if a NaN is a signalling NaN. */
145 struct
146 {
147#if __BYTE_ORDER == __BIG_ENDIAN
148 unsigned int negative:1;
149 unsigned int exponent:15;
150 unsigned int quiet_nan:1;
151 /* Together these comprise the mantissa. */
152 unsigned int mantissa0:15;
153 unsigned int mantissa1:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa3:32;
156#else
157 /* Together these comprise the mantissa. */
158 unsigned int mantissa3:32;
159 unsigned int mantissa2:32;
160 unsigned int mantissa1:32;
161 unsigned int mantissa0:15;
162 unsigned int quiet_nan:1;
163 unsigned int exponent:15;
164 unsigned int negative:1;
165#endif
166 } ieee_nan;
167 };
168
169#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
170#endif
171
172
173#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0)
114/* IBM extended format for long double.174/* IBM extended format for long double.
115175
116 Each long double is made up of two IEEE doubles. The value of the176 Each long double is made up of two IEEE doubles. The value of the
...@@ -121,12 +181,16 @@ union ieee754_double...@@ -121,12 +181,16 @@ union ieee754_double
121 -0.0. No other requirements are made; so, for example, 1.0 may be181 -0.0. No other requirements are made; so, for example, 1.0 may be
122 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
123 NaN is don't-care. */183 NaN is don't-care. */
124
125union ibm_extended_long_double184union ibm_extended_long_double
126 {185 {
127 long double ld;186# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
187 __ibm128 ld;
188# else
189 long double ld;
190# endif
128 union ieee754_double d[2];191 union ieee754_double d[2];
129 };192 };
193#endif
130194
131__END_DECLS195__END_DECLS
132196
lib/libc/include/riscv64-linux-gnu/bits/floatn.h deleted-97
...@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/long-double.h+1-1
...@@ -18,4 +18,4 @@...@@ -18,4 +18,4 @@
1818
19/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/semaphore.h deleted-33
...@@ -1,33 +0,0 @@
1/* Machine-specific POSIX semaphore type layouts. RISC-V version.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
21#endif
22
23#define __SIZEOF_SEM_T (4 * __SIZEOF_POINTER__)
24
25/* Value returned if `sem_open' failed. */
26#define SEM_FAILED ((sem_t *) 0)
27
28
29typedef union
30{
31 char __size[__SIZEOF_SEM_T];
32 long int __align;
33} sem_t;
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/typesizes.h+29-9
...@@ -26,31 +26,45 @@...@@ -26,31 +26,45 @@
2626
27/* See <bits/types.h> for the meaning of these macros. This file exists so27/* See <bits/types.h> for the meaning of these macros. This file exists so
28 that <bits/types.h> need not vary across different GNU platforms. */28 that <bits/types.h> need not vary across different GNU platforms. */
29#if __TIMESIZE == 64 && __WORDSIZE == 32
30/* These are the "new" y2038 types defined for architectures added after
31 the 5.1 kernel. */
32# define __INO_T_TYPE __UQUAD_TYPE
33# define __OFF_T_TYPE __SQUAD_TYPE
34# define __RLIM_T_TYPE __UQUAD_TYPE
35# define __BLKCNT_T_TYPE __SQUAD_TYPE
36# define __FSBLKCNT_T_TYPE __UQUAD_TYPE
37# define __FSFILCNT_T_TYPE __UQUAD_TYPE
38# define __TIME_T_TYPE __SQUAD_TYPE
39# define __SUSECONDS_T_TYPE __SQUAD_TYPE
40#else
41# define __INO_T_TYPE __ULONGWORD_TYPE
42# define __OFF_T_TYPE __SLONGWORD_TYPE
43# define __RLIM_T_TYPE __ULONGWORD_TYPE
44# define __BLKCNT_T_TYPE __SLONGWORD_TYPE
45# define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
46# define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
47# define __TIME_T_TYPE __SLONGWORD_TYPE
48# define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
49#endif
2950
30#define __DEV_T_TYPE __UQUAD_TYPE51#define __DEV_T_TYPE __UQUAD_TYPE
31#define __UID_T_TYPE __U32_TYPE52#define __UID_T_TYPE __U32_TYPE
32#define __GID_T_TYPE __U32_TYPE53#define __GID_T_TYPE __U32_TYPE
33#define __INO_T_TYPE __ULONGWORD_TYPE
34#define __INO64_T_TYPE __UQUAD_TYPE54#define __INO64_T_TYPE __UQUAD_TYPE
35#define __MODE_T_TYPE __U32_TYPE55#define __MODE_T_TYPE __U32_TYPE
36#define __NLINK_T_TYPE __U32_TYPE56#define __NLINK_T_TYPE __U32_TYPE
37#define __OFF_T_TYPE __SLONGWORD_TYPE
38#define __OFF64_T_TYPE __SQUAD_TYPE57#define __OFF64_T_TYPE __SQUAD_TYPE
39#define __PID_T_TYPE __S32_TYPE58#define __PID_T_TYPE __S32_TYPE
40#define __RLIM_T_TYPE __ULONGWORD_TYPE
41#define __RLIM64_T_TYPE __UQUAD_TYPE59#define __RLIM64_T_TYPE __UQUAD_TYPE
42#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
43#define __BLKCNT64_T_TYPE __SQUAD_TYPE60#define __BLKCNT64_T_TYPE __SQUAD_TYPE
44#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
45#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE61#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
46#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
47#define __FSFILCNT64_T_TYPE __UQUAD_TYPE62#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
48#define __FSWORD_T_TYPE __SWORD_TYPE63#define __FSWORD_T_TYPE __SWORD_TYPE
49#define __ID_T_TYPE __U32_TYPE64#define __ID_T_TYPE __U32_TYPE
50#define __CLOCK_T_TYPE __SLONGWORD_TYPE65#define __CLOCK_T_TYPE __SLONGWORD_TYPE
51#define __TIME_T_TYPE __SLONGWORD_TYPE
52#define __USECONDS_T_TYPE __U32_TYPE66#define __USECONDS_T_TYPE __U32_TYPE
53#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE68#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE69#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE70#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -62,7 +76,7 @@...@@ -62,7 +76,7 @@
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE76#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE77#define __CPU_MASK_TYPE __ULONGWORD_TYPE
6478
65#ifdef __LP64__79#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
66/* Tell the libc code that off_t and off64_t are actually the same type80/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types81 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */82 for C type-checking purposes. */
...@@ -76,11 +90,17 @@...@@ -76,11 +90,17 @@
7690
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */91/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 192# define __STATFS_MATCHES_STATFS64 1
93
94/* And for getitimer, setitimer and rusage */
95# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
79#else96#else
80# define __RLIM_T_MATCHES_RLIM64_T 097# define __RLIM_T_MATCHES_RLIM64_T 0
8198
82# define __STATFS_MATCHES_STATFS64 099# define __STATFS_MATCHES_STATFS64 0
100
101# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
83#endif102#endif
103
84/* Number of descriptors that can fit in an `fd_set'. */104/* Number of descriptors that can fit in an `fd_set'. */
85#define __FD_SETSIZE 1024105#define __FD_SETSIZE 1024
86106
lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64.h+1-4
...@@ -32,10 +32,7 @@...@@ -32,10 +32,7 @@
32#define __stub_fetestexcept32#define __stub_fetestexcept
33#define __stub_feupdateenv33#define __stub_feupdateenv
34#define __stub_gtty34#define __stub_gtty
35#define __stub_lchmod
36#define __stub_revoke35#define __stub_revoke
37#define __stub_setlogin36#define __stub_setlogin
38#define __stub_sigreturn37#define __stub_sigreturn
39#define __stub_sstk
40#define __stub_stty
41#define __stub_sysctl
\ No newline at end of file
38#define __stub_stty
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/fenv.h+2-2
...@@ -73,14 +73,14 @@ typedef unsigned int fexcept_t; /* size of fpc */...@@ -73,14 +73,14 @@ typedef unsigned int fexcept_t; /* size of fpc */
7373
7474
75/* Type representing floating-point environment. This function corresponds75/* Type representing floating-point environment. This function corresponds
76 to the layout of the block written by the `fstenv'. */76 to the layout of the block used by fegetenv and fesetenv. */
77typedef struct77typedef struct
78{78{
79 fexcept_t __fpc;79 fexcept_t __fpc;
80 void *__unused;80 void *__unused;
81 /* The field __unused (formerly __ieee_instruction_pointer) is a relict from81 /* The field __unused (formerly __ieee_instruction_pointer) is a relict from
82 commit "Remove PTRACE_PEEKUSER" (87b9b50f0d4b92248905e95a06a13c513dc45e59)82 commit "Remove PTRACE_PEEKUSER" (87b9b50f0d4b92248905e95a06a13c513dc45e59)
83 and isn´t used anymore. */83 and isn't used anymore. */
84} fenv_t;84} fenv_t;
8585
86/* If the default argument is used we use this value. */86/* If the default argument is used we use this value. */
lib/libc/include/s390x-linux-gnu/bits/floatn.h deleted-97
...@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/long-double.h+1-1
...@@ -22,4 +22,4 @@...@@ -22,4 +22,4 @@
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23# endif23# endif
24#endif24#endif
25#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
25#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/semaphore.h deleted-39
...@@ -1,39 +0,0 @@
1/* Copyright (C) 2003-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
26# define __SIZEOF_SEM_T 32
27#else
28# define __SIZEOF_SEM_T 16
29#endif
30
31/* Value returned if `sem_open' failed. */
32#define SEM_FAILED ((sem_t *) 0)
33
34
35typedef union
36{
37 char __size[__SIZEOF_SEM_T];
38 long int __align;
39} sem_t;
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/typesizes.h+7
...@@ -50,6 +50,7 @@...@@ -50,6 +50,7 @@
50#define __TIME_T_TYPE __SLONGWORD_TYPE50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
53#define __DADDR_T_TYPE __S32_TYPE54#define __DADDR_T_TYPE __S32_TYPE
54#define __KEY_T_TYPE __S32_TYPE55#define __KEY_T_TYPE __S32_TYPE
55#define __CLOCKID_T_TYPE __S32_TYPE56#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -81,10 +82,16 @@...@@ -81,10 +82,16 @@
8182
82/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */83/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
83# define __STATFS_MATCHES_STATFS64 184# define __STATFS_MATCHES_STATFS64 1
85
86/* And for getitimer, setitimer and rusage */
87# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
84#else88#else
85# define __RLIM_T_MATCHES_RLIM64_T 089# define __RLIM_T_MATCHES_RLIM64_T 0
8690
87# define __STATFS_MATCHES_STATFS64 091# define __STATFS_MATCHES_STATFS64 0
92
93/* And for getitimer, setitimer and rusage */
94# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
88#endif95#endif
8996
90/* Number of descriptors that can fit in an `fd_set'. */97/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/sparc-linux-gnu/bits/fenv.h-9
...@@ -83,15 +83,6 @@ typedef unsigned long int fenv_t;...@@ -83,15 +83,6 @@ typedef unsigned long int fenv_t;
83# define FE_NOMASK_ENV ((const fenv_t *) -2)83# define FE_NOMASK_ENV ((const fenv_t *) -2)
84#endif84#endif
8585
86/* For internal use only: access the fp state register. */
87#if __WORDSIZE == 64
88# define __fenv_stfsr(X) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (X))
89# define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X))
90#else
91# define __fenv_stfsr(X) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (X))
92# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
93#endif
94
95#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)86#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
96/* Type representing floating-point control modes. */87/* Type representing floating-point control modes. */
97typedef unsigned long int femode_t;88typedef unsigned long int femode_t;
lib/libc/include/sparc-linux-gnu/bits/floatn.h deleted-97
...@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/long-double.h+1-1
...@@ -24,4 +24,4 @@...@@ -24,4 +24,4 @@
24# define __NO_LONG_DOUBLE_MATH 124# define __NO_LONG_DOUBLE_MATH 1
25# endif25# endif
26#endif26#endif
27#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
27#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/msq-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct msqid_ds. SPARC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __MSQ_PAD_AFTER_TIME 0
26#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/sparc-linux-gnu/bits/sem-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct semid_ds. SPARC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SEM_PAD_AFTER_TIME 0
26#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/semaphore.h deleted-40
...@@ -1,40 +0,0 @@
1/* Machine-specific POSIX semaphore type layouts. SPARC version.
2 Copyright (C) 2003-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <https://www.gnu.org/licenses/>. */
19
20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
22#endif
23
24#include <bits/wordsize.h>
25
26#if __WORDSIZE == 64
27# define __SIZEOF_SEM_T 32
28#else
29# define __SIZEOF_SEM_T 16
30#endif
31
32/* Value returned if `sem_open' failed. */
33#define SEM_FAILED ((sem_t *) 0)
34
35
36typedef union
37{
38 char __size[__SIZEOF_SEM_T];
39 long int __align;
40} sem_t;
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/shm-pad.h deleted-28
...@@ -1,28 +0,0 @@
1/* Define where padding goes in struct shmid_ds. SPARC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SHM_PAD_AFTER_TIME 0
26#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
27#define __SHM_SEGSZ_AFTER_TIME 1
28#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/signum-arch.h created+66
...@@ -0,0 +1,66 @@
1/* Signal number definitions. Linux/SPARC version.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_ARCH_H
20#define _BITS_SIGNUM_ARCH_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum-arch.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/SPARC systems. Signal values on this platform were chosen
28 for SunOS binary compatibility. */
29
30#define SIGEMT 7 /* Emulator trap. */
31#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */
32#define SIGPWR SIGLOST /* Power failure imminent (SysV). */
33
34/* Historical signals specified by POSIX. */
35#define SIGBUS 10 /* Bus error. */
36#define SIGSYS 12 /* Bad system call. */
37
38/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
39#define SIGURG 16 /* Urgent data is available at a socket. */
40#define SIGSTOP 17 /* Stop, unblockable. */
41#define SIGTSTP 18 /* Keyboard stop. */
42#define SIGCONT 19 /* Continue. */
43#define SIGCHLD 20 /* Child terminated or stopped. */
44#define SIGTTIN 21 /* Background read from control terminal. */
45#define SIGTTOU 22 /* Background write to control terminal. */
46#define SIGPOLL 23 /* Pollable event occurred (System V). */
47#define SIGXCPU 24 /* CPU time limit exceeded. */
48#define SIGVTALRM 26 /* Virtual timer expired. */
49#define SIGPROF 27 /* Profiling timer expired. */
50#define SIGXFSZ 25 /* File size limit exceeded. */
51#define SIGUSR1 30 /* User-defined signal 1. */
52#define SIGUSR2 31 /* User-defined signal 2. */
53
54/* Nonstandard signals found in all modern POSIX systems
55 (including both BSD and Linux). */
56#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
57
58/* Archaic names for compatibility. */
59#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
60#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
61#define SIGCLD SIGCHLD /* Old System V name */
62
63#define __SIGRTMIN 32
64#define __SIGRTMAX 64
65
66#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/signum.h deleted-39
...@@ -1,39 +0,0 @@
1/* Signal number definitions. Linux/SPARC version.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 Linux/SPARC systems. Signal values on this platform were chosen
30 for SunOS binary compatibility. */
31
32#define SIGEMT 7 /* Emulator trap. */
33#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */
34#define SIGPWR SIGLOST /* Power failure imminent (SysV). */
35
36#undef __SIGRTMAX
37#define __SIGRTMAX 64
38
39#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h created+47
...@@ -0,0 +1,47 @@
1/* Linux/SPARC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29 unsigned long int __msg_stime_high;
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_rtime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_ctime_high;
34 __time_t msg_ctime; /* time of last change */
35#else
36 __time_t msg_stime; /* time of last msgsnd command */
37 __time_t msg_rtime; /* time of last msgsnd command */
38 __time_t msg_ctime; /* time of last change */
39#endif
40 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
41 msgqnum_t msg_qnum; /* number of messages currently on queue */
42 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
43 __pid_t msg_lspid; /* pid of last msgsnd() */
44 __pid_t msg_lrpid; /* pid of last msgrcv() */
45 __syscall_ulong_t __glibc_reserved4;
46 __syscall_ulong_t __glibc_reserved5;
47};
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h created+39
...@@ -0,0 +1,39 @@
1/* Sparc implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 __syscall_ulong_t __sem_otime_high;
29 __time_t sem_otime; /* last semop() time */
30 __syscall_ulong_t __sem_ctime_high;
31 __time_t sem_ctime; /* last time changed by semctl() */
32#else
33 __time_t sem_otime; /* last semop() time */
34 __time_t sem_ctime; /* last time changed by semctl() */
35#endif
36 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
37 __syscall_ulong_t __glibc_reserved3;
38 __syscall_ulong_t __glibc_reserved4;
39};
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h created+45
...@@ -0,0 +1,45 @@
1/* Linux/SPARC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 unsigned long int __shm_atime_high;
29 __time_t shm_atime; /* time of last shmat() */
30 unsigned long int __shm_dtime_high;
31 __time_t shm_dtime; /* time of last shmdt() */
32 unsigned long int __shm_ctime_high;
33 __time_t shm_ctime; /* time of last change by shmctl() */
34#else
35 __time_t shm_atime; /* time of last shmat() */
36 __time_t shm_dtime; /* time of last shmdt() */
37 __time_t shm_ctime; /* time of last change by shmctl() */
38#endif
39 size_t shm_segsz; /* size of segment in bytes */
40 __pid_t shm_cpid; /* pid of creator */
41 __pid_t shm_lpid; /* pid of last shmop */
42 shmatt_t shm_nattch; /* number of current attaches */
43 __syscall_ulong_t __glibc_reserved5;
44 __syscall_ulong_t __glibc_reserved6;
45 };
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/typesizes.h+7
...@@ -50,6 +50,7 @@...@@ -50,6 +50,7 @@
50#define __TIME_T_TYPE __SLONGWORD_TYPE50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __S32_TYPE52#define __SUSECONDS_T_TYPE __S32_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
53#define __DADDR_T_TYPE __S32_TYPE54#define __DADDR_T_TYPE __S32_TYPE
54#define __KEY_T_TYPE __S32_TYPE55#define __KEY_T_TYPE __S32_TYPE
55#define __CLOCKID_T_TYPE __S32_TYPE56#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -75,10 +76,16 @@...@@ -75,10 +76,16 @@
7576
76/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
77# define __STATFS_MATCHES_STATFS64 178# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
78#else82#else
79# define __RLIM_T_MATCHES_RLIM64_T 083# define __RLIM_T_MATCHES_RLIM64_T 0
8084
81# define __STATFS_MATCHES_STATFS64 085# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
82#endif89#endif
8390
84/* Number of descriptors that can fit in an `fd_set'. */91/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/sparcv9-linux-gnu/bits/fenv.h-9
...@@ -83,15 +83,6 @@ typedef unsigned long int fenv_t;...@@ -83,15 +83,6 @@ typedef unsigned long int fenv_t;
83# define FE_NOMASK_ENV ((const fenv_t *) -2)83# define FE_NOMASK_ENV ((const fenv_t *) -2)
84#endif84#endif
8585
86/* For internal use only: access the fp state register. */
87#if __WORDSIZE == 64
88# define __fenv_stfsr(X) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (X))
89# define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X))
90#else
91# define __fenv_stfsr(X) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (X))
92# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
93#endif
94
95#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)86#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
96/* Type representing floating-point control modes. */87/* Type representing floating-point control modes. */
97typedef unsigned long int femode_t;88typedef unsigned long int femode_t;
lib/libc/include/sparcv9-linux-gnu/bits/floatn.h deleted-97
...@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/long-double.h+1-1
...@@ -24,4 +24,4 @@...@@ -24,4 +24,4 @@
24# define __NO_LONG_DOUBLE_MATH 124# define __NO_LONG_DOUBLE_MATH 1
25# endif25# endif
26#endif26#endif
27#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
27#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/msq-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct msqid_ds. SPARC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __MSQ_PAD_AFTER_TIME 0
26#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/resource.h+1-1
...@@ -98,7 +98,7 @@ enum __rlimit_resource...@@ -98,7 +98,7 @@ enum __rlimit_resource
98 __RLIMIT_RTPRIO = 14,98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,104 __RLIMIT_RTTIME = 15,
lib/libc/include/sparcv9-linux-gnu/bits/sem-pad.h deleted-26
...@@ -1,26 +0,0 @@
1/* Define where padding goes in struct semid_ds. SPARC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SEM_PAD_AFTER_TIME 0
26#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32)
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/semaphore.h deleted-40
...@@ -1,40 +0,0 @@
1/* Machine-specific POSIX semaphore type layouts. SPARC version.
2 Copyright (C) 2003-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <https://www.gnu.org/licenses/>. */
19
20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
22#endif
23
24#include <bits/wordsize.h>
25
26#if __WORDSIZE == 64
27# define __SIZEOF_SEM_T 32
28#else
29# define __SIZEOF_SEM_T 16
30#endif
31
32/* Value returned if `sem_open' failed. */
33#define SEM_FAILED ((sem_t *) 0)
34
35
36typedef union
37{
38 char __size[__SIZEOF_SEM_T];
39 long int __align;
40} sem_t;
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/shm-pad.h deleted-28
...@@ -1,28 +0,0 @@
1/* Define where padding goes in struct shmid_ds. SPARC version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
21#endif
22
23#include <bits/timesize.h>
24
25#define __SHM_PAD_AFTER_TIME 0
26#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32)
27#define __SHM_SEGSZ_AFTER_TIME 1
28#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/signum-arch.h created+66
...@@ -0,0 +1,66 @@
1/* Signal number definitions. Linux/SPARC version.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_ARCH_H
20#define _BITS_SIGNUM_ARCH_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum-arch.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/SPARC systems. Signal values on this platform were chosen
28 for SunOS binary compatibility. */
29
30#define SIGEMT 7 /* Emulator trap. */
31#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */
32#define SIGPWR SIGLOST /* Power failure imminent (SysV). */
33
34/* Historical signals specified by POSIX. */
35#define SIGBUS 10 /* Bus error. */
36#define SIGSYS 12 /* Bad system call. */
37
38/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
39#define SIGURG 16 /* Urgent data is available at a socket. */
40#define SIGSTOP 17 /* Stop, unblockable. */
41#define SIGTSTP 18 /* Keyboard stop. */
42#define SIGCONT 19 /* Continue. */
43#define SIGCHLD 20 /* Child terminated or stopped. */
44#define SIGTTIN 21 /* Background read from control terminal. */
45#define SIGTTOU 22 /* Background write to control terminal. */
46#define SIGPOLL 23 /* Pollable event occurred (System V). */
47#define SIGXCPU 24 /* CPU time limit exceeded. */
48#define SIGVTALRM 26 /* Virtual timer expired. */
49#define SIGPROF 27 /* Profiling timer expired. */
50#define SIGXFSZ 25 /* File size limit exceeded. */
51#define SIGUSR1 30 /* User-defined signal 1. */
52#define SIGUSR2 31 /* User-defined signal 2. */
53
54/* Nonstandard signals found in all modern POSIX systems
55 (including both BSD and Linux). */
56#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
57
58/* Archaic names for compatibility. */
59#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
60#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
61#define SIGCLD SIGCHLD /* Old System V name */
62
63#define __SIGRTMIN 32
64#define __SIGRTMAX 64
65
66#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/signum.h deleted-39
...@@ -1,39 +0,0 @@
1/* Signal number definitions. Linux/SPARC version.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/signum-generic.h>
27
28/* Adjustments and additions to the signal number constants for
29 Linux/SPARC systems. Signal values on this platform were chosen
30 for SunOS binary compatibility. */
31
32#define SIGEMT 7 /* Emulator trap. */
33#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */
34#define SIGPWR SIGLOST /* Power failure imminent (SysV). */
35
36#undef __SIGRTMAX
37#define __SIGRTMAX 64
38
39#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/types/struct_msqid_ds.h created+47
...@@ -0,0 +1,47 @@
1/* Linux/SPARC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
21#endif
22
23/* Structure of record for one message inside the kernel.
24 The type `struct msg' is opaque. */
25struct msqid_ds
26{
27 struct ipc_perm msg_perm; /* structure describing operation permission */
28#if __TIMESIZE == 32
29 unsigned long int __msg_stime_high;
30 __time_t msg_stime; /* time of last msgsnd command */
31 unsigned long int __msg_rtime_high;
32 __time_t msg_rtime; /* time of last msgsnd command */
33 unsigned long int __msg_ctime_high;
34 __time_t msg_ctime; /* time of last change */
35#else
36 __time_t msg_stime; /* time of last msgsnd command */
37 __time_t msg_rtime; /* time of last msgsnd command */
38 __time_t msg_ctime; /* time of last change */
39#endif
40 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
41 msgqnum_t msg_qnum; /* number of messages currently on queue */
42 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
43 __pid_t msg_lspid; /* pid of last msgsnd() */
44 __pid_t msg_lrpid; /* pid of last msgrcv() */
45 __syscall_ulong_t __glibc_reserved4;
46 __syscall_ulong_t __glibc_reserved5;
47};
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/types/struct_semid_ds.h created+39
...@@ -0,0 +1,39 @@
1/* Sparc implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 __syscall_ulong_t __sem_otime_high;
29 __time_t sem_otime; /* last semop() time */
30 __syscall_ulong_t __sem_ctime_high;
31 __time_t sem_ctime; /* last time changed by semctl() */
32#else
33 __time_t sem_otime; /* last semop() time */
34 __time_t sem_ctime; /* last time changed by semctl() */
35#endif
36 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
37 __syscall_ulong_t __glibc_reserved3;
38 __syscall_ulong_t __glibc_reserved4;
39};
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/types/struct_shmid_ds.h created+45
...@@ -0,0 +1,45 @@
1/* Linux/SPARC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SHM_H
20# error "Never include <bits/types/struct_shmid_ds.h> directly; use <sys/shm.h> instead."
21#endif
22
23/* Data structure describing a shared memory segment. */
24struct shmid_ds
25 {
26 struct ipc_perm shm_perm; /* operation permission struct */
27#if __TIMESIZE == 32
28 unsigned long int __shm_atime_high;
29 __time_t shm_atime; /* time of last shmat() */
30 unsigned long int __shm_dtime_high;
31 __time_t shm_dtime; /* time of last shmdt() */
32 unsigned long int __shm_ctime_high;
33 __time_t shm_ctime; /* time of last change by shmctl() */
34#else
35 __time_t shm_atime; /* time of last shmat() */
36 __time_t shm_dtime; /* time of last shmdt() */
37 __time_t shm_ctime; /* time of last change by shmctl() */
38#endif
39 size_t shm_segsz; /* size of segment in bytes */
40 __pid_t shm_cpid; /* pid of creator */
41 __pid_t shm_lpid; /* pid of last shmop */
42 shmatt_t shm_nattch; /* number of current attaches */
43 __syscall_ulong_t __glibc_reserved5;
44 __syscall_ulong_t __glibc_reserved6;
45 };
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/typesizes.h+7
...@@ -50,6 +50,7 @@...@@ -50,6 +50,7 @@
50#define __TIME_T_TYPE __SLONGWORD_TYPE50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __S32_TYPE52#define __SUSECONDS_T_TYPE __S32_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
53#define __DADDR_T_TYPE __S32_TYPE54#define __DADDR_T_TYPE __S32_TYPE
54#define __KEY_T_TYPE __S32_TYPE55#define __KEY_T_TYPE __S32_TYPE
55#define __CLOCKID_T_TYPE __S32_TYPE56#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -75,10 +76,16 @@...@@ -75,10 +76,16 @@
7576
76/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
77# define __STATFS_MATCHES_STATFS64 178# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
78#else82#else
79# define __RLIM_T_MATCHES_RLIM64_T 083# define __RLIM_T_MATCHES_RLIM64_T 0
8084
81# define __STATFS_MATCHES_STATFS64 085# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
82#endif89#endif
8390
84/* Number of descriptors that can fit in an `fd_set'. */91/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/include/x86_64-linux-gnu/bits/fenv.h-54
...@@ -113,58 +113,4 @@ femode_t;...@@ -113,58 +113,4 @@ femode_t;
113113
114/* Default floating-point control modes. */114/* Default floating-point control modes. */
115# define FE_DFL_MODE ((const femode_t *) -1L)115# define FE_DFL_MODE ((const femode_t *) -1L)
116#endif
117
118
119#ifdef __USE_EXTERN_INLINES
120__BEGIN_DECLS
121
122/* Optimized versions. */
123#ifndef _LIBC
124extern int __REDIRECT_NTH (__feraiseexcept_renamed, (int), feraiseexcept);
125#endif
126__extern_always_inline void
127__NTH (__feraiseexcept_invalid_divbyzero (int __excepts))
128{
129 if ((FE_INVALID & __excepts) != 0)
130 {
131 /* One example of an invalid operation is 0.0 / 0.0. */
132 float __f = 0.0;
133
134# ifdef __SSE_MATH__
135 __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
136# else
137 __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
138 : "=t" (__f) : "0" (__f));
139# endif
140 (void) &__f;
141 }
142 if ((FE_DIVBYZERO & __excepts) != 0)
143 {
144 float __f = 1.0;
145 float __g = 0.0;
146
147# ifdef __SSE_MATH__
148 __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
149# else
150 __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
151 : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
152# endif
153 (void) &__f;
154 }
155}
156__extern_inline int
157__NTH (feraiseexcept (int __excepts))
158{
159 if (__builtin_constant_p (__excepts)
160 && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0)
161 {
162 __feraiseexcept_invalid_divbyzero (__excepts);
163 return 0;
164 }
165
166 return __feraiseexcept_renamed (__excepts);
167}
168
169__END_DECLS
170#endif116#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/long-double.h+1-1
...@@ -18,4 +18,4 @@...@@ -18,4 +18,4 @@
1818
19/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/select.h deleted-63
...@@ -1,63 +0,0 @@
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SYS_SELECT_H
19# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
20#endif
21
22#include <bits/wordsize.h>
23
24
25#if defined __GNUC__ && __GNUC__ >= 2
26
27# if __WORDSIZE == 64
28# define __FD_ZERO_STOS "stosq"
29# else
30# define __FD_ZERO_STOS "stosl"
31# endif
32
33# define __FD_ZERO(fdsp) \
34 do { \
35 int __d0, __d1; \
36 __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS \
37 : "=c" (__d0), "=D" (__d1) \
38 : "a" (0), "0" (sizeof (fd_set) \
39 / sizeof (__fd_mask)), \
40 "1" (&__FDS_BITS (fdsp)[0]) \
41 : "memory"); \
42 } while (0)
43
44#else /* ! GNU CC */
45
46/* We don't use `memset' because this would require a prototype and
47 the array isn't too big. */
48# define __FD_ZERO(set) \
49 do { \
50 unsigned int __i; \
51 fd_set *__arr = (set); \
52 for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
53 __FDS_BITS (__arr)[__i] = 0; \
54 } while (0)
55
56#endif /* GNU CC */
57
58#define __FD_SET(d, set) \
59 ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
60#define __FD_CLR(d, set) \
61 ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
62#define __FD_ISSET(d, set) \
63 ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. x86 version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 1
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/semaphore.h deleted-40
...@@ -1,40 +0,0 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
26# define __SIZEOF_SEM_T 32
27#else
28# define __SIZEOF_SEM_T 16
29#endif
30
31
32/* Value returned if `sem_open' failed. */
33#define SEM_FAILED ((sem_t *) 0)
34
35
36typedef union
37{
38 char __size[__SIZEOF_SEM_T];
39 long int __align;
40} sem_t;
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/sysctl.h deleted-20
...@@ -1,20 +0,0 @@
1/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
17
18#if defined __x86_64__ && defined __ILP32__
19# error "sysctl system call is unsupported in x32 kernel"
20#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h created+34
...@@ -0,0 +1,34 @@
1/* x86 implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __syscall_ulong_t __sem_otime_high;
29 __time_t sem_ctime; /* last time changed by semctl() */
30 __syscall_ulong_t __sem_ctime_high;
31 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
32 __syscall_ulong_t __glibc_reserved3;
33 __syscall_ulong_t __glibc_reserved4;
34};
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/typesizes.h+6
...@@ -64,6 +64,7 @@...@@ -64,6 +64,7 @@
64#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE64#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
65#define __USECONDS_T_TYPE __U32_TYPE65#define __USECONDS_T_TYPE __U32_TYPE
66#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE66#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
67#define __DADDR_T_TYPE __S32_TYPE68#define __DADDR_T_TYPE __S32_TYPE
68#define __KEY_T_TYPE __S32_TYPE69#define __KEY_T_TYPE __S32_TYPE
69#define __CLOCKID_T_TYPE __S32_TYPE70#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -87,10 +88,15 @@...@@ -87,10 +88,15 @@
8788
88/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */89/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
89# define __STATFS_MATCHES_STATFS64 190# define __STATFS_MATCHES_STATFS64 1
91
92/* And for getitimer, setitimer and rusage */
93# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
90#else94#else
91# define __RLIM_T_MATCHES_RLIM64_T 095# define __RLIM_T_MATCHES_RLIM64_T 0
9296
93# define __STATFS_MATCHES_STATFS64 097# define __STATFS_MATCHES_STATFS64 0
98
99# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
94#endif100#endif
95101
96/* Number of descriptors that can fit in an `fd_set'. */102/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h-2
...@@ -11,9 +11,7 @@...@@ -11,9 +11,7 @@
11#define __stub_chflags11#define __stub_chflags
12#define __stub_fchflags12#define __stub_fchflags
13#define __stub_gtty13#define __stub_gtty
14#define __stub_lchmod
15#define __stub_revoke14#define __stub_revoke
16#define __stub_setlogin15#define __stub_setlogin
17#define __stub_sigreturn16#define __stub_sigreturn
18#define __stub_sstk
19#define __stub_stty17#define __stub_stty
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/fenv.h-54
...@@ -113,58 +113,4 @@ femode_t;...@@ -113,58 +113,4 @@ femode_t;
113113
114/* Default floating-point control modes. */114/* Default floating-point control modes. */
115# define FE_DFL_MODE ((const femode_t *) -1L)115# define FE_DFL_MODE ((const femode_t *) -1L)
116#endif
117
118
119#ifdef __USE_EXTERN_INLINES
120__BEGIN_DECLS
121
122/* Optimized versions. */
123#ifndef _LIBC
124extern int __REDIRECT_NTH (__feraiseexcept_renamed, (int), feraiseexcept);
125#endif
126__extern_always_inline void
127__NTH (__feraiseexcept_invalid_divbyzero (int __excepts))
128{
129 if ((FE_INVALID & __excepts) != 0)
130 {
131 /* One example of an invalid operation is 0.0 / 0.0. */
132 float __f = 0.0;
133
134# ifdef __SSE_MATH__
135 __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
136# else
137 __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
138 : "=t" (__f) : "0" (__f));
139# endif
140 (void) &__f;
141 }
142 if ((FE_DIVBYZERO & __excepts) != 0)
143 {
144 float __f = 1.0;
145 float __g = 0.0;
146
147# ifdef __SSE_MATH__
148 __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
149# else
150 __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
151 : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
152# endif
153 (void) &__f;
154 }
155}
156__extern_inline int
157__NTH (feraiseexcept (int __excepts))
158{
159 if (__builtin_constant_p (__excepts)
160 && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0)
161 {
162 __feraiseexcept_invalid_divbyzero (__excepts);
163 return 0;
164 }
165
166 return __feraiseexcept_renamed (__excepts);
167}
168
169__END_DECLS
170#endif116#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/long-double.h+1-1
...@@ -18,4 +18,4 @@...@@ -18,4 +18,4 @@
1818
19/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/select.h deleted-63
...@@ -1,63 +0,0 @@
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SYS_SELECT_H
19# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
20#endif
21
22#include <bits/wordsize.h>
23
24
25#if defined __GNUC__ && __GNUC__ >= 2
26
27# if __WORDSIZE == 64
28# define __FD_ZERO_STOS "stosq"
29# else
30# define __FD_ZERO_STOS "stosl"
31# endif
32
33# define __FD_ZERO(fdsp) \
34 do { \
35 int __d0, __d1; \
36 __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS \
37 : "=c" (__d0), "=D" (__d1) \
38 : "a" (0), "0" (sizeof (fd_set) \
39 / sizeof (__fd_mask)), \
40 "1" (&__FDS_BITS (fdsp)[0]) \
41 : "memory"); \
42 } while (0)
43
44#else /* ! GNU CC */
45
46/* We don't use `memset' because this would require a prototype and
47 the array isn't too big. */
48# define __FD_ZERO(set) \
49 do { \
50 unsigned int __i; \
51 fd_set *__arr = (set); \
52 for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
53 __FDS_BITS (__arr)[__i] = 0; \
54 } while (0)
55
56#endif /* GNU CC */
57
58#define __FD_SET(d, set) \
59 ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
60#define __FD_CLR(d, set) \
61 ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
62#define __FD_ISSET(d, set) \
63 ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/sem-pad.h deleted-24
...@@ -1,24 +0,0 @@
1/* Define where padding goes in struct semid_ds. x86 version.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
21#endif
22
23#define __SEM_PAD_AFTER_TIME 1
24#define __SEM_PAD_BEFORE_TIME 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/semaphore.h deleted-40
...@@ -1,40 +0,0 @@
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
26# define __SIZEOF_SEM_T 32
27#else
28# define __SIZEOF_SEM_T 16
29#endif
30
31
32/* Value returned if `sem_open' failed. */
33#define SEM_FAILED ((sem_t *) 0)
34
35
36typedef union
37{
38 char __size[__SIZEOF_SEM_T];
39 long int __align;
40} sem_t;
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/sysctl.h deleted-20
...@@ -1,20 +0,0 @@
1/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
17
18#if defined __x86_64__ && defined __ILP32__
19# error "sysctl system call is unsupported in x32 kernel"
20#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h created+34
...@@ -0,0 +1,34 @@
1/* x86 implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_SEM_H
20# error "Never include <bits/types/struct_semid_ds.h> directly; use <sys/sem.h> instead."
21#endif
22
23/* Data structure describing a set of semaphores. */
24struct semid_ds
25{
26 struct ipc_perm sem_perm; /* operation permission struct */
27 __time_t sem_otime; /* last semop() time */
28 __syscall_ulong_t __sem_otime_high;
29 __time_t sem_ctime; /* last time changed by semctl() */
30 __syscall_ulong_t __sem_ctime_high;
31 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
32 __syscall_ulong_t __glibc_reserved3;
33 __syscall_ulong_t __glibc_reserved4;
34};
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h+6
...@@ -64,6 +64,7 @@...@@ -64,6 +64,7 @@
64#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE64#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
65#define __USECONDS_T_TYPE __U32_TYPE65#define __USECONDS_T_TYPE __U32_TYPE
66#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE66#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
67#define __DADDR_T_TYPE __S32_TYPE68#define __DADDR_T_TYPE __S32_TYPE
68#define __KEY_T_TYPE __S32_TYPE69#define __KEY_T_TYPE __S32_TYPE
69#define __CLOCKID_T_TYPE __S32_TYPE70#define __CLOCKID_T_TYPE __S32_TYPE
...@@ -87,10 +88,15 @@...@@ -87,10 +88,15 @@
8788
88/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */89/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
89# define __STATFS_MATCHES_STATFS64 190# define __STATFS_MATCHES_STATFS64 1
91
92/* And for getitimer, setitimer and rusage */
93# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
90#else94#else
91# define __RLIM_T_MATCHES_RLIM64_T 095# define __RLIM_T_MATCHES_RLIM64_T 0
9296
93# define __STATFS_MATCHES_STATFS64 097# define __STATFS_MATCHES_STATFS64 0
98
99# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
94#endif100#endif
95101
96/* Number of descriptors that can fit in an `fd_set'. */102/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h-2
...@@ -20,8 +20,6 @@...@@ -20,8 +20,6 @@
20#define LIBNSS_FILES_SO "libnss_files.so.2"20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBNSS_NISPLUS_SO "libnss_nisplus.so.2"
24#define LIBNSS_NIS_SO "libnss_nis.so.2"
25#define LIBNSS_TEST1_SO "libnss_test1.so.2"23#define LIBNSS_TEST1_SO "libnss_test1.so.2"
26#define LIBNSS_TEST2_SO "libnss_test2.so.2"24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
27#define LIBPTHREAD_SO "libpthread.so.0"25#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/x86_64-linux-gnux32/gnu/stubs-x32.h-2
...@@ -16,9 +16,7 @@...@@ -16,9 +16,7 @@
16#define __stub_chflags16#define __stub_chflags
17#define __stub_fchflags17#define __stub_fchflags
18#define __stub_gtty18#define __stub_gtty
19#define __stub_lchmod
20#define __stub_revoke19#define __stub_revoke
21#define __stub_setlogin20#define __stub_setlogin
22#define __stub_sigreturn21#define __stub_sigreturn
23#define __stub_sstk
24#define __stub_stty22#define __stub_stty
\ No newline at end of file