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 @@
5353#define HWCAP_SSBS (1 << 28)
5454#define HWCAP_SB (1 << 29)
5555#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 @@
1818
1919/* long double is distinct from double, so there is nothing to
2020 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 @@
2626
2727/* See <bits/types.h> for the meaning of these macros. This file exists so
2828 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
3051#define __DEV_T_TYPE __UQUAD_TYPE
3152#define __UID_T_TYPE __U32_TYPE
3253#define __GID_T_TYPE __U32_TYPE
33#define __INO_T_TYPE __ULONGWORD_TYPE
3454#define __INO64_T_TYPE __UQUAD_TYPE
3555#define __MODE_T_TYPE __U32_TYPE
3656#define __NLINK_T_TYPE __U32_TYPE
37#define __OFF_T_TYPE __SLONGWORD_TYPE
3857#define __OFF64_T_TYPE __SQUAD_TYPE
3958#define __PID_T_TYPE __S32_TYPE
40#define __RLIM_T_TYPE __ULONGWORD_TYPE
4159#define __RLIM64_T_TYPE __UQUAD_TYPE
42#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
4360#define __BLKCNT64_T_TYPE __SQUAD_TYPE
44#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
4561#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
46#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
4762#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
4863#define __FSWORD_T_TYPE __SWORD_TYPE
4964#define __ID_T_TYPE __U32_TYPE
5065#define __CLOCK_T_TYPE __SLONGWORD_TYPE
51#define __TIME_T_TYPE __SLONGWORD_TYPE
5266#define __USECONDS_T_TYPE __U32_TYPE
53#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
5468#define __DADDR_T_TYPE __S32_TYPE
5569#define __KEY_T_TYPE __S32_TYPE
5670#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -62,7 +76,7 @@
6276#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
6377#define __CPU_MASK_TYPE __ULONGWORD_TYPE
6478
65#ifdef __LP64__
79#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
6680/* Tell the libc code that off_t and off64_t are actually the same type
6781 for all ABI purposes, even if possibly expressed as different base types
6882 for C type-checking purposes. */
......@@ -76,11 +90,17 @@
7690
7791/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
7892# define __STATFS_MATCHES_STATFS64 1
93
94/* And for getitimer, setitimer and rusage */
95# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
7996#else
8097# define __RLIM_T_MATCHES_RLIM64_T 0
8198
8299# define __STATFS_MATCHES_STATFS64 0
100
101# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
83102#endif
103
84104/* Number of descriptors that can fit in an `fd_set'. */
85105#define __FD_SETSIZE 1024
86106
lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h-2
......@@ -20,8 +20,6 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/aarch64-linux-gnu/gnu/stubs-lp64.h+1-4
......@@ -15,10 +15,7 @@
1515#define __stub_chflags
1616#define __stub_fchflags
1717#define __stub_gtty
18#define __stub_lchmod
1918#define __stub_revoke
2019#define __stub_setlogin
2120#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 @@
5353#define HWCAP_SSBS (1 << 28)
5454#define HWCAP_SB (1 << 29)
5555#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 @@
1818
1919/* long double is distinct from double, so there is nothing to
2020 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 @@
2626
2727/* See <bits/types.h> for the meaning of these macros. This file exists so
2828 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
3051#define __DEV_T_TYPE __UQUAD_TYPE
3152#define __UID_T_TYPE __U32_TYPE
3253#define __GID_T_TYPE __U32_TYPE
33#define __INO_T_TYPE __ULONGWORD_TYPE
3454#define __INO64_T_TYPE __UQUAD_TYPE
3555#define __MODE_T_TYPE __U32_TYPE
3656#define __NLINK_T_TYPE __U32_TYPE
37#define __OFF_T_TYPE __SLONGWORD_TYPE
3857#define __OFF64_T_TYPE __SQUAD_TYPE
3958#define __PID_T_TYPE __S32_TYPE
40#define __RLIM_T_TYPE __ULONGWORD_TYPE
4159#define __RLIM64_T_TYPE __UQUAD_TYPE
42#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
4360#define __BLKCNT64_T_TYPE __SQUAD_TYPE
44#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
4561#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
46#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
4762#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
4863#define __FSWORD_T_TYPE __SWORD_TYPE
4964#define __ID_T_TYPE __U32_TYPE
5065#define __CLOCK_T_TYPE __SLONGWORD_TYPE
51#define __TIME_T_TYPE __SLONGWORD_TYPE
5266#define __USECONDS_T_TYPE __U32_TYPE
53#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
5468#define __DADDR_T_TYPE __S32_TYPE
5569#define __KEY_T_TYPE __S32_TYPE
5670#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -62,7 +76,7 @@
6276#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
6377#define __CPU_MASK_TYPE __ULONGWORD_TYPE
6478
65#ifdef __LP64__
79#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
6680/* Tell the libc code that off_t and off64_t are actually the same type
6781 for all ABI purposes, even if possibly expressed as different base types
6882 for C type-checking purposes. */
......@@ -76,11 +90,17 @@
7690
7791/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
7892# define __STATFS_MATCHES_STATFS64 1
93
94/* And for getitimer, setitimer and rusage */
95# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
7996#else
8097# define __RLIM_T_MATCHES_RLIM64_T 0
8198
8299# define __STATFS_MATCHES_STATFS64 0
100
101# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
83102#endif
103
84104/* Number of descriptors that can fit in an `fd_set'. */
85105#define __FD_SETSIZE 1024
86106
lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h-2
......@@ -20,8 +20,6 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/aarch64_be-linux-gnu/gnu/stubs-lp64_be.h+1-4
......@@ -15,10 +15,7 @@
1515#define __stub_chflags
1616#define __stub_fchflags
1717#define __stub_gtty
18#define __stub_lchmod
1918#define __stub_revoke
2019#define __stub_setlogin
2120#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 @@
3737#ifndef __NO_LONG_DOUBLE_MATH
3838# define __NO_LONG_DOUBLE_MATH 1
3939#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 @@
3737#ifndef __NO_LONG_DOUBLE_MATH
3838# define __NO_LONG_DOUBLE_MATH 1
3939#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 @@
3737#ifndef __NO_LONG_DOUBLE_MATH
3838# define __NO_LONG_DOUBLE_MATH 1
3939#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 @@
3737#ifndef __NO_LONG_DOUBLE_MATH
3838# define __NO_LONG_DOUBLE_MATH 1
3939#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))
554554# endif
555555#endif /* Use extern inlines. */
556556
557#ifdef __LDBL_COMPAT
557#include <bits/floatn.h>
558#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
558559# include <bits/argp-ldbl.h>
559560#endif
560561
lib/libc/include/generic-glibc/bits/fcntl-linux.h+2-1
......@@ -290,7 +290,8 @@ struct f_owner_ex
290290
291291#ifdef __USE_GNU
292292/* Hint values for F_{GET,SET}_RW_HINT. */
293# define RWF_WRITE_LIFE_NOT_SET 0
293# define RWH_WRITE_LIFE_NOT_SET 0
294# define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
294295# define RWH_WRITE_LIFE_NONE 1
295296# define RWH_WRITE_LIFE_SHORT 2
296297# 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/* Macros to control TS 18661-3 glibc features on MIPS platforms.
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
22 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 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 @@
2121#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
2222# define __NO_LONG_DOUBLE_MATH 1
2323#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 @@
1616 License along with the GNU C Library; if not, see
1717 <https://www.gnu.org/licenses/>. */
1818
19
2019/* Classify given number. */
21__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))
20__MATHDECL_ALIAS (int, __fpclassify,, (_Mdouble_ __value), fpclassify)
2221 __attribute__ ((__const__));
2322
2423/* Test for negative number. */
25__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))
24__MATHDECL_ALIAS (int, __signbit,, (_Mdouble_ __value), signbit)
2625 __attribute__ ((__const__));
2726
2827/* Return 0 if VALUE is finite or NaN, +1 if it
2928 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
3232/* 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
3536/* 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
3840/* Test equality. */
39__MATHDECL_1 (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y));
41__MATHDECL_ALIAS (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y), iseqsig);
4042
4143/* Test for signaling NaN. */
42__MATHDECL_1 (int, __issignaling,, (_Mdouble_ __value))
44__MATHDECL_ALIAS (int, __issignaling,, (_Mdouble_ __value), issignaling)
4345 __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));
174174 && !__MATH_DECLARING_FLOATN
175175/* Return 0 if VALUE is finite or NaN, +1 if it
176176 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__));
178179# endif
179180
180181# if !__MATH_DECLARING_FLOATN
181182/* 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
184186/* Return the remainder of X/Y. */
185187__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
......@@ -208,7 +210,8 @@ __MATHCALL (nan,, (const char *__tagb));
208210 || __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't. */ \
209211 && !__MATH_DECLARING_FLOATN
210212/* 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__));
212215# endif
213216#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 @@
2424/* Flags for mremap. */
2525# define MREMAP_MAYMOVE 1
2626# define MREMAP_FIXED 2
27# define MREMAP_DONTUNMAP 4
2728
2829/* Flags for memfd_create. */
2930# 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 @@
2020#endif
2121
2222#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
2530/* Define options for message queue functions. */
2631#define MSG_NOERROR 010000 /* no error if message is too big */
......@@ -29,38 +34,6 @@
2934# define MSG_COPY 040000 /* copy (not remove) all queue messages */
3035#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
6437#ifdef __USE_MISC
6538
6639# define msg_cbytes __msg_cbytes
lib/libc/include/generic-glibc/bits/resource.h+1-1
......@@ -98,7 +98,7 @@ enum __rlimit_resource
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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 @@
2020#endif
2121
2222#include <sys/types.h>
23#include <bits/sem-pad.h>
23#include <bits/timesize.h>
24#include <bits/types/struct_semid_ds.h>
2425
2526/* Flags for `semop'. */
2627#define SEM_UNDO 0x1000 /* undo the operation on exit */
......@@ -34,29 +35,6 @@
3435#define SETVAL 16 /* set semval */
3536#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
6038/* The user should define a union like the following to use it for arguments
6139 for `semctl'.
6240
lib/libc/include/generic-glibc/bits/semaphore.h+6-3
......@@ -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.
23 This file is part of the GNU C Library.
34
45 The GNU C Library is free software; you can redistribute it and/or
......@@ -12,14 +13,16 @@
1213 Lesser General Public License for more details.
1314
1415 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 License along with the GNU C Library; if not, see
1617 <https://www.gnu.org/licenses/>. */
1718
1819#ifndef _SEMAPHORE_H
1920# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
2021#endif
2122
22#if _MIPS_SIM == _ABI64
23#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
2326# define __SIZEOF_SEM_T 32
2427#else
2528# 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 @@
2222#include <bits/types.h>
2323#include <bits/wordsize.h>
2424#include <bits/shmlba.h>
25#include <bits/shm-pad.h>
2625
2726/* Permission flag for shmget. */
2827#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
......@@ -43,39 +42,7 @@ __BEGIN_DECLS
4342/* Type to count number of attaches. */
4443typedef __syscall_ulong_t shmatt_t;
4544
46#if __SHM_PAD_BEFORE_TIME
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 };
45#include <bits/types/struct_shmid_ds.h>
7946
8047#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 @@
5757#define SIGQUIT 3 /* Quit. */
5858#define SIGTRAP 5 /* Trace/breakpoint trap. */
5959#define SIGKILL 9 /* Killed. */
60#define SIGBUS 10 /* Bus error. */
61#define SIGSYS 12 /* Bad system call. */
6260#define SIGPIPE 13 /* Broken pipe. */
6361#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
8563/* Archaic names for compatibility. */
8664#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
8765#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
......@@ -93,8 +71,9 @@
9371 but some real-time signals may be used internally by glibc. Do not
9472 use these constants in application code; use SIGRTMIN and SIGRTMAX
9573 (defined in signal.h) instead. */
96#define __SIGRTMIN 32
97#define __SIGRTMAX __SIGRTMIN
74
75/* Include system specific bits. */
76#include <bits/signum-arch.h>
9877
9978/* Biggest signal number + 1 (including real-time signals). */
10079#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 @@
2020# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
2121#endif
2222
23#include <bits/timesize.h>
24
2325#define SOL_SOCKET 1
2426#define SO_ACCEPTCONN 30
2527#define SO_BROADCAST 6
......@@ -30,9 +32,19 @@
3032#define SO_OOBINLINE 10
3133#define SO_RCVBUF 8
3234#define SO_RCVLOWAT 18
33#define SO_RCVTIMEO 20
35#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
3441#define SO_REUSEADDR 2
3542#define SO_SNDBUF 7
3643#define SO_SNDLOWAT 19
37#define SO_SNDTIMEO 21
44#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
3850#define SO_TYPE 3
\ No newline at end of file
lib/libc/include/generic-glibc/bits/statx-generic.h+1
......@@ -48,6 +48,7 @@
4848# define STATX_ATTR_NODUMP 0x0040
4949# define STATX_ATTR_ENCRYPTED 0x0800
5050# define STATX_ATTR_AUTOMOUNT 0x1000
51# define STATX_ATTR_VERITY 0x100000
5152#endif /* !STATX_TYPE */
5253
5354__BEGIN_DECLS
lib/libc/include/generic-glibc/bits/stdio-ldbl.h+31-15
......@@ -27,9 +27,17 @@ __LDBL_REDIR_DECL (vfprintf)
2727__LDBL_REDIR_DECL (vprintf)
2828__LDBL_REDIR_DECL (vsprintf)
2929#if !__GLIBC_USE (DEPRECATED_SCANF)
30# if defined __LDBL_COMPAT
3031__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)
3132__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)
3233__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
3341#else
3442__LDBL_REDIR_DECL (fscanf)
3543__LDBL_REDIR_DECL (scanf)
......@@ -43,9 +51,17 @@ __LDBL_REDIR_DECL (vsnprintf)
4351
4452#ifdef __USE_ISOC99
4553# if !__GLIBC_USE (DEPRECATED_SCANF)
54# if defined __LDBL_COMPAT
4655__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)
4756__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)
4857__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
4965# else
5066__LDBL_REDIR_DECL (vfscanf)
5167__LDBL_REDIR_DECL (vsscanf)
......@@ -60,33 +76,33 @@ __LDBL_REDIR_DECL (dprintf)
6076
6177#ifdef __USE_GNU
6278__LDBL_REDIR_DECL (vasprintf)
63__LDBL_REDIR_DECL (__asprintf)
79__LDBL_REDIR2_DECL (asprintf)
6480__LDBL_REDIR_DECL (asprintf)
6581__LDBL_REDIR_DECL (obstack_printf)
6682__LDBL_REDIR_DECL (obstack_vprintf)
6783#endif
6884
6985#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
70__LDBL_REDIR_DECL (__sprintf_chk)
71__LDBL_REDIR_DECL (__vsprintf_chk)
86__LDBL_REDIR2_DECL (sprintf_chk)
87__LDBL_REDIR2_DECL (vsprintf_chk)
7288# if defined __USE_ISOC99 || defined __USE_UNIX98
73__LDBL_REDIR_DECL (__snprintf_chk)
74__LDBL_REDIR_DECL (__vsnprintf_chk)
89__LDBL_REDIR2_DECL (snprintf_chk)
90__LDBL_REDIR2_DECL (vsnprintf_chk)
7591# endif
7692# if __USE_FORTIFY_LEVEL > 1
77__LDBL_REDIR_DECL (__fprintf_chk)
78__LDBL_REDIR_DECL (__printf_chk)
79__LDBL_REDIR_DECL (__vfprintf_chk)
80__LDBL_REDIR_DECL (__vprintf_chk)
93__LDBL_REDIR2_DECL (fprintf_chk)
94__LDBL_REDIR2_DECL (printf_chk)
95__LDBL_REDIR2_DECL (vfprintf_chk)
96__LDBL_REDIR2_DECL (vprintf_chk)
8197# ifdef __USE_XOPEN2K8
82__LDBL_REDIR_DECL (__dprintf_chk)
83__LDBL_REDIR_DECL (__vdprintf_chk)
98__LDBL_REDIR2_DECL (dprintf_chk)
99__LDBL_REDIR2_DECL (vdprintf_chk)
84100# endif
85101# ifdef __USE_GNU
86__LDBL_REDIR_DECL (__asprintf_chk)
87__LDBL_REDIR_DECL (__vasprintf_chk)
88__LDBL_REDIR_DECL (__obstack_printf_chk)
89__LDBL_REDIR_DECL (__obstack_vprintf_chk)
102__LDBL_REDIR2_DECL (asprintf_chk)
103__LDBL_REDIR2_DECL (vasprintf_chk)
104__LDBL_REDIR2_DECL (obstack_printf_chk)
105__LDBL_REDIR2_DECL (obstack_vprintf_chk)
90106# endif
91107# endif
92108#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/stdio2.h+16-9
......@@ -24,10 +24,12 @@
2424#endif
2525
2626extern 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));
2829extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
2930 const char *__restrict __format,
30 __gnuc_va_list __ap) __THROW;
31 __gnuc_va_list __ap) __THROW
32 __attr_access ((__write_only__, 1, 3));
3133
3234#ifdef __va_arg_pack
3335__fortify_function int
......@@ -54,7 +56,8 @@ __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,
5456
5557extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
5658 size_t __slen, const char *__restrict __format,
57 ...) __THROW;
59 ...) __THROW
60 __attr_access ((__write_only__, 1, 2));
5861extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
5962 size_t __slen, const char *__restrict __format,
6063 __gnuc_va_list __ap) __THROW;
......@@ -241,17 +244,19 @@ gets (char *__str)
241244#endif
242245
243246extern 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));
245249extern char *__REDIRECT (__fgets_alias,
246250 (char *__restrict __s, int __n,
247 FILE *__restrict __stream), fgets) __wur;
251 FILE *__restrict __stream), fgets)
252 __wur __attr_access ((__write_only__, 1, 2));
248253extern char *__REDIRECT (__fgets_chk_warn,
249254 (char *__restrict __s, size_t __size, int __n,
250255 FILE *__restrict __stream), __fgets_chk)
251256 __wur __warnattr ("fgets called with bigger size than length "
252257 "of destination buffer");
253258
254__fortify_function __wur char *
259__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char *
255260fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
256261{
257262 if (__bos (__s) != (size_t) -1)
......@@ -299,17 +304,19 @@ fread (void *__restrict __ptr, size_t __size, size_t __n,
299304
300305#ifdef __USE_GNU
301306extern 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));
303309extern char *__REDIRECT (__fgets_unlocked_alias,
304310 (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));
306313extern char *__REDIRECT (__fgets_unlocked_chk_warn,
307314 (char *__restrict __s, size_t __size, int __n,
308315 FILE *__restrict __stream), __fgets_unlocked_chk)
309316 __wur __warnattr ("fgets_unlocked called with bigger size than length "
310317 "of destination buffer");
311318
312__fortify_function __wur char *
319__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char *
313320fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
314321{
315322 if (__bos (__s) != (size_t) -1)
lib/libc/include/generic-glibc/bits/stdlib-ldbl.h+22
......@@ -21,21 +21,43 @@
2121#endif
2222
2323#ifdef __USE_ISOC99
24# ifdef __LDBL_COMPAT
2425__LDBL_REDIR1_DECL (strtold, strtod)
26# else
27__LDBL_REDIR1_DECL (strtold, __strtoieee128)
28# endif
2529#endif
2630
2731#ifdef __USE_GNU
32# ifdef __LDBL_COMPAT
2833__LDBL_REDIR1_DECL (strtold_l, strtod_l)
34# else
35__LDBL_REDIR1_DECL (strtold_l, __strtoieee128_l)
36# endif
2937#endif
3038
3139#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
40# ifdef __LDBL_COMPAT
3241__LDBL_REDIR1_DECL (strfroml, strfromd)
42# else
43__LDBL_REDIR1_DECL (strfroml, __strfromieee128)
44# endif
3345#endif
3446
3547#ifdef __USE_MISC
48# if defined __LDBL_COMPAT
3649__LDBL_REDIR1_DECL (qecvt, ecvt)
3750__LDBL_REDIR1_DECL (qfcvt, fcvt)
3851__LDBL_REDIR1_DECL (qgcvt, gcvt)
3952__LDBL_REDIR1_DECL (qecvt_r, ecvt_r)
4053__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
4163#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))
5050
5151
5252extern 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));
5455extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf,
5556 size_t __buflen), ptsname_r)
56 __nonnull ((2));
57 __nonnull ((2)) __attr_access ((__write_only__, 2, 3));
5758extern int __REDIRECT_NTH (__ptsname_r_chk_warn,
5859 (int __fd, char *__buf, size_t __buflen,
5960 size_t __nreal), __ptsname_r_chk)
......@@ -97,11 +98,13 @@ __NTH (wctomb (char *__s, wchar_t __wchar))
9798
9899extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
99100 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));
101103extern size_t __REDIRECT_NTH (__mbstowcs_alias,
102104 (wchar_t *__restrict __dst,
103105 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));
105108extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn,
106109 (wchar_t *__restrict __dst,
107110 const char *__restrict __src,
......@@ -129,11 +132,13 @@ __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src,
129132
130133extern size_t __wcstombs_chk (char *__restrict __dst,
131134 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));
133137extern size_t __REDIRECT_NTH (__wcstombs_alias,
134138 (char *__restrict __dst,
135139 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));
137142extern size_t __REDIRECT_NTH (__wcstombs_chk_warn,
138143 (char *__restrict __dst,
139144 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))
7575# include <bits/strings_fortified.h>
7676
7777void __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
8080__fortify_function void
8181__NTH (explicit_bzero (void *__dest, size_t __len))
......@@ -108,7 +108,8 @@ __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
108108
109109/* XXX We have no corresponding builtin yet. */
110110extern 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));
112113extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,
113114 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 @@
11/* 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
44#ifndef _SYSCALL_H
55# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."
66#endif
77
8#define __GLIBC_LINUX_VERSION_CODE 328704
8#define __GLIBC_LINUX_VERSION_CODE 329472
99
1010#ifdef __NR_FAST_atomic_update
1111# define SYS_FAST_atomic_update __NR_FAST_atomic_update
......@@ -75,6 +75,18 @@
7575# define SYS_alloc_hugepages __NR_alloc_hugepages
7676#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
7890#ifdef __NR_arch_prctl
7991# define SYS_arch_prctl __NR_arch_prctl
8092#endif
......@@ -1079,6 +1091,10 @@
10791091# define SYS_openat __NR_openat
10801092#endif
10811093
1094#ifdef __NR_openat2
1095# define SYS_openat2 __NR_openat2
1096#endif
1097
10821098#ifdef __NR_osf_adjtime
10831099# define SYS_osf_adjtime __NR_osf_adjtime
10841100#endif
......@@ -1551,6 +1567,10 @@
15511567# define SYS_personality __NR_personality
15521568#endif
15531569
1570#ifdef __NR_pidfd_getfd
1571# define SYS_pidfd_getfd __NR_pidfd_getfd
1572#endif
1573
15541574#ifdef __NR_pidfd_open
15551575# define SYS_pidfd_open __NR_pidfd_open
15561576#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)
2727#endif
2828
2929#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
30__LDBL_REDIR_DECL (__syslog_chk)
30__LDBL_REDIR2_DECL (syslog_chk)
3131
3232# ifdef __USE_MISC
33__LDBL_REDIR_DECL (__vsyslog_chk)
33__LDBL_REDIR2_DECL (vsyslog_chk)
3434# endif
3535#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
116116 unsigned int __g_signals[2];
117117};
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
119129#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. */
160160__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
161161__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
162162__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
163__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t;
163164
164165__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
165166__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 @@
5050#define __TIME_T_TYPE __SLONGWORD_TYPE
5151#define __USECONDS_T_TYPE __U32_TYPE
5252#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
5354#define __DADDR_T_TYPE __S32_TYPE
5455#define __KEY_T_TYPE __S32_TYPE
5556#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -75,10 +76,16 @@
7576
7677/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
7778# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
7882#else
7983# define __RLIM_T_MATCHES_RLIM64_T 0
8084
8185# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
8289#endif
8390
8491/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/include/generic-glibc/bits/unistd.h+35-23
......@@ -21,9 +21,11 @@
2121#endif
2222
2323extern 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));
2526extern 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));
2729extern ssize_t __REDIRECT (__read_chk_warn,
2830 (int __fd, void *__buf, size_t __nbytes,
2931 size_t __buflen), __read_chk)
......@@ -46,15 +48,19 @@ read (int __fd, void *__buf, size_t __nbytes)
4648
4749#ifdef __USE_UNIX98
4850extern 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));
5053extern 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));
5256extern ssize_t __REDIRECT (__pread_alias,
5357 (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));
5560extern ssize_t __REDIRECT (__pread64_alias,
5661 (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));
5864extern ssize_t __REDIRECT (__pread_chk_warn,
5965 (int __fd, void *__buf, size_t __nbytes,
6066 __off_t __offset, size_t __bufsize), __pread_chk)
......@@ -123,11 +129,11 @@ pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
123129extern ssize_t __readlink_chk (const char *__restrict __path,
124130 char *__restrict __buf, size_t __len,
125131 size_t __buflen)
126 __THROW __nonnull ((1, 2)) __wur;
132 __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
127133extern ssize_t __REDIRECT_NTH (__readlink_alias,
128134 (const char *__restrict __path,
129135 char *__restrict __buf, size_t __len), readlink)
130 __nonnull ((1, 2)) __wur;
136 __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3));
131137extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,
132138 (const char *__restrict __path,
133139 char *__restrict __buf, size_t __len,
......@@ -155,12 +161,12 @@ __NTH (readlink (const char *__restrict __path, char *__restrict __buf,
155161extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,
156162 char *__restrict __buf, size_t __len,
157163 size_t __buflen)
158 __THROW __nonnull ((2, 3)) __wur;
164 __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));
159165extern ssize_t __REDIRECT_NTH (__readlinkat_alias,
160166 (int __fd, const char *__restrict __path,
161167 char *__restrict __buf, size_t __len),
162168 readlinkat)
163 __nonnull ((2, 3)) __wur;
169 __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4));
164170extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,
165171 (int __fd, const char *__restrict __path,
166172 char *__restrict __buf, size_t __len,
......@@ -187,9 +193,10 @@ __NTH (readlinkat (int __fd, const char *__restrict __path,
187193#endif
188194
189195extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
190 __THROW __wur;
196 __THROW __wur __attr_access ((__write_only__, 1, 2));
191197extern 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));
193200extern char *__REDIRECT_NTH (__getcwd_chk_warn,
194201 (char *__buf, size_t __size, size_t __buflen),
195202 __getcwd_chk)
......@@ -212,7 +219,7 @@ __NTH (getcwd (char *__buf, size_t __size))
212219
213220#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
214221extern char *__getwd_chk (char *__buf, size_t buflen)
215 __THROW __nonnull ((1)) __wur;
222 __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
216223extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd)
217224 __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd "
218225 "doesn't specify buffer size");
......@@ -227,9 +234,11 @@ __NTH (getwd (char *__buf))
227234#endif
228235
229236extern 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));
231239extern 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));
233242extern size_t __REDIRECT_NTH (__confstr_chk_warn,
234243 (int __name, char *__buf, size_t __len,
235244 size_t __buflen), __confstr_chk)
......@@ -252,9 +261,9 @@ __NTH (confstr (int __name, char *__buf, size_t __len))
252261
253262
254263extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)
255 __THROW __wur;
264 __THROW __wur __attr_access ((__write_only__, 2, 1));
256265extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),
257 getgroups) __wur;
266 getgroups) __wur __attr_access ((__write_only__, 2, 1));
258267extern int __REDIRECT_NTH (__getgroups_chk_warn,
259268 (int __size, __gid_t __list[], size_t __listlen),
260269 __getgroups_chk)
......@@ -277,7 +286,8 @@ __NTH (getgroups (int __size, __gid_t __list[]))
277286
278287
279288extern 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));
281291extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,
282292 size_t __buflen), ttyname_r)
283293 __nonnull ((2));
......@@ -304,7 +314,7 @@ __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))
304314
305315#ifdef __USE_POSIX199506
306316extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
307 __nonnull ((1));
317 __nonnull ((1)) __attr_access ((__write_only__, 1, 2));
308318extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),
309319 getlogin_r) __nonnull ((1));
310320extern int __REDIRECT (__getlogin_r_chk_warn,
......@@ -331,9 +341,10 @@ getlogin_r (char *__buf, size_t __buflen)
331341
332342#if defined __USE_MISC || defined __USE_UNIX98
333343extern 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));
335345extern 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));
337348extern int __REDIRECT_NTH (__gethostname_chk_warn,
338349 (char *__buf, size_t __buflen, size_t __nreal),
339350 __gethostname_chk)
......@@ -358,10 +369,11 @@ __NTH (gethostname (char *__buf, size_t __buflen))
358369
359370#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98)
360371extern 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));
362373extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,
363374 size_t __buflen),
364 getdomainname) __nonnull ((1)) __wur;
375 getdomainname) __nonnull ((1))
376 __wur __attr_access ((__write_only__, 1, 2));
365377extern int __REDIRECT_NTH (__getdomainname_chk_warn,
366378 (char *__buf, size_t __buflen, size_t __nreal),
367379 __getdomainname_chk)
lib/libc/include/generic-glibc/bits/wchar-ldbl.h+30-6
......@@ -28,9 +28,17 @@ __LDBL_REDIR_DECL (vfwprintf);
2828__LDBL_REDIR_DECL (vwprintf);
2929__LDBL_REDIR_DECL (vswprintf);
3030# if !__GLIBC_USE (DEPRECATED_SCANF)
31# if defined __LDBL_COMPAT
3132__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
3233__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
3334__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
3442# else
3543__LDBL_REDIR_DECL (fwscanf);
3644__LDBL_REDIR_DECL (wscanf);
......@@ -39,11 +47,23 @@ __LDBL_REDIR_DECL (swscanf);
3947#endif
4048
4149#ifdef __USE_ISOC99
50# ifdef __LDBL_COMPAT
4251__LDBL_REDIR1_DECL (wcstold, wcstod);
52# else
53__LDBL_REDIR1_DECL (wcstold, __wcstoieee128)
54# endif
4355# if !__GLIBC_USE (DEPRECATED_SCANF)
56# if defined __LDBL_COMPAT
4457__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
4558__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
4659__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
4767# else
4868__LDBL_REDIR_DECL (vfwscanf);
4969__LDBL_REDIR_DECL (vwscanf);
......@@ -52,16 +72,20 @@ __LDBL_REDIR_DECL (vswscanf);
5272#endif
5373
5474#ifdef __USE_GNU
75# ifdef __LDBL_COMPAT
5576__LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
77# else
78__LDBL_REDIR1_DECL (wcstold_l, __wcstoieee128_l)
79# endif
5680#endif
5781
5882#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
59__LDBL_REDIR_DECL (__swprintf_chk)
60__LDBL_REDIR_DECL (__vswprintf_chk)
83__LDBL_REDIR2_DECL (swprintf_chk)
84__LDBL_REDIR2_DECL (vswprintf_chk)
6185# if __USE_FORTIFY_LEVEL > 1
62__LDBL_REDIR_DECL (__fwprintf_chk)
63__LDBL_REDIR_DECL (__wprintf_chk)
64__LDBL_REDIR_DECL (__vfwprintf_chk)
65__LDBL_REDIR_DECL (__vwprintf_chk)
86__LDBL_REDIR2_DECL (fwprintf_chk)
87__LDBL_REDIR2_DECL (wprintf_chk)
88__LDBL_REDIR2_DECL (vfwprintf_chk)
89__LDBL_REDIR2_DECL (vwprintf_chk)
6690# endif
6791#endif
\ No newline at end of file
lib/libc/include/generic-glibc/complex.h+27-2
......@@ -95,11 +95,15 @@ __BEGIN_DECLS
9595
9696#define __MATHCALL(function, args) \
9797 __MATHDECL (_Mdouble_complex_,function, args)
98#define __MATHDECL(type, function, args) \
98#define __MATHDECL_IMPL(type, function, args) \
9999 __MATHDECL_1(type, function, args); \
100100 __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) \
102104 extern type __MATH_PRECNAME(function) args __THROW
105#define __MATHDECL_1(type, function, args) \
106 __MATHDECL_1_IMPL(type, function, args)
103107
104108#define _Mdouble_ double
105109#define __MATH_PRECNAME(name) name
......@@ -122,11 +126,31 @@ __BEGIN_DECLS
122126# undef __MATHDECL_1
123127# define __MATHDECL_1(type, function, args) \
124128 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)
125139# endif
126140
127141# define _Mdouble_ long double
128142# define __MATH_PRECNAME(name) name##l
129143# 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
130154#endif
131155#undef _Mdouble_
132156#undef __MATH_PRECNAME
......@@ -215,6 +239,7 @@ __BEGIN_DECLS
215239# undef _Mdouble_complex_
216240#endif
217241
242#undef __MATHDECL_1_IMPL
218243#undef __MATHDECL_1
219244#undef __MATHDECL
220245#undef __MATHCALL
lib/libc/include/generic-glibc/elf.h+78-2
......@@ -330,7 +330,7 @@ typedef struct
330330#define EM_CLOUDSHIELD 192 /* CloudShield */
331331#define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */
332332#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. */
334334#define EM_OPEN8 196 /* Open8 RISC */
335335#define EM_RL78 197 /* Renesas RL78 */
336336#define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */
......@@ -721,6 +721,7 @@ typedef struct
721721#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
722722#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
723723#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
724#define PT_GNU_PROPERTY 0x6474e553 /* GNU property */
724725#define PT_LOSUNW 0x6ffffffa
725726#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
726727#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
......@@ -1318,6 +1319,12 @@ typedef struct
13181319/* Application-specific semantics, hi */
13191320#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
13211328/* The x86 instruction sets indicated by the corresponding bits are
13221329 used in program. Their support in the hardware is optional. */
13231330#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000
......@@ -3946,8 +3953,9 @@ enum
39463953#define R_RISCV_SET16 55
39473954#define R_RISCV_SET32 56
39483955#define R_RISCV_32_PCREL 57
3956#define R_RISCV_IRELATIVE 58
39493957
3950#define R_RISCV_NUM 58
3958#define R_RISCV_NUM 59
39513959
39523960/* BPF specific declarations. */
39533961
......@@ -4027,6 +4035,74 @@ enum
40274035#define R_NDS32_TLS_TPOFF 102
40284036#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
40304106__END_DECLS
40314107
40324108#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, ...)
5252extern void verrx (int __status, const char *, __gnuc_va_list)
5353 __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
5454
55#ifdef __LDBL_COMPAT
55#include <bits/floatn.h>
56#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
5657# include <bits/err-ldbl.h>
5758#endif
5859
lib/libc/include/generic-glibc/error.h+4-2
......@@ -47,11 +47,13 @@ extern unsigned int error_message_count;
4747 variable controls whether this mode is selected or not. */
4848extern int error_one_per_line;
4949
50#ifdef __LDBL_COMPAT
50#include <bits/floatn.h>
51#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
5152# include <bits/error-ldbl.h>
5253#else
5354/* 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 the
55 size of double, nor when long double reuses the float128
56 implementation, because that would invalidate the redirections to the
5557 compatibility functions. */
5658# if defined __extern_always_inline && defined __va_arg_pack
5759# include <bits/error.h>
lib/libc/include/generic-glibc/features.h+1-1
......@@ -454,7 +454,7 @@
454454/* Major and minor version number of the GNU C library package. Use
455455 these macros to test for features in specific releases. */
456456#define __GLIBC__ 2
457#define __GLIBC_MINOR__ 31
457#define __GLIBC_MINOR__ 32
458458
459459#define __GLIBC_PREREQ(maj, min) \
460460 ((__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;
140140extern int fesetmode (const femode_t *__modep) __THROW;
141141#endif
142142
143/* Include optimization. */
144#ifdef __OPTIMIZE__
145# include <bits/fenvinline.h>
146#endif
147143
148144/* NaN support. */
149145
lib/libc/include/generic-glibc/gnu/lib-names-32.h-2
......@@ -20,8 +20,6 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-hard.h-2
......@@ -20,8 +20,6 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h-2
......@@ -19,8 +19,6 @@
1919#define LIBNSS_FILES_SO "libnss_files.so.2"
2020#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2121#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"
2422#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2523#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2624#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h-2
......@@ -19,8 +19,6 @@
1919#define LIBNSS_FILES_SO "libnss_files.so.2"
2020#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2121#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"
2422#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2523#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2624#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h-2
......@@ -19,8 +19,6 @@
1919#define LIBNSS_FILES_SO "libnss_files.so.2"
2020#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2121#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"
2422#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2523#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2624#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/lib-names-soft.h-2
......@@ -20,8 +20,6 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/generic-glibc/gnu/stubs-32.h-2
......@@ -10,9 +10,7 @@
1010#define __stub_chflags
1111#define __stub_fchflags
1212#define __stub_gtty
13#define __stub_lchmod
1413#define __stub_revoke
1514#define __stub_setlogin
1615#define __stub_sigreturn
17#define __stub_sstk
1816#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-64.h-2
......@@ -10,9 +10,7 @@
1010#define __stub_chflags
1111#define __stub_fchflags
1212#define __stub_gtty
13#define __stub_lchmod
1413#define __stub_revoke
1514#define __stub_setlogin
1615#define __stub_sigreturn
17#define __stub_sstk
1816#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-hard.h-2
......@@ -13,9 +13,7 @@
1313#define __stub_chflags
1414#define __stub_fchflags
1515#define __stub_gtty
16#define __stub_lchmod
1716#define __stub_revoke
1817#define __stub_setlogin
1918#define __stub_sigreturn
20#define __stub_sstk
2119#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-n32_hard.h-2
......@@ -12,9 +12,7 @@
1212#define __stub_chflags
1313#define __stub_fchflags
1414#define __stub_gtty
15#define __stub_lchmod
1615#define __stub_revoke
1716#define __stub_setlogin
1817#define __stub_sigreturn
19#define __stub_sstk
2018#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-n64_hard.h-2
......@@ -12,9 +12,7 @@
1212#define __stub_chflags
1313#define __stub_fchflags
1414#define __stub_gtty
15#define __stub_lchmod
1615#define __stub_revoke
1716#define __stub_setlogin
1817#define __stub_sigreturn
19#define __stub_sstk
2018#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-o32_hard.h-2
......@@ -10,9 +10,7 @@
1010#define __stub_chflags
1111#define __stub_fchflags
1212#define __stub_gtty
13#define __stub_lchmod
1413#define __stub_revoke
1514#define __stub_setlogin
1615#define __stub_sigreturn
17#define __stub_sstk
1816#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-soft.h-2
......@@ -13,9 +13,7 @@
1313#define __stub_chflags
1414#define __stub_fchflags
1515#define __stub_gtty
16#define __stub_lchmod
1716#define __stub_revoke
1817#define __stub_setlogin
1918#define __stub_sigreturn
20#define __stub_sstk
2119#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,
321321 __THROW __nonnull ((1)) __wur;
322322/* Like `strtol' but convert to `intmax_t'. */
323323__extern_inline intmax_t
324__NTH (strtoimax (const char *__restrict nptr, char **__restrict endptr,
325 int base))
324__NTH (strtoimax (const char *__restrict __nptr, char **__restrict __endptr,
325 int __base))
326326{
327 return __strtol_internal (nptr, endptr, base, 0);
327 return __strtol_internal (__nptr, __endptr, __base, 0);
328328}
329329
330330extern unsigned long int __strtoul_internal (const char *__restrict __nptr,
......@@ -333,10 +333,10 @@ extern unsigned long int __strtoul_internal (const char *__restrict __nptr,
333333 __THROW __nonnull ((1)) __wur;
334334/* Like `strtoul' but convert to `uintmax_t'. */
335335__extern_inline uintmax_t
336__NTH (strtoumax (const char *__restrict nptr, char **__restrict endptr,
337 int base))
336__NTH (strtoumax (const char *__restrict __nptr, char **__restrict __endptr,
337 int __base))
338338{
339 return __strtoul_internal (nptr, endptr, base, 0);
339 return __strtoul_internal (__nptr, __endptr, __base, 0);
340340}
341341
342342extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,
......@@ -345,10 +345,10 @@ extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,
345345 __THROW __nonnull ((1)) __wur;
346346/* Like `wcstol' but convert to `intmax_t'. */
347347__extern_inline intmax_t
348__NTH (wcstoimax (const __gwchar_t *__restrict nptr,
349 __gwchar_t **__restrict endptr, int base))
348__NTH (wcstoimax (const __gwchar_t *__restrict __nptr,
349 __gwchar_t **__restrict __endptr, int __base))
350350{
351 return __wcstol_internal (nptr, endptr, base, 0);
351 return __wcstol_internal (__nptr, __endptr, __base, 0);
352352}
353353
354354extern unsigned long int __wcstoul_internal (const __gwchar_t *
......@@ -359,10 +359,10 @@ extern unsigned long int __wcstoul_internal (const __gwchar_t *
359359 __THROW __nonnull ((1)) __wur;
360360/* Like `wcstoul' but convert to `uintmax_t'. */
361361__extern_inline uintmax_t
362__NTH (wcstoumax (const __gwchar_t *__restrict nptr,
363 __gwchar_t **__restrict endptr, int base))
362__NTH (wcstoumax (const __gwchar_t *__restrict __nptr,
363 __gwchar_t **__restrict __endptr, int __base))
364364{
365 return __wcstoul_internal (nptr, endptr, base, 0);
365 return __wcstoul_internal (__nptr, __endptr, __base, 0);
366366}
367367
368368# else /* __WORDSIZE == 32 */
......@@ -374,10 +374,10 @@ extern long long int __strtoll_internal (const char *__restrict __nptr,
374374 __THROW __nonnull ((1)) __wur;
375375/* Like `strtol' but convert to `intmax_t'. */
376376__extern_inline intmax_t
377__NTH (strtoimax (const char *__restrict nptr, char **__restrict endptr,
378 int base))
377__NTH (strtoimax (const char *__restrict __nptr, char **__restrict __endptr,
378 int __base))
379379{
380 return __strtoll_internal (nptr, endptr, base, 0);
380 return __strtoll_internal (__nptr, __endptr, __base, 0);
381381}
382382
383383__extension__
......@@ -390,10 +390,10 @@ extern unsigned long long int __strtoull_internal (const char *
390390 __THROW __nonnull ((1)) __wur;
391391/* Like `strtoul' but convert to `uintmax_t'. */
392392__extern_inline uintmax_t
393__NTH (strtoumax (const char *__restrict nptr, char **__restrict endptr,
394 int base))
393__NTH (strtoumax (const char *__restrict __nptr, char **__restrict __endptr,
394 int __base))
395395{
396 return __strtoull_internal (nptr, endptr, base, 0);
396 return __strtoull_internal (__nptr, __endptr, __base, 0);
397397}
398398
399399__extension__
......@@ -403,10 +403,10 @@ extern long long int __wcstoll_internal (const __gwchar_t *__restrict __nptr,
403403 __THROW __nonnull ((1)) __wur;
404404/* Like `wcstol' but convert to `intmax_t'. */
405405__extern_inline intmax_t
406__NTH (wcstoimax (const __gwchar_t *__restrict nptr,
407 __gwchar_t **__restrict endptr, int base))
406__NTH (wcstoimax (const __gwchar_t *__restrict __nptr,
407 __gwchar_t **__restrict __endptr, int __base))
408408{
409 return __wcstoll_internal (nptr, endptr, base, 0);
409 return __wcstoll_internal (__nptr, __endptr, __base, 0);
410410}
411411
412412
......@@ -420,10 +420,10 @@ extern unsigned long long int __wcstoull_internal (const __gwchar_t *
420420 __THROW __nonnull ((1)) __wur;
421421/* Like `wcstoul' but convert to `uintmax_t'. */
422422__extern_inline uintmax_t
423__NTH (wcstoumax (const __gwchar_t *__restrict nptr,
424 __gwchar_t **__restrict endptr, int base))
423__NTH (wcstoumax (const __gwchar_t *__restrict __nptr,
424 __gwchar_t **__restrict __endptr, int __base))
425425{
426 return __wcstoull_internal (nptr, endptr, base, 0);
426 return __wcstoull_internal (__nptr, __endptr, __base, 0);
427427}
428428
429429# 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;
7575
7676/* Underlying allocation function; successive calls should return
7777 contiguous pieces of memory. */
78extern void *(*__morecore) (ptrdiff_t __size);
78extern void *(*__morecore) (ptrdiff_t __size) __MALLOC_DEPRECATED;
7979
8080/* Default value of `__morecore'. */
8181extern void *__default_morecore (ptrdiff_t __size)
82__THROW __attribute_malloc__;
82__THROW __attribute_malloc__ __MALLOC_DEPRECATED;
8383
8484/* SVID2/XPG mallinfo structure */
8585
......@@ -156,7 +156,8 @@ extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t __alignment,
156156 size_t __size,
157157 const void *)
158158__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
162163__END_DECLS
lib/libc/include/generic-glibc/math.h+68-20
......@@ -279,8 +279,17 @@ enum
279279#define __MATHDECLX(type, function,suffix, args, attrib) \
280280 __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); \
281281 __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) \
283283 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
285294#define _Mdouble_ double
286295#define __MATH_PRECNAME(name,r) __CONCAT(name,r)
......@@ -331,11 +340,37 @@ extern long double __REDIRECT_NTH (nexttowardl,
331340# endif
332341
333342# undef __MATHDECL_1
334# define __MATHDECL_2(type, function,suffix, args, alias) \
335 extern type __REDIRECT_NTH(__MATH_PRECNAME(function,suffix), \
336 args, alias)
337343# 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))
339374# endif
340375
341376/* Include the file of declarations again, this time using `long double'
......@@ -348,11 +383,23 @@ extern long double __REDIRECT_NTH (nexttowardl,
348383# define __MATH_DECLARE_LDOUBLE 1
349384# include <bits/mathcalls-helper-functions.h>
350385# include <bits/mathcalls.h>
386
351387# undef _Mdouble_
352388# undef __MATH_PRECNAME
353389# undef __MATH_DECLARING_DOUBLE
354390# 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
356403# endif /* !(__NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT */
357404
358405#endif /* Use ISO C99. */
......@@ -479,7 +526,9 @@ extern long double __REDIRECT_NTH (nexttowardl,
479526# undef __MATH_DECLARING_FLOATN
480527#endif /* __HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC). */
481528
529#undef __MATHDECL_1_IMPL
482530#undef __MATHDECL_1
531#undef __MATHDECL_ALIAS
483532#undef __MATHDECL
484533#undef __MATHCALL
485534
......@@ -511,6 +560,11 @@ extern long double __REDIRECT_NTH (nexttowardl,
511560# ifdef __LDBL_COMPAT
512561# define __MATHCALL_REDIR_NAME(name) f ## name
513562# 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
514568# define __MATHCALL_NARROW(func, redir, nargs) \
515569 __MATHCALL_NARROW_REDIR (func, redir, nargs)
516570# endif
......@@ -518,7 +572,8 @@ extern long double __REDIRECT_NTH (nexttowardl,
518572# undef _Mret_
519573# undef _Marg_
520574# undef __MATHCALL_NAME
521# ifdef __LDBL_COMPAT
575# if defined __LDBL_COMPAT \
576 || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
522577# undef __MATHCALL_REDIR_NAME
523578# undef __MATHCALL_NARROW
524579# define __MATHCALL_NARROW(func, redir, nargs) \
......@@ -531,6 +586,11 @@ extern long double __REDIRECT_NTH (nexttowardl,
531586# ifdef __LDBL_COMPAT
532587# define __MATHCALL_REDIR_NAME(name) __nldbl_d ## name ## l
533588# 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
534594# define __MATHCALL_NARROW(func, redir, nargs) \
535595 __MATHCALL_NARROW_REDIR (func, redir, nargs)
536596# endif
......@@ -538,7 +598,8 @@ extern long double __REDIRECT_NTH (nexttowardl,
538598# undef _Mret_
539599# undef _Marg_
540600# undef __MATHCALL_NAME
541# ifdef __LDBL_COMPAT
601# if defined __LDBL_COMPAT \
602 || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
542603# undef __MATHCALL_REDIR_NAME
543604# undef __MATHCALL_NARROW
544605# define __MATHCALL_NARROW(func, redir, nargs) \
......@@ -1196,13 +1257,6 @@ iszero (__T __val)
11961257# error "M_* values needed for _Float128x"
11971258#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
12061260#ifdef __USE_ISOC99
12071261# if __GNUC_PREREQ (3, 1)
12081262/* ISO C99 defines some macros to compare number while taking care for
......@@ -1240,12 +1294,6 @@ iszero (__T __val)
12401294# endif
12411295#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
12491297#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
12501298/* An expression whose type has the widest of the evaluation formats
12511299 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,
5050 __THROW __attribute_format_strfmon__ (4, 5);
5151#endif
5252
53#ifdef __LDBL_COMPAT
53#include <bits/floatn.h>
54#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
5455# include <bits/monetary-ldbl.h>
5556#endif
5657
lib/libc/include/generic-glibc/netinet/icmp6.h+4-4
......@@ -85,16 +85,16 @@ struct icmp6_hdr
8585#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */
8686
8787#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
9090#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
9393#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
9696#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
9999#define ICMP6_FILTER_SETPASSALL(filterp) \
100100 memset (filterp, 0, sizeof (struct icmp6_filter));
lib/libc/include/generic-glibc/netinet/in.h+4
......@@ -87,8 +87,12 @@ enum
8787#define IPPROTO_UDPLITE IPPROTO_UDPLITE
8888 IPPROTO_MPLS = 137, /* MPLS in IP. */
8989#define IPPROTO_MPLS IPPROTO_MPLS
90 IPPROTO_ETHERNET = 143, /* Ethernet-within-IPv6 Encapsulation. */
91#define IPPROTO_ETHERNET IPPROTO_ETHERNET
9092 IPPROTO_RAW = 255, /* Raw IP packets. */
9193#define IPPROTO_RAW IPPROTO_RAW
94 IPPROTO_MPTCP = 262, /* Multipath TCP connection. */
95#define IPPROTO_MPTCP IPPROTO_MPTCP
9296 IPPROTO_MAX
9397 };
9498
lib/libc/include/generic-glibc/nss.h+201-2
......@@ -19,10 +19,12 @@
1919 and for implementors of new services. */
2020
2121#ifndef _NSS_H
22#define _NSS_H 1
22#define _NSS_H 1
2323
2424#include <features.h>
25#include <stddef.h>
2526#include <stdint.h>
27#include <sys/types.h>
2628
2729
2830__BEGIN_DECLS
......@@ -56,7 +58,204 @@ struct gaih_addrtuple
5658 Attention: Using this function repeatedly will slowly eat up the
5759 whole memory since previous selection data cannot be freed. */
5860extern 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
61260__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
182182 __info, size_t __n, int *__restrict __argtypes)
183183 __THROW;
184184
185#ifdef __LDBL_COMPAT
185#include <bits/floatn.h>
186#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
186187# include <bits/printf-ldbl.h>
187188#endif
188189
lib/libc/include/generic-glibc/pthread.h+15
......@@ -27,6 +27,7 @@
2727#include <bits/setjmp.h>
2828#include <bits/wordsize.h>
2929#include <bits/types/struct_timespec.h>
30#include <bits/types/__sigset_t.h>
3031
3132
3233/* Detach state. */
......@@ -385,6 +386,20 @@ extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
385386extern int pthread_getattr_default_np (pthread_attr_t *__attr)
386387 __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
388403/* Set the default attributes to be used by pthread_create in this
389404 process. */
390405extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
lib/libc/include/generic-glibc/signal.h+17-14
......@@ -27,7 +27,7 @@
2727__BEGIN_DECLS
2828
2929#include <bits/types.h>
30#include <bits/signum.h>
30#include <bits/signum-generic.h>
3131
3232#include <bits/types/sig_atomic_t.h>
3333
......@@ -148,7 +148,8 @@ extern void psiginfo (const siginfo_t *__pinfo, const char *__s);
148148
149149#ifdef __USE_XOPEN_EXTENDED
150150# 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");
152153# else
153154extern int __sigpause (int __sig_or_mask, int __is_sig);
154155/* 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);
164165 simply do not work in many situations. Use `sigprocmask' instead. */
165166
166167/* 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
169172/* Block signals in MASK, returning the old mask. */
170173extern int sigblock (int __mask) __THROW __attribute_deprecated__;
......@@ -281,12 +284,6 @@ extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val)
281284
282285#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
290287/* Get machine-dependent `struct sigcontext' and signal subcodes. */
291288# include <bits/sigcontext.h>
292289
......@@ -311,7 +308,8 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;
311308/* If INTERRUPT is nonzero, make signal SIG interrupt system calls
312309 (causing them to fail with EINTR); if INTERRUPT is zero, make system
313310 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
316314# include <bits/sigstack.h>
317315# include <bits/ss_flags.h>
......@@ -340,16 +338,21 @@ extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
340338/* Simplified interface for signal management. */
341339
342340/* 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
345344/* 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
348348/* 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
351352/* 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");
353356#endif
354357
355358#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,
400400 const char *__restrict __format, ...) __THROW;
401401
402402/* For historical reasons, the C99-compliant versions of the scanf
403 functions are at alternative names. When __LDBL_COMPAT is in
404 effect, this is handled in bits/stdio-ldbl.h. */
405#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT
403 functions are at alternative names. When __LDBL_COMPAT or
404 __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
405 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
406409# ifdef __REDIRECT
407410extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
408411 const char *__restrict __format, ...),
......@@ -447,7 +450,8 @@ extern int vsscanf (const char *__restrict __s,
447450
448451/* Same redirection as above for the v*scanf family. */
449452# if !__GLIBC_USE (DEPRECATED_SCANF)
450# if defined __REDIRECT && !defined __LDBL_COMPAT
453# if defined __REDIRECT && !defined __LDBL_COMPAT \
454 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
451455extern int __REDIRECT (vfscanf,
452456 (FILE *__restrict __s,
453457 const char *__restrict __format, __gnuc_va_list __arg),
......@@ -562,7 +566,7 @@ extern int putw (int __w, FILE *__stream);
562566 This function is a possible cancellation point and therefore not
563567 marked with __THROW. */
564568extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
565 __wur;
569 __wur __attr_access ((__write_only__, 1, 2));
566570
567571#if __GLIBC_USE (DEPRECATED_GETS)
568572/* Get a newline-terminated string from stdin, removing the newline.
......@@ -585,7 +589,8 @@ extern char *gets (char *__s) __wur __attribute_deprecated__;
585589 or due to the implementation it is a cancellation point and
586590 therefore not marked with __THROW. */
587591extern 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));
589594#endif
590595
591596
......@@ -774,12 +779,6 @@ extern int ferror_unlocked (FILE *__stream) __THROW __wur;
774779 marked with __THROW. */
775780extern 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
784783#ifdef __USE_POSIX
785784/* Return the system file descriptor for STREAM. */
......@@ -866,7 +865,9 @@ extern int __overflow (FILE *, int);
866865#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
867866# include <bits/stdio2.h>
868867#endif
869#ifdef __LDBL_COMPAT
868
869#include <bits/floatn.h>
870#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
870871# include <bits/stdio-ldbl.h>
871872#endif
872873
lib/libc/include/generic-glibc/stdlib.h+9-6
......@@ -397,7 +397,7 @@ extern long int a64l (const char *__s)
397397 `initstate' and `setstate' functions are those from BSD Unices.
398398 The `rand' and `srand' functions are required by the ANSI standard.
399399 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. */
401401extern long int random (void) __THROW;
402402
403403/* Seed the random number generator with the given number. */
......@@ -931,12 +931,13 @@ extern int wctomb (char *__s, wchar_t __wchar) __THROW;
931931
932932/* Convert a multibyte string to a wide char string. */
933933extern 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));
935936/* Convert a wide char string to multibyte string. */
936937extern size_t wcstombs (char *__restrict __s,
937938 const wchar_t *__restrict __pwcs, size_t __n)
938 __THROW;
939
939 __THROW
940 __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2));
940941
941942#ifdef __USE_MISC
942943/* Determine whether the string value of RESPONSE matches the affirmation
......@@ -990,7 +991,7 @@ extern char *ptsname (int __fd) __THROW __wur;
990991 terminal associated with the master FD is open on in BUF.
991992 Return 0 on success, otherwise an error number. */
992993extern 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
995996/* Open a master pseudo terminal and return its file descriptor. */
996997extern int getpt (void);
......@@ -1016,7 +1017,9 @@ extern int ttyslot (void) __THROW;
10161017#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
10171018# include <bits/stdlib.h>
10181019#endif
1019#ifdef __LDBL_COMPAT
1020
1021#include <bits/floatn.h>
1022#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
10201023# include <bits/stdlib-ldbl.h>
10211024#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)
5353#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC2X)
5454extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
5555 int __c, size_t __n)
56 __THROW __nonnull ((1, 2));
56 __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 4));
5757#endif /* Misc || X/Open. */
5858
5959
......@@ -108,12 +108,15 @@ extern void *rawmemchr (const void *__s, int __c)
108108/* Search N bytes of S for the final occurrence of C. */
109109# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
110110extern "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));
112113extern "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));
114116# else
115117extern 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));
117120# endif
118121#endif
119122
......@@ -146,7 +149,7 @@ extern int strcoll (const char *__s1, const char *__s2)
146149/* Put a transformation of SRC into no more than N bytes of DEST. */
147150extern size_t strxfrm (char *__restrict __dest,
148151 const char *__restrict __src, size_t __n)
149 __THROW __nonnull ((2));
152 __THROW __nonnull ((2)) __attr_access ((__write_only__, 1, 3));
150153
151154#ifdef __USE_XOPEN2K8
152155/* 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)
158161/* Put a transformation of SRC into no more than N bytes of DEST,
159162 using sorting rules from L. */
160163extern 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));
162166#endif
163167
164168#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \
......@@ -368,7 +372,9 @@ extern char *strcasestr (const char *__haystack, const char *__needle)
368372 HAYSTACK is HAYSTACKLEN bytes long. */
369373extern void *memmem (const void *__haystack, size_t __haystacklen,
370374 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
373379/* Copy N bytes of SRC to DEST, return pointer to bytes after the
374380 last written byte. */
......@@ -409,17 +415,25 @@ extern char *strerror (int __errnum) __THROW;
409415# ifdef __REDIRECT_NTH
410416extern int __REDIRECT_NTH (strerror_r,
411417 (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));
413420# else
414421extern 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));
416423# define strerror_r __xpg_strerror_r
417424# endif
418425# else
419426/* If a temporary buffer is required, at most BUFLEN bytes of BUF will be
420427 used. */
421428extern 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;
423437# endif
424438#endif
425439
......@@ -433,7 +447,8 @@ extern char *strerror_l (int __errnum, locale_t __l) __THROW;
433447
434448/* Set N bytes of S to 0. The compiler will not delete a call to this
435449 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
438453/* Return the next DELIM-delimited token from *STRINGP,
439454 terminating it with a '\0', and update *STRINGP to point past it. */
......@@ -446,6 +461,14 @@ extern char *strsep (char **__restrict __stringp,
446461/* Return a string describing the meaning of the signal number in SIG. */
447462extern 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
449472/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
450473extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
451474 __THROW __nonnull ((1, 2));
......@@ -471,7 +494,8 @@ extern int strverscmp (const char *__s1, const char *__s2)
471494extern char *strfry (char *__string) __THROW __nonnull ((1));
472495
473496/* 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
476500# ifndef basename
477501/* 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 @@
452452#include <bits/wordsize.h>
453453#include <bits/long-double.h>
454454
455#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
455#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
456486# define __LDBL_COMPAT 1
457487# ifdef __REDIRECT
458488# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
......@@ -461,6 +491,8 @@
461491# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
462492# define __LDBL_REDIR_NTH(name, proto) \
463493 __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
494# define __LDBL_REDIR2_DECL(name) \
495 extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
464496# define __LDBL_REDIR1_DECL(name, alias) \
465497 extern __typeof (name) name __asm (__ASMNAME (#alias));
466498# define __LDBL_REDIR_DECL(name) \
......@@ -471,11 +503,13 @@
471503 __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
472504# endif
473505#endif
474#if !defined __LDBL_COMPAT || !defined __REDIRECT
506#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
507 || !defined __REDIRECT
475508# define __LDBL_REDIR1(name, proto, alias) name proto
476509# define __LDBL_REDIR(name, proto) name proto
477510# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
478511# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
512# define __LDBL_REDIR2_DECL(name)
479513# define __LDBL_REDIR_DECL(name)
480514# ifdef __REDIRECT
481515# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
......@@ -514,4 +548,15 @@
514548# define __HAVE_GENERIC_SELECTION 0
515549#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
517562#endif /* sys/cdefs.h */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/random.h+1
......@@ -25,6 +25,7 @@
2525/* Flags for use with getrandom. */
2626#define GRND_NONBLOCK 0x01
2727#define GRND_RANDOM 0x02
28#define GRND_INSECURE 0x04
2829
2930__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)
206206#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
207207# include <bits/syslog.h>
208208#endif
209#ifdef __LDBL_COMPAT
209
210#include <bits/floatn.h>
211#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
210212# include <bits/syslog-ldbl.h>
211213#endif
212214
lib/libc/include/generic-glibc/threads.h+5-8
......@@ -24,7 +24,7 @@
2424
2525__BEGIN_DECLS
2626
27#include <bits/pthreadtypes-arch.h>
27#include <bits/thread-shared-types.h>
2828#include <bits/types/struct_timespec.h>
2929
3030#ifndef __cplusplus
......@@ -32,10 +32,10 @@ __BEGIN_DECLS
3232#endif
3333
3434#define TSS_DTOR_ITERATIONS 4
35typedef unsigned int tss_t;
35typedef __tss_t tss_t;
3636typedef void (*tss_dtor_t) (void*);
3737
38typedef unsigned long int thrd_t;
38typedef __thrd_t thrd_t;
3939typedef int (*thrd_start_t) (void*);
4040
4141/* Exit and error codes. */
......@@ -56,11 +56,8 @@ enum
5656 mtx_timed = 2
5757};
5858
59typedef struct
60{
61 int __data __ONCE_ALIGNMENT;
62} once_flag;
63#define ONCE_FLAG_INIT { 0 }
59typedef __once_flag once_flag;
60#define ONCE_FLAG_INIT __ONCE_FLAG_INIT
6461
6562typedef union
6663{
lib/libc/include/generic-glibc/unistd.h+41-24
......@@ -357,13 +357,15 @@ extern int close (int __fd);
357357
358358 This function is a cancellation point and therefore not marked with
359359 __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
362363/* Write N bytes of BUF to FD. Return the number written, or -1.
363364
364365 This function is a cancellation point and therefore not marked with
365366 __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
368370#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
369371# ifndef __USE_FILE_OFFSET64
......@@ -374,7 +376,8 @@ extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur;
374376 This function is a cancellation point and therefore not marked with
375377 __THROW. */
376378extern 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
379382/* Write N bytes of BUF to FD at the given position OFFSET without
380383 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,
382385 This function is a cancellation point and therefore not marked with
383386 __THROW. */
384387extern 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
386391# else
387392# ifdef __REDIRECT
388393extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes,
389394 __off64_t __offset),
390 pread64) __wur;
395 pread64) __wur
396 __attr_access ((__write_only__, 2, 3));
391397extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,
392398 size_t __nbytes, __off64_t __offset),
393 pwrite64) __wur;
399 pwrite64) __wur
400 __attr_access ((__read_only__, 2, 3));
394401# else
395402# define pread pread64
396403# define pwrite pwrite64
......@@ -402,11 +409,13 @@ extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,
402409 changing the file pointer. Return the number read, -1 for errors
403410 or 0 for EOF. */
404411extern 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));
406414/* Write N bytes of BUF to FD at the given position OFFSET without
407415 changing the file pointer. Return the number written, or -1. */
408416extern 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));
410419# endif
411420#endif
412421
......@@ -508,7 +517,8 @@ extern int fchdir (int __fd) __THROW __wur;
508517 an array is allocated with `malloc'; the array is SIZE
509518 bytes long, unless SIZE == 0, in which case it is as
510519 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
513523#ifdef __USE_GNU
514524/* Return a malloc'd string containing the current directory name.
......@@ -523,7 +533,8 @@ extern char *get_current_dir_name (void) __THROW;
523533 If successful, return BUF. If not, put an error message in
524534 BUF and return NULL. BUF should be at least PATH_MAX bytes long. */
525535extern char *getwd (char *__buf)
526 __THROW __nonnull ((1)) __attribute_deprecated__ __wur;
536 __THROW __nonnull ((1)) __attribute_deprecated__ __wur
537 __attr_access ((__write_only__, 1));
527538#endif
528539
529540
......@@ -620,7 +631,8 @@ extern long int sysconf (int __name) __THROW;
620631
621632#ifdef __USE_POSIX2
622633/* 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));
624636#endif
625637
626638
......@@ -686,8 +698,8 @@ extern __gid_t getegid (void) __THROW;
686698/* If SIZE is zero, return the number of supplementary groups
687699 the calling process is in. Otherwise, fill in the group IDs
688700 of its supplementary groups in LIST and return the number written. */
689extern int getgroups (int __size, __gid_t __list[]) __THROW __wur;
690
701extern int getgroups (int __size, __gid_t __list[]) __THROW __wur
702 __attr_access ((__write_only__, 2, 1));
691703#ifdef __USE_GNU
692704/* Return nonzero iff the calling process is in group GID. */
693705extern int group_member (__gid_t __gid) __THROW;
......@@ -772,7 +784,7 @@ extern char *ttyname (int __fd) __THROW;
772784/* Store at most BUFLEN characters of the pathname of the terminal FD is
773785 open on in BUF. Return 0 on success, otherwise an error number. */
774786extern 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
777789/* Return 1 if FD is a valid descriptor associated
778790 with a terminal, zero if not. */
......@@ -807,7 +819,8 @@ extern int symlink (const char *__from, const char *__to)
807819 Returns the number of characters read, or -1 for errors. */
808820extern ssize_t readlink (const char *__restrict __path,
809821 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
811824#endif /* Use POSIX.1-2001. */
812825
813826#ifdef __USE_ATFILE
......@@ -818,7 +831,7 @@ extern int symlinkat (const char *__from, int __tofd,
818831/* Like readlink but a relative PATH is interpreted relative to FD. */
819832extern ssize_t readlinkat (int __fd, const char *__restrict __path,
820833 char *__restrict __buf, size_t __len)
821 __THROW __nonnull ((2, 3)) __wur;
834 __THROW __nonnull ((2, 3)) __wur __attr_access ((__read_only__, 3, 4));
822835#endif
823836
824837/* Remove the link NAME. */
......@@ -853,7 +866,8 @@ extern char *getlogin (void);
853866
854867 This function is a possible cancellation point and therefore not
855868 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));
857871#endif
858872
859873#ifdef __USE_MISC
......@@ -874,7 +888,8 @@ extern int setlogin (const char *__name) __THROW __nonnull ((1));
874888/* Put the name of the current host in no more than LEN bytes of NAME.
875889 The result is null-terminated if LEN is large enough for the full
876890 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));
878893#endif
879894
880895
......@@ -882,7 +897,7 @@ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1));
882897/* Set the name of the current host to NAME, which is LEN bytes long.
883898 This call is restricted to the super-user. */
884899extern 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
887902/* Set the current machine's Internet number to ID.
888903 This call is restricted to the super-user. */
......@@ -893,10 +908,9 @@ extern int sethostid (long int __id) __THROW __wur;
893908 Called just like `gethostname' and `sethostname'.
894909 The NIS domain name is usually the empty string when not using NIS. */
895910extern int getdomainname (char *__name, size_t __len)
896 __THROW __nonnull ((1)) __wur;
911 __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2));
897912extern int setdomainname (const char *__name, size_t __len)
898 __THROW __nonnull ((1)) __wur;
899
913 __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2));
900914
901915/* Revoke access permissions to all processes currently communicating
902916 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)
11311145 range [FROM - N + 1, FROM - 1]. If N is odd the first byte in FROM
11321146 is without partner. */
11331147extern 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));
11351151#endif
11361152
11371153
......@@ -1158,7 +1174,8 @@ extern int pthread_atfork (void (*__prepare) (void),
11581174#ifdef __USE_MISC
11591175/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on
11601176 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));
11621179#endif
11631180
11641181/* 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,
633633 __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
634634
635635/* For historical reasons, the C99-compliant versions of the scanf
636 functions are at alternative names. When __LDBL_COMPAT is in
637 effect, this is handled in bits/wchar-ldbl.h. */
638#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT
636 functions are at alternative names. When __LDBL_COMPAT or
637 __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
638 bits/wchar-ldbl.h. */
639#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
640 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
639641# ifdef __REDIRECT
640642extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
641643 const wchar_t *__restrict __format, ...),
......@@ -688,7 +690,8 @@ extern int vswscanf (const wchar_t *__restrict __s,
688690/* Same redirection as above for the v*wscanf family. */
689691# if !__GLIBC_USE (DEPRECATED_SCANF) \
690692 && (!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
692695# ifdef __REDIRECT
693696extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
694697 const wchar_t *__restrict __format,
......@@ -849,7 +852,8 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
849852# include <bits/wchar2.h>
850853#endif
851854
852#ifdef __LDBL_COMPAT
855#include <bits/floatn.h>
856#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
853857# include <bits/wchar-ldbl.h>
854858#endif
855859
lib/libc/include/i386-linux-gnu/bits/fenv.h-54
......@@ -113,58 +113,4 @@ femode_t;
113113
114114/* Default floating-point control modes. */
115115# 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
170116#endif
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/long-double.h+1-1
......@@ -18,4 +18,4 @@
1818
1919/* long double is distinct from double, so there is nothing to
2020 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 @@
6464#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
6565#define __USECONDS_T_TYPE __U32_TYPE
6666#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
6768#define __DADDR_T_TYPE __S32_TYPE
6869#define __KEY_T_TYPE __S32_TYPE
6970#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -87,10 +88,15 @@
8788
8889/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
8990# define __STATFS_MATCHES_STATFS64 1
91
92/* And for getitimer, setitimer and rusage */
93# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
9094#else
9195# define __RLIM_T_MATCHES_RLIM64_T 0
9296
9397# define __STATFS_MATCHES_STATFS64 0
98
99# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
94100#endif
95101
96102/* 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
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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 @@
7373#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
7474#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
7575#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 @@
2020# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
2121#endif
2222
23#ifdef __NO_LONG_DOUBLE_MATH
23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
2424# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
2525#else
2626extern int __iscanonicall (long double __x)
lib/libc/include/powerpc-linux-gnu/bits/long-double.h+1-1
......@@ -22,4 +22,4 @@
2222# define __NO_LONG_DOUBLE_MATH 1
2323# endif
2424#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 @@
1919#define LIBNSS_FILES_SO "libnss_files.so.2"
2020#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2121#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"
2422#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2523#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2624#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/powerpc-linux-gnu/ieee754.h+66-2
......@@ -21,6 +21,7 @@
2121#include <features.h>
2222
2323#include <bits/endian.h>
24#include <bits/floatn.h>
2425
2526__BEGIN_DECLS
2627
......@@ -111,6 +112,65 @@ union ieee754_double
111112#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)
114174/* IBM extended format for long double.
115175
116176 Each long double is made up of two IEEE doubles. The value of the
......@@ -121,12 +181,16 @@ union ieee754_double
121181 -0.0. No other requirements are made; so, for example, 1.0 may be
122182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
123183 NaN is don't-care. */
124
125184union ibm_extended_long_double
126185 {
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
128191 union ieee754_double d[2];
129192 };
193#endif
130194
131195__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 @@
7373#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
7474#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
7575#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 @@
2020# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
2121#endif
2222
23#ifdef __NO_LONG_DOUBLE_MATH
23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
2424# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
2525#else
2626extern int __iscanonicall (long double __x)
lib/libc/include/powerpc64-linux-gnu/bits/long-double.h+1-1
......@@ -22,4 +22,4 @@
2222# define __NO_LONG_DOUBLE_MATH 1
2323# endif
2424#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 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/powerpc64-linux-gnu/gnu/stubs-64-v1.h-2
......@@ -10,9 +10,7 @@
1010#define __stub_chflags
1111#define __stub_fchflags
1212#define __stub_gtty
13#define __stub_lchmod
1413#define __stub_revoke
1514#define __stub_setlogin
1615#define __stub_sigreturn
17#define __stub_sstk
1816#define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/ieee754.h+66-2
......@@ -21,6 +21,7 @@
2121#include <features.h>
2222
2323#include <bits/endian.h>
24#include <bits/floatn.h>
2425
2526__BEGIN_DECLS
2627
......@@ -111,6 +112,65 @@ union ieee754_double
111112#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)
114174/* IBM extended format for long double.
115175
116176 Each long double is made up of two IEEE doubles. The value of the
......@@ -121,12 +181,16 @@ union ieee754_double
121181 -0.0. No other requirements are made; so, for example, 1.0 may be
122182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
123183 NaN is don't-care. */
124
125184union ibm_extended_long_double
126185 {
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
128191 union ieee754_double d[2];
129192 };
193#endif
130194
131195__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 @@
7373#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
7474#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
7575#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 @@
2020# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
2121#endif
2222
23#ifdef __NO_LONG_DOUBLE_MATH
23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
2424# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
2525#else
2626extern int __iscanonicall (long double __x)
lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h+3-2
......@@ -1,5 +1,5 @@
11/* 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.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -22,4 +22,5 @@
2222# define __NO_LONG_DOUBLE_MATH 1
2323# endif
2424#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 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h-2
......@@ -10,9 +10,7 @@
1010#define __stub_chflags
1111#define __stub_fchflags
1212#define __stub_gtty
13#define __stub_lchmod
1413#define __stub_revoke
1514#define __stub_setlogin
1615#define __stub_sigreturn
17#define __stub_sstk
1816#define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/ieee754.h+66-2
......@@ -21,6 +21,7 @@
2121#include <features.h>
2222
2323#include <bits/endian.h>
24#include <bits/floatn.h>
2425
2526__BEGIN_DECLS
2627
......@@ -111,6 +112,65 @@ union ieee754_double
111112#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)
114174/* IBM extended format for long double.
115175
116176 Each long double is made up of two IEEE doubles. The value of the
......@@ -121,12 +181,16 @@ union ieee754_double
121181 -0.0. No other requirements are made; so, for example, 1.0 may be
122182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
123183 NaN is don't-care. */
124
125184union ibm_extended_long_double
126185 {
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
128191 union ieee754_double d[2];
129192 };
193#endif
130194
131195__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 @@
1818
1919/* long double is distinct from double, so there is nothing to
2020 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 @@
2626
2727/* See <bits/types.h> for the meaning of these macros. This file exists so
2828 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
3051#define __DEV_T_TYPE __UQUAD_TYPE
3152#define __UID_T_TYPE __U32_TYPE
3253#define __GID_T_TYPE __U32_TYPE
33#define __INO_T_TYPE __ULONGWORD_TYPE
3454#define __INO64_T_TYPE __UQUAD_TYPE
3555#define __MODE_T_TYPE __U32_TYPE
3656#define __NLINK_T_TYPE __U32_TYPE
37#define __OFF_T_TYPE __SLONGWORD_TYPE
3857#define __OFF64_T_TYPE __SQUAD_TYPE
3958#define __PID_T_TYPE __S32_TYPE
40#define __RLIM_T_TYPE __ULONGWORD_TYPE
4159#define __RLIM64_T_TYPE __UQUAD_TYPE
42#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
4360#define __BLKCNT64_T_TYPE __SQUAD_TYPE
44#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
4561#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
46#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
4762#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
4863#define __FSWORD_T_TYPE __SWORD_TYPE
4964#define __ID_T_TYPE __U32_TYPE
5065#define __CLOCK_T_TYPE __SLONGWORD_TYPE
51#define __TIME_T_TYPE __SLONGWORD_TYPE
5266#define __USECONDS_T_TYPE __U32_TYPE
53#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
5468#define __DADDR_T_TYPE __S32_TYPE
5569#define __KEY_T_TYPE __S32_TYPE
5670#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -62,7 +76,7 @@
6276#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
6377#define __CPU_MASK_TYPE __ULONGWORD_TYPE
6478
65#ifdef __LP64__
79#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32)
6680/* Tell the libc code that off_t and off64_t are actually the same type
6781 for all ABI purposes, even if possibly expressed as different base types
6882 for C type-checking purposes. */
......@@ -76,11 +90,17 @@
7690
7791/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
7892# define __STATFS_MATCHES_STATFS64 1
93
94/* And for getitimer, setitimer and rusage */
95# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64)
7996#else
8097# define __RLIM_T_MATCHES_RLIM64_T 0
8198
8299# define __STATFS_MATCHES_STATFS64 0
100
101# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
83102#endif
103
84104/* Number of descriptors that can fit in an `fd_set'. */
85105#define __FD_SETSIZE 1024
86106
lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h-2
......@@ -20,8 +20,6 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64.h+1-4
......@@ -32,10 +32,7 @@
3232#define __stub_fetestexcept
3333#define __stub_feupdateenv
3434#define __stub_gtty
35#define __stub_lchmod
3635#define __stub_revoke
3736#define __stub_setlogin
3837#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 */
7373
7474
7575/* 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. */
7777typedef struct
7878{
7979 fexcept_t __fpc;
8080 void *__unused;
8181 /* The field __unused (formerly __ieee_instruction_pointer) is a relict from
8282 commit "Remove PTRACE_PEEKUSER" (87b9b50f0d4b92248905e95a06a13c513dc45e59)
83 and isn´t used anymore. */
83 and isn't used anymore. */
8484} fenv_t;
8585
8686/* 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 @@
2222# define __NO_LONG_DOUBLE_MATH 1
2323# endif
2424#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 @@
5050#define __TIME_T_TYPE __SLONGWORD_TYPE
5151#define __USECONDS_T_TYPE __U32_TYPE
5252#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
5354#define __DADDR_T_TYPE __S32_TYPE
5455#define __KEY_T_TYPE __S32_TYPE
5556#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -81,10 +82,16 @@
8182
8283/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
8384# define __STATFS_MATCHES_STATFS64 1
85
86/* And for getitimer, setitimer and rusage */
87# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
8488#else
8589# define __RLIM_T_MATCHES_RLIM64_T 0
8690
8791# define __STATFS_MATCHES_STATFS64 0
92
93/* And for getitimer, setitimer and rusage */
94# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
8895#endif
8996
9097/* 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 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#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;
8383# define FE_NOMASK_ENV ((const fenv_t *) -2)
8484#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
9586#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
9687/* Type representing floating-point control modes. */
9788typedef 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 @@
2424# define __NO_LONG_DOUBLE_MATH 1
2525# endif
2626#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
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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 @@
5050#define __TIME_T_TYPE __SLONGWORD_TYPE
5151#define __USECONDS_T_TYPE __U32_TYPE
5252#define __SUSECONDS_T_TYPE __S32_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
5354#define __DADDR_T_TYPE __S32_TYPE
5455#define __KEY_T_TYPE __S32_TYPE
5556#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -75,10 +76,16 @@
7576
7677/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
7778# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
7882#else
7983# define __RLIM_T_MATCHES_RLIM64_T 0
8084
8185# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
8289#endif
8390
8491/* 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 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#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;
8383# define FE_NOMASK_ENV ((const fenv_t *) -2)
8484#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
9586#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
9687/* Type representing floating-point control modes. */
9788typedef 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 @@
2424# define __NO_LONG_DOUBLE_MATH 1
2525# endif
2626#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
9898 __RLIMIT_RTPRIO = 14,
9999#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100100
101 /* Maximum CPU time in µs that a process scheduled under a real-time
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102102 scheduling policy may consume without making a blocking system
103103 call before being forcibly descheduled. */
104104 __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 @@
5050#define __TIME_T_TYPE __SLONGWORD_TYPE
5151#define __USECONDS_T_TYPE __U32_TYPE
5252#define __SUSECONDS_T_TYPE __S32_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
5354#define __DADDR_T_TYPE __S32_TYPE
5455#define __KEY_T_TYPE __S32_TYPE
5556#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -75,10 +76,16 @@
7576
7677/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
7778# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
7882#else
7983# define __RLIM_T_MATCHES_RLIM64_T 0
8084
8185# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
8289#endif
8390
8491/* 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;
113113
114114/* Default floating-point control modes. */
115115# 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
170116#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/long-double.h+1-1
......@@ -18,4 +18,4 @@
1818
1919/* long double is distinct from double, so there is nothing to
2020 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 @@
6464#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
6565#define __USECONDS_T_TYPE __U32_TYPE
6666#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
6768#define __DADDR_T_TYPE __S32_TYPE
6869#define __KEY_T_TYPE __S32_TYPE
6970#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -87,10 +88,15 @@
8788
8889/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
8990# define __STATFS_MATCHES_STATFS64 1
91
92/* And for getitimer, setitimer and rusage */
93# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
9094#else
9195# define __RLIM_T_MATCHES_RLIM64_T 0
9296
9397# define __STATFS_MATCHES_STATFS64 0
98
99# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
94100#endif
95101
96102/* 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 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h-2
......@@ -11,9 +11,7 @@
1111#define __stub_chflags
1212#define __stub_fchflags
1313#define __stub_gtty
14#define __stub_lchmod
1514#define __stub_revoke
1615#define __stub_setlogin
1716#define __stub_sigreturn
18#define __stub_sstk
1917#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;
113113
114114/* Default floating-point control modes. */
115115# 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
170116#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/long-double.h+1-1
......@@ -18,4 +18,4 @@
1818
1919/* long double is distinct from double, so there is nothing to
2020 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 @@
6464#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
6565#define __USECONDS_T_TYPE __U32_TYPE
6666#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
6768#define __DADDR_T_TYPE __S32_TYPE
6869#define __KEY_T_TYPE __S32_TYPE
6970#define __CLOCKID_T_TYPE __S32_TYPE
......@@ -87,10 +88,15 @@
8788
8889/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
8990# define __STATFS_MATCHES_STATFS64 1
91
92/* And for getitimer, setitimer and rusage */
93# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
9094#else
9195# define __RLIM_T_MATCHES_RLIM64_T 0
9296
9397# define __STATFS_MATCHES_STATFS64 0
98
99# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
94100#endif
95101
96102/* 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 @@
2020#define LIBNSS_FILES_SO "libnss_files.so.2"
2121#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
2222#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"
2523#define LIBNSS_TEST1_SO "libnss_test1.so.2"
2624#define LIBNSS_TEST2_SO "libnss_test2.so.2"
2725#define LIBPTHREAD_SO "libpthread.so.0"
lib/libc/include/x86_64-linux-gnux32/gnu/stubs-x32.h-2
......@@ -16,9 +16,7 @@
1616#define __stub_chflags
1717#define __stub_fchflags
1818#define __stub_gtty
19#define __stub_lchmod
2019#define __stub_revoke
2120#define __stub_setlogin
2221#define __stub_sigreturn
23#define __stub_sstk
2422#define __stub_stty
\ No newline at end of file