authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-29 23:20:09+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-30 00:15:39+02:00
log63a9048baf64fd30c5e6d2c753bd7e584194bf7a
tree4d413727eba366c8589673302059cf5715daa7d2
parent7c7627b18a85a1ab7e09b6dadfc9bba0903880db
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

libc: Merge header directories for glibc and NetBSD libc where applicable.

Manual patches: * lib/libc/include/csky-linux-gnu/gnu/{lib-names,stubs}.h * lib/libc/include/powerpc-linux-gnu/bits/long-double.h Takes lib/libc/include from 115.5 MB to 113.4 MB. Closes #21258.

1125 files changed, 10754 insertions(+), 59848 deletions(-)

lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64_be.h created+27
......@@ -0,0 +1,27 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-lp64_be.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_AARCH64_BE_SO "ld-linux-aarch64_be.so.1"
7#define LD_SO "ld-linux-aarch64_be.so.1"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/gnu/stubs-lp64_be.h created+21
......@@ -0,0 +1,21 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_gtty
18#define __stub_revoke
19#define __stub_setlogin
20#define __stub_sigreturn
21#define __stub_stty
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/endianness.h deleted-15
......@@ -1,15 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* AArch64 has selectable endianness. */
9#ifdef __AARCH64EB__
10# define __BYTE_ORDER __BIG_ENDIAN
11#else
12# define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h deleted-61
......@@ -1,61 +0,0 @@
1/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI.
2 Copyright (C) 2011-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _FCNTL_H
21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
22#endif
23
24#define __O_DIRECTORY 040000
25#define __O_NOFOLLOW 0100000
26#define __O_DIRECT 0200000
27
28#ifdef __ILP32__
29# define __O_LARGEFILE 0400000
30#else
31# define __O_LARGEFILE 0
32#endif
33
34#ifdef __LP64__
35# define F_GETLK64 5
36# define F_SETLK64 6
37# define F_SETLKW64 7
38#endif
39
40struct flock
41 {
42 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
43 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
44 __off_t l_start; /* Offset where the lock begins. */
45 __off_t l_len; /* Size of the locked area; zero means until EOF. */
46 __pid_t l_pid; /* Process holding the lock. */
47 };
48
49#ifdef __USE_LARGEFILE64
50struct flock64
51 {
52 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
53 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
54 __off64_t l_start; /* Offset where the lock begins. */
55 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
56 __pid_t l_pid; /* Process holding the lock. */
57 };
58#endif
59
60/* Include generic Linux declarations. */
61#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 2004-2025 Free Software Foundation, Inc.
2
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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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 _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23/* Define bits representing exceptions in the FPSR status word. */
24enum
25 {
26 FE_INVALID =
27#define FE_INVALID 1
28 FE_INVALID,
29 FE_DIVBYZERO =
30#define FE_DIVBYZERO 2
31 FE_DIVBYZERO,
32 FE_OVERFLOW =
33#define FE_OVERFLOW 4
34 FE_OVERFLOW,
35 FE_UNDERFLOW =
36#define FE_UNDERFLOW 8
37 FE_UNDERFLOW,
38 FE_INEXACT =
39#define FE_INEXACT 16
40 FE_INEXACT,
41 };
42
43/* Amount to shift by to convert an exception bit in FPSR to a an
44 exception bit mask in FPCR. */
45#define FE_EXCEPT_SHIFT 8
46
47/* All supported exceptions. */
48#define FE_ALL_EXCEPT \
49 (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
50
51/* Define bits representing rounding modes in the FPCR Rmode field. */
52#define FE_TONEAREST 0x000000
53#define FE_UPWARD 0x400000
54#define FE_DOWNWARD 0x800000
55#define FE_TOWARDZERO 0xc00000
56
57/* Type representing exception flags. */
58typedef unsigned int fexcept_t;
59
60/* Type representing floating-point environment. */
61typedef struct
62 {
63 unsigned int __fpcr;
64 unsigned int __fpsr;
65 }
66fenv_t;
67
68/* If the default argument is used we use this value. */
69#define FE_DFL_ENV ((const fenv_t *) -1l)
70
71#ifdef __USE_GNU
72/* Floating-point environment where none of the exceptions are masked. */
73# define FE_NOMASK_ENV ((const fenv_t *) -2)
74#endif
75
76#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
77/* Type representing floating-point control modes. */
78typedef unsigned int femode_t;
79
80/* Default floating-point control modes. */
81# define FE_DFL_MODE ((const femode_t *) -1L)
82#endif
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h deleted-34
......@@ -1,34 +0,0 @@
1/* Define FP_FAST_* macros. AArch64 version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
21#endif
22
23#ifdef __USE_ISOC99
24
25/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
26 builtins are supported. */
27# define FP_FAST_FMA 1
28# define FP_FAST_FMAF 1
29
30# ifdef __FP_FAST_FMAL
31# define FP_FAST_FMAL 1
32# endif
33
34#endif
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h deleted-122
......@@ -1,122 +0,0 @@
1/* Defines for bits in AT_HWCAP. AArch64 Linux version.
2 Copyright (C) 2016-2025 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 (_SYS_AUXV_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h> and update the
24 list together with sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c. */
25#define HWCAP_FP (1 << 0)
26#define HWCAP_ASIMD (1 << 1)
27#define HWCAP_EVTSTRM (1 << 2)
28#define HWCAP_AES (1 << 3)
29#define HWCAP_PMULL (1 << 4)
30#define HWCAP_SHA1 (1 << 5)
31#define HWCAP_SHA2 (1 << 6)
32#define HWCAP_CRC32 (1 << 7)
33#define HWCAP_ATOMICS (1 << 8)
34#define HWCAP_FPHP (1 << 9)
35#define HWCAP_ASIMDHP (1 << 10)
36#define HWCAP_CPUID (1 << 11)
37#define HWCAP_ASIMDRDM (1 << 12)
38#define HWCAP_JSCVT (1 << 13)
39#define HWCAP_FCMA (1 << 14)
40#define HWCAP_LRCPC (1 << 15)
41#define HWCAP_DCPOP (1 << 16)
42#define HWCAP_SHA3 (1 << 17)
43#define HWCAP_SM3 (1 << 18)
44#define HWCAP_SM4 (1 << 19)
45#define HWCAP_ASIMDDP (1 << 20)
46#define HWCAP_SHA512 (1 << 21)
47#define HWCAP_SVE (1 << 22)
48#define HWCAP_ASIMDFHM (1 << 23)
49#define HWCAP_DIT (1 << 24)
50#define HWCAP_USCAT (1 << 25)
51#define HWCAP_ILRCPC (1 << 26)
52#define HWCAP_FLAGM (1 << 27)
53#define HWCAP_SSBS (1 << 28)
54#define HWCAP_SB (1 << 29)
55#define HWCAP_PACA (1 << 30)
56#define HWCAP_PACG (1UL << 31)
57#define HWCAP_GCS (1UL << 32)
58
59#define HWCAP2_DCPODP (1 << 0)
60#define HWCAP2_SVE2 (1 << 1)
61#define HWCAP2_SVEAES (1 << 2)
62#define HWCAP2_SVEPMULL (1 << 3)
63#define HWCAP2_SVEBITPERM (1 << 4)
64#define HWCAP2_SVESHA3 (1 << 5)
65#define HWCAP2_SVESM4 (1 << 6)
66#define HWCAP2_FLAGM2 (1 << 7)
67#define HWCAP2_FRINT (1 << 8)
68#define HWCAP2_SVEI8MM (1 << 9)
69#define HWCAP2_SVEF32MM (1 << 10)
70#define HWCAP2_SVEF64MM (1 << 11)
71#define HWCAP2_SVEBF16 (1 << 12)
72#define HWCAP2_I8MM (1 << 13)
73#define HWCAP2_BF16 (1 << 14)
74#define HWCAP2_DGH (1 << 15)
75#define HWCAP2_RNG (1 << 16)
76#define HWCAP2_BTI (1 << 17)
77#define HWCAP2_MTE (1 << 18)
78#define HWCAP2_ECV (1 << 19)
79#define HWCAP2_AFP (1 << 20)
80#define HWCAP2_RPRES (1 << 21)
81#define HWCAP2_MTE3 (1 << 22)
82#define HWCAP2_SME (1 << 23)
83#define HWCAP2_SME_I16I64 (1 << 24)
84#define HWCAP2_SME_F64F64 (1 << 25)
85#define HWCAP2_SME_I8I32 (1 << 26)
86#define HWCAP2_SME_F16F32 (1 << 27)
87#define HWCAP2_SME_B16F32 (1 << 28)
88#define HWCAP2_SME_F32F32 (1 << 29)
89#define HWCAP2_SME_FA64 (1 << 30)
90#define HWCAP2_WFXT (1UL << 31)
91#define HWCAP2_EBF16 (1UL << 32)
92#define HWCAP2_SVE_EBF16 (1UL << 33)
93#define HWCAP2_CSSC (1UL << 34)
94#define HWCAP2_RPRFM (1UL << 35)
95#define HWCAP2_SVE2P1 (1UL << 36)
96#define HWCAP2_SME2 (1UL << 37)
97#define HWCAP2_SME2P1 (1UL << 38)
98#define HWCAP2_SME_I16I32 (1UL << 39)
99#define HWCAP2_SME_BI32I32 (1UL << 40)
100#define HWCAP2_SME_B16B16 (1UL << 41)
101#define HWCAP2_SME_F16F16 (1UL << 42)
102#define HWCAP2_MOPS (1UL << 43)
103#define HWCAP2_HBC (1UL << 44)
104#define HWCAP2_SVE_B16B16 (1UL << 45)
105#define HWCAP2_LRCPC3 (1UL << 46)
106#define HWCAP2_LSE128 (1UL << 47)
107#define HWCAP2_FPMR (1UL << 48)
108#define HWCAP2_LUT (1UL << 49)
109#define HWCAP2_FAMINMAX (1UL << 50)
110#define HWCAP2_F8CVT (1UL << 51)
111#define HWCAP2_F8FMA (1UL << 52)
112#define HWCAP2_F8DP4 (1UL << 53)
113#define HWCAP2_F8DP2 (1UL << 54)
114#define HWCAP2_F8E4M3 (1UL << 55)
115#define HWCAP2_F8E5M2 (1UL << 56)
116#define HWCAP2_SME_LUTV2 (1UL << 57)
117#define HWCAP2_SME_F8F16 (1UL << 58)
118#define HWCAP2_SME_F8F32 (1UL << 59)
119#define HWCAP2_SME_SF8FMA (1UL << 60)
120#define HWCAP2_SME_SF8DP4 (1UL << 61)
121#define HWCAP2_SME_SF8DP2 (1UL << 62)
122#define HWCAP2_POE (1UL << 63)
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/indirect-return.h deleted-36
......@@ -1,36 +0,0 @@
1/* Definition of __INDIRECT_RETURN. AArch64 version.
2 Copyright (C) 2024-2025 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 _UCONTEXT_H
20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
21#endif
22
23/* __INDIRECT_RETURN indicates that swapcontext may return via
24 an indirect branch. This happens when GCS is enabled, so
25 add the attribute if available, otherwise returns_twice has
26 a similar effect, but it prevents some code transformations
27 that can cause build failures in some rare cases so it is
28 only used when GCS is enabled. */
29#if __glibc_has_attribute (__indirect_return__)
30# define __INDIRECT_RETURN __attribute__ ((__indirect_return__))
31#elif __glibc_has_attribute (__returns_twice__) \
32 && defined __ARM_FEATURE_GCS_DEFAULT
33# define __INDIRECT_RETURN __attribute__ ((__returns_twice__))
34#else
35# define __INDIRECT_RETURN
36#endif
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/link.h deleted-68
......@@ -1,68 +0,0 @@
1/* Copyright (C) 2005-2025 Free Software Foundation, Inc.
2
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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23typedef union
24{
25 float s;
26 double d;
27 long double q;
28} La_aarch64_vector;
29
30/* Registers for entry into PLT on AArch64. */
31typedef struct La_aarch64_regs
32{
33 uint64_t lr_xreg[9];
34 La_aarch64_vector lr_vreg[8];
35 uint64_t lr_sp;
36 uint64_t lr_lr;
37 void *lr_vpcs;
38} La_aarch64_regs;
39
40/* Return values for calls from PLT on AArch64. */
41typedef struct La_aarch64_retval
42{
43 /* Up to eight integer registers can be used for a return value. */
44 uint64_t lrv_xreg[8];
45 /* Up to eight V registers can be used for a return value. */
46 La_aarch64_vector lrv_vreg[8];
47 void *lrv_vpcs;
48} La_aarch64_retval;
49__BEGIN_DECLS
50
51extern ElfW(Addr)
52la_aarch64_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx,
53 uintptr_t *__refcook,
54 uintptr_t *__defcook,
55 La_aarch64_regs *__regs,
56 unsigned int *__flags,
57 const char *__symname,
58 long int *__framesizep);
59
60extern unsigned int
61la_aarch64_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx,
62 uintptr_t *__refcook,
63 uintptr_t *__defcook,
64 const La_aarch64_regs *__inregs,
65 La_aarch64_retval *__outregs,
66 const char *__symname);
67
68__END_DECLS
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h deleted-21
......@@ -1,21 +0,0 @@
1/* Properties of long double type. ldbl-128 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h deleted-308
......@@ -1,308 +0,0 @@
1/* Platform-specific SIMD declarations of math functions.
2
3 Copyright (C) 2023-2025 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
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 _MATH_H
21# error "Never include <bits/math-vector.h> directly;\
22 include <math.h> instead."
23#endif
24
25/* Get default empty definitions for simd declarations. */
26#include <bits/libm-simd-decl-stubs.h>
27
28#if defined __aarch64__ && defined __FAST_MATH__ && __GNUC_PREREQ (6, 0)
29/* Requires GCC >= 6 for __attribute__ ((__simd__)). */
30# define __DECL_SIMD_aarch64 __attribute__ ((__simd__ ("notinbranch"), const))
31
32# undef __DECL_SIMD_acos
33# define __DECL_SIMD_acos __DECL_SIMD_aarch64
34# undef __DECL_SIMD_acosf
35# define __DECL_SIMD_acosf __DECL_SIMD_aarch64
36# undef __DECL_SIMD_acosh
37# define __DECL_SIMD_acosh __DECL_SIMD_aarch64
38# undef __DECL_SIMD_acoshf
39# define __DECL_SIMD_acoshf __DECL_SIMD_aarch64
40# undef __DECL_SIMD_asin
41# define __DECL_SIMD_asin __DECL_SIMD_aarch64
42# undef __DECL_SIMD_asinf
43# define __DECL_SIMD_asinf __DECL_SIMD_aarch64
44# undef __DECL_SIMD_asinh
45# define __DECL_SIMD_asinh __DECL_SIMD_aarch64
46# undef __DECL_SIMD_asinhf
47# define __DECL_SIMD_asinhf __DECL_SIMD_aarch64
48# undef __DECL_SIMD_atan
49# define __DECL_SIMD_atan __DECL_SIMD_aarch64
50# undef __DECL_SIMD_atanf
51# define __DECL_SIMD_atanf __DECL_SIMD_aarch64
52# undef __DECL_SIMD_atanh
53# define __DECL_SIMD_atanh __DECL_SIMD_aarch64
54# undef __DECL_SIMD_atanhf
55# define __DECL_SIMD_atanhf __DECL_SIMD_aarch64
56# undef __DECL_SIMD_atan2
57# define __DECL_SIMD_atan2 __DECL_SIMD_aarch64
58# undef __DECL_SIMD_atan2f
59# define __DECL_SIMD_atan2f __DECL_SIMD_aarch64
60# undef __DECL_SIMD_cbrt
61# define __DECL_SIMD_cbrt __DECL_SIMD_aarch64
62# undef __DECL_SIMD_cbrtf
63# define __DECL_SIMD_cbrtf __DECL_SIMD_aarch64
64# undef __DECL_SIMD_cos
65# define __DECL_SIMD_cos __DECL_SIMD_aarch64
66# undef __DECL_SIMD_cosf
67# define __DECL_SIMD_cosf __DECL_SIMD_aarch64
68# undef __DECL_SIMD_cosh
69# define __DECL_SIMD_cosh __DECL_SIMD_aarch64
70# undef __DECL_SIMD_coshf
71# define __DECL_SIMD_coshf __DECL_SIMD_aarch64
72# undef __DECL_SIMD_cospi
73# define __DECL_SIMD_cospi __DECL_SIMD_aarch64
74# undef __DECL_SIMD_cospif
75# define __DECL_SIMD_cospif __DECL_SIMD_aarch64
76# undef __DECL_SIMD_erf
77# define __DECL_SIMD_erf __DECL_SIMD_aarch64
78# undef __DECL_SIMD_erff
79# define __DECL_SIMD_erff __DECL_SIMD_aarch64
80# undef __DECL_SIMD_erfc
81# define __DECL_SIMD_erfc __DECL_SIMD_aarch64
82# undef __DECL_SIMD_erfcf
83# define __DECL_SIMD_erfcf __DECL_SIMD_aarch64
84# undef __DECL_SIMD_exp
85# define __DECL_SIMD_exp __DECL_SIMD_aarch64
86# undef __DECL_SIMD_expf
87# define __DECL_SIMD_expf __DECL_SIMD_aarch64
88# undef __DECL_SIMD_exp10
89# define __DECL_SIMD_exp10 __DECL_SIMD_aarch64
90# undef __DECL_SIMD_exp10f
91# define __DECL_SIMD_exp10f __DECL_SIMD_aarch64
92# undef __DECL_SIMD_exp2
93# define __DECL_SIMD_exp2 __DECL_SIMD_aarch64
94# undef __DECL_SIMD_exp2f
95# define __DECL_SIMD_exp2f __DECL_SIMD_aarch64
96# undef __DECL_SIMD_expm1
97# define __DECL_SIMD_expm1 __DECL_SIMD_aarch64
98# undef __DECL_SIMD_expm1f
99# define __DECL_SIMD_expm1f __DECL_SIMD_aarch64
100# undef __DECL_SIMD_hypot
101# define __DECL_SIMD_hypot __DECL_SIMD_aarch64
102# undef __DECL_SIMD_hypotf
103# define __DECL_SIMD_hypotf __DECL_SIMD_aarch64
104# undef __DECL_SIMD_log
105# define __DECL_SIMD_log __DECL_SIMD_aarch64
106# undef __DECL_SIMD_logf
107# define __DECL_SIMD_logf __DECL_SIMD_aarch64
108# undef __DECL_SIMD_log10
109# define __DECL_SIMD_log10 __DECL_SIMD_aarch64
110# undef __DECL_SIMD_log10f
111# define __DECL_SIMD_log10f __DECL_SIMD_aarch64
112# undef __DECL_SIMD_log1p
113# define __DECL_SIMD_log1p __DECL_SIMD_aarch64
114# undef __DECL_SIMD_log1pf
115# define __DECL_SIMD_log1pf __DECL_SIMD_aarch64
116# undef __DECL_SIMD_log2
117# define __DECL_SIMD_log2 __DECL_SIMD_aarch64
118# undef __DECL_SIMD_log2f
119# define __DECL_SIMD_log2f __DECL_SIMD_aarch64
120# undef __DECL_SIMD_logp1
121# define __DECL_SIMD_logp1 __DECL_SIMD_aarch64
122# undef __DECL_SIMD_logp1f
123# define __DECL_SIMD_logp1f __DECL_SIMD_aarch64
124# undef __DECL_SIMD_pow
125# define __DECL_SIMD_pow __DECL_SIMD_aarch64
126# undef __DECL_SIMD_powf
127# define __DECL_SIMD_powf __DECL_SIMD_aarch64
128# undef __DECL_SIMD_sin
129# define __DECL_SIMD_sin __DECL_SIMD_aarch64
130# undef __DECL_SIMD_sinf
131# define __DECL_SIMD_sinf __DECL_SIMD_aarch64
132# undef __DECL_SIMD_sinh
133# define __DECL_SIMD_sinh __DECL_SIMD_aarch64
134# undef __DECL_SIMD_sinhf
135# define __DECL_SIMD_sinhf __DECL_SIMD_aarch64
136# undef __DECL_SIMD_sinpi
137# define __DECL_SIMD_sinpi __DECL_SIMD_aarch64
138# undef __DECL_SIMD_sinpif
139# define __DECL_SIMD_sinpif __DECL_SIMD_aarch64
140# undef __DECL_SIMD_tan
141# define __DECL_SIMD_tan __DECL_SIMD_aarch64
142# undef __DECL_SIMD_tanf
143# define __DECL_SIMD_tanf __DECL_SIMD_aarch64
144# undef __DECL_SIMD_tanh
145# define __DECL_SIMD_tanh __DECL_SIMD_aarch64
146# undef __DECL_SIMD_tanhf
147# define __DECL_SIMD_tanhf __DECL_SIMD_aarch64
148# undef __DECL_SIMD_tanpi
149# define __DECL_SIMD_tanpi __DECL_SIMD_aarch64
150# undef __DECL_SIMD_tanpif
151# define __DECL_SIMD_tanpif __DECL_SIMD_aarch64
152#endif
153
154#if __GNUC_PREREQ(9, 0)
155# define __ADVSIMD_VEC_MATH_SUPPORTED
156typedef __Float32x4_t __f32x4_t;
157typedef __Float64x2_t __f64x2_t;
158#elif __glibc_clang_prereq(8, 0)
159# define __ADVSIMD_VEC_MATH_SUPPORTED
160typedef __attribute__ ((__neon_vector_type__ (4))) float __f32x4_t;
161typedef __attribute__ ((__neon_vector_type__ (2))) double __f64x2_t;
162#endif
163
164#if __GNUC_PREREQ(10, 0) || __glibc_clang_prereq(11, 0)
165# define __SVE_VEC_MATH_SUPPORTED
166typedef __SVFloat32_t __sv_f32_t;
167typedef __SVFloat64_t __sv_f64_t;
168typedef __SVBool_t __sv_bool_t;
169#endif
170
171/* If vector types and vector PCS are unsupported in the working
172 compiler, no choice but to omit vector math declarations. */
173
174#ifdef __ADVSIMD_VEC_MATH_SUPPORTED
175
176# define __vpcs __attribute__ ((__aarch64_vector_pcs__))
177
178__vpcs __f32x4_t _ZGVnN4vv_atan2f (__f32x4_t, __f32x4_t);
179__vpcs __f32x4_t _ZGVnN4v_acosf (__f32x4_t);
180__vpcs __f32x4_t _ZGVnN4v_acoshf (__f32x4_t);
181__vpcs __f32x4_t _ZGVnN4v_asinf (__f32x4_t);
182__vpcs __f32x4_t _ZGVnN4v_asinhf (__f32x4_t);
183__vpcs __f32x4_t _ZGVnN4v_atanf (__f32x4_t);
184__vpcs __f32x4_t _ZGVnN4v_atanhf (__f32x4_t);
185__vpcs __f32x4_t _ZGVnN4v_cbrtf (__f32x4_t);
186__vpcs __f32x4_t _ZGVnN4v_cosf (__f32x4_t);
187__vpcs __f32x4_t _ZGVnN4v_coshf (__f32x4_t);
188__vpcs __f32x4_t _ZGVnN4v_cospif (__f32x4_t);
189__vpcs __f32x4_t _ZGVnN4v_erff (__f32x4_t);
190__vpcs __f32x4_t _ZGVnN4v_erfcf (__f32x4_t);
191__vpcs __f32x4_t _ZGVnN4v_expf (__f32x4_t);
192__vpcs __f32x4_t _ZGVnN4v_exp10f (__f32x4_t);
193__vpcs __f32x4_t _ZGVnN4v_exp2f (__f32x4_t);
194__vpcs __f32x4_t _ZGVnN4v_expm1f (__f32x4_t);
195__vpcs __f32x4_t _ZGVnN4vv_hypotf (__f32x4_t, __f32x4_t);
196__vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t);
197__vpcs __f32x4_t _ZGVnN4v_log10f (__f32x4_t);
198__vpcs __f32x4_t _ZGVnN4v_log1pf (__f32x4_t);
199__vpcs __f32x4_t _ZGVnN4v_log2f (__f32x4_t);
200__vpcs __f32x4_t _ZGVnN4v_logp1f (__f32x4_t);
201__vpcs __f32x4_t _ZGVnN4vv_powf (__f32x4_t, __f32x4_t);
202__vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t);
203__vpcs __f32x4_t _ZGVnN4v_sinhf (__f32x4_t);
204__vpcs __f32x4_t _ZGVnN4v_sinpif (__f32x4_t);
205__vpcs __f32x4_t _ZGVnN4v_tanf (__f32x4_t);
206__vpcs __f32x4_t _ZGVnN4v_tanhf (__f32x4_t);
207__vpcs __f32x4_t _ZGVnN4v_tanpif (__f32x4_t);
208
209__vpcs __f64x2_t _ZGVnN2vv_atan2 (__f64x2_t, __f64x2_t);
210__vpcs __f64x2_t _ZGVnN2v_acos (__f64x2_t);
211__vpcs __f64x2_t _ZGVnN2v_acosh (__f64x2_t);
212__vpcs __f64x2_t _ZGVnN2v_asin (__f64x2_t);
213__vpcs __f64x2_t _ZGVnN2v_asinh (__f64x2_t);
214__vpcs __f64x2_t _ZGVnN2v_atan (__f64x2_t);
215__vpcs __f64x2_t _ZGVnN2v_atanh (__f64x2_t);
216__vpcs __f64x2_t _ZGVnN2v_cbrt (__f64x2_t);
217__vpcs __f64x2_t _ZGVnN2v_cos (__f64x2_t);
218__vpcs __f64x2_t _ZGVnN2v_cosh (__f64x2_t);
219__vpcs __f64x2_t _ZGVnN2v_cospi (__f64x2_t);
220__vpcs __f64x2_t _ZGVnN2v_erf (__f64x2_t);
221__vpcs __f64x2_t _ZGVnN2v_erfc (__f64x2_t);
222__vpcs __f64x2_t _ZGVnN2v_exp (__f64x2_t);
223__vpcs __f64x2_t _ZGVnN2v_exp10 (__f64x2_t);
224__vpcs __f64x2_t _ZGVnN2v_exp2 (__f64x2_t);
225__vpcs __f64x2_t _ZGVnN2v_expm1 (__f64x2_t);
226__vpcs __f64x2_t _ZGVnN2vv_hypot (__f64x2_t, __f64x2_t);
227__vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t);
228__vpcs __f64x2_t _ZGVnN2v_log10 (__f64x2_t);
229__vpcs __f64x2_t _ZGVnN2v_log1p (__f64x2_t);
230__vpcs __f64x2_t _ZGVnN2v_log2 (__f64x2_t);
231__vpcs __f64x2_t _ZGVnN2v_logp1 (__f64x2_t);
232__vpcs __f64x2_t _ZGVnN2vv_pow (__f64x2_t, __f64x2_t);
233__vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t);
234__vpcs __f64x2_t _ZGVnN2v_sinh (__f64x2_t);
235__vpcs __f64x2_t _ZGVnN2v_sinpi (__f64x2_t);
236__vpcs __f64x2_t _ZGVnN2v_tan (__f64x2_t);
237__vpcs __f64x2_t _ZGVnN2v_tanh (__f64x2_t);
238__vpcs __f64x2_t _ZGVnN2v_tanpi (__f64x2_t);
239
240# undef __ADVSIMD_VEC_MATH_SUPPORTED
241#endif /* __ADVSIMD_VEC_MATH_SUPPORTED */
242
243#ifdef __SVE_VEC_MATH_SUPPORTED
244
245__sv_f32_t _ZGVsMxvv_atan2f (__sv_f32_t, __sv_f32_t, __sv_bool_t);
246__sv_f32_t _ZGVsMxv_acosf (__sv_f32_t, __sv_bool_t);
247__sv_f32_t _ZGVsMxv_acoshf (__sv_f32_t, __sv_bool_t);
248__sv_f32_t _ZGVsMxv_asinf (__sv_f32_t, __sv_bool_t);
249__sv_f32_t _ZGVsMxv_asinhf (__sv_f32_t, __sv_bool_t);
250__sv_f32_t _ZGVsMxv_atanf (__sv_f32_t, __sv_bool_t);
251__sv_f32_t _ZGVsMxv_atanhf (__sv_f32_t, __sv_bool_t);
252__sv_f32_t _ZGVsMxv_cbrtf (__sv_f32_t, __sv_bool_t);
253__sv_f32_t _ZGVsMxv_cosf (__sv_f32_t, __sv_bool_t);
254__sv_f32_t _ZGVsMxv_coshf (__sv_f32_t, __sv_bool_t);
255__sv_f32_t _ZGVsMxv_cospif (__sv_f32_t, __sv_bool_t);
256__sv_f32_t _ZGVsMxv_erff (__sv_f32_t, __sv_bool_t);
257__sv_f32_t _ZGVsMxv_erfcf (__sv_f32_t, __sv_bool_t);
258__sv_f32_t _ZGVsMxv_expf (__sv_f32_t, __sv_bool_t);
259__sv_f32_t _ZGVsMxv_exp10f (__sv_f32_t, __sv_bool_t);
260__sv_f32_t _ZGVsMxv_exp2f (__sv_f32_t, __sv_bool_t);
261__sv_f32_t _ZGVsMxv_expm1f (__sv_f32_t, __sv_bool_t);
262__sv_f32_t _ZGVsMxvv_hypotf (__sv_f32_t, __sv_f32_t, __sv_bool_t);
263__sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t);
264__sv_f32_t _ZGVsMxv_log10f (__sv_f32_t, __sv_bool_t);
265__sv_f32_t _ZGVsMxv_log1pf (__sv_f32_t, __sv_bool_t);
266__sv_f32_t _ZGVsMxv_log2f (__sv_f32_t, __sv_bool_t);
267__sv_f32_t _ZGVsMxv_logp1f (__sv_f32_t, __sv_bool_t);
268__sv_f32_t _ZGVsMxvv_powf (__sv_f32_t, __sv_f32_t, __sv_bool_t);
269__sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t);
270__sv_f32_t _ZGVsMxv_sinhf (__sv_f32_t, __sv_bool_t);
271__sv_f32_t _ZGVsMxv_sinpif (__sv_f32_t, __sv_bool_t);
272__sv_f32_t _ZGVsMxv_tanf (__sv_f32_t, __sv_bool_t);
273__sv_f32_t _ZGVsMxv_tanhf (__sv_f32_t, __sv_bool_t);
274__sv_f32_t _ZGVsMxv_tanpif (__sv_f32_t, __sv_bool_t);
275
276__sv_f64_t _ZGVsMxvv_atan2 (__sv_f64_t, __sv_f64_t, __sv_bool_t);
277__sv_f64_t _ZGVsMxv_acos (__sv_f64_t, __sv_bool_t);
278__sv_f64_t _ZGVsMxv_acosh (__sv_f64_t, __sv_bool_t);
279__sv_f64_t _ZGVsMxv_asin (__sv_f64_t, __sv_bool_t);
280__sv_f64_t _ZGVsMxv_asinh (__sv_f64_t, __sv_bool_t);
281__sv_f64_t _ZGVsMxv_atan (__sv_f64_t, __sv_bool_t);
282__sv_f64_t _ZGVsMxv_atanh (__sv_f64_t, __sv_bool_t);
283__sv_f64_t _ZGVsMxv_cbrt (__sv_f64_t, __sv_bool_t);
284__sv_f64_t _ZGVsMxv_cos (__sv_f64_t, __sv_bool_t);
285__sv_f64_t _ZGVsMxv_cosh (__sv_f64_t, __sv_bool_t);
286__sv_f64_t _ZGVsMxv_cospi (__sv_f64_t, __sv_bool_t);
287__sv_f64_t _ZGVsMxv_erf (__sv_f64_t, __sv_bool_t);
288__sv_f64_t _ZGVsMxv_erfc (__sv_f64_t, __sv_bool_t);
289__sv_f64_t _ZGVsMxv_exp (__sv_f64_t, __sv_bool_t);
290__sv_f64_t _ZGVsMxv_exp10 (__sv_f64_t, __sv_bool_t);
291__sv_f64_t _ZGVsMxv_exp2 (__sv_f64_t, __sv_bool_t);
292__sv_f64_t _ZGVsMxv_expm1 (__sv_f64_t, __sv_bool_t);
293__sv_f64_t _ZGVsMxvv_hypot (__sv_f64_t, __sv_f64_t, __sv_bool_t);
294__sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t);
295__sv_f64_t _ZGVsMxv_log10 (__sv_f64_t, __sv_bool_t);
296__sv_f64_t _ZGVsMxv_log1p (__sv_f64_t, __sv_bool_t);
297__sv_f64_t _ZGVsMxv_log2 (__sv_f64_t, __sv_bool_t);
298__sv_f64_t _ZGVsMxv_logp1 (__sv_f64_t, __sv_bool_t);
299__sv_f64_t _ZGVsMxvv_pow (__sv_f64_t, __sv_f64_t, __sv_bool_t);
300__sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t);
301__sv_f64_t _ZGVsMxv_sinh (__sv_f64_t, __sv_bool_t);
302__sv_f64_t _ZGVsMxv_sinpi (__sv_f64_t, __sv_bool_t);
303__sv_f64_t _ZGVsMxv_tan (__sv_f64_t, __sv_bool_t);
304__sv_f64_t _ZGVsMxv_tanh (__sv_f64_t, __sv_bool_t);
305__sv_f64_t _ZGVsMxv_tanpi (__sv_f64_t, __sv_bool_t);
306
307# undef __SVE_VEC_MATH_SUPPORTED
308#endif /* __SVE_VEC_MATH_SUPPORTED */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/mman.h deleted-40
......@@ -1,40 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/AArch64 version.
2 Copyright (C) 2020-2025 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#define PROT_MTE 0x20
28
29#ifdef __USE_GNU
30# define PKEY_UNRESTRICTED 0x0
31# define PKEY_DISABLE_ACCESS 0x1
32# define PKEY_DISABLE_WRITE 0x2
33# define PKEY_DISABLE_EXECUTE 0x4
34# define PKEY_DISABLE_READ 0x8
35#endif
36
37#include <bits/mman-map-flags-generic.h>
38
39/* Include generic Linux declarations. */
40#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h deleted-35
......@@ -1,35 +0,0 @@
1/* Types for registers for sys/procfs.h. AArch64 version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
22#endif
23
24/* Type for a general-purpose register. */
25typedef __uint64_t elf_greg_t;
26
27/* And the whole bunch of them. We could have used `struct
28 pt_regs' directly in the typedef, but tradition says that
29 the register set is an array, which does have some peculiar
30 semantics, so leave it that way. */
31#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
32typedef elf_greg_t elf_gregset_t[ELF_NGREG];
33
34/* Register set for the floating-point registers. */
35typedef struct user_fpsimd_struct elf_fpregset_t;
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h deleted-22
......@@ -1,22 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. Linux/aarch64 version.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 License as
8 published by the Free Software Foundation; either version 2.1 of the
9 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/* Minimum size for a thread. At least two pages for systems with 64k
21 pages. */
22#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h deleted-47
......@@ -1,47 +0,0 @@
1/* Copyright (C) 2002-2025 Free Software Foundation, Inc.
2
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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#ifdef __ILP32__
25# define __SIZEOF_PTHREAD_ATTR_T 32
26# define __SIZEOF_PTHREAD_MUTEX_T 32
27# define __SIZEOF_PTHREAD_MUTEXATTR_T 4
28# define __SIZEOF_PTHREAD_CONDATTR_T 4
29# define __SIZEOF_PTHREAD_RWLOCK_T 48
30# define __SIZEOF_PTHREAD_BARRIER_T 20
31# define __SIZEOF_PTHREAD_BARRIERATTR_T 4
32#else
33# define __SIZEOF_PTHREAD_ATTR_T 64
34# define __SIZEOF_PTHREAD_MUTEX_T 48
35# define __SIZEOF_PTHREAD_MUTEXATTR_T 8
36# define __SIZEOF_PTHREAD_CONDATTR_T 8
37# define __SIZEOF_PTHREAD_RWLOCK_T 56
38# define __SIZEOF_PTHREAD_BARRIER_T 32
39# define __SIZEOF_PTHREAD_BARRIERATTR_T 8
40#endif
41#define __SIZEOF_PTHREAD_COND_T 48
42#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
43
44#define __LOCK_ALIGNMENT
45#define __ONCE_ALIGNMENT
46
47#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h deleted-43
......@@ -1,43 +0,0 @@
1/* Restartable Sequences Linux aarch64 architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 aarch64 -mbig-endian generates mixed endianness code vs data:
32 little-endian code and big-endian data. Ensure the RSEQ_SIG signature
33 matches code endianness. */
34
35#define RSEQ_SIG_CODE 0xd428bc00 /* BRK #0x45E0. */
36
37#ifdef __AARCH64EB__
38# define RSEQ_SIG_DATA 0x00bc28d4 /* BRK #0x45E0. */
39#else
40# define RSEQ_SIG_DATA RSEQ_SIG_CODE
41#endif
42
43#define RSEQ_SIG RSEQ_SIG_DATA
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h deleted-39
......@@ -1,39 +0,0 @@
1/* Copyright (C) 2002-2025 Free Software Foundation, Inc.
2
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
24#ifdef __ILP32__
25# define __SIZEOF_SEM_T 16
26#else
27# define __SIZEOF_SEM_T 32
28#endif
29
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 long int __align;
39} sem_t;
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h deleted-33
......@@ -1,33 +0,0 @@
1/* Copyright (C) 1997-2025 Free Software Foundation, Inc.
2
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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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_SETJMP_H
20#define _BITS_SETJMP_H 1
21
22#if !defined _SETJMP_H && !defined _PTHREAD_H
23# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
24#endif
25
26#ifndef _ASM
27/* Jump buffer contains:
28 x19-x28, x29(fp), x30(lr), (x31)sp, d8-d15. Other registers are not
29 saved. */
30__extension__ typedef unsigned long long __jmp_buf [22];
31
32#endif
33#endif
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h deleted-32
......@@ -1,32 +0,0 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 2015-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26/* Minimum stack size for a signal handler. */
27#define MINSIGSTKSZ 5120
28
29/* System default stack size. */
30#define SIGSTKSZ 16384
31
32#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h deleted-41
......@@ -1,41 +0,0 @@
1/* AArch64 internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 unsigned int __flags;
36};
37
38#define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
39 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
40
41#endif
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h deleted-127
......@@ -1,127 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46 __dev_t st_dev; /* Device. */
47 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
48 __mode_t st_mode; /* File mode. */
49 __nlink_t st_nlink; /* Link count. */
50 __uid_t st_uid; /* User ID of the file's owner. */
51 __gid_t st_gid; /* Group ID of the file's group.*/
52 __dev_t st_rdev; /* Device number, if device. */
53 __dev_t __pad1;
54 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
55 __blksize_t st_blksize; /* Optimal block size for I/O. */
56 int __pad2;
57 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
58#ifdef __USE_XOPEN2K8
59 /* Nanosecond resolution timestamps are stored in a format
60 equivalent to 'struct timespec'. This is the type used
61 whenever possible but the Unix namespace rules do not allow the
62 identifier 'timespec' to appear in the <sys/stat.h> header.
63 Therefore we have to handle the use of this header in strictly
64 standard-compliant sources special. */
65 struct timespec st_atim; /* Time of last access. */
66 struct timespec st_mtim; /* Time of last modification. */
67 struct timespec st_ctim; /* Time of last status change. */
68# define st_atime st_atim.tv_sec /* Backward compatibility. */
69# define st_mtime st_mtim.tv_sec
70# define st_ctime st_ctim.tv_sec
71#else
72 __time_t st_atime; /* Time of last access. */
73 unsigned long int st_atimensec; /* Nscecs of last access. */
74 __time_t st_mtime; /* Time of last modification. */
75 unsigned long int st_mtimensec; /* Nsecs of last modification. */
76 __time_t st_ctime; /* Time of last status change. */
77 unsigned long int st_ctimensec; /* Nsecs of last status change. */
78#endif
79 int __glibc_reserved[2];
80 };
81
82#undef __field64
83
84#ifdef __USE_LARGEFILE64
85struct stat64
86 {
87 __dev_t st_dev; /* Device. */
88 __ino64_t st_ino; /* File serial number. */
89 __mode_t st_mode; /* File mode. */
90 __nlink_t st_nlink; /* Link count. */
91 __uid_t st_uid; /* User ID of the file's owner. */
92 __gid_t st_gid; /* Group ID of the file's group.*/
93 __dev_t st_rdev; /* Device number, if device. */
94 __dev_t __pad1;
95 __off64_t st_size; /* Size of file, in bytes. */
96 __blksize_t st_blksize; /* Optimal block size for I/O. */
97 int __pad2;
98 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
99#ifdef __USE_XOPEN2K8
100 /* Nanosecond resolution timestamps are stored in a format
101 equivalent to 'struct timespec'. This is the type used
102 whenever possible but the Unix namespace rules do not allow the
103 identifier 'timespec' to appear in the <sys/stat.h> header.
104 Therefore we have to handle the use of this header in strictly
105 standard-compliant sources special. */
106 struct timespec st_atim; /* Time of last access. */
107 struct timespec st_mtim; /* Time of last modification. */
108 struct timespec st_ctim; /* Time of last status change. */
109#else
110 __time_t st_atime; /* Time of last access. */
111 unsigned long int st_atimensec; /* Nscecs of last access. */
112 __time_t st_mtime; /* Time of last modification. */
113 unsigned long int st_mtimensec; /* Nsecs of last modification. */
114 __time_t st_ctime; /* Time of last status change. */
115 unsigned long int st_ctimensec; /* Nsecs of last status change. */
116#endif
117 int __glibc_reserved[2];
118 };
119#endif
120
121/* Tell code we have these members. */
122#define _STATBUF_ST_BLKSIZE
123#define _STATBUF_ST_RDEV
124/* Nanosecond resolution time values are supported. */
125#define _STATBUF_ST_NSEC
126
127#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, general case.
2 Copyright (C) 2018-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 64
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h deleted-28
......@@ -1,28 +0,0 @@
1/* Determine the wordsize from the preprocessor defines.
2
3 Copyright (C) 2016-2025 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
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#ifdef __LP64__
21# define __WORDSIZE 64
22#else
23# define __WORDSIZE 32
24# define __WORDSIZE32_SIZE_ULONG 1
25# define __WORDSIZE32_PTRDIFF_LONG 1
26#endif
27
28#define __WORDSIZE_TIME64_COMPAT32 0
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/finclude/math-vector-fortran.h deleted-47
......@@ -1,47 +0,0 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 2019-2025 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!GCC$ builtin (acos) attributes simd (notinbranch)
19!GCC$ builtin (acosf) attributes simd (notinbranch)
20!GCC$ builtin (asin) attributes simd (notinbranch)
21!GCC$ builtin (asinf) attributes simd (notinbranch)
22!GCC$ builtin (atan) attributes simd (notinbranch)
23!GCC$ builtin (atanf) attributes simd (notinbranch)
24!GCC$ builtin (atan2) attributes simd (notinbranch)
25!GCC$ builtin (atan2f) attributes simd (notinbranch)
26!GCC$ builtin (cos) attributes simd (notinbranch)
27!GCC$ builtin (cosf) attributes simd (notinbranch)
28!GCC$ builtin (exp) attributes simd (notinbranch)
29!GCC$ builtin (expf) attributes simd (notinbranch)
30!GCC$ builtin (exp10) attributes simd (notinbranch)
31!GCC$ builtin (exp10f) attributes simd (notinbranch)
32!GCC$ builtin (exp2) attributes simd (notinbranch)
33!GCC$ builtin (exp2f) attributes simd (notinbranch)
34!GCC$ builtin (expm1) attributes simd (notinbranch)
35!GCC$ builtin (expm1f) attributes simd (notinbranch)
36!GCC$ builtin (log) attributes simd (notinbranch)
37!GCC$ builtin (logf) attributes simd (notinbranch)
38!GCC$ builtin (log10) attributes simd (notinbranch)
39!GCC$ builtin (log10f) attributes simd (notinbranch)
40!GCC$ builtin (log1p) attributes simd (notinbranch)
41!GCC$ builtin (log1pf) attributes simd (notinbranch)
42!GCC$ builtin (log2) attributes simd (notinbranch)
43!GCC$ builtin (log2f) attributes simd (notinbranch)
44!GCC$ builtin (sin) attributes simd (notinbranch)
45!GCC$ builtin (sinf) attributes simd (notinbranch)
46!GCC$ builtin (tan) attributes simd (notinbranch)
47!GCC$ builtin (tanf) attributes simd (notinbranch)
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/fpu_control.h deleted-104
......@@ -1,104 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc.
2
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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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 _AARCH64_FPU_CONTROL_H
20#define _AARCH64_FPU_CONTROL_H
21
22#include <features.h>
23
24/* Macros for accessing the FPCR and FPSR. */
25
26#if __GNUC_PREREQ (6,0)
27# define _FPU_GETCW(fpcr) (fpcr = __builtin_aarch64_get_fpcr ())
28# define _FPU_SETCW(fpcr) __builtin_aarch64_set_fpcr (fpcr)
29# define _FPU_GETFPSR(fpsr) (fpsr = __builtin_aarch64_get_fpsr ())
30# define _FPU_SETFPSR(fpsr) __builtin_aarch64_set_fpsr (fpsr)
31#else
32# define _FPU_GETCW(fpcr) \
33 ({ \
34 __uint64_t __fpcr; \
35 __asm__ __volatile__ ("mrs %0, fpcr" : "=r" (__fpcr)); \
36 fpcr = __fpcr; \
37 })
38
39# define _FPU_SETCW(fpcr) \
40 ({ \
41 __uint64_t __fpcr = fpcr; \
42 __asm__ __volatile__ ("msr fpcr, %0" : : "r" (__fpcr)); \
43 })
44
45# define _FPU_GETFPSR(fpsr) \
46 ({ \
47 __uint64_t __fpsr; \
48 __asm__ __volatile__ ("mrs %0, fpsr" : "=r" (__fpsr)); \
49 fpsr = __fpsr; \
50 })
51
52# define _FPU_SETFPSR(fpsr) \
53 ({ \
54 __uint64_t __fpsr = fpsr; \
55 __asm__ __volatile__ ("msr fpsr, %0" : : "r" (__fpsr)); \
56 })
57#endif
58
59/* Reserved bits should be preserved when modifying register
60 contents. These two masks indicate which bits in each of FPCR and
61 FPSR should not be changed. */
62
63#define _FPU_RESERVED 0xfe0fe0f8
64#define _FPU_FPSR_RESERVED 0x0fffffe0
65
66#define _FPU_DEFAULT 0x00000000
67#define _FPU_FPSR_DEFAULT 0x00000000
68
69/* Layout of FPCR and FPSR:
70
71 | | | | | | | |
72 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0
73 s s s s s s s s s s s
74 c c c c c c c c c c c c
75 N Z C V Q A D F R R S S S L L L I U U I U O D I I U U I U O D I
76 C H N Z M M T T B E E E D N N X F F Z O D N N X F F Z O
77 P O O R R Z N N N E K K E E E E E C K K C C C C C
78 D D I I P
79 E E D D
80 E E
81 */
82
83#define _FPU_FPCR_RM_MASK 0xc00000
84
85#define _FPU_FPCR_MASK_IXE 0x1000
86#define _FPU_FPCR_MASK_UFE 0x0800
87#define _FPU_FPCR_MASK_OFE 0x0400
88#define _FPU_FPCR_MASK_DZE 0x0200
89#define _FPU_FPCR_MASK_IOE 0x0100
90
91#define _FPU_FPCR_IEEE \
92 (_FPU_DEFAULT | _FPU_FPCR_MASK_IXE \
93 | _FPU_FPCR_MASK_UFE | _FPU_FPCR_MASK_OFE \
94 | _FPU_FPCR_MASK_DZE | _FPU_FPCR_MASK_IOE)
95
96#define _FPU_FPSR_IEEE 0
97
98typedef unsigned int fpu_control_t;
99typedef unsigned int fpu_fpsr_t;
100
101/* Default control word set at startup. */
102extern fpu_control_t __fpu_control;
103
104#endif
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h deleted-27
......@@ -1,27 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-lp64_be.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_AARCH64_BE_SO "ld-linux-aarch64_be.so.1"
7#define LD_SO "ld-linux-aarch64_be.so.1"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names.h deleted-16
......@@ -1,16 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if !defined __AARCH64EB__
10# include <gnu/lib-names-lp64.h>
11#endif
12#if defined __AARCH64EB__
13# include <gnu/lib-names-lp64_be.h>
14#endif
15
16#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/gnu/stubs-lp64_be.h deleted-21
......@@ -1,21 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_gtty
18#define __stub_revoke
19#define __stub_setlogin
20#define __stub_sigreturn
21#define __stub_stty
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/gnu/stubs.h deleted-12
......@@ -1,12 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if !defined __AARCH64EB__
8# include <gnu/stubs-lp64.h>
9#endif
10#if defined __AARCH64EB__
11# include <gnu/stubs-lp64_be.h>
12#endif
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/ieee754.h deleted-170
......@@ -1,170 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25__BEGIN_DECLS
26
27union ieee754_float
28 {
29 float f;
30
31 /* This is the IEEE 754 single-precision format. */
32 struct
33 {
34#if __BYTE_ORDER == __BIG_ENDIAN
35 unsigned int negative:1;
36 unsigned int exponent:8;
37 unsigned int mantissa:23;
38#endif /* Big endian. */
39#if __BYTE_ORDER == __LITTLE_ENDIAN
40 unsigned int mantissa:23;
41 unsigned int exponent:8;
42 unsigned int negative:1;
43#endif /* Little endian. */
44 } ieee;
45
46 /* This format makes it easier to see if a NaN is a signalling NaN. */
47 struct
48 {
49#if __BYTE_ORDER == __BIG_ENDIAN
50 unsigned int negative:1;
51 unsigned int exponent:8;
52 unsigned int quiet_nan:1;
53 unsigned int mantissa:22;
54#endif /* Big endian. */
55#if __BYTE_ORDER == __LITTLE_ENDIAN
56 unsigned int mantissa:22;
57 unsigned int quiet_nan:1;
58 unsigned int exponent:8;
59 unsigned int negative:1;
60#endif /* Little endian. */
61 } ieee_nan;
62 };
63
64#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
65
66
67union ieee754_double
68 {
69 double d;
70
71 /* This is the IEEE 754 double-precision format. */
72 struct
73 {
74#if __BYTE_ORDER == __BIG_ENDIAN
75 unsigned int negative:1;
76 unsigned int exponent:11;
77 /* Together these comprise the mantissa. */
78 unsigned int mantissa0:20;
79 unsigned int mantissa1:32;
80#endif /* Big endian. */
81#if __BYTE_ORDER == __LITTLE_ENDIAN
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa1:32;
84 unsigned int mantissa0:20;
85 unsigned int exponent:11;
86 unsigned int negative:1;
87#endif /* Little endian. */
88 } ieee;
89
90 /* This format makes it easier to see if a NaN is a signalling NaN. */
91 struct
92 {
93#if __BYTE_ORDER == __BIG_ENDIAN
94 unsigned int negative:1;
95 unsigned int exponent:11;
96 unsigned int quiet_nan:1;
97 /* Together these comprise the mantissa. */
98 unsigned int mantissa0:19;
99 unsigned int mantissa1:32;
100#else
101 /* Together these comprise the mantissa. */
102 unsigned int mantissa1:32;
103 unsigned int mantissa0:19;
104 unsigned int quiet_nan:1;
105 unsigned int exponent:11;
106 unsigned int negative:1;
107#endif
108 } ieee_nan;
109 };
110
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112
113
114union ieee854_long_double
115 {
116 long double d;
117
118 /* This is the IEEE 854 quad-precision format. */
119 struct
120 {
121#if __BYTE_ORDER == __BIG_ENDIAN
122 unsigned int negative:1;
123 unsigned int exponent:15;
124 /* Together these comprise the mantissa. */
125 unsigned int mantissa0:16;
126 unsigned int mantissa1:32;
127 unsigned int mantissa2:32;
128 unsigned int mantissa3:32;
129#endif /* Big endian. */
130#if __BYTE_ORDER == __LITTLE_ENDIAN
131 /* Together these comprise the mantissa. */
132 unsigned int mantissa3:32;
133 unsigned int mantissa2:32;
134 unsigned int mantissa1:32;
135 unsigned int mantissa0:16;
136 unsigned int exponent:15;
137 unsigned int negative:1;
138#endif /* Little endian. */
139 } ieee;
140
141 /* This format makes it easier to see if a NaN is a signalling NaN. */
142 struct
143 {
144#if __BYTE_ORDER == __BIG_ENDIAN
145 unsigned int negative:1;
146 unsigned int exponent:15;
147 unsigned int quiet_nan:1;
148 /* Together these comprise the mantissa. */
149 unsigned int mantissa0:15;
150 unsigned int mantissa1:32;
151 unsigned int mantissa2:32;
152 unsigned int mantissa3:32;
153#else
154 /* Together these comprise the mantissa. */
155 unsigned int mantissa3:32;
156 unsigned int mantissa2:32;
157 unsigned int mantissa1:32;
158 unsigned int mantissa0:15;
159 unsigned int quiet_nan:1;
160 unsigned int exponent:15;
161 unsigned int negative:1;
162#endif
163 } ieee_nan;
164 };
165
166#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
167
168__END_DECLS
169
170#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/sys/elf.h deleted-26
......@@ -1,26 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc.
2
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_ELF_H
20#define _SYS_ELF_H 1
21
22#warning "This header is obsolete; use <sys/procfs.h> instead."
23
24#include <sys/procfs.h>
25
26#endif /* sys/elf.h */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h deleted-219
......@@ -1,219 +0,0 @@
1/* `ptrace' debugger support interface. Linux/AArch64 version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PTRACE_H
21#define _SYS_PTRACE_H 1
22
23#include <features.h>
24#include <bits/types.h>
25
26__BEGIN_DECLS
27
28/* Avoid collision if the linux ptrace header is already included. */
29#undef PTRACE_TRACEME
30#undef PTRACE_PEEKTEXT
31#undef PTRACE_PEEKDATA
32#undef PTRACE_PEEKUSER
33#undef PTRACE_POKETEXT
34#undef PTRACE_POKEDATA
35#undef PTRACE_POKEUSER
36#undef PTRACE_CONT
37#undef PTRACE_KILL
38#undef PTRACE_SINGLESTEP
39#undef PTRACE_ATTACH
40#undef PTRACE_DETACH
41#undef PTRACE_SYSCALL
42#undef PTRACE_SYSEMU
43#undef PTRACE_SYSEMU_SINGLESTEP
44#undef PTRACE_PEEKMTETAGS
45#undef PTRACE_POKEMTETAGS
46#undef PTRACE_SETOPTIONS
47#undef PTRACE_GETEVENTMSG
48#undef PTRACE_GETSIGINFO
49#undef PTRACE_SETSIGINFO
50#undef PTRACE_GETREGSET
51#undef PTRACE_SETREGSET
52#undef PTRACE_SEIZE
53#undef PTRACE_INTERRUPT
54#undef PTRACE_LISTEN
55#undef PTRACE_PEEKSIGINFO
56#undef PTRACE_GETSIGMASK
57#undef PTRACE_SETSIGMASK
58#undef PTRACE_SECCOMP_GET_FILTER
59#undef PTRACE_SECCOMP_GET_METADATA
60#undef PTRACE_GET_SYSCALL_INFO
61#undef PTRACE_GET_RSEQ_CONFIGURATION
62#undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
63#undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
64
65/* Type of the REQUEST argument to `ptrace.' */
66enum __ptrace_request
67{
68 /* Indicate that the process making this request should be traced.
69 All signals received by this process can be intercepted by its
70 parent, and its parent can use the other `ptrace' requests. */
71 PTRACE_TRACEME = 0,
72#define PT_TRACE_ME PTRACE_TRACEME
73
74 /* Return the word in the process's text space at address ADDR. */
75 PTRACE_PEEKTEXT = 1,
76#define PT_READ_I PTRACE_PEEKTEXT
77
78 /* Return the word in the process's data space at address ADDR. */
79 PTRACE_PEEKDATA = 2,
80#define PT_READ_D PTRACE_PEEKDATA
81
82 /* Return the word in the process's user area at offset ADDR. */
83 PTRACE_PEEKUSER = 3,
84#define PT_READ_U PTRACE_PEEKUSER
85
86 /* Write the word DATA into the process's text space at address ADDR. */
87 PTRACE_POKETEXT = 4,
88#define PT_WRITE_I PTRACE_POKETEXT
89
90 /* Write the word DATA into the process's data space at address ADDR. */
91 PTRACE_POKEDATA = 5,
92#define PT_WRITE_D PTRACE_POKEDATA
93
94 /* Write the word DATA into the process's user area at offset ADDR. */
95 PTRACE_POKEUSER = 6,
96#define PT_WRITE_U PTRACE_POKEUSER
97
98 /* Continue the process. */
99 PTRACE_CONT = 7,
100#define PT_CONTINUE PTRACE_CONT
101
102 /* Kill the process. */
103 PTRACE_KILL = 8,
104#define PT_KILL PTRACE_KILL
105
106 /* Single step the process. */
107 PTRACE_SINGLESTEP = 9,
108#define PT_STEP PTRACE_SINGLESTEP
109
110 /* Attach to a process that is already running. */
111 PTRACE_ATTACH = 16,
112#define PT_ATTACH PTRACE_ATTACH
113
114 /* Detach from a process attached to with PTRACE_ATTACH. */
115 PTRACE_DETACH = 17,
116#define PT_DETACH PTRACE_DETACH
117
118 /* Continue and stop at the next entry to or return from syscall. */
119 PTRACE_SYSCALL = 24,
120#define PT_SYSCALL PTRACE_SYSCALL
121
122 /* Continue and stop at the next syscall, it will not be executed. */
123 PTRACE_SYSEMU = 31,
124#define PT_SYSEMU PTRACE_SYSEMU
125
126 /* Single step the process, the next syscall will not be executed. */
127 PTRACE_SYSEMU_SINGLESTEP = 32,
128#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
129
130 /* Read MTE tags. */
131 PTRACE_PEEKMTETAGS = 33,
132#define PT_PEEKMTETAGS PTRACE_PEEKMTETAGS
133
134 /* Write MTE tags. */
135 PTRACE_POKEMTETAGS = 34,
136#define PT_POKEMTETAGS PTRACE_POKEMTETAGS
137
138 /* Set ptrace filter options. */
139 PTRACE_SETOPTIONS = 0x4200,
140#define PT_SETOPTIONS PTRACE_SETOPTIONS
141
142 /* Get last ptrace message. */
143 PTRACE_GETEVENTMSG = 0x4201,
144#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
145
146 /* Get siginfo for process. */
147 PTRACE_GETSIGINFO = 0x4202,
148#define PT_GETSIGINFO PTRACE_GETSIGINFO
149
150 /* Set new siginfo for process. */
151 PTRACE_SETSIGINFO = 0x4203,
152#define PT_SETSIGINFO PTRACE_SETSIGINFO
153
154 /* Get register content. */
155 PTRACE_GETREGSET = 0x4204,
156#define PTRACE_GETREGSET PTRACE_GETREGSET
157
158 /* Set register content. */
159 PTRACE_SETREGSET = 0x4205,
160#define PTRACE_SETREGSET PTRACE_SETREGSET
161
162 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
163 signal or group stop state. */
164 PTRACE_SEIZE = 0x4206,
165#define PTRACE_SEIZE PTRACE_SEIZE
166
167 /* Trap seized tracee. */
168 PTRACE_INTERRUPT = 0x4207,
169#define PTRACE_INTERRUPT PTRACE_INTERRUPT
170
171 /* Wait for next group event. */
172 PTRACE_LISTEN = 0x4208,
173#define PTRACE_LISTEN PTRACE_LISTEN
174
175 /* Retrieve siginfo_t structures without removing signals from a queue. */
176 PTRACE_PEEKSIGINFO = 0x4209,
177#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
178
179 /* Get the mask of blocked signals. */
180 PTRACE_GETSIGMASK = 0x420a,
181#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
182
183 /* Change the mask of blocked signals. */
184 PTRACE_SETSIGMASK = 0x420b,
185#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
186
187 /* Get seccomp BPF filters. */
188 PTRACE_SECCOMP_GET_FILTER = 0x420c,
189#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
190
191 /* Get seccomp BPF filter metadata. */
192 PTRACE_SECCOMP_GET_METADATA = 0x420d,
193#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
194
195 /* Get information about system call. */
196 PTRACE_GET_SYSCALL_INFO = 0x420e,
197#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
198
199 /* Get rseq configuration information. */
200 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
201#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
202
203 /* Set configuration for syscall user dispatch. */
204 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
205#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
206 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
207
208 /* Get configuration for syscall user dispatch. */
209 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
210#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
211 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
212};
213
214
215#include <bits/ptrace-shared.h>
216
217__END_DECLS
218
219#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h deleted-78
......@@ -1,78 +0,0 @@
1/* Copyright (C) 1998-2025 Free Software Foundation, Inc.
2
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/* System V/AArch64 ABI compliant context switching support. */
20
21#ifndef _SYS_UCONTEXT_H
22#define _SYS_UCONTEXT_H 1
23
24#include <features.h>
25
26#include <bits/types/sigset_t.h>
27#include <bits/types/stack_t.h>
28
29#ifdef __USE_MISC
30# define __ctx(fld) fld
31#else
32# define __ctx(fld) __ ## fld
33#endif
34
35#ifdef __USE_MISC
36# include <sys/procfs.h>
37
38
39typedef elf_greg_t greg_t;
40
41/* Container for all general registers. */
42typedef elf_gregset_t gregset_t;
43
44/* Structure to describe FPU registers. */
45typedef elf_fpregset_t fpregset_t;
46#endif
47
48/* Context to describe whole processor state. This only describes
49 the core registers; coprocessor registers get saved elsewhere
50 (e.g. in uc_regspace, or somewhere unspecified on the stack
51 during non-RT signal handlers). */
52typedef struct
53 {
54 unsigned long long int __ctx(fault_address);
55 unsigned long long int __ctx(regs)[31];
56 unsigned long long int __ctx(sp);
57 unsigned long long int __ctx(pc);
58 unsigned long long int __ctx(pstate);
59 /* This field contains extension records for additional processor
60 state such as the FP/SIMD state. It has to match the definition
61 of the corresponding field in the sigcontext struct, see the
62 arch/arm64/include/uapi/asm/sigcontext.h linux header for details. */
63 unsigned char __reserved[4096] __attribute__ ((__aligned__ (16)));
64 } mcontext_t;
65
66/* Userlevel context. */
67typedef struct ucontext_t
68 {
69 unsigned long __ctx(uc_flags);
70 struct ucontext_t *uc_link;
71 stack_t uc_stack;
72 sigset_t uc_sigmask;
73 mcontext_t uc_mcontext;
74 } ucontext_t;
75
76#undef __ctx
77
78#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/sys/user.h deleted-37
......@@ -1,37 +0,0 @@
1/* Copyright (C) 2009-2025 Free Software Foundation, Inc.
2
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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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_USER_H
20#define _SYS_USER_H 1
21
22struct user_regs_struct
23{
24 unsigned long long regs[31];
25 unsigned long long sp;
26 unsigned long long pc;
27 unsigned long long pstate;
28};
29
30struct user_fpsimd_struct
31{
32 __uint128_t vregs[32];
33 unsigned int fpsr;
34 unsigned int fpcr;
35};
36
37#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/dl_find_object.h created+25
......@@ -0,0 +1,25 @@
1/* arm definitions for finding objects.
2 Copyright (C) 2021-2025 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 _DLFCN_H
20# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
21#endif
22
23#define DLFO_STRUCT_HAS_EH_DBASE 0
24#define DLFO_STRUCT_HAS_EH_COUNT 1
25#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/endianness.h created+15
......@@ -0,0 +1,15 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* ARM has selectable endianness. */
9#ifdef __ARMEB__
10#define __BYTE_ORDER __BIG_ENDIAN
11#else
12#define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/fcntl.h created+54
......@@ -0,0 +1,54 @@
1/* O_*, F_*, FD_* bit values for Linux.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#define __O_DIRECTORY 040000 /* Must be a directory. */
24#define __O_NOFOLLOW 0100000 /* Do not follow links. */
25#define __O_DIRECT 0200000 /* Direct disk access. */
26#define __O_LARGEFILE 0400000
27
28struct flock
29 {
30 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
31 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
32#ifndef __USE_FILE_OFFSET64
33 __off_t l_start; /* Offset where the lock begins. */
34 __off_t l_len; /* Size of the locked area; zero means until EOF. */
35#else
36 __off64_t l_start; /* Offset where the lock begins. */
37 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
38#endif
39 __pid_t l_pid; /* Process holding the lock. */
40 };
41
42#ifdef __USE_LARGEFILE64
43struct flock64
44 {
45 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
46 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
47 __off64_t l_start; /* Offset where the lock begins. */
48 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
49 __pid_t l_pid; /* Process holding the lock. */
50 };
51#endif
52
53/* Include generic Linux declarations. */
54#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/fenv.h created+90
......@@ -0,0 +1,90 @@
1/* Copyright (C) 2004-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22/* Define bits representing exceptions in the FPU status word. */
23enum
24 {
25 FE_INVALID =
26#define FE_INVALID 1
27 FE_INVALID,
28 FE_DIVBYZERO =
29#define FE_DIVBYZERO 2
30 FE_DIVBYZERO,
31 FE_OVERFLOW =
32#define FE_OVERFLOW 4
33 FE_OVERFLOW,
34 FE_UNDERFLOW =
35#define FE_UNDERFLOW 8
36 FE_UNDERFLOW,
37 FE_INEXACT =
38#define FE_INEXACT 16
39 FE_INEXACT,
40 };
41
42/* Amount to shift by to convert an exception to a mask bit. */
43#define FE_EXCEPT_SHIFT 8
44
45/* All supported exceptions. */
46#define FE_ALL_EXCEPT \
47 (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
48
49/* VFP supports all of the four defined rounding modes. */
50enum
51 {
52 FE_TONEAREST =
53#define FE_TONEAREST 0
54 FE_TONEAREST,
55 FE_UPWARD =
56#define FE_UPWARD 0x400000
57 FE_UPWARD,
58 FE_DOWNWARD =
59#define FE_DOWNWARD 0x800000
60 FE_DOWNWARD,
61 FE_TOWARDZERO =
62#define FE_TOWARDZERO 0xc00000
63 FE_TOWARDZERO
64 };
65
66/* Type representing exception flags. */
67typedef unsigned int fexcept_t;
68
69/* Type representing floating-point environment. */
70typedef struct
71 {
72 unsigned int __cw;
73 }
74fenv_t;
75
76/* If the default argument is used we use this value. */
77#define FE_DFL_ENV ((const fenv_t *) -1l)
78
79#ifdef __USE_GNU
80/* Floating-point environment where none of the exceptions are masked. */
81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif
83
84#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;
87
88/* Default floating-point control modes. */
89# define FE_DFL_MODE ((const femode_t *) -1L)
90#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2025 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/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc
21 includes corresponding *f128 interfaces for it. */
22#define __HAVE_FLOAT128 0
23
24/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
25 from the default float, double and long double types in this glibc. */
26#define __HAVE_DISTINCT_FLOAT128 0
27
28/* Defined to 1 if the current compiler invocation provides a
29 floating-point type with the right format for _Float64x, and this
30 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
32
33/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
34 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
35 the format of _Float128, which must be different from that of long
36 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
38
39#ifndef __ASSEMBLER__
40
41/* Defined to concatenate the literal suffix to be used with _Float128
42 types, if __HAVE_FLOAT128 is 1.
43 E.g.: #define __f128(x) x##f128. */
44# undef __f128
45
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
49
50#endif /* !__ASSEMBLER__. */
51
52#include <bits/floatn-common.h>
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/hwcap.h created+59
......@@ -0,0 +1,59 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.
2 Copyright (C) 2012-2025 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 (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h>. */
24#define HWCAP_ARM_SWP 1
25#define HWCAP_ARM_HALF 2
26#define HWCAP_ARM_THUMB 4
27#define HWCAP_ARM_26BIT 8
28#define HWCAP_ARM_FAST_MULT 16
29#define HWCAP_ARM_FPA 32
30#define HWCAP_ARM_VFP 64
31#define HWCAP_ARM_EDSP 128
32#define HWCAP_ARM_JAVA 256
33#define HWCAP_ARM_IWMMXT 512
34#define HWCAP_ARM_CRUNCH 1024
35#define HWCAP_ARM_THUMBEE 2048
36#define HWCAP_ARM_NEON 4096
37#define HWCAP_ARM_VFPv3 8192
38#define HWCAP_ARM_VFPv3D16 16384
39#define HWCAP_ARM_TLS 32768
40#define HWCAP_ARM_VFPv4 65536
41#define HWCAP_ARM_IDIVA 131072
42#define HWCAP_ARM_IDIVT 262144
43#define HWCAP_ARM_VFPD32 524288
44#define HWCAP_ARM_LPAE 1048576
45#define HWCAP_ARM_EVTSTRM 2097152
46#define HWCAP_FPHP 4194304
47#define HWCAP_ASIMDHP 8388608
48#define HWCAP_ASIMDDP 16777216
49#define HWCAP_ASIMDFHM 33554432
50#define HWCAP_ASIMDBF16 67108864
51#define HWCAP_I8MM 134217728
52
53#define HWCAP2_AES 1
54#define HWCAP2_PMULL 2
55#define HWCAP2_SHA1 4
56#define HWCAP2_SHA2 8
57#define HWCAP2_CRC32 16
58#define HWCAP2_SB 32
59#define HWCAP2_SSBS 64
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/link.h created+65
......@@ -0,0 +1,65 @@
1/* Copyright (C) 2005-2025 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 _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."
20#endif
21
22
23/* Registers for entry into PLT on ARM. */
24typedef struct La_arm_regs
25{
26 uint32_t lr_reg[4];
27 uint32_t lr_sp;
28 uint32_t lr_lr;
29 /* Coprocessor registers used for argument passing. The data
30 stored here depends on the coprocessors available in the
31 system which are used for function calls in the current ABI.
32 VFP uses eight 64-bit registers, and iWMMXt uses ten. */
33 uint32_t lr_coproc[42];
34} La_arm_regs;
35
36/* Return values for calls from PLT on ARM. */
37typedef struct La_arm_retval
38{
39 /* Up to four integer registers can be used for a return value in
40 some ABIs (APCS complex long double). */
41 uint32_t lrv_reg[4];
42
43 /* Any coprocessor registers which might be used to return values
44 in the current ABI. */
45 uint32_t lrv_coproc[12];
46} La_arm_retval;
47
48
49__BEGIN_DECLS
50
51extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
52 uintptr_t *__refcook,
53 uintptr_t *__defcook,
54 La_arm_regs *__regs,
55 unsigned int *__flags,
56 const char *__symname,
57 long int *__framesizep);
58extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
59 uintptr_t *__refcook,
60 uintptr_t *__defcook,
61 const La_arm_regs *__inregs,
62 La_arm_retval *__outregs,
63 const char *__symname);
64
65__END_DECLS
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/long-double.h created+53
......@@ -0,0 +1,53 @@
1/* Properties of long double type.
2 Copyright (C) 2016-2025 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 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/* This header is included by <sys/cdefs.h>.
20
21 If long double is ABI-compatible with double, it should define
22 __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
23 __NO_LONG_DOUBLE_MATH undefined.
24
25 If this build of the GNU C Library supports both long double
26 ABI-compatible with double and some other long double format not
27 ABI-compatible with double, it should define
28 __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
29 __LONG_DOUBLE_MATH_OPTIONAL undefined.
30
31 If __NO_LONG_DOUBLE_MATH is already defined, this header must not
32 define anything; this is needed to work with the definition of
33 __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */
34
35/* In the default version of this header, long double is
36 ABI-compatible with double. */
37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 1
39#endif
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-gnu/bits/procfs-id.h created+25
......@@ -0,0 +1,25 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
22#endif
23
24typedef unsigned short int __pr_uid_t;
25typedef unsigned short int __pr_gid_t;
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/procfs.h created+34
......@@ -0,0 +1,34 @@
1/* Types for registers for sys/procfs.h. Arm version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23/* Type for a general-purpose register. */
24typedef unsigned long elf_greg_t;
25
26/* And the whole bunch of them. We could have used `struct
27 user_regs' directly in the typedef, but tradition says that
28 the register set is an array, which does have some peculiar
29 semantics, so leave it that way. */
30#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t))
31typedef elf_greg_t elf_gregset_t[ELF_NGREG];
32
33/* Register set for the floating-point registers. */
34typedef struct user_fpregs elf_fpregset_t;
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/rseq.h created+83
......@@ -0,0 +1,83 @@
1/* Restartable Sequences Linux arm architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/*
23 RSEQ_SIG is a signature required before each abort handler code.
24
25 It is a 32-bit value that maps to actual architecture code compiled
26 into applications and libraries. It needs to be defined for each
27 architecture. When choosing this value, it needs to be taken into
28 account that generating invalid instructions may have ill effects on
29 tools like objdump, and may also have impact on the CPU speculative
30 execution efficiency in some cases.
31
32 - ARM little endian
33
34 RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand
35 value 0x5de3. This traps if user-space reaches this instruction by mistake,
36 and the uncommon operand ensures the kernel does not move the instruction
37 pointer to attacker-controlled code on rseq abort.
38
39 The instruction pattern in the A32 instruction set is:
40
41 e7f5def3 udf #24035 ; 0x5de3
42
43 This translates to the following instruction pattern in the T16 instruction
44 set:
45
46 little endian:
47 def3 udf #243 ; 0xf3
48 e7f5 b.n <7f5>
49
50 - ARMv6+ big endian (BE8):
51
52 ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian
53 code and big-endian data. The data value of the signature needs to have its
54 byte order reversed to generate the trap instruction:
55
56 Data: 0xf3def5e7
57
58 Translates to this A32 instruction pattern:
59
60 e7f5def3 udf #24035 ; 0x5de3
61
62 Translates to this T16 instruction pattern:
63
64 def3 udf #243 ; 0xf3
65 e7f5 b.n <7f5>
66
67 - Prior to ARMv6 big endian (BE32):
68
69 Prior to ARMv6, -mbig-endian generates big-endian code and data
70 (which match), so the endianness of the data representation of the
71 signature should not be reversed. However, the choice between BE32
72 and BE8 is done by the linker, so we cannot know whether code and
73 data endianness will be mixed before the linker is invoked. So rather
74 than try to play tricks with the linker, the rseq signature is simply
75 data (not a trap instruction) prior to ARMv6 on big endian. This is
76 why the signature is expressed as data (.word) rather than as
77 instruction (.inst) in assembler. */
78
79#ifdef __ARMEB__
80# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */
81#else
82# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */
83#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/setjmp.h created+36
......@@ -0,0 +1,36 @@
1/* Copyright (C) 2004-2025 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/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
19
20#ifndef _BITS_SETJMP_H
21#define _BITS_SETJMP_H 1
22
23#if !defined _SETJMP_H && !defined _PTHREAD_H
24# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
25#endif
26
27#ifndef __ASSEMBLER__
28/* The exact set of registers saved may depend on the particular core
29 in use, as some coprocessor registers may need to be saved. The C
30 Library ABI requires that the buffer be 8-byte aligned, and
31 recommends that the buffer contain 64 words. The first 26 words
32 are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */
33typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
34#endif
35
36#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/shmlba.h created+29
......@@ -0,0 +1,29 @@
1/* Define SHMLBA. ARM version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getpagesize () << 2)
27extern int __getpagesize (void) __THROW __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/struct_stat.h created+139
......@@ -0,0 +1,139 @@
1/* Definition for struct stat. Linux/arm version.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29struct stat
30 {
31#ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33#else
34 __dev_t st_dev; /* Device. */
35 unsigned short int __pad1;
36# ifndef __USE_FILE_OFFSET64
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino_t __st_ino; /* 32bit file serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80# ifndef __USE_FILE_OFFSET64
81 unsigned long int __glibc_reserved4;
82 unsigned long int __glibc_reserved5;
83# else
84 __ino64_t st_ino; /* File serial number. */
85# endif
86#endif /* __USE_TIME64_REDIRECTS */
87 };
88
89#ifdef __USE_LARGEFILE64
90struct stat64
91 {
92# ifdef __USE_TIME64_REDIRECTS
93# include <bits/struct_stat_time64_helper.h>
94# else
95 __dev_t st_dev; /* Device. */
96 unsigned int __pad1;
97
98 __ino_t __st_ino; /* 32bit file serial number. */
99 __mode_t st_mode; /* File mode. */
100 __nlink_t st_nlink; /* Link count. */
101 __uid_t st_uid; /* User ID of the file's owner. */
102 __gid_t st_gid; /* Group ID of the file's group.*/
103 __dev_t st_rdev; /* Device number, if device. */
104 unsigned int __pad2;
105 __off64_t st_size; /* Size of file, in bytes. */
106 __blksize_t st_blksize; /* Optimal block size for I/O. */
107
108 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
109# ifdef __USE_XOPEN2K8
110 /* Nanosecond resolution timestamps are stored in a format
111 equivalent to 'struct timespec'. This is the type used
112 whenever possible but the Unix namespace rules do not allow the
113 identifier 'timespec' to appear in the <sys/stat.h> header.
114 Therefore we have to handle the use of this header in strictly
115 standard-compliant sources special. */
116 struct timespec st_atim; /* Time of last access. */
117 struct timespec st_mtim; /* Time of last modification. */
118 struct timespec st_ctim; /* Time of last status change. */
119# else
120 __time_t st_atime; /* Time of last access. */
121 unsigned long int st_atimensec; /* Nscecs of last access. */
122 __time_t st_mtime; /* Time of last modification. */
123 unsigned long int st_mtimensec; /* Nsecs of last modification. */
124 __time_t st_ctime; /* Time of last status change. */
125 unsigned long int st_ctimensec; /* Nsecs of last status change. */
126# endif
127 __ino64_t st_ino; /* File serial number. */
128# endif /* __USE_TIME64_REDIRECTS */
129 };
130#endif
131
132/* Tell code we have these members. */
133#define _STATBUF_ST_BLKSIZE
134#define _STATBUF_ST_RDEV
135/* Nanosecond resolution time values are supported. */
136#define _STATBUF_ST_NSEC
137
138
139#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/timesize.h created+20
......@@ -0,0 +1,20 @@
1/* Bit size of the time_t type at glibc build time, Linux/ARM.
2 Copyright (C) 2021-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 32
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/typesizes.h created+74
......@@ -0,0 +1,74 @@
1/* bits/typesizes.h -- underlying types for *_t. ARM version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#define __RLIM_T_MATCHES_RLIM64_T 0
66#define __STATFS_MATCHES_STATFS64 0
67/* And for getitimer, setitimer and rusage */
68#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
69
70/* Number of descriptors that can fit in an `fd_set'. */
71#define __FD_SETSIZE 1024
72
73
74#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnu/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 1
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/arm-linux-gnu/fpu_control.h created+75
......@@ -0,0 +1,75 @@
1/* FPU control word definitions. ARM VFP version.
2 Copyright (C) 2004-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__)
23
24#define _FPU_RESERVED 0xffffffff
25#define _FPU_DEFAULT 0x00000000
26typedef unsigned int fpu_control_t;
27#define _FPU_GETCW(cw) (cw) = 0
28#define _FPU_SETCW(cw) (void) (cw)
29extern fpu_control_t __fpu_control;
30
31#else
32
33/* masking of interrupts */
34#define _FPU_MASK_IM 0x00000100 /* invalid operation */
35#define _FPU_MASK_ZM 0x00000200 /* divide by zero */
36#define _FPU_MASK_OM 0x00000400 /* overflow */
37#define _FPU_MASK_UM 0x00000800 /* underflow */
38#define _FPU_MASK_PM 0x00001000 /* inexact */
39
40#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */
41#define _FPU_MASK_RM 0x00c00000 /* rounding mode */
42#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */
43
44/* Some bits in the FPSCR are not yet defined. They must be preserved when
45 modifying the contents. */
46#define _FPU_RESERVED 0x00086060
47#define _FPU_DEFAULT 0x00000000
48
49/* Default + exceptions enabled. */
50#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00)
51
52/* Type of the control word. */
53typedef unsigned int fpu_control_t;
54
55/* Macros for accessing the hardware control word. */
56#ifdef __SOFTFP__
57/* This is fmrx %0, fpscr. */
58# define _FPU_GETCW(cw) \
59 __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw))
60/* This is fmxr fpscr, %0. */
61# define _FPU_SETCW(cw) \
62 __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw))
63#else
64# define _FPU_GETCW(cw) \
65 __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw))
66# define _FPU_SETCW(cw) \
67 __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw))
68#endif
69
70/* Default control word set at startup. */
71extern fpu_control_t __fpu_control;
72
73#endif /* __SOFTFP__ */
74
75#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnu/gnu/lib-names.h created+14
......@@ -0,0 +1,14 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#if !defined __ARM_PCS_VFP
8# include <gnu/lib-names-soft.h>
9#endif
10#if defined __ARM_PCS_VFP
11# include <gnu/lib-names-hard.h>
12#endif
13
14#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnu/gnu/stubs.h created+11
......@@ -0,0 +1,11 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5
6#if !defined __ARM_PCS_VFP
7# include <gnu/stubs-soft.h>
8#endif
9#if defined __ARM_PCS_VFP
10# include <gnu/stubs-hard.h>
11#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnu/sys/ptrace.h created+226
......@@ -0,0 +1,226 @@
1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PTRACE_H
21#define _SYS_PTRACE_H 1
22
23#include <features.h>
24#include <bits/types.h>
25
26__BEGIN_DECLS
27
28/* Type of the REQUEST argument to `ptrace.' */
29enum __ptrace_request
30{
31 /* Indicate that the process making this request should be traced.
32 All signals received by this process can be intercepted by its
33 parent, and its parent can use the other `ptrace' requests. */
34 PTRACE_TRACEME = 0,
35#define PT_TRACE_ME PTRACE_TRACEME
36
37 /* Return the word in the process's text space at address ADDR. */
38 PTRACE_PEEKTEXT = 1,
39#define PT_READ_I PTRACE_PEEKTEXT
40
41 /* Return the word in the process's data space at address ADDR. */
42 PTRACE_PEEKDATA = 2,
43#define PT_READ_D PTRACE_PEEKDATA
44
45 /* Return the word in the process's user area at offset ADDR. */
46 PTRACE_PEEKUSER = 3,
47#define PT_READ_U PTRACE_PEEKUSER
48
49 /* Write the word DATA into the process's text space at address ADDR. */
50 PTRACE_POKETEXT = 4,
51#define PT_WRITE_I PTRACE_POKETEXT
52
53 /* Write the word DATA into the process's data space at address ADDR. */
54 PTRACE_POKEDATA = 5,
55#define PT_WRITE_D PTRACE_POKEDATA
56
57 /* Write the word DATA into the process's user area at offset ADDR. */
58 PTRACE_POKEUSER = 6,
59#define PT_WRITE_U PTRACE_POKEUSER
60
61 /* Continue the process. */
62 PTRACE_CONT = 7,
63#define PT_CONTINUE PTRACE_CONT
64
65 /* Kill the process. */
66 PTRACE_KILL = 8,
67#define PT_KILL PTRACE_KILL
68
69 /* Single step the process. */
70 PTRACE_SINGLESTEP = 9,
71#define PT_STEP PTRACE_SINGLESTEP
72
73 /* Get all general purpose registers used by a process. */
74 PTRACE_GETREGS = 12,
75#define PT_GETREGS PTRACE_GETREGS
76
77 /* Set all general purpose registers used by a process. */
78 PTRACE_SETREGS = 13,
79#define PT_SETREGS PTRACE_SETREGS
80
81 /* Get all floating point registers used by a process. */
82 PTRACE_GETFPREGS = 14,
83#define PT_GETFPREGS PTRACE_GETFPREGS
84
85 /* Set all floating point registers used by a process. */
86 PTRACE_SETFPREGS = 15,
87#define PT_SETFPREGS PTRACE_SETFPREGS
88
89 /* Attach to a process that is already running. */
90 PTRACE_ATTACH = 16,
91#define PT_ATTACH PTRACE_ATTACH
92
93 /* Detach from a process attached to with PTRACE_ATTACH. */
94 PTRACE_DETACH = 17,
95#define PT_DETACH PTRACE_DETACH
96
97 /* Get the iWMMXt state of a process. */
98 PTRACE_GETWMMXREGS = 18,
99#define PT_GETWMMXREGS PTRACE_GETWMMXREGS
100
101 /* Set the iWMMXt state of a process. */
102 PTRACE_SETWMMXREGS = 19,
103#define PT_SETWMMXREGS PTRACE_SETWMMXREGS
104
105 /* Get the thread pointer of a process. */
106 PTRACE_GET_THREAD_AREA = 22,
107#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
108
109 /* Change the syscall number of a process. */
110 PTRACE_SET_SYSCALL = 23,
111#define PT_SET_SYSCALL PTRACE_SET_SYSCALL
112
113 /* Continue and stop at the next entry to or return from syscall. */
114 PTRACE_SYSCALL = 24,
115#define PT_SYSCALL PTRACE_SYSCALL
116
117 /* Get the Crunch state of a process. */
118 PTRACE_GETCRUNCHREGS = 25,
119#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS
120
121 /* Set the Crunch state of a process. */
122 PTRACE_SETCRUNCHREGS = 26,
123#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS
124
125 /* Get all VFP registers used by a process. */
126 PTRACE_GETVFPREGS = 27,
127#define PT_GETVFPREGS PTRACE_GETVFPREGS
128
129 /* Set all VFP registers used by a process. */
130 PTRACE_SETVFPREGS = 28,
131#define PT_SETVFPREGS PTRACE_SETVFPREGS
132
133 /* Get all hardware breakpoint registers. */
134 PTRACE_GETHBPREGS = 29,
135#define PT_GETHBPREGS PTRACE_GETHBPREGS
136
137 /* Set all hardware breakpoint registers. */
138 PTRACE_SETHBPREGS = 30,
139#define PT_SETHBPREGS PTRACE_SETHBPREGS
140
141 /* Get the ELF fdpic loadmap address. */
142 PTRACE_GETFDPIC = 31,
143#define PT_GETFDPIC PTRACE_GETFDPIC
144
145 /* Set ptrace filter options. */
146 PTRACE_SETOPTIONS = 0x4200,
147#define PT_SETOPTIONS PTRACE_SETOPTIONS
148
149 /* Get last ptrace message. */
150 PTRACE_GETEVENTMSG = 0x4201,
151#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
152
153 /* Get siginfo for process. */
154 PTRACE_GETSIGINFO = 0x4202,
155#define PT_GETSIGINFO PTRACE_GETSIGINFO
156
157 /* Set new siginfo for process. */
158 PTRACE_SETSIGINFO = 0x4203,
159#define PT_SETSIGINFO PTRACE_SETSIGINFO
160
161 /* Get register content. */
162 PTRACE_GETREGSET = 0x4204,
163#define PTRACE_GETREGSET PTRACE_GETREGSET
164
165 /* Set register content. */
166 PTRACE_SETREGSET = 0x4205,
167#define PTRACE_SETREGSET PTRACE_SETREGSET
168
169 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
170 signal or group stop state. */
171 PTRACE_SEIZE = 0x4206,
172#define PTRACE_SEIZE PTRACE_SEIZE
173
174 /* Trap seized tracee. */
175 PTRACE_INTERRUPT = 0x4207,
176#define PTRACE_INTERRUPT PTRACE_INTERRUPT
177
178 /* Wait for next group event. */
179 PTRACE_LISTEN = 0x4208,
180#define PTRACE_LISTEN PTRACE_LISTEN
181
182 /* Retrieve siginfo_t structures without removing signals from a queue. */
183 PTRACE_PEEKSIGINFO = 0x4209,
184#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
185
186 /* Get the mask of blocked signals. */
187 PTRACE_GETSIGMASK = 0x420a,
188#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
189
190 /* Change the mask of blocked signals. */
191 PTRACE_SETSIGMASK = 0x420b,
192#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
193
194 /* Get seccomp BPF filters. */
195 PTRACE_SECCOMP_GET_FILTER = 0x420c,
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197
198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e,
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
205
206 /* Get rseq configuration information. */
207 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
208#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
209
210 /* Set configuration for syscall user dispatch. */
211 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
212#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
213 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
214
215 /* Get configuration for syscall user dispatch. */
216 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
217#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
218 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
219};
220
221
222#include <bits/ptrace-shared.h>
223
224__END_DECLS
225
226#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnu/sys/ucontext.h created+144
......@@ -0,0 +1,144 @@
1/* Copyright (C) 1998-2025 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/* System V/ARM ABI compliant context switching support. */
19
20#ifndef _SYS_UCONTEXT_H
21#define _SYS_UCONTEXT_H 1
22
23#include <features.h>
24
25#include <bits/types/sigset_t.h>
26#include <bits/types/stack_t.h>
27
28
29#ifdef __USE_MISC
30# define __ctx(fld) fld
31#else
32# define __ctx(fld) __ ## fld
33#endif
34
35#ifdef __USE_MISC
36typedef int greg_t;
37
38/* Number of general registers. */
39# define NGREG 18
40
41/* Container for all general registers. */
42typedef greg_t gregset_t[NGREG];
43
44/* Number of each register is the `gregset_t' array. */
45enum
46{
47 REG_R0 = 0,
48# define REG_R0 REG_R0
49 REG_R1 = 1,
50# define REG_R1 REG_R1
51 REG_R2 = 2,
52# define REG_R2 REG_R2
53 REG_R3 = 3,
54# define REG_R3 REG_R3
55 REG_R4 = 4,
56# define REG_R4 REG_R4
57 REG_R5 = 5,
58# define REG_R5 REG_R5
59 REG_R6 = 6,
60# define REG_R6 REG_R6
61 REG_R7 = 7,
62# define REG_R7 REG_R7
63 REG_R8 = 8,
64# define REG_R8 REG_R8
65 REG_R9 = 9,
66# define REG_R9 REG_R9
67 REG_R10 = 10,
68# define REG_R10 REG_R10
69 REG_R11 = 11,
70# define REG_R11 REG_R11
71 REG_R12 = 12,
72# define REG_R12 REG_R12
73 REG_R13 = 13,
74# define REG_R13 REG_R13
75 REG_R14 = 14,
76# define REG_R14 REG_R14
77 REG_R15 = 15
78# define REG_R15 REG_R15
79};
80
81struct _libc_fpstate
82{
83 struct
84 {
85 unsigned int sign1:1;
86 unsigned int unused:15;
87 unsigned int sign2:1;
88 unsigned int exponent:14;
89 unsigned int j:1;
90 unsigned int mantissa1:31;
91 unsigned int mantissa0:32;
92 } fpregs[8];
93 unsigned int fpsr:32;
94 unsigned int fpcr:32;
95 unsigned char ftype[8];
96 unsigned int init_flag;
97};
98/* Structure to describe FPU registers. */
99typedef struct _libc_fpstate fpregset_t;
100#endif
101
102/* Context to describe whole processor state. This only describes
103 the core registers; coprocessor registers get saved elsewhere
104 (e.g. in uc_regspace, or somewhere unspecified on the stack
105 during non-RT signal handlers). */
106typedef struct
107 {
108 unsigned long int __ctx(trap_no);
109 unsigned long int __ctx(error_code);
110 unsigned long int __ctx(oldmask);
111 unsigned long int __ctx(arm_r0);
112 unsigned long int __ctx(arm_r1);
113 unsigned long int __ctx(arm_r2);
114 unsigned long int __ctx(arm_r3);
115 unsigned long int __ctx(arm_r4);
116 unsigned long int __ctx(arm_r5);
117 unsigned long int __ctx(arm_r6);
118 unsigned long int __ctx(arm_r7);
119 unsigned long int __ctx(arm_r8);
120 unsigned long int __ctx(arm_r9);
121 unsigned long int __ctx(arm_r10);
122 unsigned long int __ctx(arm_fp);
123 unsigned long int __ctx(arm_ip);
124 unsigned long int __ctx(arm_sp);
125 unsigned long int __ctx(arm_lr);
126 unsigned long int __ctx(arm_pc);
127 unsigned long int __ctx(arm_cpsr);
128 unsigned long int __ctx(fault_address);
129 } mcontext_t;
130
131/* Userlevel context. */
132typedef struct ucontext_t
133 {
134 unsigned long __ctx(uc_flags);
135 struct ucontext_t *uc_link;
136 stack_t uc_stack;
137 mcontext_t uc_mcontext;
138 sigset_t uc_sigmask;
139 unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8)));
140 } ucontext_t;
141
142#undef __ctx
143
144#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnu/sys/user.h created+71
......@@ -0,0 +1,71 @@
1/* Copyright (C) 1998-2025 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_USER_H
19#define _SYS_USER_H 1
20
21/* The whole purpose of this file is for GDB and GDB only. Don't read
22 too much into it. Don't use it for anything other than GDB unless
23 you know what you are doing. */
24
25struct user_fpregs
26{
27 struct fp_reg
28 {
29 unsigned int sign1:1;
30 unsigned int unused:15;
31 unsigned int sign2:1;
32 unsigned int exponent:14;
33 unsigned int j:1;
34 unsigned int mantissa1:31;
35 unsigned int mantissa0:32;
36 } fpregs[8];
37 unsigned int fpsr:32;
38 unsigned int fpcr:32;
39 unsigned char ftype[8];
40 unsigned int init_flag;
41};
42
43struct user_regs
44{
45 unsigned long int uregs[18];
46};
47
48struct user
49{
50 struct user_regs regs; /* General registers */
51 int u_fpvalid; /* True if math co-processor being used. */
52
53 unsigned long int u_tsize; /* Text segment size (pages). */
54 unsigned long int u_dsize; /* Data segment size (pages). */
55 unsigned long int u_ssize; /* Stack segment size (pages). */
56
57 unsigned long start_code; /* Starting virtual address of text. */
58 unsigned long start_stack; /* Starting virtual address of stack. */
59
60 long int signal; /* Signal that caused the core dump. */
61 int reserved; /* No longer used */
62 struct user_regs *u_ar0; /* help gdb to find the general registers. */
63
64 unsigned long magic; /* uniquely identify a core file */
65 char u_comm[32]; /* User command that was responsible */
66 int u_debugreg[8];
67 struct user_fpregs u_fp; /* Floating point registers */
68 struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */
69};
70
71#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h deleted-25
......@@ -1,25 +0,0 @@
1/* arm definitions for finding objects.
2 Copyright (C) 2021-2025 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 _DLFCN_H
20# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
21#endif
22
23#define DLFO_STRUCT_HAS_EH_DBASE 0
24#define DLFO_STRUCT_HAS_EH_COUNT 1
25#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/endianness.h deleted-15
......@@ -1,15 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* ARM has selectable endianness. */
9#ifdef __ARMEB__
10#define __BYTE_ORDER __BIG_ENDIAN
11#else
12#define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/fcntl.h deleted-54
......@@ -1,54 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#define __O_DIRECTORY 040000 /* Must be a directory. */
24#define __O_NOFOLLOW 0100000 /* Do not follow links. */
25#define __O_DIRECT 0200000 /* Direct disk access. */
26#define __O_LARGEFILE 0400000
27
28struct flock
29 {
30 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
31 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
32#ifndef __USE_FILE_OFFSET64
33 __off_t l_start; /* Offset where the lock begins. */
34 __off_t l_len; /* Size of the locked area; zero means until EOF. */
35#else
36 __off64_t l_start; /* Offset where the lock begins. */
37 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
38#endif
39 __pid_t l_pid; /* Process holding the lock. */
40 };
41
42#ifdef __USE_LARGEFILE64
43struct flock64
44 {
45 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
46 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
47 __off64_t l_start; /* Offset where the lock begins. */
48 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
49 __pid_t l_pid; /* Process holding the lock. */
50 };
51#endif
52
53/* Include generic Linux declarations. */
54#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/fenv.h deleted-90
......@@ -1,90 +0,0 @@
1/* Copyright (C) 2004-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22/* Define bits representing exceptions in the FPU status word. */
23enum
24 {
25 FE_INVALID =
26#define FE_INVALID 1
27 FE_INVALID,
28 FE_DIVBYZERO =
29#define FE_DIVBYZERO 2
30 FE_DIVBYZERO,
31 FE_OVERFLOW =
32#define FE_OVERFLOW 4
33 FE_OVERFLOW,
34 FE_UNDERFLOW =
35#define FE_UNDERFLOW 8
36 FE_UNDERFLOW,
37 FE_INEXACT =
38#define FE_INEXACT 16
39 FE_INEXACT,
40 };
41
42/* Amount to shift by to convert an exception to a mask bit. */
43#define FE_EXCEPT_SHIFT 8
44
45/* All supported exceptions. */
46#define FE_ALL_EXCEPT \
47 (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
48
49/* VFP supports all of the four defined rounding modes. */
50enum
51 {
52 FE_TONEAREST =
53#define FE_TONEAREST 0
54 FE_TONEAREST,
55 FE_UPWARD =
56#define FE_UPWARD 0x400000
57 FE_UPWARD,
58 FE_DOWNWARD =
59#define FE_DOWNWARD 0x800000
60 FE_DOWNWARD,
61 FE_TOWARDZERO =
62#define FE_TOWARDZERO 0xc00000
63 FE_TOWARDZERO
64 };
65
66/* Type representing exception flags. */
67typedef unsigned int fexcept_t;
68
69/* Type representing floating-point environment. */
70typedef struct
71 {
72 unsigned int __cw;
73 }
74fenv_t;
75
76/* If the default argument is used we use this value. */
77#define FE_DFL_ENV ((const fenv_t *) -1l)
78
79#ifdef __USE_GNU
80/* Floating-point environment where none of the exceptions are masked. */
81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif
83
84#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;
87
88/* Default floating-point control modes. */
89# define FE_DFL_MODE ((const femode_t *) -1L)
90#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/floatn.h deleted-52
......@@ -1,52 +0,0 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2025 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/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc
21 includes corresponding *f128 interfaces for it. */
22#define __HAVE_FLOAT128 0
23
24/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
25 from the default float, double and long double types in this glibc. */
26#define __HAVE_DISTINCT_FLOAT128 0
27
28/* Defined to 1 if the current compiler invocation provides a
29 floating-point type with the right format for _Float64x, and this
30 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
32
33/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
34 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
35 the format of _Float128, which must be different from that of long
36 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
38
39#ifndef __ASSEMBLER__
40
41/* Defined to concatenate the literal suffix to be used with _Float128
42 types, if __HAVE_FLOAT128 is 1.
43 E.g.: #define __f128(x) x##f128. */
44# undef __f128
45
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
49
50#endif /* !__ASSEMBLER__. */
51
52#include <bits/floatn-common.h>
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/hwcap.h deleted-59
......@@ -1,59 +0,0 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.
2 Copyright (C) 2012-2025 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 (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h>. */
24#define HWCAP_ARM_SWP 1
25#define HWCAP_ARM_HALF 2
26#define HWCAP_ARM_THUMB 4
27#define HWCAP_ARM_26BIT 8
28#define HWCAP_ARM_FAST_MULT 16
29#define HWCAP_ARM_FPA 32
30#define HWCAP_ARM_VFP 64
31#define HWCAP_ARM_EDSP 128
32#define HWCAP_ARM_JAVA 256
33#define HWCAP_ARM_IWMMXT 512
34#define HWCAP_ARM_CRUNCH 1024
35#define HWCAP_ARM_THUMBEE 2048
36#define HWCAP_ARM_NEON 4096
37#define HWCAP_ARM_VFPv3 8192
38#define HWCAP_ARM_VFPv3D16 16384
39#define HWCAP_ARM_TLS 32768
40#define HWCAP_ARM_VFPv4 65536
41#define HWCAP_ARM_IDIVA 131072
42#define HWCAP_ARM_IDIVT 262144
43#define HWCAP_ARM_VFPD32 524288
44#define HWCAP_ARM_LPAE 1048576
45#define HWCAP_ARM_EVTSTRM 2097152
46#define HWCAP_FPHP 4194304
47#define HWCAP_ASIMDHP 8388608
48#define HWCAP_ASIMDDP 16777216
49#define HWCAP_ASIMDFHM 33554432
50#define HWCAP_ASIMDBF16 67108864
51#define HWCAP_I8MM 134217728
52
53#define HWCAP2_AES 1
54#define HWCAP2_PMULL 2
55#define HWCAP2_SHA1 4
56#define HWCAP2_SHA2 8
57#define HWCAP2_CRC32 16
58#define HWCAP2_SB 32
59#define HWCAP2_SSBS 64
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/link.h deleted-65
......@@ -1,65 +0,0 @@
1/* Copyright (C) 2005-2025 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 _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."
20#endif
21
22
23/* Registers for entry into PLT on ARM. */
24typedef struct La_arm_regs
25{
26 uint32_t lr_reg[4];
27 uint32_t lr_sp;
28 uint32_t lr_lr;
29 /* Coprocessor registers used for argument passing. The data
30 stored here depends on the coprocessors available in the
31 system which are used for function calls in the current ABI.
32 VFP uses eight 64-bit registers, and iWMMXt uses ten. */
33 uint32_t lr_coproc[42];
34} La_arm_regs;
35
36/* Return values for calls from PLT on ARM. */
37typedef struct La_arm_retval
38{
39 /* Up to four integer registers can be used for a return value in
40 some ABIs (APCS complex long double). */
41 uint32_t lrv_reg[4];
42
43 /* Any coprocessor registers which might be used to return values
44 in the current ABI. */
45 uint32_t lrv_coproc[12];
46} La_arm_retval;
47
48
49__BEGIN_DECLS
50
51extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
52 uintptr_t *__refcook,
53 uintptr_t *__defcook,
54 La_arm_regs *__regs,
55 unsigned int *__flags,
56 const char *__symname,
57 long int *__framesizep);
58extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
59 uintptr_t *__refcook,
60 uintptr_t *__defcook,
61 const La_arm_regs *__inregs,
62 La_arm_retval *__outregs,
63 const char *__symname);
64
65__END_DECLS
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/long-double.h deleted-53
......@@ -1,53 +0,0 @@
1/* Properties of long double type.
2 Copyright (C) 2016-2025 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 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/* This header is included by <sys/cdefs.h>.
20
21 If long double is ABI-compatible with double, it should define
22 __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
23 __NO_LONG_DOUBLE_MATH undefined.
24
25 If this build of the GNU C Library supports both long double
26 ABI-compatible with double and some other long double format not
27 ABI-compatible with double, it should define
28 __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
29 __LONG_DOUBLE_MATH_OPTIONAL undefined.
30
31 If __NO_LONG_DOUBLE_MATH is already defined, this header must not
32 define anything; this is needed to work with the definition of
33 __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */
34
35/* In the default version of this header, long double is
36 ABI-compatible with double. */
37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 1
39#endif
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/procfs-id.h deleted-25
......@@ -1,25 +0,0 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
22#endif
23
24typedef unsigned short int __pr_uid_t;
25typedef unsigned short int __pr_gid_t;
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/procfs.h deleted-34
......@@ -1,34 +0,0 @@
1/* Types for registers for sys/procfs.h. Arm version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23/* Type for a general-purpose register. */
24typedef unsigned long elf_greg_t;
25
26/* And the whole bunch of them. We could have used `struct
27 user_regs' directly in the typedef, but tradition says that
28 the register set is an array, which does have some peculiar
29 semantics, so leave it that way. */
30#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t))
31typedef elf_greg_t elf_gregset_t[ELF_NGREG];
32
33/* Register set for the floating-point registers. */
34typedef struct user_fpregs elf_fpregset_t;
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/rseq.h deleted-83
......@@ -1,83 +0,0 @@
1/* Restartable Sequences Linux arm architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/*
23 RSEQ_SIG is a signature required before each abort handler code.
24
25 It is a 32-bit value that maps to actual architecture code compiled
26 into applications and libraries. It needs to be defined for each
27 architecture. When choosing this value, it needs to be taken into
28 account that generating invalid instructions may have ill effects on
29 tools like objdump, and may also have impact on the CPU speculative
30 execution efficiency in some cases.
31
32 - ARM little endian
33
34 RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand
35 value 0x5de3. This traps if user-space reaches this instruction by mistake,
36 and the uncommon operand ensures the kernel does not move the instruction
37 pointer to attacker-controlled code on rseq abort.
38
39 The instruction pattern in the A32 instruction set is:
40
41 e7f5def3 udf #24035 ; 0x5de3
42
43 This translates to the following instruction pattern in the T16 instruction
44 set:
45
46 little endian:
47 def3 udf #243 ; 0xf3
48 e7f5 b.n <7f5>
49
50 - ARMv6+ big endian (BE8):
51
52 ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian
53 code and big-endian data. The data value of the signature needs to have its
54 byte order reversed to generate the trap instruction:
55
56 Data: 0xf3def5e7
57
58 Translates to this A32 instruction pattern:
59
60 e7f5def3 udf #24035 ; 0x5de3
61
62 Translates to this T16 instruction pattern:
63
64 def3 udf #243 ; 0xf3
65 e7f5 b.n <7f5>
66
67 - Prior to ARMv6 big endian (BE32):
68
69 Prior to ARMv6, -mbig-endian generates big-endian code and data
70 (which match), so the endianness of the data representation of the
71 signature should not be reversed. However, the choice between BE32
72 and BE8 is done by the linker, so we cannot know whether code and
73 data endianness will be mixed before the linker is invoked. So rather
74 than try to play tricks with the linker, the rseq signature is simply
75 data (not a trap instruction) prior to ARMv6 on big endian. This is
76 why the signature is expressed as data (.word) rather than as
77 instruction (.inst) in assembler. */
78
79#ifdef __ARMEB__
80# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */
81#else
82# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */
83#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/setjmp.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2004-2025 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/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
19
20#ifndef _BITS_SETJMP_H
21#define _BITS_SETJMP_H 1
22
23#if !defined _SETJMP_H && !defined _PTHREAD_H
24# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
25#endif
26
27#ifndef __ASSEMBLER__
28/* The exact set of registers saved may depend on the particular core
29 in use, as some coprocessor registers may need to be saved. The C
30 Library ABI requires that the buffer be 8-byte aligned, and
31 recommends that the buffer contain 64 words. The first 26 words
32 are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */
33typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
34#endif
35
36#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/shmlba.h deleted-29
......@@ -1,29 +0,0 @@
1/* Define SHMLBA. ARM version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getpagesize () << 2)
27extern int __getpagesize (void) __THROW __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h deleted-139
......@@ -1,139 +0,0 @@
1/* Definition for struct stat. Linux/arm version.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29struct stat
30 {
31#ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33#else
34 __dev_t st_dev; /* Device. */
35 unsigned short int __pad1;
36# ifndef __USE_FILE_OFFSET64
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino_t __st_ino; /* 32bit file serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80# ifndef __USE_FILE_OFFSET64
81 unsigned long int __glibc_reserved4;
82 unsigned long int __glibc_reserved5;
83# else
84 __ino64_t st_ino; /* File serial number. */
85# endif
86#endif /* __USE_TIME64_REDIRECTS */
87 };
88
89#ifdef __USE_LARGEFILE64
90struct stat64
91 {
92# ifdef __USE_TIME64_REDIRECTS
93# include <bits/struct_stat_time64_helper.h>
94# else
95 __dev_t st_dev; /* Device. */
96 unsigned int __pad1;
97
98 __ino_t __st_ino; /* 32bit file serial number. */
99 __mode_t st_mode; /* File mode. */
100 __nlink_t st_nlink; /* Link count. */
101 __uid_t st_uid; /* User ID of the file's owner. */
102 __gid_t st_gid; /* Group ID of the file's group.*/
103 __dev_t st_rdev; /* Device number, if device. */
104 unsigned int __pad2;
105 __off64_t st_size; /* Size of file, in bytes. */
106 __blksize_t st_blksize; /* Optimal block size for I/O. */
107
108 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
109# ifdef __USE_XOPEN2K8
110 /* Nanosecond resolution timestamps are stored in a format
111 equivalent to 'struct timespec'. This is the type used
112 whenever possible but the Unix namespace rules do not allow the
113 identifier 'timespec' to appear in the <sys/stat.h> header.
114 Therefore we have to handle the use of this header in strictly
115 standard-compliant sources special. */
116 struct timespec st_atim; /* Time of last access. */
117 struct timespec st_mtim; /* Time of last modification. */
118 struct timespec st_ctim; /* Time of last status change. */
119# else
120 __time_t st_atime; /* Time of last access. */
121 unsigned long int st_atimensec; /* Nscecs of last access. */
122 __time_t st_mtime; /* Time of last modification. */
123 unsigned long int st_mtimensec; /* Nsecs of last modification. */
124 __time_t st_ctime; /* Time of last status change. */
125 unsigned long int st_ctimensec; /* Nsecs of last status change. */
126# endif
127 __ino64_t st_ino; /* File serial number. */
128# endif /* __USE_TIME64_REDIRECTS */
129 };
130#endif
131
132/* Tell code we have these members. */
133#define _STATBUF_ST_BLKSIZE
134#define _STATBUF_ST_RDEV
135/* Nanosecond resolution time values are supported. */
136#define _STATBUF_ST_NSEC
137
138
139#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/ARM.
2 Copyright (C) 2021-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 32
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/typesizes.h deleted-74
......@@ -1,74 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. ARM version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#define __RLIM_T_MATCHES_RLIM64_T 0
66#define __STATFS_MATCHES_STATFS64 0
67/* And for getitimer, setitimer and rusage */
68#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
69
70/* Number of descriptors that can fit in an `fd_set'. */
71#define __FD_SETSIZE 1024
72
73
74#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/wordsize.h deleted-21
......@@ -1,21 +0,0 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 1
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/fpu_control.h deleted-75
......@@ -1,75 +0,0 @@
1/* FPU control word definitions. ARM VFP version.
2 Copyright (C) 2004-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__)
23
24#define _FPU_RESERVED 0xffffffff
25#define _FPU_DEFAULT 0x00000000
26typedef unsigned int fpu_control_t;
27#define _FPU_GETCW(cw) (cw) = 0
28#define _FPU_SETCW(cw) (void) (cw)
29extern fpu_control_t __fpu_control;
30
31#else
32
33/* masking of interrupts */
34#define _FPU_MASK_IM 0x00000100 /* invalid operation */
35#define _FPU_MASK_ZM 0x00000200 /* divide by zero */
36#define _FPU_MASK_OM 0x00000400 /* overflow */
37#define _FPU_MASK_UM 0x00000800 /* underflow */
38#define _FPU_MASK_PM 0x00001000 /* inexact */
39
40#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */
41#define _FPU_MASK_RM 0x00c00000 /* rounding mode */
42#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */
43
44/* Some bits in the FPSCR are not yet defined. They must be preserved when
45 modifying the contents. */
46#define _FPU_RESERVED 0x00086060
47#define _FPU_DEFAULT 0x00000000
48
49/* Default + exceptions enabled. */
50#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00)
51
52/* Type of the control word. */
53typedef unsigned int fpu_control_t;
54
55/* Macros for accessing the hardware control word. */
56#ifdef __SOFTFP__
57/* This is fmrx %0, fpscr. */
58# define _FPU_GETCW(cw) \
59 __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw))
60/* This is fmxr fpscr, %0. */
61# define _FPU_SETCW(cw) \
62 __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw))
63#else
64# define _FPU_GETCW(cw) \
65 __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw))
66# define _FPU_SETCW(cw) \
67 __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw))
68#endif
69
70/* Default control word set at startup. */
71extern fpu_control_t __fpu_control;
72
73#endif /* __SOFTFP__ */
74
75#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/gnu/lib-names.h deleted-14
......@@ -1,14 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#if !defined __ARM_PCS_VFP
8# include <gnu/lib-names-soft.h>
9#endif
10#if defined __ARM_PCS_VFP
11# include <gnu/lib-names-hard.h>
12#endif
13
14#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/gnu/stubs.h deleted-11
......@@ -1,11 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5
6#if !defined __ARM_PCS_VFP
7# include <gnu/stubs-soft.h>
8#endif
9#if defined __ARM_PCS_VFP
10# include <gnu/stubs-hard.h>
11#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/sys/ptrace.h deleted-226
......@@ -1,226 +0,0 @@
1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PTRACE_H
21#define _SYS_PTRACE_H 1
22
23#include <features.h>
24#include <bits/types.h>
25
26__BEGIN_DECLS
27
28/* Type of the REQUEST argument to `ptrace.' */
29enum __ptrace_request
30{
31 /* Indicate that the process making this request should be traced.
32 All signals received by this process can be intercepted by its
33 parent, and its parent can use the other `ptrace' requests. */
34 PTRACE_TRACEME = 0,
35#define PT_TRACE_ME PTRACE_TRACEME
36
37 /* Return the word in the process's text space at address ADDR. */
38 PTRACE_PEEKTEXT = 1,
39#define PT_READ_I PTRACE_PEEKTEXT
40
41 /* Return the word in the process's data space at address ADDR. */
42 PTRACE_PEEKDATA = 2,
43#define PT_READ_D PTRACE_PEEKDATA
44
45 /* Return the word in the process's user area at offset ADDR. */
46 PTRACE_PEEKUSER = 3,
47#define PT_READ_U PTRACE_PEEKUSER
48
49 /* Write the word DATA into the process's text space at address ADDR. */
50 PTRACE_POKETEXT = 4,
51#define PT_WRITE_I PTRACE_POKETEXT
52
53 /* Write the word DATA into the process's data space at address ADDR. */
54 PTRACE_POKEDATA = 5,
55#define PT_WRITE_D PTRACE_POKEDATA
56
57 /* Write the word DATA into the process's user area at offset ADDR. */
58 PTRACE_POKEUSER = 6,
59#define PT_WRITE_U PTRACE_POKEUSER
60
61 /* Continue the process. */
62 PTRACE_CONT = 7,
63#define PT_CONTINUE PTRACE_CONT
64
65 /* Kill the process. */
66 PTRACE_KILL = 8,
67#define PT_KILL PTRACE_KILL
68
69 /* Single step the process. */
70 PTRACE_SINGLESTEP = 9,
71#define PT_STEP PTRACE_SINGLESTEP
72
73 /* Get all general purpose registers used by a process. */
74 PTRACE_GETREGS = 12,
75#define PT_GETREGS PTRACE_GETREGS
76
77 /* Set all general purpose registers used by a process. */
78 PTRACE_SETREGS = 13,
79#define PT_SETREGS PTRACE_SETREGS
80
81 /* Get all floating point registers used by a process. */
82 PTRACE_GETFPREGS = 14,
83#define PT_GETFPREGS PTRACE_GETFPREGS
84
85 /* Set all floating point registers used by a process. */
86 PTRACE_SETFPREGS = 15,
87#define PT_SETFPREGS PTRACE_SETFPREGS
88
89 /* Attach to a process that is already running. */
90 PTRACE_ATTACH = 16,
91#define PT_ATTACH PTRACE_ATTACH
92
93 /* Detach from a process attached to with PTRACE_ATTACH. */
94 PTRACE_DETACH = 17,
95#define PT_DETACH PTRACE_DETACH
96
97 /* Get the iWMMXt state of a process. */
98 PTRACE_GETWMMXREGS = 18,
99#define PT_GETWMMXREGS PTRACE_GETWMMXREGS
100
101 /* Set the iWMMXt state of a process. */
102 PTRACE_SETWMMXREGS = 19,
103#define PT_SETWMMXREGS PTRACE_SETWMMXREGS
104
105 /* Get the thread pointer of a process. */
106 PTRACE_GET_THREAD_AREA = 22,
107#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
108
109 /* Change the syscall number of a process. */
110 PTRACE_SET_SYSCALL = 23,
111#define PT_SET_SYSCALL PTRACE_SET_SYSCALL
112
113 /* Continue and stop at the next entry to or return from syscall. */
114 PTRACE_SYSCALL = 24,
115#define PT_SYSCALL PTRACE_SYSCALL
116
117 /* Get the Crunch state of a process. */
118 PTRACE_GETCRUNCHREGS = 25,
119#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS
120
121 /* Set the Crunch state of a process. */
122 PTRACE_SETCRUNCHREGS = 26,
123#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS
124
125 /* Get all VFP registers used by a process. */
126 PTRACE_GETVFPREGS = 27,
127#define PT_GETVFPREGS PTRACE_GETVFPREGS
128
129 /* Set all VFP registers used by a process. */
130 PTRACE_SETVFPREGS = 28,
131#define PT_SETVFPREGS PTRACE_SETVFPREGS
132
133 /* Get all hardware breakpoint registers. */
134 PTRACE_GETHBPREGS = 29,
135#define PT_GETHBPREGS PTRACE_GETHBPREGS
136
137 /* Set all hardware breakpoint registers. */
138 PTRACE_SETHBPREGS = 30,
139#define PT_SETHBPREGS PTRACE_SETHBPREGS
140
141 /* Get the ELF fdpic loadmap address. */
142 PTRACE_GETFDPIC = 31,
143#define PT_GETFDPIC PTRACE_GETFDPIC
144
145 /* Set ptrace filter options. */
146 PTRACE_SETOPTIONS = 0x4200,
147#define PT_SETOPTIONS PTRACE_SETOPTIONS
148
149 /* Get last ptrace message. */
150 PTRACE_GETEVENTMSG = 0x4201,
151#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
152
153 /* Get siginfo for process. */
154 PTRACE_GETSIGINFO = 0x4202,
155#define PT_GETSIGINFO PTRACE_GETSIGINFO
156
157 /* Set new siginfo for process. */
158 PTRACE_SETSIGINFO = 0x4203,
159#define PT_SETSIGINFO PTRACE_SETSIGINFO
160
161 /* Get register content. */
162 PTRACE_GETREGSET = 0x4204,
163#define PTRACE_GETREGSET PTRACE_GETREGSET
164
165 /* Set register content. */
166 PTRACE_SETREGSET = 0x4205,
167#define PTRACE_SETREGSET PTRACE_SETREGSET
168
169 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
170 signal or group stop state. */
171 PTRACE_SEIZE = 0x4206,
172#define PTRACE_SEIZE PTRACE_SEIZE
173
174 /* Trap seized tracee. */
175 PTRACE_INTERRUPT = 0x4207,
176#define PTRACE_INTERRUPT PTRACE_INTERRUPT
177
178 /* Wait for next group event. */
179 PTRACE_LISTEN = 0x4208,
180#define PTRACE_LISTEN PTRACE_LISTEN
181
182 /* Retrieve siginfo_t structures without removing signals from a queue. */
183 PTRACE_PEEKSIGINFO = 0x4209,
184#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
185
186 /* Get the mask of blocked signals. */
187 PTRACE_GETSIGMASK = 0x420a,
188#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
189
190 /* Change the mask of blocked signals. */
191 PTRACE_SETSIGMASK = 0x420b,
192#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
193
194 /* Get seccomp BPF filters. */
195 PTRACE_SECCOMP_GET_FILTER = 0x420c,
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197
198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e,
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
205
206 /* Get rseq configuration information. */
207 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
208#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
209
210 /* Set configuration for syscall user dispatch. */
211 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
212#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
213 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
214
215 /* Get configuration for syscall user dispatch. */
216 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
217#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
218 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
219};
220
221
222#include <bits/ptrace-shared.h>
223
224__END_DECLS
225
226#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/sys/ucontext.h deleted-144
......@@ -1,144 +0,0 @@
1/* Copyright (C) 1998-2025 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/* System V/ARM ABI compliant context switching support. */
19
20#ifndef _SYS_UCONTEXT_H
21#define _SYS_UCONTEXT_H 1
22
23#include <features.h>
24
25#include <bits/types/sigset_t.h>
26#include <bits/types/stack_t.h>
27
28
29#ifdef __USE_MISC
30# define __ctx(fld) fld
31#else
32# define __ctx(fld) __ ## fld
33#endif
34
35#ifdef __USE_MISC
36typedef int greg_t;
37
38/* Number of general registers. */
39# define NGREG 18
40
41/* Container for all general registers. */
42typedef greg_t gregset_t[NGREG];
43
44/* Number of each register is the `gregset_t' array. */
45enum
46{
47 REG_R0 = 0,
48# define REG_R0 REG_R0
49 REG_R1 = 1,
50# define REG_R1 REG_R1
51 REG_R2 = 2,
52# define REG_R2 REG_R2
53 REG_R3 = 3,
54# define REG_R3 REG_R3
55 REG_R4 = 4,
56# define REG_R4 REG_R4
57 REG_R5 = 5,
58# define REG_R5 REG_R5
59 REG_R6 = 6,
60# define REG_R6 REG_R6
61 REG_R7 = 7,
62# define REG_R7 REG_R7
63 REG_R8 = 8,
64# define REG_R8 REG_R8
65 REG_R9 = 9,
66# define REG_R9 REG_R9
67 REG_R10 = 10,
68# define REG_R10 REG_R10
69 REG_R11 = 11,
70# define REG_R11 REG_R11
71 REG_R12 = 12,
72# define REG_R12 REG_R12
73 REG_R13 = 13,
74# define REG_R13 REG_R13
75 REG_R14 = 14,
76# define REG_R14 REG_R14
77 REG_R15 = 15
78# define REG_R15 REG_R15
79};
80
81struct _libc_fpstate
82{
83 struct
84 {
85 unsigned int sign1:1;
86 unsigned int unused:15;
87 unsigned int sign2:1;
88 unsigned int exponent:14;
89 unsigned int j:1;
90 unsigned int mantissa1:31;
91 unsigned int mantissa0:32;
92 } fpregs[8];
93 unsigned int fpsr:32;
94 unsigned int fpcr:32;
95 unsigned char ftype[8];
96 unsigned int init_flag;
97};
98/* Structure to describe FPU registers. */
99typedef struct _libc_fpstate fpregset_t;
100#endif
101
102/* Context to describe whole processor state. This only describes
103 the core registers; coprocessor registers get saved elsewhere
104 (e.g. in uc_regspace, or somewhere unspecified on the stack
105 during non-RT signal handlers). */
106typedef struct
107 {
108 unsigned long int __ctx(trap_no);
109 unsigned long int __ctx(error_code);
110 unsigned long int __ctx(oldmask);
111 unsigned long int __ctx(arm_r0);
112 unsigned long int __ctx(arm_r1);
113 unsigned long int __ctx(arm_r2);
114 unsigned long int __ctx(arm_r3);
115 unsigned long int __ctx(arm_r4);
116 unsigned long int __ctx(arm_r5);
117 unsigned long int __ctx(arm_r6);
118 unsigned long int __ctx(arm_r7);
119 unsigned long int __ctx(arm_r8);
120 unsigned long int __ctx(arm_r9);
121 unsigned long int __ctx(arm_r10);
122 unsigned long int __ctx(arm_fp);
123 unsigned long int __ctx(arm_ip);
124 unsigned long int __ctx(arm_sp);
125 unsigned long int __ctx(arm_lr);
126 unsigned long int __ctx(arm_pc);
127 unsigned long int __ctx(arm_cpsr);
128 unsigned long int __ctx(fault_address);
129 } mcontext_t;
130
131/* Userlevel context. */
132typedef struct ucontext_t
133 {
134 unsigned long __ctx(uc_flags);
135 struct ucontext_t *uc_link;
136 stack_t uc_stack;
137 mcontext_t uc_mcontext;
138 sigset_t uc_sigmask;
139 unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8)));
140 } ucontext_t;
141
142#undef __ctx
143
144#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/sys/user.h deleted-71
......@@ -1,71 +0,0 @@
1/* Copyright (C) 1998-2025 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_USER_H
19#define _SYS_USER_H 1
20
21/* The whole purpose of this file is for GDB and GDB only. Don't read
22 too much into it. Don't use it for anything other than GDB unless
23 you know what you are doing. */
24
25struct user_fpregs
26{
27 struct fp_reg
28 {
29 unsigned int sign1:1;
30 unsigned int unused:15;
31 unsigned int sign2:1;
32 unsigned int exponent:14;
33 unsigned int j:1;
34 unsigned int mantissa1:31;
35 unsigned int mantissa0:32;
36 } fpregs[8];
37 unsigned int fpsr:32;
38 unsigned int fpcr:32;
39 unsigned char ftype[8];
40 unsigned int init_flag;
41};
42
43struct user_regs
44{
45 unsigned long int uregs[18];
46};
47
48struct user
49{
50 struct user_regs regs; /* General registers */
51 int u_fpvalid; /* True if math co-processor being used. */
52
53 unsigned long int u_tsize; /* Text segment size (pages). */
54 unsigned long int u_dsize; /* Data segment size (pages). */
55 unsigned long int u_ssize; /* Stack segment size (pages). */
56
57 unsigned long start_code; /* Starting virtual address of text. */
58 unsigned long start_stack; /* Starting virtual address of stack. */
59
60 long int signal; /* Signal that caused the core dump. */
61 int reserved; /* No longer used */
62 struct user_regs *u_ar0; /* help gdb to find the general registers. */
63
64 unsigned long magic; /* uniquely identify a core file */
65 char u_comm[32]; /* User command that was responsible */
66 int u_debugreg[8];
67 struct user_fpregs u_fp; /* Floating point registers */
68 struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */
69};
70
71#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h deleted-25
......@@ -1,25 +0,0 @@
1/* arm definitions for finding objects.
2 Copyright (C) 2021-2025 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 _DLFCN_H
20# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
21#endif
22
23#define DLFO_STRUCT_HAS_EH_DBASE 0
24#define DLFO_STRUCT_HAS_EH_COUNT 1
25#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/endianness.h deleted-15
......@@ -1,15 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* ARM has selectable endianness. */
9#ifdef __ARMEB__
10#define __BYTE_ORDER __BIG_ENDIAN
11#else
12#define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h deleted-54
......@@ -1,54 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#define __O_DIRECTORY 040000 /* Must be a directory. */
24#define __O_NOFOLLOW 0100000 /* Do not follow links. */
25#define __O_DIRECT 0200000 /* Direct disk access. */
26#define __O_LARGEFILE 0400000
27
28struct flock
29 {
30 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
31 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
32#ifndef __USE_FILE_OFFSET64
33 __off_t l_start; /* Offset where the lock begins. */
34 __off_t l_len; /* Size of the locked area; zero means until EOF. */
35#else
36 __off64_t l_start; /* Offset where the lock begins. */
37 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
38#endif
39 __pid_t l_pid; /* Process holding the lock. */
40 };
41
42#ifdef __USE_LARGEFILE64
43struct flock64
44 {
45 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
46 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
47 __off64_t l_start; /* Offset where the lock begins. */
48 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
49 __pid_t l_pid; /* Process holding the lock. */
50 };
51#endif
52
53/* Include generic Linux declarations. */
54#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/fenv.h deleted-90
......@@ -1,90 +0,0 @@
1/* Copyright (C) 2004-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22/* Define bits representing exceptions in the FPU status word. */
23enum
24 {
25 FE_INVALID =
26#define FE_INVALID 1
27 FE_INVALID,
28 FE_DIVBYZERO =
29#define FE_DIVBYZERO 2
30 FE_DIVBYZERO,
31 FE_OVERFLOW =
32#define FE_OVERFLOW 4
33 FE_OVERFLOW,
34 FE_UNDERFLOW =
35#define FE_UNDERFLOW 8
36 FE_UNDERFLOW,
37 FE_INEXACT =
38#define FE_INEXACT 16
39 FE_INEXACT,
40 };
41
42/* Amount to shift by to convert an exception to a mask bit. */
43#define FE_EXCEPT_SHIFT 8
44
45/* All supported exceptions. */
46#define FE_ALL_EXCEPT \
47 (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
48
49/* VFP supports all of the four defined rounding modes. */
50enum
51 {
52 FE_TONEAREST =
53#define FE_TONEAREST 0
54 FE_TONEAREST,
55 FE_UPWARD =
56#define FE_UPWARD 0x400000
57 FE_UPWARD,
58 FE_DOWNWARD =
59#define FE_DOWNWARD 0x800000
60 FE_DOWNWARD,
61 FE_TOWARDZERO =
62#define FE_TOWARDZERO 0xc00000
63 FE_TOWARDZERO
64 };
65
66/* Type representing exception flags. */
67typedef unsigned int fexcept_t;
68
69/* Type representing floating-point environment. */
70typedef struct
71 {
72 unsigned int __cw;
73 }
74fenv_t;
75
76/* If the default argument is used we use this value. */
77#define FE_DFL_ENV ((const fenv_t *) -1l)
78
79#ifdef __USE_GNU
80/* Floating-point environment where none of the exceptions are masked. */
81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif
83
84#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;
87
88/* Default floating-point control modes. */
89# define FE_DFL_MODE ((const femode_t *) -1L)
90#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/floatn.h deleted-52
......@@ -1,52 +0,0 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2025 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/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc
21 includes corresponding *f128 interfaces for it. */
22#define __HAVE_FLOAT128 0
23
24/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
25 from the default float, double and long double types in this glibc. */
26#define __HAVE_DISTINCT_FLOAT128 0
27
28/* Defined to 1 if the current compiler invocation provides a
29 floating-point type with the right format for _Float64x, and this
30 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
32
33/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
34 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
35 the format of _Float128, which must be different from that of long
36 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
38
39#ifndef __ASSEMBLER__
40
41/* Defined to concatenate the literal suffix to be used with _Float128
42 types, if __HAVE_FLOAT128 is 1.
43 E.g.: #define __f128(x) x##f128. */
44# undef __f128
45
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
49
50#endif /* !__ASSEMBLER__. */
51
52#include <bits/floatn-common.h>
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h deleted-59
......@@ -1,59 +0,0 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.
2 Copyright (C) 2012-2025 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 (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h>. */
24#define HWCAP_ARM_SWP 1
25#define HWCAP_ARM_HALF 2
26#define HWCAP_ARM_THUMB 4
27#define HWCAP_ARM_26BIT 8
28#define HWCAP_ARM_FAST_MULT 16
29#define HWCAP_ARM_FPA 32
30#define HWCAP_ARM_VFP 64
31#define HWCAP_ARM_EDSP 128
32#define HWCAP_ARM_JAVA 256
33#define HWCAP_ARM_IWMMXT 512
34#define HWCAP_ARM_CRUNCH 1024
35#define HWCAP_ARM_THUMBEE 2048
36#define HWCAP_ARM_NEON 4096
37#define HWCAP_ARM_VFPv3 8192
38#define HWCAP_ARM_VFPv3D16 16384
39#define HWCAP_ARM_TLS 32768
40#define HWCAP_ARM_VFPv4 65536
41#define HWCAP_ARM_IDIVA 131072
42#define HWCAP_ARM_IDIVT 262144
43#define HWCAP_ARM_VFPD32 524288
44#define HWCAP_ARM_LPAE 1048576
45#define HWCAP_ARM_EVTSTRM 2097152
46#define HWCAP_FPHP 4194304
47#define HWCAP_ASIMDHP 8388608
48#define HWCAP_ASIMDDP 16777216
49#define HWCAP_ASIMDFHM 33554432
50#define HWCAP_ASIMDBF16 67108864
51#define HWCAP_I8MM 134217728
52
53#define HWCAP2_AES 1
54#define HWCAP2_PMULL 2
55#define HWCAP2_SHA1 4
56#define HWCAP2_SHA2 8
57#define HWCAP2_CRC32 16
58#define HWCAP2_SB 32
59#define HWCAP2_SSBS 64
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/link.h deleted-65
......@@ -1,65 +0,0 @@
1/* Copyright (C) 2005-2025 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 _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."
20#endif
21
22
23/* Registers for entry into PLT on ARM. */
24typedef struct La_arm_regs
25{
26 uint32_t lr_reg[4];
27 uint32_t lr_sp;
28 uint32_t lr_lr;
29 /* Coprocessor registers used for argument passing. The data
30 stored here depends on the coprocessors available in the
31 system which are used for function calls in the current ABI.
32 VFP uses eight 64-bit registers, and iWMMXt uses ten. */
33 uint32_t lr_coproc[42];
34} La_arm_regs;
35
36/* Return values for calls from PLT on ARM. */
37typedef struct La_arm_retval
38{
39 /* Up to four integer registers can be used for a return value in
40 some ABIs (APCS complex long double). */
41 uint32_t lrv_reg[4];
42
43 /* Any coprocessor registers which might be used to return values
44 in the current ABI. */
45 uint32_t lrv_coproc[12];
46} La_arm_retval;
47
48
49__BEGIN_DECLS
50
51extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
52 uintptr_t *__refcook,
53 uintptr_t *__defcook,
54 La_arm_regs *__regs,
55 unsigned int *__flags,
56 const char *__symname,
57 long int *__framesizep);
58extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
59 uintptr_t *__refcook,
60 uintptr_t *__defcook,
61 const La_arm_regs *__inregs,
62 La_arm_retval *__outregs,
63 const char *__symname);
64
65__END_DECLS
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/long-double.h deleted-53
......@@ -1,53 +0,0 @@
1/* Properties of long double type.
2 Copyright (C) 2016-2025 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 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/* This header is included by <sys/cdefs.h>.
20
21 If long double is ABI-compatible with double, it should define
22 __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
23 __NO_LONG_DOUBLE_MATH undefined.
24
25 If this build of the GNU C Library supports both long double
26 ABI-compatible with double and some other long double format not
27 ABI-compatible with double, it should define
28 __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
29 __LONG_DOUBLE_MATH_OPTIONAL undefined.
30
31 If __NO_LONG_DOUBLE_MATH is already defined, this header must not
32 define anything; this is needed to work with the definition of
33 __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */
34
35/* In the default version of this header, long double is
36 ABI-compatible with double. */
37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 1
39#endif
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/procfs-id.h deleted-25
......@@ -1,25 +0,0 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
22#endif
23
24typedef unsigned short int __pr_uid_t;
25typedef unsigned short int __pr_gid_t;
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/procfs.h deleted-34
......@@ -1,34 +0,0 @@
1/* Types for registers for sys/procfs.h. Arm version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23/* Type for a general-purpose register. */
24typedef unsigned long elf_greg_t;
25
26/* And the whole bunch of them. We could have used `struct
27 user_regs' directly in the typedef, but tradition says that
28 the register set is an array, which does have some peculiar
29 semantics, so leave it that way. */
30#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t))
31typedef elf_greg_t elf_gregset_t[ELF_NGREG];
32
33/* Register set for the floating-point registers. */
34typedef struct user_fpregs elf_fpregset_t;
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/rseq.h deleted-83
......@@ -1,83 +0,0 @@
1/* Restartable Sequences Linux arm architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/*
23 RSEQ_SIG is a signature required before each abort handler code.
24
25 It is a 32-bit value that maps to actual architecture code compiled
26 into applications and libraries. It needs to be defined for each
27 architecture. When choosing this value, it needs to be taken into
28 account that generating invalid instructions may have ill effects on
29 tools like objdump, and may also have impact on the CPU speculative
30 execution efficiency in some cases.
31
32 - ARM little endian
33
34 RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand
35 value 0x5de3. This traps if user-space reaches this instruction by mistake,
36 and the uncommon operand ensures the kernel does not move the instruction
37 pointer to attacker-controlled code on rseq abort.
38
39 The instruction pattern in the A32 instruction set is:
40
41 e7f5def3 udf #24035 ; 0x5de3
42
43 This translates to the following instruction pattern in the T16 instruction
44 set:
45
46 little endian:
47 def3 udf #243 ; 0xf3
48 e7f5 b.n <7f5>
49
50 - ARMv6+ big endian (BE8):
51
52 ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian
53 code and big-endian data. The data value of the signature needs to have its
54 byte order reversed to generate the trap instruction:
55
56 Data: 0xf3def5e7
57
58 Translates to this A32 instruction pattern:
59
60 e7f5def3 udf #24035 ; 0x5de3
61
62 Translates to this T16 instruction pattern:
63
64 def3 udf #243 ; 0xf3
65 e7f5 b.n <7f5>
66
67 - Prior to ARMv6 big endian (BE32):
68
69 Prior to ARMv6, -mbig-endian generates big-endian code and data
70 (which match), so the endianness of the data representation of the
71 signature should not be reversed. However, the choice between BE32
72 and BE8 is done by the linker, so we cannot know whether code and
73 data endianness will be mixed before the linker is invoked. So rather
74 than try to play tricks with the linker, the rseq signature is simply
75 data (not a trap instruction) prior to ARMv6 on big endian. This is
76 why the signature is expressed as data (.word) rather than as
77 instruction (.inst) in assembler. */
78
79#ifdef __ARMEB__
80# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */
81#else
82# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */
83#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2004-2025 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/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
19
20#ifndef _BITS_SETJMP_H
21#define _BITS_SETJMP_H 1
22
23#if !defined _SETJMP_H && !defined _PTHREAD_H
24# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
25#endif
26
27#ifndef __ASSEMBLER__
28/* The exact set of registers saved may depend on the particular core
29 in use, as some coprocessor registers may need to be saved. The C
30 Library ABI requires that the buffer be 8-byte aligned, and
31 recommends that the buffer contain 64 words. The first 26 words
32 are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */
33typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
34#endif
35
36#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h deleted-29
......@@ -1,29 +0,0 @@
1/* Define SHMLBA. ARM version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getpagesize () << 2)
27extern int __getpagesize (void) __THROW __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h deleted-139
......@@ -1,139 +0,0 @@
1/* Definition for struct stat. Linux/arm version.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29struct stat
30 {
31#ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33#else
34 __dev_t st_dev; /* Device. */
35 unsigned short int __pad1;
36# ifndef __USE_FILE_OFFSET64
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino_t __st_ino; /* 32bit file serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80# ifndef __USE_FILE_OFFSET64
81 unsigned long int __glibc_reserved4;
82 unsigned long int __glibc_reserved5;
83# else
84 __ino64_t st_ino; /* File serial number. */
85# endif
86#endif /* __USE_TIME64_REDIRECTS */
87 };
88
89#ifdef __USE_LARGEFILE64
90struct stat64
91 {
92# ifdef __USE_TIME64_REDIRECTS
93# include <bits/struct_stat_time64_helper.h>
94# else
95 __dev_t st_dev; /* Device. */
96 unsigned int __pad1;
97
98 __ino_t __st_ino; /* 32bit file serial number. */
99 __mode_t st_mode; /* File mode. */
100 __nlink_t st_nlink; /* Link count. */
101 __uid_t st_uid; /* User ID of the file's owner. */
102 __gid_t st_gid; /* Group ID of the file's group.*/
103 __dev_t st_rdev; /* Device number, if device. */
104 unsigned int __pad2;
105 __off64_t st_size; /* Size of file, in bytes. */
106 __blksize_t st_blksize; /* Optimal block size for I/O. */
107
108 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
109# ifdef __USE_XOPEN2K8
110 /* Nanosecond resolution timestamps are stored in a format
111 equivalent to 'struct timespec'. This is the type used
112 whenever possible but the Unix namespace rules do not allow the
113 identifier 'timespec' to appear in the <sys/stat.h> header.
114 Therefore we have to handle the use of this header in strictly
115 standard-compliant sources special. */
116 struct timespec st_atim; /* Time of last access. */
117 struct timespec st_mtim; /* Time of last modification. */
118 struct timespec st_ctim; /* Time of last status change. */
119# else
120 __time_t st_atime; /* Time of last access. */
121 unsigned long int st_atimensec; /* Nscecs of last access. */
122 __time_t st_mtime; /* Time of last modification. */
123 unsigned long int st_mtimensec; /* Nsecs of last modification. */
124 __time_t st_ctime; /* Time of last status change. */
125 unsigned long int st_ctimensec; /* Nsecs of last status change. */
126# endif
127 __ino64_t st_ino; /* File serial number. */
128# endif /* __USE_TIME64_REDIRECTS */
129 };
130#endif
131
132/* Tell code we have these members. */
133#define _STATBUF_ST_BLKSIZE
134#define _STATBUF_ST_RDEV
135/* Nanosecond resolution time values are supported. */
136#define _STATBUF_ST_NSEC
137
138
139#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/ARM.
2 Copyright (C) 2021-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 32
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h deleted-74
......@@ -1,74 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. ARM version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#define __RLIM_T_MATCHES_RLIM64_T 0
66#define __STATFS_MATCHES_STATFS64 0
67/* And for getitimer, setitimer and rusage */
68#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
69
70/* Number of descriptors that can fit in an `fd_set'. */
71#define __FD_SETSIZE 1024
72
73
74#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h deleted-21
......@@ -1,21 +0,0 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 1
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/fpu_control.h deleted-75
......@@ -1,75 +0,0 @@
1/* FPU control word definitions. ARM VFP version.
2 Copyright (C) 2004-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__)
23
24#define _FPU_RESERVED 0xffffffff
25#define _FPU_DEFAULT 0x00000000
26typedef unsigned int fpu_control_t;
27#define _FPU_GETCW(cw) (cw) = 0
28#define _FPU_SETCW(cw) (void) (cw)
29extern fpu_control_t __fpu_control;
30
31#else
32
33/* masking of interrupts */
34#define _FPU_MASK_IM 0x00000100 /* invalid operation */
35#define _FPU_MASK_ZM 0x00000200 /* divide by zero */
36#define _FPU_MASK_OM 0x00000400 /* overflow */
37#define _FPU_MASK_UM 0x00000800 /* underflow */
38#define _FPU_MASK_PM 0x00001000 /* inexact */
39
40#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */
41#define _FPU_MASK_RM 0x00c00000 /* rounding mode */
42#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */
43
44/* Some bits in the FPSCR are not yet defined. They must be preserved when
45 modifying the contents. */
46#define _FPU_RESERVED 0x00086060
47#define _FPU_DEFAULT 0x00000000
48
49/* Default + exceptions enabled. */
50#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00)
51
52/* Type of the control word. */
53typedef unsigned int fpu_control_t;
54
55/* Macros for accessing the hardware control word. */
56#ifdef __SOFTFP__
57/* This is fmrx %0, fpscr. */
58# define _FPU_GETCW(cw) \
59 __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw))
60/* This is fmxr fpscr, %0. */
61# define _FPU_SETCW(cw) \
62 __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw))
63#else
64# define _FPU_GETCW(cw) \
65 __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw))
66# define _FPU_SETCW(cw) \
67 __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw))
68#endif
69
70/* Default control word set at startup. */
71extern fpu_control_t __fpu_control;
72
73#endif /* __SOFTFP__ */
74
75#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/gnu/lib-names.h deleted-14
......@@ -1,14 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#if !defined __ARM_PCS_VFP
8# include <gnu/lib-names-soft.h>
9#endif
10#if defined __ARM_PCS_VFP
11# include <gnu/lib-names-hard.h>
12#endif
13
14#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/gnu/stubs.h deleted-11
......@@ -1,11 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5
6#if !defined __ARM_PCS_VFP
7# include <gnu/stubs-soft.h>
8#endif
9#if defined __ARM_PCS_VFP
10# include <gnu/stubs-hard.h>
11#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h deleted-226
......@@ -1,226 +0,0 @@
1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PTRACE_H
21#define _SYS_PTRACE_H 1
22
23#include <features.h>
24#include <bits/types.h>
25
26__BEGIN_DECLS
27
28/* Type of the REQUEST argument to `ptrace.' */
29enum __ptrace_request
30{
31 /* Indicate that the process making this request should be traced.
32 All signals received by this process can be intercepted by its
33 parent, and its parent can use the other `ptrace' requests. */
34 PTRACE_TRACEME = 0,
35#define PT_TRACE_ME PTRACE_TRACEME
36
37 /* Return the word in the process's text space at address ADDR. */
38 PTRACE_PEEKTEXT = 1,
39#define PT_READ_I PTRACE_PEEKTEXT
40
41 /* Return the word in the process's data space at address ADDR. */
42 PTRACE_PEEKDATA = 2,
43#define PT_READ_D PTRACE_PEEKDATA
44
45 /* Return the word in the process's user area at offset ADDR. */
46 PTRACE_PEEKUSER = 3,
47#define PT_READ_U PTRACE_PEEKUSER
48
49 /* Write the word DATA into the process's text space at address ADDR. */
50 PTRACE_POKETEXT = 4,
51#define PT_WRITE_I PTRACE_POKETEXT
52
53 /* Write the word DATA into the process's data space at address ADDR. */
54 PTRACE_POKEDATA = 5,
55#define PT_WRITE_D PTRACE_POKEDATA
56
57 /* Write the word DATA into the process's user area at offset ADDR. */
58 PTRACE_POKEUSER = 6,
59#define PT_WRITE_U PTRACE_POKEUSER
60
61 /* Continue the process. */
62 PTRACE_CONT = 7,
63#define PT_CONTINUE PTRACE_CONT
64
65 /* Kill the process. */
66 PTRACE_KILL = 8,
67#define PT_KILL PTRACE_KILL
68
69 /* Single step the process. */
70 PTRACE_SINGLESTEP = 9,
71#define PT_STEP PTRACE_SINGLESTEP
72
73 /* Get all general purpose registers used by a process. */
74 PTRACE_GETREGS = 12,
75#define PT_GETREGS PTRACE_GETREGS
76
77 /* Set all general purpose registers used by a process. */
78 PTRACE_SETREGS = 13,
79#define PT_SETREGS PTRACE_SETREGS
80
81 /* Get all floating point registers used by a process. */
82 PTRACE_GETFPREGS = 14,
83#define PT_GETFPREGS PTRACE_GETFPREGS
84
85 /* Set all floating point registers used by a process. */
86 PTRACE_SETFPREGS = 15,
87#define PT_SETFPREGS PTRACE_SETFPREGS
88
89 /* Attach to a process that is already running. */
90 PTRACE_ATTACH = 16,
91#define PT_ATTACH PTRACE_ATTACH
92
93 /* Detach from a process attached to with PTRACE_ATTACH. */
94 PTRACE_DETACH = 17,
95#define PT_DETACH PTRACE_DETACH
96
97 /* Get the iWMMXt state of a process. */
98 PTRACE_GETWMMXREGS = 18,
99#define PT_GETWMMXREGS PTRACE_GETWMMXREGS
100
101 /* Set the iWMMXt state of a process. */
102 PTRACE_SETWMMXREGS = 19,
103#define PT_SETWMMXREGS PTRACE_SETWMMXREGS
104
105 /* Get the thread pointer of a process. */
106 PTRACE_GET_THREAD_AREA = 22,
107#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
108
109 /* Change the syscall number of a process. */
110 PTRACE_SET_SYSCALL = 23,
111#define PT_SET_SYSCALL PTRACE_SET_SYSCALL
112
113 /* Continue and stop at the next entry to or return from syscall. */
114 PTRACE_SYSCALL = 24,
115#define PT_SYSCALL PTRACE_SYSCALL
116
117 /* Get the Crunch state of a process. */
118 PTRACE_GETCRUNCHREGS = 25,
119#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS
120
121 /* Set the Crunch state of a process. */
122 PTRACE_SETCRUNCHREGS = 26,
123#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS
124
125 /* Get all VFP registers used by a process. */
126 PTRACE_GETVFPREGS = 27,
127#define PT_GETVFPREGS PTRACE_GETVFPREGS
128
129 /* Set all VFP registers used by a process. */
130 PTRACE_SETVFPREGS = 28,
131#define PT_SETVFPREGS PTRACE_SETVFPREGS
132
133 /* Get all hardware breakpoint registers. */
134 PTRACE_GETHBPREGS = 29,
135#define PT_GETHBPREGS PTRACE_GETHBPREGS
136
137 /* Set all hardware breakpoint registers. */
138 PTRACE_SETHBPREGS = 30,
139#define PT_SETHBPREGS PTRACE_SETHBPREGS
140
141 /* Get the ELF fdpic loadmap address. */
142 PTRACE_GETFDPIC = 31,
143#define PT_GETFDPIC PTRACE_GETFDPIC
144
145 /* Set ptrace filter options. */
146 PTRACE_SETOPTIONS = 0x4200,
147#define PT_SETOPTIONS PTRACE_SETOPTIONS
148
149 /* Get last ptrace message. */
150 PTRACE_GETEVENTMSG = 0x4201,
151#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
152
153 /* Get siginfo for process. */
154 PTRACE_GETSIGINFO = 0x4202,
155#define PT_GETSIGINFO PTRACE_GETSIGINFO
156
157 /* Set new siginfo for process. */
158 PTRACE_SETSIGINFO = 0x4203,
159#define PT_SETSIGINFO PTRACE_SETSIGINFO
160
161 /* Get register content. */
162 PTRACE_GETREGSET = 0x4204,
163#define PTRACE_GETREGSET PTRACE_GETREGSET
164
165 /* Set register content. */
166 PTRACE_SETREGSET = 0x4205,
167#define PTRACE_SETREGSET PTRACE_SETREGSET
168
169 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
170 signal or group stop state. */
171 PTRACE_SEIZE = 0x4206,
172#define PTRACE_SEIZE PTRACE_SEIZE
173
174 /* Trap seized tracee. */
175 PTRACE_INTERRUPT = 0x4207,
176#define PTRACE_INTERRUPT PTRACE_INTERRUPT
177
178 /* Wait for next group event. */
179 PTRACE_LISTEN = 0x4208,
180#define PTRACE_LISTEN PTRACE_LISTEN
181
182 /* Retrieve siginfo_t structures without removing signals from a queue. */
183 PTRACE_PEEKSIGINFO = 0x4209,
184#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
185
186 /* Get the mask of blocked signals. */
187 PTRACE_GETSIGMASK = 0x420a,
188#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
189
190 /* Change the mask of blocked signals. */
191 PTRACE_SETSIGMASK = 0x420b,
192#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
193
194 /* Get seccomp BPF filters. */
195 PTRACE_SECCOMP_GET_FILTER = 0x420c,
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197
198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e,
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
205
206 /* Get rseq configuration information. */
207 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
208#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
209
210 /* Set configuration for syscall user dispatch. */
211 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
212#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
213 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
214
215 /* Get configuration for syscall user dispatch. */
216 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
217#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
218 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
219};
220
221
222#include <bits/ptrace-shared.h>
223
224__END_DECLS
225
226#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h deleted-144
......@@ -1,144 +0,0 @@
1/* Copyright (C) 1998-2025 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/* System V/ARM ABI compliant context switching support. */
19
20#ifndef _SYS_UCONTEXT_H
21#define _SYS_UCONTEXT_H 1
22
23#include <features.h>
24
25#include <bits/types/sigset_t.h>
26#include <bits/types/stack_t.h>
27
28
29#ifdef __USE_MISC
30# define __ctx(fld) fld
31#else
32# define __ctx(fld) __ ## fld
33#endif
34
35#ifdef __USE_MISC
36typedef int greg_t;
37
38/* Number of general registers. */
39# define NGREG 18
40
41/* Container for all general registers. */
42typedef greg_t gregset_t[NGREG];
43
44/* Number of each register is the `gregset_t' array. */
45enum
46{
47 REG_R0 = 0,
48# define REG_R0 REG_R0
49 REG_R1 = 1,
50# define REG_R1 REG_R1
51 REG_R2 = 2,
52# define REG_R2 REG_R2
53 REG_R3 = 3,
54# define REG_R3 REG_R3
55 REG_R4 = 4,
56# define REG_R4 REG_R4
57 REG_R5 = 5,
58# define REG_R5 REG_R5
59 REG_R6 = 6,
60# define REG_R6 REG_R6
61 REG_R7 = 7,
62# define REG_R7 REG_R7
63 REG_R8 = 8,
64# define REG_R8 REG_R8
65 REG_R9 = 9,
66# define REG_R9 REG_R9
67 REG_R10 = 10,
68# define REG_R10 REG_R10
69 REG_R11 = 11,
70# define REG_R11 REG_R11
71 REG_R12 = 12,
72# define REG_R12 REG_R12
73 REG_R13 = 13,
74# define REG_R13 REG_R13
75 REG_R14 = 14,
76# define REG_R14 REG_R14
77 REG_R15 = 15
78# define REG_R15 REG_R15
79};
80
81struct _libc_fpstate
82{
83 struct
84 {
85 unsigned int sign1:1;
86 unsigned int unused:15;
87 unsigned int sign2:1;
88 unsigned int exponent:14;
89 unsigned int j:1;
90 unsigned int mantissa1:31;
91 unsigned int mantissa0:32;
92 } fpregs[8];
93 unsigned int fpsr:32;
94 unsigned int fpcr:32;
95 unsigned char ftype[8];
96 unsigned int init_flag;
97};
98/* Structure to describe FPU registers. */
99typedef struct _libc_fpstate fpregset_t;
100#endif
101
102/* Context to describe whole processor state. This only describes
103 the core registers; coprocessor registers get saved elsewhere
104 (e.g. in uc_regspace, or somewhere unspecified on the stack
105 during non-RT signal handlers). */
106typedef struct
107 {
108 unsigned long int __ctx(trap_no);
109 unsigned long int __ctx(error_code);
110 unsigned long int __ctx(oldmask);
111 unsigned long int __ctx(arm_r0);
112 unsigned long int __ctx(arm_r1);
113 unsigned long int __ctx(arm_r2);
114 unsigned long int __ctx(arm_r3);
115 unsigned long int __ctx(arm_r4);
116 unsigned long int __ctx(arm_r5);
117 unsigned long int __ctx(arm_r6);
118 unsigned long int __ctx(arm_r7);
119 unsigned long int __ctx(arm_r8);
120 unsigned long int __ctx(arm_r9);
121 unsigned long int __ctx(arm_r10);
122 unsigned long int __ctx(arm_fp);
123 unsigned long int __ctx(arm_ip);
124 unsigned long int __ctx(arm_sp);
125 unsigned long int __ctx(arm_lr);
126 unsigned long int __ctx(arm_pc);
127 unsigned long int __ctx(arm_cpsr);
128 unsigned long int __ctx(fault_address);
129 } mcontext_t;
130
131/* Userlevel context. */
132typedef struct ucontext_t
133 {
134 unsigned long __ctx(uc_flags);
135 struct ucontext_t *uc_link;
136 stack_t uc_stack;
137 mcontext_t uc_mcontext;
138 sigset_t uc_sigmask;
139 unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8)));
140 } ucontext_t;
141
142#undef __ctx
143
144#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/sys/user.h deleted-71
......@@ -1,71 +0,0 @@
1/* Copyright (C) 1998-2025 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_USER_H
19#define _SYS_USER_H 1
20
21/* The whole purpose of this file is for GDB and GDB only. Don't read
22 too much into it. Don't use it for anything other than GDB unless
23 you know what you are doing. */
24
25struct user_fpregs
26{
27 struct fp_reg
28 {
29 unsigned int sign1:1;
30 unsigned int unused:15;
31 unsigned int sign2:1;
32 unsigned int exponent:14;
33 unsigned int j:1;
34 unsigned int mantissa1:31;
35 unsigned int mantissa0:32;
36 } fpregs[8];
37 unsigned int fpsr:32;
38 unsigned int fpcr:32;
39 unsigned char ftype[8];
40 unsigned int init_flag;
41};
42
43struct user_regs
44{
45 unsigned long int uregs[18];
46};
47
48struct user
49{
50 struct user_regs regs; /* General registers */
51 int u_fpvalid; /* True if math co-processor being used. */
52
53 unsigned long int u_tsize; /* Text segment size (pages). */
54 unsigned long int u_dsize; /* Data segment size (pages). */
55 unsigned long int u_ssize; /* Stack segment size (pages). */
56
57 unsigned long start_code; /* Starting virtual address of text. */
58 unsigned long start_stack; /* Starting virtual address of stack. */
59
60 long int signal; /* Signal that caused the core dump. */
61 int reserved; /* No longer used */
62 struct user_regs *u_ar0; /* help gdb to find the general registers. */
63
64 unsigned long magic; /* uniquely identify a core file */
65 char u_comm[32]; /* User command that was responsible */
66 int u_debugreg[8];
67 struct user_fpregs u_fp; /* Floating point registers */
68 struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */
69};
70
71#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/float.h deleted-63
......@@ -1,63 +0,0 @@
1/* $NetBSD: float.h,v 1.8 2014/01/29 01:10:36 matt Exp $ */
2
3/*-
4 * Copyright (c) 2014 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Matt Thomas of 3am Software Foundry.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_FLOAT_H_
33#define _ARM_FLOAT_H_
34
35#include <sys/cdefs.h>
36
37#ifdef __ARM_PCS_AAPCS64
38
39#define LDBL_MANT_DIG __LDBL_MANT_DIG__
40#define LDBL_DIG __LDBL_DIG__
41#define LDBL_MIN_EXP __LDBL_MIN_EXP__
42#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
43#define LDBL_MAX_EXP __LDBL_MAX_EXP__
44#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
45#define LDBL_EPSILON __LDBL_EPSILON__
46#define LDBL_MIN __LDBL_MIN__
47#define LDBL_MAX __LDBL_MAX__
48
49#endif /* __ARM_PCS_AAPCS64 */
50
51#include <sys/float_ieee754.h>
52
53#if defined(__ARM_PCS_AAPCS64) \
54 && ((!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) \
55 && !defined(_XOPEN_SOURCE)) \
56 || (__STDC_VERSION__ - 0) >= 199901L \
57 || (_POSIX_C_SOURCE - 0) >= 200112L \
58 || ((_XOPEN_SOURCE - 0) >= 600) \
59 || defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE))
60#define DECIMAL_DIG __DECIMAL_DIG__
61#endif /* __ARM_PCS_AAPCS64 && ... */
62
63#endif /* !_ARM_FLOAT_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/ansi.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: ansi.h,v 1.18 2019/05/07 03:49:26 kamil Exp $ */
2
3#include <sys/common_ansi.h>
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/aout_machdep.h deleted-59
......@@ -1,59 +0,0 @@
1/* $NetBSD: aout_machdep.h,v 1.8 2018/03/17 04:16:09 ryo Exp $ */
2
3/*
4 * Copyright (c) 1994-1996 Mark Brinicombe.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by Mark Brinicombe
18 * 4. The name of the author may not be used to endorse or promote
19 * products derived from this software without specific prior written
20 * permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 */
34
35#ifndef _ARM_AOUT_MACHDEP_H_
36#define _ARM_AOUT_MACHDEP_H_
37
38#define AOUT_LDPGSZ 4096
39
40/* Relocation format. */
41
42struct relocation_info_arm6 {
43 int r_address; /* offset in text or data segment */
44 unsigned r_symbolnum:24;/* ordinal number of add symbol */
45 unsigned r_pcrel:1; /* 1 if value should be pc-relative */
46 unsigned r_length:2; /* 0=byte, 1=word, 2=long, 3=24bits shifted by 2 */
47 unsigned r_extern:1; /* 1 if need to add symbol to value */
48 unsigned r_neg:1; /* 1 if addend is negative */
49 unsigned r_baserel:1; /* 1 if linkage table relative */
50 unsigned r_jmptable:1; /* 1 if relocation to jump table */
51 unsigned r_relative:1; /* 1 if load address relative */
52};
53
54#define relocation_info relocation_info_arm6
55
56/* No special executable format */
57#define cpu_exec_aout_makecmds(a, b) ENOEXEC
58
59#endif /* _ARM_AOUT_MACHDEP_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/asm.h deleted-305
......@@ -1,305 +0,0 @@
1/* $NetBSD: asm.h,v 1.34 2020/04/23 23:22:41 jakllsch Exp $ */
2
3/*-
4 * Copyright (c) 2014 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Matt Thomas of 3am Software Foundry.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32/*
33 * Copyright (c) 1990 The Regents of the University of California.
34 * All rights reserved.
35 *
36 * This code is derived from software contributed to Berkeley by
37 * William Jolitz.
38 *
39 * Redistribution and use in source and binary forms, with or without
40 * modification, are permitted provided that the following conditions
41 * are met:
42 * 1. Redistributions of source code must retain the above copyright
43 * notice, this list of conditions and the following disclaimer.
44 * 2. Redistributions in binary form must reproduce the above copyright
45 * notice, this list of conditions and the following disclaimer in the
46 * documentation and/or other materials provided with the distribution.
47 * 3. Neither the name of the University nor the names of its contributors
48 * may be used to endorse or promote products derived from this software
49 * without specific prior written permission.
50 *
51 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
52 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
53 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
54 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
55 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
56 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
57 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
58 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
59 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
60 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
61 * SUCH DAMAGE.
62 *
63 * from: @(#)asm.h 5.5 (Berkeley) 5/7/91
64 */
65
66#ifndef _ARM_ASM_H_
67#define _ARM_ASM_H_
68
69#include <arm/cdefs.h>
70#if defined(_KERNEL_OPT)
71#include "opt_cpuoptions.h"
72#endif
73
74#ifdef __thumb__
75#define THUMB_INSN(n) n
76#else
77#define THUMB_INSN(n)
78#endif
79
80#define __BIT(n) (1 << (n))
81#define __BITS(hi,lo) ((~((~0)<<((hi)+1)))&((~0)<<(lo)))
82
83#define __LOWEST_SET_BIT(__mask) ((((__mask) - 1) & (__mask)) ^ (__mask))
84#define __SHIFTOUT(__x, __mask) (((__x) & (__mask)) / __LOWEST_SET_BIT(__mask))
85#define __SHIFTIN(__x, __mask) ((__x) * __LOWEST_SET_BIT(__mask))
86
87#define _C_LABEL(x) x
88#define _ASM_LABEL(x) x
89
90#ifdef __STDC__
91# define __CONCAT(x,y) x ## y
92# define __STRING(x) #x
93#else
94# define __CONCAT(x,y) x/**/y
95# define __STRING(x) "x"
96#endif
97
98#ifndef _ALIGN_TEXT
99# define _ALIGN_TEXT .align 2
100#endif
101
102#ifndef _TEXT_SECTION
103#define _TEXT_SECTION .text
104#endif
105
106#ifdef __arm__
107
108 .syntax unified
109
110/*
111 * gas/arm uses @ as a single comment character and thus cannot be used here
112 * Instead it recognised the # instead of an @ symbols in .type directives
113 * We define a couple of macros so that assembly code will not be dependent
114 * on one or the other.
115 */
116#define _ASM_TYPE_FUNCTION %function
117#define _ASM_TYPE_OBJECT %object
118#define _THUMB_ENTRY(x) \
119 _TEXT_SECTION; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; \
120 .thumb_func; .code 16; x:
121#define _ARM_ENTRY(x) \
122 _TEXT_SECTION; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; \
123 .code 32; x:
124#ifdef __thumb__
125#define _ENTRY(x) _THUMB_ENTRY(x)
126#else
127#define _ENTRY(x) _ARM_ENTRY(x)
128#endif
129#define _END(x) .size x,.-x
130
131#ifdef GPROF
132# define _PROF_PROLOGUE \
133 mov ip, lr; bl __mcount
134#else
135# define _PROF_PROLOGUE
136#endif
137#endif
138
139#ifdef __aarch64__
140#define _ASM_TYPE_FUNCTION @function
141#define _ASM_TYPE_OBJECT @object
142#define _ENTRY(x) \
143 _TEXT_SECTION; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; x:
144#define _END(x) .size x,.-x
145
146#ifdef GPROF
147# define _PROF_PROLOGUE \
148 stp x29, x30, [sp, #-16]!; \
149 mov fp, sp; \
150 bl __mcount; \
151 ldp x29, x30, [sp], #16;
152#else
153# define _PROF_PROLOGUE
154#endif
155
156#ifdef __PIC__
157#define GOTREF(x) :got:x
158#define GOTLO12(x) :got_lo12:x
159#else
160#define GOTREF(x) x
161#define GOTLO12(x) :lo12:x
162#endif
163#endif
164
165#ifdef ARMV85_BTI
166#define _BTI_PROLOGUE \
167 .byte 0x5F, 0x24, 0x03, 0xD5 /* the "bti c" instruction */
168#else
169#define _BTI_PROLOGUE /* nothing */
170#endif
171
172#define ENTRY(y) _ENTRY(_C_LABEL(y)); _BTI_PROLOGUE ; _PROF_PROLOGUE
173#define ENTRY_NP(y) _ENTRY(_C_LABEL(y)); _BTI_PROLOGUE
174#define ENTRY_NBTI(y) _ENTRY(_C_LABEL(y))
175#define END(y) _END(_C_LABEL(y))
176#define ARM_ENTRY(y) _ARM_ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
177#define ARM_ENTRY_NP(y) _ARM_ENTRY(_C_LABEL(y))
178#define THUMB_ENTRY(y) _THUMB_ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
179#define THUMB_ENTRY_NP(y) _THUMB_ENTRY(_C_LABEL(y))
180#define ASENTRY(y) _ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
181#define ASENTRY_NP(y) _ENTRY(_ASM_LABEL(y))
182#define ASEND(y) _END(_ASM_LABEL(y))
183#define ARM_ASENTRY(y) _ARM_ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
184#define ARM_ASENTRY_NP(y) _ARM_ENTRY(_ASM_LABEL(y))
185#define THUMB_ASENTRY(y) _THUMB_ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
186#define THUMB_ASENTRY_NP(y) _THUMB_ENTRY(_ASM_LABEL(y))
187
188#define ASMSTR .asciz
189
190#ifdef __PIC__
191#define REL_SYM(a, b) ((a) - (b))
192#define PLT_SYM(x) x
193#define GOT_SYM(x) PIC_SYM(x, GOT)
194#define GOT_GET(x,got,sym) \
195 ldr x, sym; \
196 ldr x, [x, got]
197#define GOT_INIT(got,gotsym,pclabel) \
198 ldr got, gotsym; \
199 pclabel: add got, got, pc
200#ifdef __thumb__
201#define GOT_INITSYM(gotsym,pclabel) \
202 .align 0; \
203 gotsym: .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) - (pclabel+4)
204#else
205#define GOT_INITSYM(gotsym,pclabel) \
206 .align 0; \
207 gotsym: .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) - (pclabel+8)
208#endif
209
210#ifdef __STDC__
211#define PIC_SYM(x,y) x ## ( ## y ## )
212#else
213#define PIC_SYM(x,y) x/**/(/**/y/**/)
214#endif
215
216#else
217#define REL_SYM(a, b) (a)
218#define PLT_SYM(x) x
219#define GOT_SYM(x) x
220#define GOT_GET(x,got,sym) \
221 ldr x, sym;
222#define GOT_INIT(got,gotsym,pclabel)
223#define GOT_INITSYM(gotsym,pclabel)
224#define PIC_SYM(x,y) x
225#endif /* __PIC__ */
226
227#define RCSID(x) .pushsection ".ident","MS",%progbits,1; \
228 .asciz x; \
229 .popsection
230
231#define WEAK_ALIAS(alias,sym) \
232 .weak alias; \
233 alias = sym
234
235/*
236 * STRONG_ALIAS: create a strong alias.
237 */
238#define STRONG_ALIAS(alias,sym) \
239 .globl alias; \
240 alias = sym
241
242#ifdef __STDC__
243#define WARN_REFERENCES(sym,msg) \
244 .pushsection .gnu.warning. ## sym; \
245 .ascii msg; \
246 .popsection
247#else
248#define WARN_REFERENCES(sym,msg) \
249 .pushsection .gnu.warning./**/sym; \
250 .ascii msg; \
251 .popsection
252#endif /* __STDC__ */
253
254#ifdef __thumb__
255# define XPUSH push
256# define XPOP pop
257# define XPOPRET pop {pc}
258#else
259# define XPUSH stmfd sp!,
260# define XPOP ldmfd sp!,
261# ifdef _ARM_ARCH_5
262# define XPOPRET ldmfd sp!, {pc}
263# else
264# define XPOPRET ldmfd sp!, {lr}; mov pc, lr
265# endif
266#endif
267
268#if defined(__aarch64__)
269# define RET ret
270#elif defined (_ARM_ARCH_4T)
271# define RET bx lr
272# define RETr(r) bx r
273# if defined(__thumb__)
274# if defined(_ARM_ARCH_7)
275# define RETc(c) it c; __CONCAT(bx,c) lr
276# endif
277# else
278# define RETc(c) __CONCAT(bx,c) lr
279# endif
280#else
281# define RET mov pc, lr
282# define RETr(r) mov pc, r
283# define RETc(c) __CONCAT(mov,c) pc, lr
284#endif
285
286#ifdef _ARM_ARCH_7
287#define KMODTRAMPOLINE(n) \
288_ENTRY(__wrap_ ## n) \
289 movw ip, #:lower16:n; \
290 movt ip, #:upper16:n; \
291 bx ip
292#elif defined(_ARM_ARCH_4T)
293#define KMODTRAMPOLINE(n) \
294_ENTRY(__wrap_ ## n) \
295 ldr ip, [pc]; \
296 bx ip; \
297 .word n
298#else
299#define KMODTRAMPOLINE(n) \
300_ENTRY(__wrap_ ## n) \
301 ldr pc, [pc, #-4]; \
302 .word n
303#endif
304
305#endif /* !_ARM_ASM_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/bswap.h deleted-15
......@@ -1,15 +0,0 @@
1/* $NetBSD: bswap.h,v 1.6 2014/01/29 01:36:43 matt Exp $ */
2
3#ifndef _ARM_BSWAP_H_
4#define _ARM_BSWAP_H_
5
6#ifdef __aarch64__
7#include <aarch64/byte_swap.h>
8#else
9#include <arm/byte_swap.h>
10#endif
11
12#define __BSWAP_RENAME
13#include <sys/bswap.h>
14
15#endif /* !_ARM_BSWAP_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/byte_swap.h deleted-121
......@@ -1,121 +0,0 @@
1/* $NetBSD: byte_swap.h,v 1.16 2017/01/17 11:08:50 rin Exp $ */
2
3/*-
4 * Copyright (c) 1997, 1999, 2002 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Charles M. Hannum, Neil A. Carson, and Jason R. Thorpe.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_BYTE_SWAP_H_
33#define _ARM_BYTE_SWAP_H_
34
35#ifdef _LOCORE
36
37#if defined(_ARM_ARCH_6) || defined(_ARM_ARCH_7)
38
39#define BSWAP16(_src, _dst, _tmp) \
40 rev16 _dst, _src
41#define BSWAP32(_src, _dst, _tmp) \
42 rev _dst, _src
43
44#else
45
46#define BSWAP16(_src, _dst, _tmp) \
47 mov _tmp, _src, ror #8 ;\
48 orr _tmp, _tmp, _tmp, lsr #16 ;\
49 bic _dst, _tmp, _tmp, lsl #16
50
51#define BSWAP32(_src, _dst, _tmp) \
52 eor _tmp, _src, _src, ror #16 ;\
53 bic _tmp, _tmp, #0x00FF0000 ;\
54 mov _dst, _src, ror #8 ;\
55 eor _dst, _dst, _tmp, lsr #8
56
57#endif
58
59
60#else
61
62#ifdef __GNUC__
63#include <sys/types.h>
64__BEGIN_DECLS
65
66#define __BYTE_SWAP_U32_VARIABLE __byte_swap_u32_variable
67static __inline uint32_t
68__byte_swap_u32_variable(uint32_t v)
69{
70 uint32_t t1;
71
72#ifdef _ARM_ARCH_6
73 if (!__builtin_constant_p(v)) {
74 __asm("rev\t%0, %1" : "=r" (v) : "0" (v));
75 return v;
76 }
77#endif
78
79 t1 = v ^ ((v << 16) | (v >> 16));
80 t1 &= 0xff00ffffU;
81 v = (v >> 8) | (v << 24);
82 v ^= (t1 >> 8);
83
84 return v;
85}
86
87#define __BYTE_SWAP_U16_VARIABLE __byte_swap_u16_variable
88static __inline uint16_t
89__byte_swap_u16_variable(uint16_t v)
90{
91
92#ifdef _ARM_ARCH_6
93 if (!__builtin_constant_p(v)) {
94 uint32_t v32 = v;
95 __asm("rev16\t%0, %1" : "=r" (v32) : "0" (v32));
96 return (uint16_t)v32;
97 }
98#elif !defined(__thumb__) && 0 /* gcc produces decent code for this */
99 if (!__builtin_constant_p(v)) {
100 uint32_t v0 = v;
101 __asm volatile(
102 "mov %0, %1, ror #8\n"
103 "orr %0, %0, %0, lsr #16\n"
104 "bic %0, %0, %0, lsl #16"
105 : "=&r" (v0)
106 : "0" (v0));
107 return (uint16_t)v0;
108 }
109#endif
110 v &= 0xffff;
111 v = (uint16_t)((v >> 8) | (v << 8));
112
113 return v;
114}
115
116__END_DECLS
117#endif
118
119#endif /* _LOCORE */
120
121#endif /* _ARM_BYTE_SWAP_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/cdefs.h deleted-70
......@@ -1,70 +0,0 @@
1/* $NetBSD: cdefs.h,v 1.19 2020/12/01 02:43:14 rin Exp $ */
2
3#ifndef _ARM_CDEFS_H_
4#define _ARM_CDEFS_H_
5
6#ifndef __lint__
7#if (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || __GNUC__ < 4
8#error GCC 4.1 or compatible required.
9#endif
10#endif
11
12
13#if defined (__ARM_ARCH_8A__) || defined (__ARM_ARCH_8A) || \
14 __ARM_ARCH == 8
15 /* __ARM_ARCH_8A__ is a typo */
16#define _ARM_ARCH_8
17#endif
18
19#if defined (_ARM_ARCH_8) || defined (__ARM_ARCH_7__) || \
20 defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \
21 defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__)
22 /* 7R, 7M, 7EM are for non MMU arms */
23#define _ARM_ARCH_7
24#endif
25
26#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__)
27#define _ARM_ARCH_T2 /* Thumb2 */
28#endif
29
30#if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \
31 defined (__ARM_ARCH_6J__) || \
32 defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6KZ__) || \
33 defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \
34 defined (__ARM_ARCH_6ZM__)
35#define _ARM_ARCH_6
36#endif
37
38#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \
39 defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__)
40#define _ARM_ARCH_5T
41#endif
42
43#if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__)
44#define _ARM_ARCH_5
45#endif
46
47#if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__)
48#define _ARM_ARCH_4T
49#endif
50
51#if defined (_ARM_ARCH_T2) || \
52 (!defined (__thumb__) && \
53 (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \
54 defined (__ARM_ARCH_5TEJ__)))
55#define _ARM_ARCH_DWORD_OK
56#endif
57
58#if defined (__ARMEB__) && defined (_ARM_ARCH_6)
59#define _ARM_ARCH_BE8
60#endif
61
62#if defined(__ARM_PCS_AAPCS64)
63#define __ALIGNBYTES (sizeof(__int128_t) - 1)
64#elif defined(__ARM_EABI__)
65#define __ALIGNBYTES (sizeof(long long) - 1)
66#else
67#define __ALIGNBYTES (sizeof(int) - 1)
68#endif
69
70#endif /* !_ARM_CDEFS_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/cpu.h deleted-399
......@@ -1,399 +0,0 @@
1/* $NetBSD: cpu.h,v 1.123.4.1 2023/08/09 17:42:01 martin Exp $ */
2
3/*
4 * Copyright (c) 1994-1996 Mark Brinicombe.
5 * Copyright (c) 1994 Brini.
6 * All rights reserved.
7 *
8 * This code is derived from software written for Brini by Mark Brinicombe
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by Brini.
21 * 4. The name of the company nor the name of the author may be used to
22 * endorse or promote products derived from this software without specific
23 * prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
26 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28 * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
29 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 * SUCH DAMAGE.
36 *
37 * RiscBSD kernel project
38 *
39 * cpu.h
40 *
41 * CPU specific symbols
42 *
43 * Created : 18/09/94
44 *
45 * Based on kate/katelib/arm6.h
46 */
47
48#ifndef _ARM_CPU_H_
49#define _ARM_CPU_H_
50
51#ifdef _KERNEL
52#ifndef _LOCORE
53
54typedef unsigned long mpidr_t;
55
56#ifdef MULTIPROCESSOR
57extern u_int arm_cpu_max;
58extern mpidr_t cpu_mpidr[];
59
60void cpu_init_secondary_processor(int);
61void cpu_boot_secondary_processors(void);
62void cpu_mpstart(void);
63bool cpu_hatched_p(u_int);
64
65void cpu_clr_mbox(int);
66void cpu_set_hatched(int);
67
68#endif
69
70struct proc;
71
72void cpu_proc_fork(struct proc *, struct proc *);
73
74#endif /* !_LOCORE */
75#endif /* _KERNEL */
76
77#ifdef __arm__
78
79/*
80 * User-visible definitions
81 */
82
83/* CTL_MACHDEP definitions. */
84#define CPU_DEBUG 1 /* int: misc kernel debug control */
85#define CPU_BOOTED_DEVICE 2 /* string: device we booted from */
86#define CPU_BOOTED_KERNEL 3 /* string: kernel we booted */
87#define CPU_CONSDEV 4 /* struct: dev_t of our console */
88#define CPU_POWERSAVE 5 /* int: use CPU powersave mode */
89
90#if defined(_KERNEL) || defined(_KMEMUSER)
91
92/*
93 * Kernel-only definitions
94 */
95
96#if !defined(_MODULE) && defined(_KERNEL_OPT)
97#include "opt_gprof.h"
98#include "opt_multiprocessor.h"
99#include "opt_cpuoptions.h"
100#include "opt_lockdebug.h"
101#include "opt_cputypes.h"
102#endif /* !_MODULE && _KERNEL_OPT */
103
104#ifndef _LOCORE
105#if defined(TPIDRPRW_IS_CURLWP) || defined(TPIDRPRW_IS_CURCPU)
106#include <arm/armreg.h>
107#endif /* TPIDRPRW_IS_CURLWP || TPIDRPRW_IS_CURCPU */
108
109/* 1 == use cpu_sleep(), 0 == don't */
110extern int cpu_do_powersave;
111extern int cpu_fpu_present;
112
113/* All the CLKF_* macros take a struct clockframe * as an argument. */
114
115/*
116 * CLKF_USERMODE: Return TRUE/FALSE (1/0) depending on whether the
117 * frame came from USR mode or not.
118 */
119#define CLKF_USERMODE(cf) (((cf)->cf_tf.tf_spsr & PSR_MODE) == PSR_USR32_MODE)
120
121/*
122 * CLKF_INTR: True if we took the interrupt from inside another
123 * interrupt handler.
124 */
125#if !defined(__ARM_EABI__)
126/* Hack to treat FPE time as interrupt time so we can measure it */
127#define CLKF_INTR(cf) \
128 ((curcpu()->ci_intr_depth > 1) || \
129 ((cf)->cf_tf.tf_spsr & PSR_MODE) == PSR_UND32_MODE)
130#else
131#define CLKF_INTR(cf) ((void)(cf), curcpu()->ci_intr_depth > 1)
132#endif
133
134/*
135 * CLKF_PC: Extract the program counter from a clockframe
136 */
137#define CLKF_PC(frame) (frame->cf_tf.tf_pc)
138
139/*
140 * LWP_PC: Find out the program counter for the given lwp.
141 */
142#define LWP_PC(l) (lwp_trapframe(l)->tf_pc)
143
144/*
145 * Per-CPU information. For now we assume one CPU.
146 */
147#ifdef _KERNEL
148static inline int curcpl(void);
149static inline void set_curcpl(int);
150static inline void cpu_dosoftints(void);
151#endif
152
153#include <sys/param.h>
154
155#ifdef _KMEMUSER
156#include <sys/intr.h>
157#endif
158#include <sys/atomic.h>
159#include <sys/cpu_data.h>
160#include <sys/device_if.h>
161#include <sys/evcnt.h>
162
163/*
164 * Cache info variables.
165 */
166#define CACHE_TYPE_VIVT 0
167#define CACHE_TYPE_xxPT 1
168#define CACHE_TYPE_VIPT 1
169#define CACHE_TYPE_PIxx 2
170#define CACHE_TYPE_PIPT 3
171
172/* PRIMARY CACHE VARIABLES */
173struct arm_cache_info {
174 u_int icache_size;
175 u_int icache_line_size;
176 u_int icache_ways;
177 u_int icache_way_size;
178 u_int icache_sets;
179
180 u_int dcache_size;
181 u_int dcache_line_size;
182 u_int dcache_ways;
183 u_int dcache_way_size;
184 u_int dcache_sets;
185
186 uint8_t cache_type;
187 bool cache_unified;
188 uint8_t icache_type;
189 uint8_t dcache_type;
190};
191
192struct cpu_info {
193 struct cpu_data ci_data; /* MI per-cpu data */
194 device_t ci_dev; /* Device corresponding to this CPU */
195 cpuid_t ci_cpuid;
196 uint32_t ci_arm_cpuid; /* aggregate CPU id */
197 uint32_t ci_arm_cputype; /* CPU type */
198 uint32_t ci_arm_cpurev; /* CPU revision */
199 uint32_t ci_ctrl; /* The CPU control register */
200
201 /*
202 * the following are in their own cache line, as they are stored to
203 * regularly by remote CPUs; when they were mixed with other fields
204 * we observed frequent cache misses.
205 */
206 int ci_want_resched __aligned(COHERENCY_UNIT);
207 /* resched() was called */
208 lwp_t * ci_curlwp __aligned(COHERENCY_UNIT);
209 /* current lwp */
210 lwp_t * ci_onproc; /* current user LWP / kthread */
211
212 /*
213 * largely CPU-private.
214 */
215 lwp_t * ci_softlwps[SOFTINT_COUNT] __aligned(COHERENCY_UNIT);
216
217 struct cpu_softc *
218 ci_softc; /* platform softc */
219
220 int ci_cpl; /* current processor level (spl) */
221 volatile int ci_hwpl; /* current hardware priority */
222 int ci_kfpu_spl;
223
224 volatile u_int ci_intr_depth; /* */
225 volatile u_int ci_softints;
226 volatile uint32_t ci_blocked_pics;
227 volatile uint32_t ci_pending_pics;
228 volatile uint32_t ci_pending_ipls;
229
230 lwp_t * ci_lastlwp; /* last lwp */
231
232 struct evcnt ci_arm700bugcount;
233 int32_t ci_mtx_count;
234 int ci_mtx_oldspl;
235 register_t ci_undefsave[3];
236 uint32_t ci_vfp_id;
237 uint64_t ci_lastintr;
238
239 struct pmap_tlb_info *
240 ci_tlb_info;
241 struct pmap * ci_pmap_lastuser;
242 struct pmap * ci_pmap_cur;
243 tlb_asid_t ci_pmap_asid_cur;
244
245 struct trapframe *
246 ci_ddb_regs;
247
248 struct evcnt ci_abt_evs[16];
249 struct evcnt ci_und_ev;
250 struct evcnt ci_und_cp15_ev;
251 struct evcnt ci_vfp_evs[3];
252
253 uint32_t ci_midr;
254 uint32_t ci_actlr;
255 uint32_t ci_revidr;
256 uint32_t ci_mpidr;
257 uint32_t ci_mvfr[2];
258
259 uint32_t ci_capacity_dmips_mhz;
260
261 struct arm_cache_info
262 ci_cacheinfo;
263
264#if defined(GPROF) && defined(MULTIPROCESSOR)
265 struct gmonparam *ci_gmon; /* MI per-cpu GPROF */
266#endif
267};
268
269extern struct cpu_info cpu_info_store[];
270
271struct lwp *arm_curlwp(void);
272struct cpu_info *arm_curcpu(void);
273
274#ifdef _KERNEL
275#if defined(_MODULE)
276
277#define curlwp arm_curlwp()
278#define curcpu() arm_curcpu()
279
280#elif defined(TPIDRPRW_IS_CURLWP)
281static inline struct lwp *
282_curlwp(void)
283{
284 return (struct lwp *) armreg_tpidrprw_read();
285}
286
287static inline void
288_curlwp_set(struct lwp *l)
289{
290 armreg_tpidrprw_write((uintptr_t)l);
291}
292
293// Also in <sys/lwp.h> but also here if this was included before <sys/lwp.h>
294static inline struct cpu_info *lwp_getcpu(struct lwp *);
295
296#define curlwp _curlwp()
297// curcpu() expands into two instructions: a mrc and a ldr
298#define curcpu() lwp_getcpu(_curlwp())
299#elif defined(TPIDRPRW_IS_CURCPU)
300#ifdef __HAVE_PREEMPTION
301#error __HAVE_PREEMPTION requires TPIDRPRW_IS_CURLWP
302#endif
303static inline struct cpu_info *
304curcpu(void)
305{
306 return (struct cpu_info *) armreg_tpidrprw_read();
307}
308#elif !defined(MULTIPROCESSOR)
309#define curcpu() (&cpu_info_store[0])
310#elif !defined(__HAVE_PREEMPTION)
311#error MULTIPROCESSOR && !__HAVE_PREEMPTION requires TPIDRPRW_IS_CURCPU or TPIDRPRW_IS_CURLWP
312#else
313#error MULTIPROCESSOR && __HAVE_PREEMPTION requires TPIDRPRW_IS_CURLWP
314#endif /* !TPIDRPRW_IS_CURCPU && !TPIDRPRW_IS_CURLWP */
315
316#ifndef curlwp
317#define curlwp (curcpu()->ci_curlwp)
318#endif
319#define curpcb ((struct pcb *)lwp_getpcb(curlwp))
320
321#define CPU_INFO_ITERATOR int
322#if defined(_MODULE) || defined(MULTIPROCESSOR)
323extern struct cpu_info *cpu_info[];
324#define cpu_number() (curcpu()->ci_index)
325#define CPU_IS_PRIMARY(ci) ((ci)->ci_index == 0)
326#define CPU_INFO_FOREACH(cii, ci) \
327 cii = 0, ci = cpu_info[0]; cii < (ncpu ? ncpu : 1) && (ci = cpu_info[cii]) != NULL; cii++
328#else
329#define cpu_number() 0
330
331#define CPU_IS_PRIMARY(ci) true
332#define CPU_INFO_FOREACH(cii, ci) \
333 cii = 0, __USE(cii), ci = curcpu(); ci != NULL; ci = NULL
334#endif
335
336#define LWP0_CPU_INFO (&cpu_info_store[0])
337
338static inline int
339curcpl(void)
340{
341 return curcpu()->ci_cpl;
342}
343
344static inline void
345set_curcpl(int pri)
346{
347 curcpu()->ci_cpl = pri;
348}
349
350static inline void
351cpu_dosoftints(void)
352{
353#ifdef __HAVE_FAST_SOFTINTS
354 void dosoftints(void);
355#ifndef __HAVE_PIC_FAST_SOFTINTS
356 struct cpu_info * const ci = curcpu();
357 if (ci->ci_intr_depth == 0 && (ci->ci_softints >> ci->ci_cpl) > 0)
358 dosoftints();
359#endif
360#endif
361}
362
363/*
364 * Scheduling glue
365 */
366void cpu_signotify(struct lwp *);
367#define setsoftast(ci) (cpu_signotify((ci)->ci_onproc))
368
369/*
370 * Give a profiling tick to the current process when the user profiling
371 * buffer pages are invalid. On the i386, request an ast to send us
372 * through trap(), marking the proc as needing a profiling tick.
373 */
374#define cpu_need_proftick(l) ((l)->l_pflag |= LP_OWEUPC, \
375 setsoftast(lwp_getcpu(l)))
376
377/*
378 * We've already preallocated the stack for the idlelwps for additional CPUs.
379 * This hook allows to return them.
380 */
381vaddr_t cpu_uarea_alloc_idlelwp(struct cpu_info *);
382
383#ifdef _ARM_ARCH_6
384int cpu_maxproc_hook(int);
385#endif
386
387#endif /* _KERNEL */
388
389#endif /* !_LOCORE */
390
391#endif /* _KERNEL || _KMEMUSER */
392
393#elif defined(__aarch64__)
394
395#include <aarch64/cpu.h>
396
397#endif /* __arm__/__aarch64__ */
398
399#endif /* !_ARM_CPU_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/disklabel.h deleted-105
......@@ -1,105 +0,0 @@
1/* $NetBSD: disklabel.h,v 1.14 2022/05/24 19:37:39 andvar Exp $ */
2
3/*
4 * Copyright (c) 1994 Mark Brinicombe.
5 * Copyright (c) 1994 Brini.
6 * All rights reserved.
7 *
8 * This code is derived from software written for Brini by Mark Brinicombe
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by Brini.
21 * 4. The name of the company nor the name of the author may be used to
22 * endorse or promote products derived from this software without specific
23 * prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
26 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28 * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
29 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 * SUCH DAMAGE.
36 *
37 * RiscBSD kernel project
38 *
39 * disklabel.h
40 *
41 * machine specific disk label info
42 *
43 * Created : 04/10/94
44 */
45
46#ifndef _ARM_DISKLABEL_H_
47#define _ARM_DISKLABEL_H_
48
49#ifndef LABELUSESMBR
50#define LABELUSESMBR 1 /* use MBR partitionning */
51#endif
52#define LABELSECTOR 1 /* sector containing label */
53#define LABELOFFSET 0 /* offset of label in sector */
54#define MAXPARTITIONS 16 /* number of partitions */
55#define OLDMAXPARTITIONS 8 /* old number of partitions */
56#ifndef RAW_PART
57#define RAW_PART 2 /* raw partition: XX?c */
58#endif
59
60
61#ifdef __HAVE_OLD_DISKLABEL
62/*
63 * We use the highest bit of the minor number for the partition number.
64 * This maintains backward compatibility with device nodes created before
65 * MAXPARTITIONS was increased.
66 */
67#define __ARM_MAXDISKS ((1 << 20) / MAXPARTITIONS)
68#define DISKUNIT(dev) ((minor(dev) / OLDMAXPARTITIONS) % __ARM_MAXDISKS)
69#define DISKPART(dev) ((minor(dev) % OLDMAXPARTITIONS) + \
70 ((minor(dev) / (__ARM_MAXDISKS * OLDMAXPARTITIONS)) * OLDMAXPARTITIONS))
71#define DISKMINOR(unit, part) \
72 (((unit) * OLDMAXPARTITIONS) + ((part) % OLDMAXPARTITIONS) + \
73 ((part) / OLDMAXPARTITIONS) * (__ARM_MAXDISKS * OLDMAXPARTITIONS))
74#endif
75
76#if HAVE_NBTOOL_CONFIG_H
77#include <nbinclude/sys/dkbad.h>
78#include <nbinclude/sys/disklabel_acorn.h>
79#include <nbinclude/sys/bootblock.h>
80#else
81#include <sys/dkbad.h>
82#include <sys/disklabel_acorn.h>
83#include <sys/bootblock.h>
84#endif /* HAVE_NBTOOL_CONFIG_H */
85
86struct cpu_disklabel {
87 struct mbr_partition mbrparts[MBR_PART_COUNT];
88#define __HAVE_DISKLABEL_DKBAD
89 struct dkbad bad;
90};
91
92#ifdef _KERNEL
93struct buf;
94struct disklabel;
95
96/* for readdisklabel. rv != 0 -> matches, msg == NULL -> success */
97int mbr_label_read(dev_t, void (*)(struct buf *), struct disklabel *,
98 struct cpu_disklabel *, const char **, int *, int *);
99
100/* for writedisklabel. rv == 0 -> doesn't match, rv > 0 -> success */
101int mbr_label_locate(dev_t, void (*)(struct buf *),
102 struct disklabel *, struct cpu_disklabel *, int *, int *);
103#endif /* _KERNEL */
104
105#endif /* _ARM_DISKLABEL_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/elf_machdep.h deleted-163
......@@ -1,163 +0,0 @@
1/* $NetBSD: elf_machdep.h,v 1.19 2017/11/06 03:47:45 christos Exp $ */
2
3#ifndef _ARM_ELF_MACHDEP_H_
4#define _ARM_ELF_MACHDEP_H_
5
6#if defined(__ARMEB__)
7#define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB
8#else
9#define ELF32_MACHDEP_ENDIANNESS ELFDATA2LSB
10#endif
11
12#define ELF64_MACHDEP_ENDIANNESS XXX /* break compilation */
13#define ELF64_MACHDEP_ID_CASES \
14 /* no 64-bit ELF machine types supported */
15
16/* Processor specific flags for the ELF header e_flags field. */
17#define EF_ARM_RELEXEC 0x00000001
18#define EF_ARM_HASENTRY 0x00000002
19#define EF_ARM_INTERWORK 0x00000004 /* GNU binutils 000413 */
20#define EF_ARM_SYMSARESORTED 0x00000004 /* ARM ELF A08 */
21#define EF_ARM_APCS_26 0x00000008 /* GNU binutils 000413 */
22#define EF_ARM_DYNSYMSUSESEGIDX 0x00000008 /* ARM ELF B01 */
23#define EF_ARM_APCS_FLOAT 0x00000010 /* GNU binutils 000413 */
24#define EF_ARM_MAPSYMSFIRST 0x00000010 /* ARM ELF B01 */
25#define EF_ARM_PIC 0x00000020
26#define EF_ARM_ALIGN8 0x00000040 /* 8-bit structure alignment. */
27#define EF_ARM_NEW_ABI 0x00000080
28#define EF_ARM_OLD_ABI 0x00000100
29#define EF_ARM_SOFT_FLOAT 0x00000200
30#define EF_ARM_BE8 0x00800000
31#define EF_ARM_EABIMASK 0xff000000
32#define EF_ARM_EABI_VER1 0x01000000
33#define EF_ARM_EABI_VER2 0x02000000
34#define EF_ARM_EABI_VER3 0x03000000
35#define EF_ARM_EABI_VER4 0x04000000
36#define EF_ARM_EABI_VER5 0x05000000
37
38#define ELF32_MACHDEP_ID_CASES \
39 case EM_ARM: \
40 break;
41
42#define ELF32_MACHDEP_ID EM_ARM
43
44#define KERN_ELFSIZE 32
45#define ARCH_ELFSIZE 32 /* MD native binary size */
46
47/* Processor specific relocation types */
48
49#define R_ARM_NONE 0
50#define R_ARM_PC24 1
51#define R_ARM_ABS32 2
52#define R_ARM_REL32 3
53#define R_ARM_PC13 4
54#define R_ARM_ABS16 5
55#define R_ARM_ABS12 6
56#define R_ARM_THM_ABS5 7
57#define R_ARM_ABS8 8
58#define R_ARM_SBREL32 9
59#define R_ARM_THM_PC22 10
60#define R_ARM_THM_PC8 11
61#define R_ARM_AMP_VCALL9 12
62#define R_ARM_SWI24 13
63#define R_ARM_THM_SWI8 14
64#define R_ARM_XPC25 15
65#define R_ARM_THM_XPC22 16
66
67/* TLS relocations */
68#define R_ARM_TLS_DTPMOD32 17 /* ID of module containing symbol */
69#define R_ARM_TLS_DTPOFF32 18 /* Offset in TLS block */
70#define R_ARM_TLS_TPOFF32 19 /* Offset in static TLS block */
71
72/* 20-31 are reserved for ARM Linux. */
73#define R_ARM_COPY 20
74#define R_ARM_GLOB_DAT 21
75#define R_ARM_JUMP_SLOT 22
76#define R_ARM_RELATIVE 23
77#define R_ARM_GOTOFF 24
78#define R_ARM_GOTPC 25
79#define R_ARM_GOT32 26
80#define R_ARM_PLT32 27
81#define R_ARM_CALL 28
82#define R_ARM_JUMP24 29
83#define R_ARM_THM_JUMP24 30
84#define R_ARM_BASE_ABS 31
85#define R_ARM_ALU_PCREL_7_0 32
86#define R_ARM_ALU_PCREL_15_8 33
87#define R_ARM_ALU_PCREL_23_15 34
88#define R_ARM_ALU_SBREL_11_0 35
89#define R_ARM_ALU_SBREL_19_12 36
90#define R_ARM_ALU_SBREL_27_20 37 // depcreated
91#define R_ARM_TARGET1 38
92#define R_ARM_SBREL31 39 // deprecated
93#define R_ARM_V4BX 40
94#define R_ARM_TARGET2 41
95#define R_ARM_PREL31 42
96#define R_ARM_MOVW_ABS_NC 43
97#define R_ARM_MOVT_ABS 44
98#define R_ARM_MOVW_PREL_NC 45
99#define R_ARM_MOVT_PREL 46
100#define R_ARM_THM_MOVW_ABS_NC 47
101#define R_ARM_THM_MOVT_ABS 48
102#define R_ARM_THM_MOVW_PREL_NC 49
103#define R_ARM_THM_MOVT_PREL 50
104
105/* 96-111 are reserved to G++. */
106#define R_ARM_GNU_VTENTRY 100
107#define R_ARM_GNU_VTINHERIT 101
108#define R_ARM_THM_PC11 102
109#define R_ARM_THM_PC9 103
110
111/* More TLS relocations */
112#define R_ARM_TLS_GD32 104 /* PC-rel 32 bit for global dynamic */
113#define R_ARM_TLS_LDM32 105 /* PC-rel 32 bit for local dynamic */
114#define R_ARM_TLS_LDO32 106 /* 32 bit offset relative to TLS */
115#define R_ARM_TLS_IE32 107 /* PC-rel 32 bit for GOT entry of */
116#define R_ARM_TLS_LE32 108
117#define R_ARM_TLS_LDO12 109
118#define R_ARM_TLS_LE12 110
119#define R_ARM_TLS_IE12GP 111
120
121/* 112-127 are reserved for private experiments. */
122
123#define R_ARM_IRELATIVE 160
124
125#define R_ARM_RXPC25 249
126#define R_ARM_RSBREL32 250
127#define R_ARM_THM_RPC22 251
128#define R_ARM_RREL32 252
129#define R_ARM_RABS32 253
130#define R_ARM_RPC24 254
131#define R_ARM_RBASE 255
132
133#define R_TYPE(name) __CONCAT(R_ARM_,name)
134
135/* Processor specific program header flags */
136#define PF_ARM_SB 0x10000000
137#define PF_ARM_PI 0x20000000
138#define PF_ARM_ENTRY 0x80000000
139
140/* Processor specific program header types */
141#define PT_ARM_EXIDX (PT_LOPROC + 1)
142
143/* Processor specific section header flags */
144#define SHF_ENTRYSECT 0x10000000
145#define SHF_COMDEF 0x80000000
146
147/* Processor specific symbol types */
148#define STT_ARM_TFUNC STT_LOPROC
149
150#ifdef _KERNEL
151#ifdef ELFSIZE
152#define ELF_MD_PROBE_FUNC ELFNAME2(arm_netbsd,probe)
153#define ELF_MD_COREDUMP_SETUP ELFNAME2(arm_netbsd,coredump_setup)
154#endif
155
156struct exec_package;
157
158int arm_netbsd_elf32_probe(struct lwp *, struct exec_package *, void *, char *,
159 vaddr_t *);
160void arm_netbsd_elf32_coredump_setup(struct lwp *, void *);
161#endif
162
163#endif /* _ARM_ELF_MACHDEP_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/endian.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: endian.h,v 1.3 2001/06/23 12:20:27 bjh21 Exp $ */
2
3#include <sys/endian.h>
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/endian_machdep.h deleted-8
......@@ -1,8 +0,0 @@
1/* $NetBSD: endian_machdep.h,v 1.9 2014/01/29 01:03:13 matt Exp $ */
2
3/* __ARMEB__ or __AARCH64EB__ is predefined when building big-endian ARM. */
4#if defined(__ARMEB__) || defined(__AARCH64EB__)
5#define _BYTE_ORDER _BIG_ENDIAN
6#else
7#define _BYTE_ORDER _LITTLE_ENDIAN
8#endif
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/fenv.h deleted-67
......@@ -1,67 +0,0 @@
1/* $NetBSD: fenv.h,v 1.6 2021/10/06 05:33:15 skrll Exp $ */
2
3/*
4 * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
5 * Public domain.
6 */
7
8#ifndef _ARM_FENV_H_
9#define _ARM_FENV_H_
10
11#include <sys/cdefs.h>
12
13#ifdef __ARM_PCS_AAPCS64
14/* AArch64 split FPSCR into two registers FPCR and FPSR */
15typedef struct {
16 unsigned int __fpcr;
17 unsigned int __fpsr;
18} fenv_t;
19#else
20typedef int fenv_t; /* FPSCR */
21#endif
22typedef int fexcept_t;
23
24#define FE_INVALID 0x01 /* invalid operation exception */
25#define FE_DIVBYZERO 0x02 /* divide-by-zero exception */
26#define FE_OVERFLOW 0x04 /* overflow exception */
27#define FE_UNDERFLOW 0x08 /* underflow exception */
28#define FE_INEXACT 0x10 /* imprecise (loss of precision; "inexact") */
29
30#define FE_ALL_EXCEPT 0x1f
31
32#define FE_TONEAREST 0 /* round to nearest representable number */
33#define FE_UPWARD 1 /* round toward positive infinity */
34#define FE_DOWNWARD 2 /* round toward negative infinity */
35#define FE_TOWARDZERO 3 /* round to zero (truncate) */
36
37#ifdef __SOFTFP__
38
39/*
40 * Provide a platform-specific softfloat ABI.
41 */
42
43#include <arm/vfpreg.h>
44
45#define __FENV_GET_FLAGS(__envp) __SHIFTOUT(*(__envp), VFP_FPSCR_CSUM)
46#define __FENV_GET_MASK(__envp) __SHIFTOUT(*(__envp), VFP_FPSCR_ESUM)
47#define __FENV_GET_ROUND(__envp) __SHIFTOUT(*(__envp), VFP_FPSCR_RMODE)
48#define __FENV_SET_FLAGS(__envp, __val) \
49 *(__envp) = __SHIFTIN((__val), VFP_FPSCR_CSUM)
50#define __FENV_SET_MASK(__envp, __val) \
51 *(__envp) = __SHIFTIN((__val), VFP_FPSCR_ESUM)
52#define __FENV_SET_ROUND(__envp, __val) \
53 *(__envp) = __SHIFTIN((__val), VFP_FPSCR_RMODE)
54
55#define __HAVE_FENV_SOFTFLOAT_DEFS
56
57#endif /* __SOFTFP__ */
58
59__BEGIN_DECLS
60
61/* Default floating-point environment */
62extern const fenv_t __fe_dfl_env;
63#define FE_DFL_ENV (&__fe_dfl_env)
64
65__END_DECLS
66
67#endif /* _ARM_FENV_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/float.h deleted-63
......@@ -1,63 +0,0 @@
1/* $NetBSD: float.h,v 1.8 2014/01/29 01:10:36 matt Exp $ */
2
3/*-
4 * Copyright (c) 2014 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Matt Thomas of 3am Software Foundry.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_FLOAT_H_
33#define _ARM_FLOAT_H_
34
35#include <sys/cdefs.h>
36
37#ifdef __ARM_PCS_AAPCS64
38
39#define LDBL_MANT_DIG __LDBL_MANT_DIG__
40#define LDBL_DIG __LDBL_DIG__
41#define LDBL_MIN_EXP __LDBL_MIN_EXP__
42#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
43#define LDBL_MAX_EXP __LDBL_MAX_EXP__
44#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
45#define LDBL_EPSILON __LDBL_EPSILON__
46#define LDBL_MIN __LDBL_MIN__
47#define LDBL_MAX __LDBL_MAX__
48
49#endif /* __ARM_PCS_AAPCS64 */
50
51#include <sys/float_ieee754.h>
52
53#if defined(__ARM_PCS_AAPCS64) \
54 && ((!defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) \
55 && !defined(_XOPEN_SOURCE)) \
56 || (__STDC_VERSION__ - 0) >= 199901L \
57 || (_POSIX_C_SOURCE - 0) >= 200112L \
58 || ((_XOPEN_SOURCE - 0) >= 600) \
59 || defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE))
60#define DECIMAL_DIG __DECIMAL_DIG__
61#endif /* __ARM_PCS_AAPCS64 && ... */
62
63#endif /* !_ARM_FLOAT_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/frame.h deleted-130
......@@ -1,130 +0,0 @@
1/* $NetBSD: frame.h,v 1.23 2022/04/02 11:16:07 skrll Exp $ */
2
3/*
4 * Copyright (c) 1994-1997 Mark Brinicombe.
5 * Copyright (c) 1994 Brini.
6 * All rights reserved.
7 *
8 * This code is derived from software written for Brini by Mark Brinicombe
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by Brini.
21 * 4. The name of the company nor the name of the author may be used to
22 * endorse or promote products derived from this software without specific
23 * prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
26 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28 * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
29 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 * SUCH DAMAGE.
36 */
37/*
38 * arm/frame.h - Stack frames structures
39 */
40
41#ifndef _ARM_FRAME_H_
42#define _ARM_FRAME_H_
43
44#ifndef _LOCORE
45
46#include <sys/signal.h>
47#include <sys/ucontext.h>
48
49/*
50 * Trap frame. Pushed onto the kernel stack on a trap (synchronous exception).
51 */
52
53typedef struct trapframe {
54 register_t tf_spsr;
55 register_t tf_fill; /* fill here so r0 will be dword aligned */
56 register_t tf_r0;
57 register_t tf_r1;
58 register_t tf_r2;
59 register_t tf_r3;
60 register_t tf_r4;
61 register_t tf_r5;
62 register_t tf_r6;
63 register_t tf_r7;
64 register_t tf_r8;
65 register_t tf_r9;
66 register_t tf_r10;
67 register_t tf_r11;
68 register_t tf_r12;
69 register_t tf_usr_sp;
70 register_t tf_usr_lr;
71 register_t tf_svc_sp;
72 register_t tf_svc_lr;
73 register_t tf_pc;
74} trapframe_t;
75
76/* Register numbers */
77#define tf_ip tf_r12
78#define tf_r13 tf_usr_sp
79#define tf_r14 tf_usr_lr
80#define tf_r15 tf_pc
81
82#define TRAP_USERMODE(tf) (((tf)->tf_spsr & PSR_MODE) == PSR_USR32_MODE)
83
84#define FB_R4 0
85#define FB_R5 1
86#define FB_R6 2
87#define FB_R7 3
88#define FB_R8 4
89#define FB_R9 5
90#define FB_R10 6
91#define FB_R11 7
92#define FB_R12 8
93#define FB_R13 9
94#define FB_R14 10
95#define FB_MAX 11
96struct faultbuf {
97 register_t fb_reg[FB_MAX];
98};
99
100/*
101 * Signal frame. Pushed onto user stack before calling sigcode.
102 */
103#ifdef COMPAT_16
104struct sigframe_sigcontext {
105 struct sigcontext sf_sc;
106};
107#endif
108
109/* the pointers are use in the trampoline code to locate the ucontext */
110struct sigframe_siginfo {
111 siginfo_t sf_si; /* actual saved siginfo */
112 ucontext_t sf_uc; /* actual saved ucontext */
113};
114
115#if defined(_KERNEL) || defined(_KMEMUSER)
116#ifdef _KERNEL
117__BEGIN_DECLS
118void sendsig_sigcontext(const ksiginfo_t *, const sigset_t *);
119void *getframe(struct lwp *, int, int *);
120__END_DECLS
121#define lwp_settrapframe(l, tf) ((l)->l_md.md_tf = (tf))
122#endif
123#define lwp_trapframe(l) ((l)->l_md.md_tf)
124#endif /* _KERNEL || _KMEMUSER */
125
126#endif /* _LOCORE */
127
128#endif /* _ARM_FRAME_H_ */
129
130/* End of frame.h */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/ieee.h deleted-4
......@@ -1,4 +0,0 @@
1/* $NetBSD: ieee.h,v 1.11 2014/01/31 19:38:06 matt Exp $ */
2
3#include <arm/math.h> /* for #define __HAVE_LONG_DOUBLE 128 */
4#include <sys/ieee754.h>
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/ieeefp.h deleted-50
......@@ -1,50 +0,0 @@
1/* $NetBSD: ieeefp.h,v 1.5 2021/10/06 05:33:15 skrll Exp $ */
2
3/*
4 * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
5 * Public domain.
6 */
7
8#ifndef _ARM_IEEEFP_H_
9#define _ARM_IEEEFP_H_
10
11#include <sys/featuretest.h>
12
13#if defined(_NETBSD_SOURCE) || defined(_ISOC99_SOURCE)
14
15#include <arm/fenv.h>
16
17#if !defined(_ISOC99_SOURCE)
18
19/* Exception type (used by fpsetmask() et al.) */
20
21typedef int fp_except;
22
23/* adjust for FP_* and FE_* value differences */
24#define __FPE(x) (x)
25#define __FEE(x) (x)
26#define __FPR(x) (x)
27#define __FER(x) (x)
28
29/* Bit defines for fp_except */
30
31#define FP_X_INV FE_INVALID /* invalid operation exception */
32#define FP_X_DZ FE_DIVBYZERO /* divide-by-zero exception */
33#define FP_X_OFL FE_OVERFLOW /* overflow exception */
34#define FP_X_UFL FE_UNDERFLOW /* underflow exception */
35#define FP_X_IMP FE_INEXACT /* imprecise (prec. loss; "inexact") */
36
37/* Rounding modes */
38
39typedef enum {
40 FP_RN=FE_TONEAREST, /* round to nearest representable number */
41 FP_RP=FE_UPWARD, /* round toward positive infinity */
42 FP_RM=FE_DOWNWARD, /* round toward negative infinity */
43 FP_RZ=FE_TOWARDZERO /* round to zero (truncate) */
44} fp_rnd;
45
46#endif /* !_ISOC99_SOURCE */
47
48#endif /* _NETBSD_SOURCE || _ISOC99_SOURCE */
49
50#endif /* _ARM_IEEEFP_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/int_const.h deleted-74
......@@ -1,74 +0,0 @@
1/* $NetBSD: int_const.h,v 1.5 2018/08/10 17:05:22 jakllsch Exp $ */
2
3/*-
4 * Copyright (c) 2001 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Klaus Klein.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_INT_CONST_H_
33#define _ARM_INT_CONST_H_
34
35#ifdef __INTMAX_C_SUFFIX__
36#include <sys/common_int_const.h>
37#else
38/*
39 * 7.18.4 Macros for integer constants
40 */
41
42/* 7.18.4.1 Macros for minimum-width integer constants */
43
44#define INT8_C(c) c
45#define INT16_C(c) c
46#define INT32_C(c) c
47#ifdef _LP64
48#define INT64_C(c) c ## L
49#else
50#define INT64_C(c) c ## LL
51#endif
52
53#define UINT8_C(c) c
54#define UINT16_C(c) c
55#define UINT32_C(c) c ## U
56#ifdef _LP64
57#define UINT64_C(c) c ## UL
58#else
59#define UINT64_C(c) c ## ULL
60#endif
61
62/* 7.18.4.2 Macros for greatest-width integer constants */
63
64#ifdef _LP64
65#define INTMAX_C(c) c ## L
66#define UINTMAX_C(c) c ## UL
67#else
68#define INTMAX_C(c) c ## LL
69#define UINTMAX_C(c) c ## ULL
70#endif
71
72#endif /* !__INTMAX_C_SUFFIX__ */
73
74#endif /* !_ARM_INT_CONST_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/int_fmtio.h deleted-359
......@@ -1,359 +0,0 @@
1/* $NetBSD: int_fmtio.h,v 1.10 2018/07/15 00:36:13 christos Exp $ */
2
3/*-
4 * Copyright (c) 2001 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Klaus Klein.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_INT_FMTIO_H_
33#define _ARM_INT_FMTIO_H_
34
35#ifdef __INTPTR_FMTd__
36#include <sys/common_int_fmtio.h>
37#else
38/*
39 * 7.8.1 Macros for format specifiers
40 */
41
42/* fprintf macros for signed integers */
43#define PRId8 "d" /* int8_t */
44#define PRId16 "d" /* int16_t */
45#define PRId32 "d" /* int32_t */
46#if defined(__clang__) || !defined(_LP64)
47#define PRId64 "lld" /* int64_t */
48#else
49#define PRId64 "ld" /* int64_t */
50#endif
51#define PRIdLEAST8 "d" /* int_least8_t */
52#define PRIdLEAST16 "d" /* int_least16_t */
53#define PRIdLEAST32 "d" /* int_least32_t */
54#if defined(__clang__) || !defined(_LP64)
55#define PRIdLEAST64 "lld" /* int_least64_t */
56#else
57#define PRIdLEAST64 "ld" /* int_least64_t */
58#endif
59#define PRIdFAST8 "d" /* int_fast8_t */
60#define PRIdFAST16 "d" /* int_fast16_t */
61#define PRIdFAST32 "d" /* int_fast32_t */
62#if defined(__clang__) || !defined(_LP64)
63#define PRIdFAST64 "lld" /* int_fast64_t */
64#define PRIdMAX "lld" /* intmax_t */
65#else
66#define PRIdFAST64 "ld" /* int_fast64_t */
67#define PRIdMAX "ld" /* intmax_t */
68#endif
69#define PRIdPTR "ld" /* intptr_t */
70
71#define PRIi8 "i" /* int8_t */
72#define PRIi16 "i" /* int16_t */
73#define PRIi32 "i" /* int32_t */
74#if defined(__clang__) || !defined(_LP64)
75#define PRIi64 "lli" /* int64_t */
76#else
77#define PRIi64 "li" /* int64_t */
78#endif
79#define PRIiLEAST8 "i" /* int_least8_t */
80#define PRIiLEAST16 "i" /* int_least16_t */
81#define PRIiLEAST32 "i" /* int_least32_t */
82#if defined(__clang__) || !defined(_LP64)
83#define PRIiLEAST64 "lli" /* int_least64_t */
84#else
85#define PRIiLEAST64 "li" /* int_least64_t */
86#endif
87#define PRIiFAST8 "i" /* int_fast8_t */
88#define PRIiFAST16 "i" /* int_fast16_t */
89#define PRIiFAST32 "i" /* int_fast32_t */
90#if defined(__clang__) || !defined(_LP64)
91#define PRIiFAST64 "lli" /* int_fast64_t */
92#define PRIiMAX "lli" /* intmax_t */
93#else
94#define PRIiFAST64 "li" /* int_fast64_t */
95#define PRIiMAX "li" /* intmax_t */
96#endif
97#define PRIiPTR "li" /* intptr_t */
98
99/* fprintf macros for unsigned integers */
100
101#define PRIo8 "o" /* uint8_t */
102#define PRIo16 "o" /* uint16_t */
103#define PRIo32 "o" /* uint32_t */
104#if defined(__clang__) || !defined(_LP64)
105#define PRIo64 "llo" /* uint64_t */
106#else
107#define PRIo64 "lo" /* uint64_t */
108#endif
109#define PRIoLEAST8 "o" /* uint_least8_t */
110#define PRIoLEAST16 "o" /* uint_least16_t */
111#define PRIoLEAST32 "o" /* uint_least32_t */
112#if defined(__clang__) || !defined(_LP64)
113#define PRIoLEAST64 "llo" /* uint_least64_t */
114#else
115#define PRIoLEAST64 "lo" /* uint_least64_t */
116#endif
117#define PRIoFAST8 "o" /* uint_fast8_t */
118#define PRIoFAST16 "o" /* uint_fast16_t */
119#define PRIoFAST32 "o" /* uint_fast32_t */
120#if defined(__clang__) || !defined(_LP64)
121#define PRIoFAST64 "llo" /* uint_fast64_t */
122#define PRIoMAX "llo" /* uintmax_t */
123#else
124#define PRIoFAST64 "lo" /* uint_fast64_t */
125#define PRIoMAX "lo" /* uintmax_t */
126#endif
127#define PRIoPTR "lo" /* uintptr_t */
128
129#define PRIu8 "u" /* uint8_t */
130#define PRIu16 "u" /* uint16_t */
131#define PRIu32 "u" /* uint32_t */
132#if defined(__clang__) || !defined(_LP64)
133#define PRIu64 "llu" /* uint64_t */
134#else
135#define PRIu64 "lu" /* uint64_t */
136#endif
137#define PRIuLEAST8 "u" /* uint_least8_t */
138#define PRIuLEAST16 "u" /* uint_least16_t */
139#define PRIuLEAST32 "u" /* uint_least32_t */
140#if defined(__clang__) || !defined(_LP64)
141#define PRIuLEAST64 "llu" /* uint_least64_t */
142#else
143#define PRIuLEAST64 "lu" /* uint_least64_t */
144#endif
145#define PRIuFAST8 "u" /* uint_fast8_t */
146#define PRIuFAST16 "u" /* uint_fast16_t */
147#define PRIuFAST32 "u" /* uint_fast32_t */
148#if defined(__clang__) || !defined(_LP64)
149#define PRIuFAST64 "llu" /* uint_fast64_t */
150#define PRIuMAX "llu" /* uintmax_t */
151#else
152#define PRIuFAST64 "lu" /* uint_fast64_t */
153#define PRIuMAX "lu" /* uintmax_t */
154#endif
155#define PRIuPTR "lu" /* uintptr_t */
156
157#define PRIx8 "x" /* uint8_t */
158#define PRIx16 "x" /* uint16_t */
159#define PRIx32 "x" /* uint32_t */
160#if defined(__clang__) || !defined(_LP64)
161#define PRIx64 "llx" /* uint64_t */
162#else
163#define PRIx64 "lx" /* uint64_t */
164#endif
165#define PRIxLEAST8 "x" /* uint_least8_t */
166#define PRIxLEAST16 "x" /* uint_least16_t */
167#define PRIxLEAST32 "x" /* uint_least32_t */
168#if defined(__clang__) || !defined(_LP64)
169#define PRIxLEAST64 "llx" /* uint_least64_t */
170#else
171#define PRIxLEAST64 "lx" /* uint_least64_t */
172#endif
173#define PRIxFAST8 "x" /* uint_fast8_t */
174#define PRIxFAST16 "x" /* uint_fast16_t */
175#define PRIxFAST32 "x" /* uint_fast32_t */
176#if defined(__clang__) || !defined(_LP64)
177#define PRIxFAST64 "llx" /* uint_fast64_t */
178#define PRIxMAX "llx" /* uintmax_t */
179#else
180#define PRIxFAST64 "lx" /* uint_fast64_t */
181#define PRIxMAX "lx" /* uintmax_t */
182#endif
183#define PRIxPTR "lx" /* uintptr_t */
184
185#define PRIX8 "X" /* uint8_t */
186#define PRIX16 "X" /* uint16_t */
187#define PRIX32 "X" /* uint32_t */
188#if defined(__clang__) || !defined(_LP64)
189#define PRIX64 "llX" /* uint64_t */
190#else
191#define PRIX64 "lX" /* uint64_t */
192#endif
193#define PRIXLEAST8 "X" /* uint_least8_t */
194#define PRIXLEAST16 "X" /* uint_least16_t */
195#define PRIXLEAST32 "X" /* uint_least32_t */
196#if defined(__clang__) || !defined(_LP64)
197#define PRIXLEAST64 "llX" /* uint_least64_t */
198#else
199#define PRIXLEAST64 "lX" /* uint_least64_t */
200#endif
201#define PRIXFAST8 "X" /* uint_fast8_t */
202#define PRIXFAST16 "X" /* uint_fast16_t */
203#define PRIXFAST32 "X" /* uint_fast32_t */
204#if defined(__clang__) || !defined(_LP64)
205#define PRIXFAST64 "llX" /* uint_fast64_t */
206#define PRIXMAX "llX" /* uintmax_t */
207#else
208#define PRIXFAST64 "lX" /* uint_fast64_t */
209#define PRIXMAX "lX" /* uintmax_t */
210#endif
211#define PRIXPTR "lX" /* uintptr_t */
212
213/* fscanf macros for signed integers */
214
215#define SCNd8 "hhd" /* int8_t */
216#define SCNd16 "hd" /* int16_t */
217#define SCNd32 "d" /* int32_t */
218#if defined(__clang__) || !defined(_LP64)
219#define SCNd64 "lld" /* int64_t */
220#else
221#define SCNd64 "ld" /* int64_t */
222#endif
223#define SCNdLEAST8 "hhd" /* int_least8_t */
224#define SCNdLEAST16 "hd" /* int_least16_t */
225#define SCNdLEAST32 "d" /* int_least32_t */
226#if defined(__clang__) || !defined(_LP64)
227#define SCNdLEAST64 "lld" /* int_least64_t */
228#else
229#define SCNdLEAST64 "ld" /* int_least64_t */
230#endif
231#define SCNdFAST8 "d" /* int_fast8_t */
232#define SCNdFAST16 "d" /* int_fast16_t */
233#define SCNdFAST32 "d" /* int_fast32_t */
234#if defined(__clang__) || !defined(_LP64)
235#define SCNdFAST64 "lld" /* int_fast64_t */
236#define SCNdMAX "lld" /* intmax_t */
237#else
238#define SCNdFAST64 "ld" /* int_fast64_t */
239#define SCNdMAX "ld" /* intmax_t */
240#endif
241#define SCNdPTR "ld" /* intptr_t */
242
243#define SCNi8 "hhi" /* int8_t */
244#define SCNi16 "hi" /* int16_t */
245#define SCNi32 "i" /* int32_t */
246#if defined(__clang__) || !defined(_LP64)
247#define SCNi64 "lli" /* int64_t */
248#else
249#define SCNi64 "li" /* int64_t */
250#endif
251#define SCNiLEAST8 "hhi" /* int_least8_t */
252#define SCNiLEAST16 "hi" /* int_least16_t */
253#define SCNiLEAST32 "i" /* int_least32_t */
254#if defined(__clang__) || !defined(_LP64)
255#define SCNiLEAST64 "lli" /* int_least64_t */
256#else
257#define SCNiLEAST64 "li" /* int_least64_t */
258#endif
259#define SCNiFAST8 "i" /* int_fast8_t */
260#define SCNiFAST16 "i" /* int_fast16_t */
261#define SCNiFAST32 "i" /* int_fast32_t */
262#if defined(__clang__) || !defined(_LP64)
263#define SCNiFAST64 "lli" /* int_fast64_t */
264#define SCNiMAX "lli" /* intmax_t */
265#else
266#define SCNiFAST64 "li" /* int_fast64_t */
267#define SCNiMAX "li" /* intmax_t */
268#endif
269#define SCNiPTR "li" /* intptr_t */
270
271/* fscanf macros for unsigned integers */
272
273#define SCNo8 "hho" /* uint8_t */
274#define SCNo16 "ho" /* uint16_t */
275#define SCNo32 "o" /* uint32_t */
276#if defined(__clang__) || !defined(_LP64)
277#define SCNo64 "llo" /* uint64_t */
278#else
279#define SCNo64 "lo" /* uint64_t */
280#endif
281#define SCNoLEAST8 "hho" /* uint_least8_t */
282#define SCNoLEAST16 "ho" /* uint_least16_t */
283#define SCNoLEAST32 "o" /* uint_least32_t */
284#if defined(__clang__) || !defined(_LP64)
285#define SCNoLEAST64 "llo" /* uint_least64_t */
286#else
287#define SCNoLEAST64 "lo" /* uint_least64_t */
288#endif
289#define SCNoFAST8 "o" /* uint_fast8_t */
290#define SCNoFAST16 "o" /* uint_fast16_t */
291#define SCNoFAST32 "o" /* uint_fast32_t */
292#if defined(__clang__) || !defined(_LP64)
293#define SCNoFAST64 "llo" /* uint_fast64_t */
294#define SCNoMAX "llo" /* uintmax_t */
295#else
296#define SCNoFAST64 "lo" /* uint_fast64_t */
297#define SCNoMAX "lo" /* uintmax_t */
298#endif
299#define SCNoPTR "lo" /* uintptr_t */
300
301#define SCNu8 "hhu" /* uint8_t */
302#define SCNu16 "hu" /* uint16_t */
303#define SCNu32 "u" /* uint32_t */
304#if defined(__clang__) || !defined(_LP64)
305#define SCNu64 "llu" /* uint64_t */
306#else
307#define SCNu64 "lu" /* uint64_t */
308#endif
309#define SCNuLEAST8 "hhu" /* uint_least8_t */
310#define SCNuLEAST16 "hu" /* uint_least16_t */
311#define SCNuLEAST32 "u" /* uint_least32_t */
312#if defined(__clang__) || !defined(_LP64)
313#define SCNuLEAST64 "llu" /* uint_least64_t */
314#else
315#define SCNuLEAST64 "lu" /* uint_least64_t */
316#endif
317#define SCNuFAST8 "u" /* uint_fast8_t */
318#define SCNuFAST16 "u" /* uint_fast16_t */
319#define SCNuFAST32 "u" /* uint_fast32_t */
320#if defined(__clang__) || !defined(_LP64)
321#define SCNuFAST64 "llu" /* uint_fast64_t */
322#define SCNuMAX "llu" /* uintmax_t */
323#else
324#define SCNuFAST64 "lu" /* uint_fast64_t */
325#define SCNuMAX "lu" /* uintmax_t */
326#endif
327#define SCNuPTR "lu" /* uintptr_t */
328
329#define SCNx8 "hhx" /* uint8_t */
330#define SCNx16 "hx" /* uint16_t */
331#define SCNx32 "x" /* uint32_t */
332#if defined(__clang__) || !defined(_LP64)
333#define SCNx64 "llx" /* uint64_t */
334#else
335#define SCNx64 "lx" /* uint64_t */
336#endif
337#define SCNxLEAST8 "hhx" /* uint_least8_t */
338#define SCNxLEAST16 "hx" /* uint_least16_t */
339#define SCNxLEAST32 "x" /* uint_least32_t */
340#if defined(__clang__) || !defined(_LP64)
341#define SCNxLEAST64 "llx" /* uint_least64_t */
342#else
343#define SCNxLEAST64 "lx" /* uint_least64_t */
344#endif
345#define SCNxFAST8 "x" /* uint_fast8_t */
346#define SCNxFAST16 "x" /* uint_fast16_t */
347#define SCNxFAST32 "x" /* uint_fast32_t */
348#if defined(__clang__) || !defined(_LP64)
349#define SCNxFAST64 "llx" /* uint_fast64_t */
350#define SCNxMAX "llx" /* uintmax_t */
351#else
352#define SCNxFAST64 "lx" /* uint_fast64_t */
353#define SCNxMAX "lx" /* uintmax_t */
354#endif
355#define SCNxPTR "lx" /* uintptr_t */
356
357#endif /* !__INTPTR_FMTd__ */
358
359#endif /* !_ARM_INT_FMTIO_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/int_limits.h deleted-146
......@@ -1,146 +0,0 @@
1/* $NetBSD: int_limits.h,v 1.12 2021/10/06 05:33:15 skrll Exp $ */
2
3/*-
4 * Copyright (c) 2001 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Klaus Klein.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_INT_LIMITS_H_
33#define _ARM_INT_LIMITS_H_
34
35#ifdef __SIG_ATOMIC_MAX__
36#include <sys/common_int_limits.h>
37#else
38/*
39 * 7.18.2 Limits of specified-width integer types
40 */
41
42/* 7.18.2.1 Limits of exact-width integer types */
43
44/* minimum values of exact-width signed integer types */
45#define INT8_MIN (-0x7f-1) /* int8_t */
46#define INT16_MIN (-0x7fff-1) /* int16_t */
47#define INT32_MIN (-0x7fffffff-1) /* int32_t */
48#define INT64_MIN (-0x7fffffffffffffffLL-1) /* int64_t */
49
50/* maximum values of exact-width signed integer types */
51#define INT8_MAX 0x7f /* int8_t */
52#define INT16_MAX 0x7fff /* int16_t */
53#define INT32_MAX 0x7fffffff /* int32_t */
54#define INT64_MAX 0x7fffffffffffffffLL /* int64_t */
55
56/* maximum values of exact-width unsigned integer types */
57#define UINT8_MAX 0xff /* uint8_t */
58#define UINT16_MAX 0xffff /* uint16_t */
59#define UINT32_MAX 0xffffffffU /* uint32_t */
60#define UINT64_MAX 0xffffffffffffffffULL /* uint64_t */
61
62/* 7.18.2.2 Limits of minimum-width integer types */
63
64/* minimum values of minimum-width signed integer types */
65#define INT_LEAST8_MIN (-0x7f-1) /* int_least8_t */
66#define INT_LEAST16_MIN (-0x7fff-1) /* int_least16_t */
67#define INT_LEAST32_MIN (-0x7fffffff-1) /* int_least32_t */
68#define INT_LEAST64_MIN (-0x7fffffffffffffffLL-1) /* int_least64_t */
69
70/* maximum values of minimum-width signed integer types */
71#define INT_LEAST8_MAX 0x7f /* int_least8_t */
72#define INT_LEAST16_MAX 0x7fff /* int_least16_t */
73#define INT_LEAST32_MAX 0x7fffffff /* int_least32_t */
74#define INT_LEAST64_MAX 0x7fffffffffffffffLL /* int_least64_t */
75
76/* maximum values of minimum-width unsigned integer types */
77#define UINT_LEAST8_MAX 0xff /* uint_least8_t */
78#define UINT_LEAST16_MAX 0xffff /* uint_least16_t */
79#define UINT_LEAST32_MAX 0xffffffffU /* uint_least32_t */
80#define UINT_LEAST64_MAX 0xffffffffffffffffULL /* uint_least64_t */
81
82/* 7.18.2.3 Limits of fastest minimum-width integer types */
83
84/* minimum values of fastest minimum-width signed integer types */
85#define INT_FAST8_MIN (-0x7fffffff-1) /* int_fast8_t */
86#define INT_FAST16_MIN (-0x7fffffff-1) /* int_fast16_t */
87#define INT_FAST32_MIN (-0x7fffffff-1) /* int_fast32_t */
88#define INT_FAST64_MIN (-0x7fffffffffffffffLL-1) /* int_fast64_t */
89
90/* maximum values of fastest minimum-width signed integer types */
91#define INT_FAST8_MAX 0x7fffffff /* int_fast8_t */
92#define INT_FAST16_MAX 0x7fffffff /* int_fast16_t */
93#define INT_FAST32_MAX 0x7fffffff /* int_fast32_t */
94#define INT_FAST64_MAX 0x7fffffffffffffffLL /* int_fast64_t */
95
96/* maximum values of fastest minimum-width unsigned integer types */
97#define UINT_FAST8_MAX 0xffffffffU /* uint_fast8_t */
98#define UINT_FAST16_MAX 0xffffffffU /* uint_fast16_t */
99#define UINT_FAST32_MAX 0xffffffffU /* uint_fast32_t */
100#define UINT_FAST64_MAX 0xffffffffffffffffULL /* uint_fast64_t */
101
102/* 7.18.2.4 Limits of integer types capable of holding object pointers */
103
104#ifdef _LP64
105#define INTPTR_MIN (-0x7fffffffffffffffL-1) /* intptr_t */
106#define INTPTR_MAX 0x7fffffffffffffffL /* intptr_t */
107#define UINTPTR_MAX 0xffffffffffffffffUL /* uintptr_t */
108#else
109#define INTPTR_MIN (-0x7fffffffL-1) /* intptr_t */
110#define INTPTR_MAX 0x7fffffffL /* intptr_t */
111#define UINTPTR_MAX 0xffffffffUL /* uintptr_t */
112#endif
113
114/* 7.18.2.5 Limits of greatest-width integer types */
115
116#define INTMAX_MIN (-0x7fffffffffffffffLL-1) /* intmax_t */
117#define INTMAX_MAX 0x7fffffffffffffffLL /* intmax_t */
118#define UINTMAX_MAX 0xffffffffffffffffULL /* uintmax_t */
119
120
121/*
122 * 7.18.3 Limits of other integer types
123 */
124
125/* limits of ptrdiff_t */
126#ifdef _LP64
127#define PTRDIFF_MIN (-0x7fffffffffffffffL-1) /* ptrdiff_t */
128#define PTRDIFF_MAX 0x7fffffffffffffffL /* ptrdiff_t */
129#else
130#define PTRDIFF_MIN (-0x7fffffffL-1) /* ptrdiff_t */
131#define PTRDIFF_MAX 0x7fffffffL /* ptrdiff_t */
132#endif
133
134/* limits of sig_atomic_t */
135#define SIG_ATOMIC_MIN (-0x7fffffff-1) /* sig_atomic_t */
136#define SIG_ATOMIC_MAX 0x7fffffff /* sig_atomic_t */
137
138/* limit of size_t */
139#ifdef _LP64
140#define SIZE_MAX 0xffffffffffffffffUL /* size_t */
141#else
142#define SIZE_MAX 0xffffffffUL /* size_t */
143#endif
144#endif
145
146#endif /* !_ARM_INT_LIMITS_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/int_mwgwtypes.h deleted-127
......@@ -1,127 +0,0 @@
1/* $NetBSD: int_mwgwtypes.h,v 1.7 2014/07/25 21:43:13 joerg Exp $ */
2
3/*-
4 * Copyright (c) 2014 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Matt Thomas of 3am Software Foundry.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_INT_MWGWTYPES_H_
33#define _ARM_INT_MWGWTYPES_H_
34
35#ifdef __UINT_FAST64_TYPE__
36#include <sys/common_int_mwgwtypes.h>
37#else
38/*
39 * 7.18.1 Integer types
40 */
41
42/* 7.18.1.2 Minimum-width integer types */
43
44#ifndef __INT_LEAST8_TYPE__
45# define __INT_LEAST8_TYPE__ signed char
46#endif
47#ifndef __UINT_LEAST8_TYPE__
48# define __UINT_LEAST8_TYPE__ unsigned char
49#endif
50#ifndef __INT_LEAST16_TYPE__
51# define __INT_LEAST16_TYPE__ short int
52#endif
53#ifndef __UINT_LEAST16_TYPE__
54# define __UINT_LEAST16_TYPE__ short unsigned int
55#endif
56#ifndef __INT_LEAST32_TYPE__
57# define __INT_LEAST32_TYPE__ int
58#endif
59#ifndef __UINT_LEAST32_TYPE__
60# define __UINT_LEAST32_TYPE__ unsigned int
61#endif
62#ifndef __INT_LEAST64_TYPE__
63# define __INT_LEAST64_TYPE__ long long int
64#endif
65#ifndef __UINT_LEAST64_TYPE__
66# define __UINT_LEAST64_TYPE__ long long unsigned int
67#endif
68
69typedef __INT_LEAST8_TYPE__ int_least8_t;
70typedef __UINT_LEAST8_TYPE__ uint_least8_t;
71typedef __INT_LEAST16_TYPE__ int_least16_t;
72typedef __UINT_LEAST16_TYPE__ uint_least16_t;
73typedef __INT_LEAST32_TYPE__ int_least32_t;
74typedef __UINT_LEAST32_TYPE__ uint_least32_t;
75typedef __INT_LEAST64_TYPE__ int_least64_t;
76typedef __UINT_LEAST64_TYPE__ uint_least64_t;
77
78/* 7.18.1.3 Fastest minimum-width integer types */
79
80#ifndef __INT_FAST8_TYPE__
81# define __INT_FAST8_TYPE__ int
82#endif
83#ifndef __UINT_FAST8_TYPE__
84# define __UINT_FAST8_TYPE__ unsigned int
85#endif
86#ifndef __INT_FAST16_TYPE__
87# define __INT_FAST16_TYPE__ int
88#endif
89#ifndef __UINT_FAST16_TYPE__
90# define __UINT_FAST16_TYPE__ unsigned int
91#endif
92#ifndef __INT_FAST32_TYPE__
93# define __INT_FAST32_TYPE__ int
94#endif
95#ifndef __UINT_FAST32_TYPE__
96# define __UINT_FAST32_TYPE__ unsigned int
97#endif
98#ifndef __INT_FAST64_TYPE__
99# define __INT_FAST64_TYPE__ long long int
100#endif
101#ifndef __UINT_FAST64_TYPE__
102# define __UINT_FAST64_TYPE__ long long unsigned int
103#endif
104
105typedef __INT_FAST8_TYPE__ int_fast8_t;
106typedef __UINT_FAST8_TYPE__ uint_fast8_t;
107typedef __INT_FAST16_TYPE__ int_fast16_t;
108typedef __UINT_FAST16_TYPE__ uint_fast16_t;
109typedef __INT_FAST32_TYPE__ int_fast32_t;
110typedef __UINT_FAST32_TYPE__ uint_fast32_t;
111typedef __INT_FAST64_TYPE__ int_fast64_t;
112typedef __UINT_FAST64_TYPE__ uint_fast64_t;
113
114/* 7.18.1.5 Greatest-width integer types */
115
116#ifndef __INTMAX_TYPE__
117# define __INTMAX_TYPE__ long long int
118#endif
119#ifndef __UINTMAX_TYPE__
120# define __UINTMAX_TYPE__ unsigned __INTMAX_TYPE__
121#endif
122
123typedef __INTMAX_TYPE__ intmax_t;
124typedef __UINTMAX_TYPE__ uintmax_t;
125#endif
126
127#endif /* !_ARM_INT_MWGWTYPES_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/int_types.h deleted-99
......@@ -1,99 +0,0 @@
1/* $NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $ */
2
3/*-
4 * Copyright (c) 2014 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Matt Thomas of 3am Software Foundry.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_INT_TYPES_H_
33#define _ARM_INT_TYPES_H_
34
35#ifdef __UINTPTR_TYPE__
36#include <sys/common_int_types.h>
37#else
38#include <sys/cdefs.h>
39
40/*
41 * 7.18.1 Integer types
42 */
43
44/* 7.18.1.1 Exact-width integer types */
45
46#ifndef __UINT8_TYPE__
47# define __UINT8_TYPE__ unsigned char
48#endif
49#ifndef __INT8_TYPE__
50# define __INT8_TYPE__ signed char
51#endif
52#ifndef __UINT16_TYPE__
53# ifndef __INT16_TYPE__
54# define __INT16_TYPE__ short int
55# endif
56# define __UINT16_TYPE__ unsigned __INT16_TYPE__
57#endif
58#ifndef __UINT32_TYPE__
59# ifndef __INT32_TYPE__
60# define __INT32_TYPE__ int
61# endif
62# define __UINT32_TYPE__ unsigned __INT32_TYPE__
63#endif
64#ifndef __UINT64_TYPE__
65# ifndef __INT64_TYPE__
66# define __INT64_TYPE__ long long int
67# endif
68# define __UINT64_TYPE__ unsigned __INT64_TYPE__
69#endif
70
71#ifdef __clang__
72typedef signed __INT8_TYPE__ __int8_t;
73#else
74typedef __INT8_TYPE__ __int8_t;
75#endif
76typedef __UINT8_TYPE__ __uint8_t;
77typedef __INT16_TYPE__ __int16_t;
78typedef __UINT16_TYPE__ __uint16_t;
79typedef __INT32_TYPE__ __int32_t;
80typedef __UINT32_TYPE__ __uint32_t;
81typedef __INT64_TYPE__ __int64_t;
82typedef __UINT64_TYPE__ __uint64_t;
83
84#define __BIT_TYPES_DEFINED__
85
86/* 7.18.1.4 Integer types capable of holding object pointers */
87
88#ifndef __UINTPTR_TYPE__
89# ifndef __INTPTR_TYPE__
90# define __INTPTR_TYPE__ long int
91# endif
92# define __UINTPTR_TYPE__ unsigned __INTPTR_TYPE__
93#endif
94
95typedef __INTPTR_TYPE__ __intptr_t;
96typedef __UINTPTR_TYPE__ __uintptr_t;
97#endif
98
99#endif /* !_ARM_INT_TYPES_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/kcore.h deleted-57
......@@ -1,57 +0,0 @@
1/* $NetBSD: kcore.h,v 1.1 2008/01/01 14:06:43 chris Exp $ */
2
3/*
4 * Copyright (c) 1996 Carnegie-Mellon University.
5 * All rights reserved.
6 *
7 * Author: Chris G. Demetriou
8 *
9 * Permission to use, copy, modify and distribute this software and
10 * its documentation is hereby granted, provided that both the copyright
11 * notice and this permission notice appear in all copies of the
12 * software, derivative works or modified versions, and any portions
13 * thereof, and that both notices appear in supporting documentation.
14 *
15 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
16 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
17 * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
18 *
19 * Carnegie Mellon requests users of this software to return to
20 *
21 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
22 * School of Computer Science
23 * Carnegie Mellon University
24 * Pittsburgh PA 15213-3890
25 *
26 * any improvements or extensions that they make and grant Carnegie the
27 * rights to redistribute these changes.
28 */
29
30/*
31 * Modified for NetBSD/i386 by Jason R. Thorpe, Numerical Aerospace
32 * Simulation Facility, NASA Ames Research Center.
33 */
34
35#ifndef _ARM_KCORE_H_
36#define _ARM_KCORE_H_
37
38typedef struct cpu_kcore_hdr {
39 uint32_t version; /* structure version */
40 uint32_t flags; /* flags */
41#define KCORE_ARM_APX 0x0001 /* L1 tables are in APX
42 format */
43 uint32_t PAKernelL1Table; /* PA of kernel L1 table */
44 uint32_t PAUserL1Table; /* PA of userland L1 table */
45 uint16_t UserL1TableSize; /* size of User L1 table */
46 uint32_t nmemsegs; /* Number of RAM segments */
47 uint32_t omemsegs; /* offset to memsegs */
48
49 /*
50 * future versions will add fields here.
51 */
52#if 0
53 phys_ram_seg_t memsegs[]; /* RAM segments */
54#endif
55} cpu_kcore_hdr_t;
56
57#endif /* _ARM_KCORE_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/limits.h deleted-109
......@@ -1,109 +0,0 @@
1/* $NetBSD: limits.h,v 1.19 2019/01/21 20:28:17 dholland Exp $ */
2
3/*
4 * Copyright (c) 1988 The Regents of the University of California.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of the University nor the names of its contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 *
31 * from: @(#)limits.h 7.2 (Berkeley) 6/28/90
32 */
33
34#ifndef _ARM_LIMITS_H_
35#define _ARM_LIMITS_H_
36
37#include <sys/featuretest.h>
38
39#define CHAR_BIT 8 /* number of bits in a char */
40
41#define UCHAR_MAX 0xff /* max value for an unsigned char */
42#define SCHAR_MAX 0x7f /* max value for a signed char */
43#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */
44
45#define USHRT_MAX 0xffff /* max value for an unsigned short */
46#define SHRT_MAX 0x7fff /* max value for a short */
47#define SHRT_MIN (-0x7fff-1) /* min value for a short */
48
49#define UINT_MAX 0xffffffffU /* max value for an unsigned int */
50#define INT_MAX 0x7fffffff /* max value for an int */
51#define INT_MIN (-0x7fffffff-1) /* min value for an int */
52
53#ifdef _LP64
54#define ULONG_MAX 0xffffffffffffffffUL /* max unsigned long */
55#define LONG_MAX 0x7fffffffffffffffL /* max signed long */
56#define LONG_MIN (-0x7fffffffffffffffL-1) /* min signed long */
57#else
58#define ULONG_MAX 0xffffffffUL /* max value for an unsigned long */
59#define LONG_MAX 0x7fffffffL /* max value for a long */
60#define LONG_MIN (-0x7fffffffL-1) /* min value for a long */
61#endif
62
63#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \
64 defined(_NETBSD_SOURCE)
65#define ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */
66#define LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */
67#define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */
68#endif
69
70#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
71 defined(_NETBSD_SOURCE)
72#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */
73
74#if defined(_NETBSD_SOURCE)
75#define SSIZE_MIN LONG_MIN /* min value for a ssize_t */
76#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */
77
78#define UQUAD_MAX 0xffffffffffffffffULL /* max unsigned quad */
79#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */
80#define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */
81
82#endif /* _NETBSD_SOURCE */
83#endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */
84
85#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
86#ifdef _LP64
87#define LONG_BIT 64
88#else
89#define LONG_BIT 32
90#endif
91#define WORD_BIT 32
92
93#define DBL_DIG __DBL_DIG__
94#define DBL_MAX __DBL_MAX__
95#define DBL_MIN __DBL_MIN__
96
97#define FLT_DIG __FLT_DIG__
98#define FLT_MAX __FLT_MAX__
99#define FLT_MIN __FLT_MIN__
100
101#ifdef __ARM_PCS_AAPCS64
102#define LDBL_DIG __LDBL_DIG__
103#define LDBL_MAX __LDBL_MAX__
104#define LDBL_MIN __LDBL_MIN__
105#endif
106
107#endif /* _XOPEN_SOURCE || _NETBSD_SOURCE */
108
109#endif /* _ARM_LIMITS_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/lock.h deleted-221
......@@ -1,221 +0,0 @@
1/* $NetBSD: lock.h,v 1.39 2021/05/30 02:28:59 joerg Exp $ */
2
3/*-
4 * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Jason R. Thorpe.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32/*
33 * Machine-dependent spin lock operations.
34 *
35 * NOTE: The SWP insn used here is available only on ARM architecture
36 * version 3 and later (as well as 2a). What we are going to do is
37 * expect that the kernel will trap and emulate the insn. That will
38 * be slow, but give us the atomicity that we need.
39 */
40
41#ifndef _ARM_LOCK_H_
42#define _ARM_LOCK_H_
43
44static __inline int
45__SIMPLELOCK_LOCKED_P(const __cpu_simple_lock_t *__ptr)
46{
47 return *__ptr == __SIMPLELOCK_LOCKED;
48}
49
50static __inline int
51__SIMPLELOCK_UNLOCKED_P(const __cpu_simple_lock_t *__ptr)
52{
53 return *__ptr == __SIMPLELOCK_UNLOCKED;
54}
55
56static __inline void
57__cpu_simple_lock_clear(__cpu_simple_lock_t *__ptr)
58{
59 *__ptr = __SIMPLELOCK_UNLOCKED;
60}
61
62static __inline void
63__cpu_simple_lock_set(__cpu_simple_lock_t *__ptr)
64{
65 *__ptr = __SIMPLELOCK_LOCKED;
66}
67
68#if defined(_ARM_ARCH_6)
69static __inline unsigned int
70__arm_load_exclusive(__cpu_simple_lock_t *__alp)
71{
72 unsigned int __rv;
73 if (/*CONSTCOND*/sizeof(*__alp) == 1) {
74 __asm __volatile("ldrexb\t%0,[%1]" : "=r"(__rv) : "r"(__alp));
75 } else {
76 __asm __volatile("ldrex\t%0,[%1]" : "=r"(__rv) : "r"(__alp));
77 }
78 return __rv;
79}
80
81/* returns 0 on success and 1 on failure */
82static __inline unsigned int
83__arm_store_exclusive(__cpu_simple_lock_t *__alp, unsigned int __val)
84{
85 unsigned int __rv;
86 if (/*CONSTCOND*/sizeof(*__alp) == 1) {
87 __asm __volatile("strexb\t%0,%1,[%2]"
88 : "=&r"(__rv) : "r"(__val), "r"(__alp) : "cc", "memory");
89 } else {
90 __asm __volatile("strex\t%0,%1,[%2]"
91 : "=&r"(__rv) : "r"(__val), "r"(__alp) : "cc", "memory");
92 }
93 return __rv;
94}
95#elif defined(_KERNEL)
96static __inline unsigned char
97__swp(unsigned char __val, __cpu_simple_lock_t *__ptr)
98{
99 uint32_t __val32;
100 __asm volatile("swpb %0, %1, [%2]"
101 : "=&r" (__val32) : "r" (__val), "r" (__ptr) : "memory");
102 return __val32;
103}
104#else
105/*
106 * On MP Cortex, SWP no longer guarantees atomic results. Thus we pad
107 * out SWP so that when the cpu generates an undefined exception we can replace
108 * the SWP/MOV instructions with the right LDREX/STREX instructions.
109 *
110 * This is why we force the SWP into the template needed for LDREX/STREX
111 * including the extra instructions and extra register for testing the result.
112 */
113static __inline int
114__swp(int __val, __cpu_simple_lock_t *__ptr)
115{
116 int __tmp, __rv;
117 __asm volatile(
118#if 1
119 "1:\t" "swp %[__rv], %[__val], [%[__ptr]]"
120 "\n\t" "b 2f"
121#else
122 "1:\t" "ldrex %[__rv],[%[__ptr]]"
123 "\n\t" "strex %[__tmp],%[__val],[%[__ptr]]"
124#endif
125 "\n\t" "cmp %[__tmp],#0"
126 "\n\t" "bne 1b"
127 "\n" "2:"
128 : [__rv] "=&r" (__rv), [__tmp] "=&r" (__tmp)
129 : [__val] "r" (__val), [__ptr] "r" (__ptr) : "cc", "memory");
130 return __rv;
131}
132#endif /* !_ARM_ARCH_6 */
133
134/* load/dmb implies load-acquire */
135static __inline void
136__arm_load_dmb(void)
137{
138#if defined(_ARM_ARCH_7)
139 __asm __volatile("dmb ish" ::: "memory");
140#elif defined(_ARM_ARCH_6)
141 __asm __volatile("mcr\tp15,0,%0,c7,c10,5" :: "r"(0) : "memory");
142#endif
143}
144
145/* dmb/store implies store-release */
146static __inline void
147__arm_dmb_store(void)
148{
149#if defined(_ARM_ARCH_7)
150 __asm __volatile("dmb ish" ::: "memory");
151#elif defined(_ARM_ARCH_6)
152 __asm __volatile("mcr\tp15,0,%0,c7,c10,5" :: "r"(0) : "memory");
153#endif
154}
155
156
157static __inline void __unused
158__cpu_simple_lock_init(__cpu_simple_lock_t *__alp)
159{
160
161 *__alp = __SIMPLELOCK_UNLOCKED;
162}
163
164#if !defined(__thumb__) || defined(_ARM_ARCH_T2)
165static __inline void __unused
166__cpu_simple_lock(__cpu_simple_lock_t *__alp)
167{
168#if defined(_ARM_ARCH_6)
169 do {
170 /* spin */
171 } while (__arm_load_exclusive(__alp) != __SIMPLELOCK_UNLOCKED
172 || __arm_store_exclusive(__alp, __SIMPLELOCK_LOCKED));
173 __arm_load_dmb();
174#else
175 while (__swp(__SIMPLELOCK_LOCKED, __alp) != __SIMPLELOCK_UNLOCKED)
176 continue;
177#endif
178}
179#else
180void __cpu_simple_lock(__cpu_simple_lock_t *);
181#endif
182
183#if !defined(__thumb__) || defined(_ARM_ARCH_T2)
184static __inline int __unused
185__cpu_simple_lock_try(__cpu_simple_lock_t *__alp)
186{
187#if defined(_ARM_ARCH_6)
188 do {
189 if (__arm_load_exclusive(__alp) != __SIMPLELOCK_UNLOCKED) {
190 return 0;
191 }
192 } while (__arm_store_exclusive(__alp, __SIMPLELOCK_LOCKED));
193 __arm_load_dmb();
194 return 1;
195#else
196 return (__swp(__SIMPLELOCK_LOCKED, __alp) == __SIMPLELOCK_UNLOCKED);
197#endif
198}
199#else
200int __cpu_simple_lock_try(__cpu_simple_lock_t *);
201#endif
202
203static __inline void __unused
204__cpu_simple_unlock(__cpu_simple_lock_t *__alp)
205{
206
207#if defined(_ARM_ARCH_8) && defined(__LP64__)
208 if (sizeof(*__alp) == 1) {
209 __asm __volatile("stlrb\t%w0, [%1]"
210 :: "r"(__SIMPLELOCK_UNLOCKED), "r"(__alp) : "memory");
211 } else {
212 __asm __volatile("stlr\t%0, [%1]"
213 :: "r"(__SIMPLELOCK_UNLOCKED), "r"(__alp) : "memory");
214 }
215#else
216 __arm_dmb_store();
217 *__alp = __SIMPLELOCK_UNLOCKED;
218#endif
219}
220
221#endif /* _ARM_LOCK_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/math.h deleted-6
......@@ -1,6 +0,0 @@
1/* $NetBSD: math.h,v 1.4 2014/01/31 19:38:06 matt Exp $ */
2
3#define __HAVE_NANF
4#ifdef __ARM_PCS_AAPCS64
5#define __HAVE_LONG_DOUBLE 128
6#endif
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/mcontext.h deleted-284
......@@ -1,284 +0,0 @@
1/* $NetBSD: mcontext.h,v 1.23 2021/10/06 05:33:15 skrll Exp $ */
2
3/*-
4 * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Klaus Klein and by Jason R. Thorpe of Wasabi Systems, Inc.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_MCONTEXT_H_
33#define _ARM_MCONTEXT_H_
34
35#include <sys/stdint.h>
36
37/*
38 * General register state
39 */
40#if defined(__aarch64__)
41#define _NGREG 35 /* GR0-30, SP, PC, SPSR, TPIDR */
42#define _NGREG32 17
43typedef __uint64_t __greg_t;
44typedef unsigned int __greg32_t;
45
46typedef __greg32_t __gregset32_t[_NGREG32];
47#elif defined(__arm__)
48#define _NGREG 17
49typedef unsigned int __greg_t;
50#endif
51
52typedef __greg_t __gregset_t[_NGREG];
53
54#define _REG_R0 0
55#define _REG_R1 1
56#define _REG_R2 2
57#define _REG_R3 3
58#define _REG_R4 4
59#define _REG_R5 5
60#define _REG_R6 6
61#define _REG_R7 7
62#define _REG_R8 8
63#define _REG_R9 9
64#define _REG_R10 10
65#define _REG_R11 11
66#define _REG_R12 12
67#define _REG_R13 13
68#define _REG_R14 14
69#define _REG_R15 15
70#define _REG_CPSR 16
71
72#define _REG_X0 0
73#define _REG_X1 1
74#define _REG_X2 2
75#define _REG_X3 3
76#define _REG_X4 4
77#define _REG_X5 5
78#define _REG_X6 6
79#define _REG_X7 7
80#define _REG_X8 8
81#define _REG_X9 9
82#define _REG_X10 10
83#define _REG_X11 11
84#define _REG_X12 12
85#define _REG_X13 13
86#define _REG_X14 14
87#define _REG_X15 15
88#define _REG_X16 16
89#define _REG_X17 17
90#define _REG_X18 18
91#define _REG_X19 19
92#define _REG_X20 20
93#define _REG_X21 21
94#define _REG_X22 22
95#define _REG_X23 23
96#define _REG_X24 24
97#define _REG_X25 25
98#define _REG_X26 26
99#define _REG_X27 27
100#define _REG_X28 28
101#define _REG_X29 29
102#define _REG_X30 30
103#define _REG_X31 31
104#define _REG_ELR 32
105#define _REG_SPSR 33
106#define _REG_TPIDR 34
107
108/* Convenience synonyms */
109
110#if defined(__aarch64__)
111#define _REG_RV _REG_X0
112#define _REG_FP _REG_X29
113#define _REG_LR _REG_X30
114#define _REG_SP _REG_X31
115#define _REG_PC _REG_ELR
116#elif defined(__arm__)
117#define _REG_RV _REG_R0
118#define _REG_FP _REG_R11
119#define _REG_SP _REG_R13
120#define _REG_LR _REG_R14
121#define _REG_PC _REG_R15
122#endif
123
124/*
125 * Floating point register state
126 */
127#if defined(__aarch64__)
128
129#define _NFREG 32 /* Number of SIMD registers */
130
131typedef struct {
132 union __freg {
133 __uint8_t __b8[16];
134 __uint16_t __h16[8];
135 __uint32_t __s32[4];
136 __uint64_t __d64[2];
137 __uint128_t __q128[1];
138 } __qregs[_NFREG] __aligned(16);
139 __uint32_t __fpcr; /* FPCR */
140 __uint32_t __fpsr; /* FPSR */
141} __fregset_t;
142
143/* Compat structures */
144typedef struct {
145#if 1 /* __ARM_EABI__ is default on aarch64 */
146 unsigned int __vfp_fpscr;
147 uint64_t __vfp_fstmx[32];
148 unsigned int __vfp_fpsid;
149#else
150 unsigned int __vfp_fpscr;
151 unsigned int __vfp_fstmx[33];
152 unsigned int __vfp_fpsid;
153#endif
154} __vfpregset32_t;
155
156typedef struct {
157 __gregset32_t __gregs;
158 __vfpregset32_t __vfpregs;
159 __greg32_t _mc_tlsbase;
160 __greg32_t _mc_user_tpid;
161} mcontext32_t;
162
163typedef struct {
164 __gregset_t __gregs; /* General Purpose Register set */
165 __fregset_t __fregs; /* FPU/SIMD Register File */
166 __greg_t __spare[8]; /* future proof */
167} mcontext_t;
168
169#elif defined(__arm__)
170/* Note: the storage layout of this structure must be identical to ARMFPE! */
171typedef struct {
172 unsigned int __fp_fpsr;
173 struct {
174 unsigned int __fp_exponent;
175 unsigned int __fp_mantissa_hi;
176 unsigned int __fp_mantissa_lo;
177 } __fp_fr[8];
178} __fpregset_t;
179
180typedef struct {
181#ifdef __ARM_EABI__
182 unsigned int __vfp_fpscr;
183 uint64_t __vfp_fstmx[32];
184 unsigned int __vfp_fpsid;
185#else
186 unsigned int __vfp_fpscr;
187 unsigned int __vfp_fstmx[33];
188 unsigned int __vfp_fpsid;
189#endif
190} __vfpregset_t;
191
192typedef struct {
193 __gregset_t __gregs;
194 union {
195 __fpregset_t __fpregs;
196 __vfpregset_t __vfpregs;
197 } __fpu;
198 __greg_t _mc_tlsbase;
199 __greg_t _mc_user_tpid;
200} mcontext_t, mcontext32_t;
201
202
203#define _UC_MACHINE_PAD 1 /* Padding appended to ucontext_t */
204
205#ifdef __ARM_EABI__
206#define __UCONTEXT_SIZE (256 + 144)
207#else
208#define __UCONTEXT_SIZE 256
209#endif
210
211#endif
212
213#if defined(_RTLD_SOURCE) || defined(_LIBC_SOURCE) || \
214 defined(__LIBPTHREAD_SOURCE__)
215
216#include <sys/tls.h>
217
218#if defined(__aarch64__)
219
220__BEGIN_DECLS
221static __inline void *
222__lwp_getprivate_fast(void)
223{
224 void *__tpidr;
225 __asm __volatile("mrs\t%0, tpidr_el0" : "=r"(__tpidr));
226 return __tpidr;
227}
228__END_DECLS
229
230#elif defined(__arm__)
231
232__BEGIN_DECLS
233static __inline void *
234__lwp_getprivate_fast(void)
235{
236#if !defined(__thumb__) || defined(_ARM_ARCH_T2)
237 extern void *_lwp_getprivate(void);
238 void *rv;
239 __asm("mrc p15, 0, %0, c13, c0, 3" : "=r"(rv));
240 if (__predict_true(rv))
241 return rv;
242 /*
243 * Some ARM cores are broken and don't raise an undefined fault when an
244 * unrecogized mrc instruction is encountered, but just return zero.
245 * To do deal with that, if we get a zero we (re-)fetch the value using
246 * syscall.
247 */
248 return _lwp_getprivate();
249#else
250 extern void *__aeabi_read_tp(void);
251 return __aeabi_read_tp();
252#endif /* !__thumb__ || _ARM_ARCH_T2 */
253}
254__END_DECLS
255#endif
256
257#endif /* _RTLD_SOURCE || _LIBC_SOURCE || __LIBPTHREAD_SOURCE__ */
258
259/* Machine-dependent uc_flags */
260#define _UC_TLSBASE 0x00080000 /* see <sys/ucontext.h> */
261
262/* Machine-dependent uc_flags for arm */
263#define _UC_ARM_VFP 0x00010000 /* FPU field is VFP */
264
265/* used by signal delivery to indicate status of signal stack */
266#define _UC_SETSTACK 0x00020000
267#define _UC_CLRSTACK 0x00040000
268
269#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_SP])
270#define _UC_MACHINE_FP(uc) ((uc)->uc_mcontext.__gregs[_REG_FP])
271#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.__gregs[_REG_PC])
272#define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[_REG_RV])
273
274#define _UC_MACHINE_SET_PC(uc, pc) \
275 _UC_MACHINE_PC(uc) = (pc)
276
277#if defined(_KERNEL)
278__BEGIN_DECLS
279void vfp_getcontext(struct lwp *, mcontext_t *, int *);
280void vfp_setcontext(struct lwp *, const mcontext_t *);
281__END_DECLS
282#endif
283
284#endif /* !_ARM_MCONTEXT_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/mutex.h deleted-93
......@@ -1,93 +0,0 @@
1/* $NetBSD: mutex.h,v 1.27.4.1 2023/08/09 17:42:01 martin Exp $ */
2
3/*-
4 * Copyright (c) 2002, 2007 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Jason R. Thorpe and Andrew Doran.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_MUTEX_H_
33#define _ARM_MUTEX_H_
34
35#include <sys/types.h>
36
37#ifdef _KERNEL
38#include <machine/intr.h>
39#endif
40
41/*
42 * The ARM mutex implementation is troublesome, because pre-v6 ARM lacks a
43 * compare-and-swap operation. However, there aren't any MP pre-v6 ARM
44 * systems to speak of.
45 *
46 * ARMv6 and later, however, does have ldrex/strex, and can thus implement an
47 * MP-safe compare-and-swap.
48 *
49 * So, what we have done is implement simple mutexes using a compare-and-swap.
50 * We support pre-ARMv6 by implementing CAS as a restartable atomic sequence
51 * that is checked by the IRQ vector.
52 *
53 */
54
55struct kmutex {
56 union {
57 /* Adaptive mutex */
58 volatile uintptr_t mtxa_owner; /* 0-3 */
59
60#ifdef _KERNEL
61 /* Spin mutex */
62 struct {
63 /*
64 * Since the low bit of mtxa_owner is used to flag this
65 * mutex as a spin mutex, we can't use the first byte
66 * or the last byte to store the ipl or lock values.
67 */
68 volatile uint8_t mtxs_dummy;
69 ipl_cookie_t mtxs_ipl;
70 __cpu_simple_lock_t mtxs_lock;
71 volatile uint8_t mtxs_unused;
72 } s;
73#endif
74 } u;
75};
76
77#ifdef __MUTEX_PRIVATE
78
79#define mtx_owner u.mtxa_owner
80#define mtx_ipl u.s.mtxs_ipl
81#define mtx_lock u.s.mtxs_lock
82
83#if 0
84#define __HAVE_MUTEX_STUBS 1
85#define __HAVE_SPIN_MUTEX_STUBS 1
86#endif
87#define __HAVE_SIMPLE_MUTEXES 1
88
89#endif /* __MUTEX_PRIVATE */
90
91__CTASSERT(sizeof(struct kmutex) == sizeof(uintptr_t));
92
93#endif /* _ARM_MUTEX_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/param.h deleted-189
......@@ -1,189 +0,0 @@
1/* $NetBSD: param.h,v 1.24 2021/07/19 10:28:58 christos Exp $ */
2
3/*
4 * Copyright (c) 1994,1995 Mark Brinicombe.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by the RiscBSD team.
18 * 4. The name "RiscBSD" nor the name of the author may be used to
19 * endorse or promote products derived from this software without specific
20 * prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY RISCBSD ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL RISCBSD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 */
34
35#ifndef _ARM_PARAM_H_
36#define _ARM_PARAM_H_
37
38/*
39 * Machine dependent constants for all ARM processors
40 */
41
42/*
43 * For KERNEL code:
44 * MACHINE must be defined by the individual port. This is so that
45 * uname returns the correct thing, etc.
46 *
47 * MACHINE_ARCH may be defined by individual ports as a temporary
48 * measure while we're finishing the conversion to ELF.
49 *
50 * For non-KERNEL code:
51 * If ELF, MACHINE and MACHINE_ARCH are forced to "arm/armeb".
52 */
53
54#if defined(_KERNEL)
55# ifndef MACHINE_ARCH /* XXX For now */
56# ifndef __ARMEB__
57# ifdef __ARM_EABI__
58# define _MACHINE_ARCH earm
59# define MACHINE_ARCH "earm"
60# else
61# define _MACHINE_ARCH arm
62# define MACHINE_ARCH "arm"
63# endif
64# else
65# ifdef __ARM_EABI__
66# define _MACHINE_ARCH earmeb
67# define MACHINE_ARCH "earmeb"
68# else
69# define _MACHINE_ARCH armeb
70# define MACHINE_ARCH "armeb"
71# endif
72# endif /* __ARMEB__ */
73# endif /* MACHINE_ARCH */
74#else
75# undef _MACHINE
76# undef MACHINE
77# undef _MACHINE_ARCH
78# undef MACHINE_ARCH
79# define _MACHINE arm
80# define MACHINE "arm"
81# ifndef __ARMEB__
82# ifdef __ARM_EABI__
83# ifdef __ARM_PCS_VFP
84# ifdef _ARM_ARCH_7
85# define _MACHINE_ARCH earmv7hf
86# define MACHINE_ARCH "earmv7hf"
87# elif defined(_ARM_ARCH_6)
88# define _MACHINE_ARCH earmv6hf
89# define MACHINE_ARCH "earmv6hf"
90# else
91# define _MACHINE_ARCH earmhf
92# define MACHINE_ARCH "earmhf"
93# endif
94# else
95# ifdef _ARM_ARCH_7
96# define _MACHINE_ARCH earmv7
97# define MACHINE_ARCH "earmv7"
98# elif defined(_ARM_ARCH_6)
99# define _MACHINE_ARCH earmv6
100# define MACHINE_ARCH "earmv6"
101# elif !defined(_ARM_ARCH_5T)
102# define _MACHINE_ARCH earmv4
103# define MACHINE_ARCH "earmv4"
104# else
105# define _MACHINE_ARCH earm
106# define MACHINE_ARCH "earm"
107# endif
108# endif
109# else
110# define _MACHINE_ARCH arm
111# define MACHINE_ARCH "arm"
112# endif
113# else
114# ifdef __ARM_EABI__
115# ifdef __ARM_PCS_VFP
116# ifdef _ARM_ARCH_7
117# define _MACHINE_ARCH earmv7hfeb
118# define MACHINE_ARCH "earmv7hfeb"
119# elif defined(_ARM_ARCH_6)
120# define _MACHINE_ARCH earmv6hfeb
121# define MACHINE_ARCH "earmv6hfeb"
122# else
123# define _MACHINE_ARCH earmhfeb
124# define MACHINE_ARCH "earmhfeb"
125# endif
126# else
127# ifdef _ARM_ARCH_7
128# define _MACHINE_ARCH earmv7eb
129# define MACHINE_ARCH "earmv7eb"
130# elif defined(_ARM_ARCH_6)
131# define _MACHINE_ARCH earmv6eb
132# define MACHINE_ARCH "earmv6eb"
133# elif !defined(_ARM_ARCH_5T)
134# define _MACHINE_ARCH earmv4eb
135# define MACHINE_ARCH "earmv4eb"
136# else
137# define _MACHINE_ARCH earmeb
138# define MACHINE_ARCH "earmeb"
139# endif
140# endif
141# else
142# define _MACHINE_ARCH armeb
143# define MACHINE_ARCH "armeb"
144# endif
145# endif /* __ARMEB__ */
146#endif /* !_KERNEL */
147
148#define MAXCPUS 8
149
150#define MID_MACHINE MID_ARM6
151
152/* ARM-specific macro to align a stack pointer (downwards). */
153#define STACK_ALIGNBYTES (8 - 1)
154#ifdef __ARM_EABI__
155#define ALIGNBYTES32 3
156#else
157#define ALIGNBYTES32 7
158#endif
159
160/*
161 * Constants related to network buffer management.
162 * MCLBYTES must be no larger than NBPG (the software page size), and,
163 * on machines that exchange pages of input or output buffers with mbuf
164 * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
165 * of the hardware page size.
166 */
167#define MSIZE 256 /* size of an mbuf */
168
169#ifndef MCLSHIFT
170#define MCLSHIFT 11 /* convert bytes to m_buf clusters */
171 /* 2K cluster can hold Ether frame */
172#endif /* MCLSHIFT */
173
174#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
175
176#ifndef NMBCLUSTERS_MAX
177#define NMBCLUSTERS_MAX (0x4000000 / MCLBYTES) /* Limit to 64MB for clusters */
178#endif
179
180/*
181 * Compatibility /dev/zero mapping.
182 */
183#ifdef _KERNEL
184#ifdef COMPAT_16
185#define COMPAT_ZERODEV(x) (x == makedev(0, _DEV_ZERO_oARM))
186#endif
187#endif /* _KERNEL */
188
189#endif /* _ARM_PARAM_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/pcb.h deleted-89
......@@ -1,89 +0,0 @@
1/* pcb.h,v 1.14.22.2 2007/11/06 23:15:05 matt Exp */
2
3/*
4 * Copyright (c) 2001 Matt Thomas <matt@3am-software.com>.
5 * Copyright (c) 1994 Mark Brinicombe.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. All advertising materials mentioning features or use of this software
17 * must display the following acknowledgement:
18 * This product includes software developed by the RiscBSD team.
19 * 4. The name "RiscBSD" nor the name of the author may be used to
20 * endorse or promote products derived from this software without specific
21 * prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY RISCBSD ``AS IS'' AND ANY EXPRESS OR IMPLIED
24 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26 * IN NO EVENT SHALL RISCBSD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
27 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 */
35
36#ifndef _ARM_PCB_H_
37#define _ARM_PCB_H_
38
39#include <machine/frame.h>
40
41#include <arm/arm32/pte.h>
42#include <arm/reg.h>
43
44struct pcb_faultinfo {
45 void *pfi_faultptep;
46 vaddr_t pfi_faultaddr;
47 u_int pfi_repeats;
48 pid_t pfi_lastpid;
49 uint8_t pfi_faulttype;
50};
51
52#define pcb_ksp pcb_sp
53
54struct pcb {
55 /*
56 * WARNING!
57 * cpuswitchto.S relies on pcb_r8 being quad-aligned
58 * (due to the use of "strd" when compiled for XSCALE)
59 */
60 u_int pcb_r8 __aligned(8); /* used */
61 u_int pcb_r9; /* used */
62 u_int pcb_r10; /* used */
63 u_int pcb_r11; /* used */
64 u_int pcb_r12; /* used */
65 u_int pcb_sp; /* used */
66 u_int pcb_lr;
67 u_int pcb_pc;
68
69 /*
70 * ARMv6 has two user thread/process id registers which can hold
71 * any 32bit quanttiies.
72 */
73 u_int pcb_user_pid_rw; /* p15, 0, Rd, c13, c0, 2 */
74 u_int pcb_user_pid_ro; /* p15, 0, Rd, c13, c0, 3 */
75
76 void * pcb_onfault; /* On fault handler */
77 struct vfpreg pcb_vfp; /* VFP registers */
78 struct vfpreg pcb_kernel_vfp; /* kernel VFP state */
79 struct pcb_faultinfo pcb_faultinfo;
80};
81
82/*
83 * No additional data for core dumps.
84 */
85struct md_coredump {
86 int md_empty;
87};
88
89#endif /* _ARM_PCB_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/proc.h deleted-66
......@@ -1,66 +0,0 @@
1/* $NetBSD: proc.h,v 1.19 2020/08/14 16:18:36 skrll Exp $ */
2
3/*
4 * Copyright (c) 1994 Mark Brinicombe.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by the RiscBSD team.
18 * 4. The name "RiscBSD" nor the name of the author may be used to
19 * endorse or promote products derived from this software without specific
20 * prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY RISCBSD ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL RISCBSD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 */
34
35#ifndef _ARM_PROC_H_
36#define _ARM_PROC_H_
37
38/*
39 * Machine-dependent part of the proc structure for arm.
40 */
41
42struct trapframe;
43struct lwp;
44
45struct mdlwp {
46 struct trapframe *md_tf;
47 int md_flags;
48 volatile uint32_t md_astpending;
49};
50
51/* Flags setttings for md_flags */
52#define MDLWP_NOALIGNFLT 0x00000002 /* For EXEC_AOUT */
53#define MDLWP_VFPINTR 0x00000004 /* VFP used in intr */
54
55
56struct mdproc {
57 void (*md_syscall)(struct trapframe *, struct lwp *, uint32_t);
58 int pmc_enabled; /* bitfield of enabled counters */
59 void *pmc_state; /* port-specific pmc state */
60 char md_march[12]; /* machine arch of executable */
61};
62
63#define PROC_MACHINE_ARCH(P) ((P)->p_md.md_march)
64#define PROC0_MD_INITIALIZERS .p_md = { .md_march = MACHINE_ARCH },
65
66#endif /* _ARM_PROC_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/profile.h deleted-181
......@@ -1,181 +0,0 @@
1/* $NetBSD: profile.h,v 1.18 2018/01/24 09:04:45 skrll Exp $ */
2
3/*
4 * Copyright (c) 2001 Ben Harris
5 * Copyright (c) 1995-1996 Mark Brinicombe
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by Mark Brinicombe.
18 * 4. The name of the author may not be used to endorse or promote products
19 * derived from this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33#define _MCOUNT_DECL void _mcount
34
35/*
36 * Cannot implement mcount in C as GCC will trash the ip register when it
37 * pushes a trapframe. Pity we cannot insert assembly before the function
38 * prologue.
39 */
40
41#define MCOUNT_ASM_NAME "__mcount"
42#define PLTSYM
43
44#if !defined(__ARM_EABI__)
45#define MCOUNT \
46 __asm(".text"); \
47 __asm(".align 0"); \
48 __asm(".arm"); \
49 __asm(".type " MCOUNT_ASM_NAME ",%function"); \
50 __asm(".global " MCOUNT_ASM_NAME); \
51 __asm(MCOUNT_ASM_NAME ":"); \
52 /* \
53 * Preserve registers that are trashed during mcount \
54 */ \
55 __asm("push {r0-r3, ip, lr}"); \
56 /* Check what mode we're in. EQ => 32, NE => 26 */ \
57 __asm("teq r0, r0"); \
58 __asm("teq pc, r15"); \
59 /* \
60 * find the return address for mcount, \
61 * and the return address for mcount's caller. \
62 * \
63 * frompcindex = pc pushed by call into self. \
64 */ \
65 __asm("moveq r0, ip"); \
66 __asm("bicne r0, ip, #0xfc000003"); \
67 /* \
68 * selfpc = pc pushed by mcount call \
69 */ \
70 __asm("moveq r1, lr"); \
71 __asm("bicne r1, lr, #0xfc000003"); \
72 /* \
73 * Call the real mcount code \
74 */ \
75 __asm("bl " ___STRING(_C_LABEL(_mcount)) PLTSYM); \
76 /* \
77 * Restore registers that were trashed during mcount \
78 */ \
79 __asm("pop {r0-r3, lr}"); \
80 __asm("pop {pc}"); \
81 __asm(".size " MCOUNT_ASM_NAME ", .-" MCOUNT_ASM_NAME);
82#elif defined(__ARM_DWARF_EH__)
83#define MCOUNT \
84 __asm(".text"); \
85 __asm(".align 0"); \
86 __asm(".arm"); \
87 __asm(".type " MCOUNT_ASM_NAME ",%function"); \
88 __asm(".global " MCOUNT_ASM_NAME); \
89 __asm(MCOUNT_ASM_NAME ":"); \
90 __asm(".cfi_startproc"); \
91 /* \
92 * Preserve registers that are trashed during mcount \
93 */ \
94 __asm("push {r0-r3, ip, lr}"); \
95 __asm(".cfi_def_cfa_offset 24"); \
96 __asm(".cfi_offset 14, -4"); \
97 __asm(".cfi_offset 12, -8"); \
98 __asm(".cfi_offset 3, -12"); \
99 __asm(".cfi_offset 2, -16"); \
100 __asm(".cfi_offset 1, -20"); \
101 __asm(".cfi_offset 0, -24"); \
102 /* \
103 * find the return address for mcount, \
104 * and the return address for mcount's caller. \
105 * \
106 * frompcindex = pc pushed by call into self. \
107 */ \
108 __asm("mov r0, ip"); \
109 /* \
110 * selfpc = pc pushed by mcount call \
111 */ \
112 __asm("mov r1, lr"); \
113 /* \
114 * Call the real mcount code \
115 */ \
116 __asm("bl " ___STRING(_C_LABEL(_mcount)) PLTSYM); \
117 /* \
118 * Restore registers that were trashed during mcount \
119 */ \
120 __asm("pop {r0-r3, lr}"); \
121 __asm("pop {pc}"); \
122 __asm(".cfi_endproc"); \
123 __asm(".size " MCOUNT_ASM_NAME ", .-" MCOUNT_ASM_NAME);
124#else
125#define MCOUNT \
126 __asm(".text"); \
127 __asm(".align 0"); \
128 __asm(".arm"); \
129 __asm(".type " MCOUNT_ASM_NAME ",%function"); \
130 __asm(".global " MCOUNT_ASM_NAME); \
131 __asm(MCOUNT_ASM_NAME ":"); \
132 __asm(".fnstart"); \
133 __asm(".cfi_startproc"); \
134 /* \
135 * Preserve registers that are trashed during mcount \
136 */ \
137 __asm("push {r0-r3, ip, lr}"); \
138 __asm(".save {r0-r3, lr}"); \
139 __asm(".cfi_def_cfa_offset 24"); \
140 __asm(".cfi_offset 14, -4"); \
141 __asm(".cfi_offset 12, -8"); \
142 __asm(".cfi_offset 3, -12"); \
143 __asm(".cfi_offset 2, -16"); \
144 __asm(".cfi_offset 1, -20"); \
145 __asm(".cfi_offset 0, -24"); \
146 /* \
147 * find the return address for mcount, \
148 * and the return address for mcount's caller. \
149 * \
150 * frompcindex = pc pushed by call into self. \
151 */ \
152 __asm("mov r0, ip"); \
153 /* \
154 * selfpc = pc pushed by mcount call \
155 */ \
156 __asm("mov r1, lr"); \
157 /* \
158 * Call the real mcount code \
159 */ \
160 __asm("bl " ___STRING(_C_LABEL(_mcount)) PLTSYM); \
161 /* \
162 * Restore registers that were trashed during mcount \
163 */ \
164 __asm("pop {r0-r3, lr}"); \
165 __asm("pop {pc}"); \
166 __asm(".cfi_endproc"); \
167 __asm(".fnend"); \
168 __asm(".size " MCOUNT_ASM_NAME ", .-" MCOUNT_ASM_NAME);
169#endif
170
171#ifdef _KERNEL
172#include <arm/cpufunc.h>
173/*
174 * splhigh() and splx() are heavyweight, and call mcount(). Therefore
175 * we disabled interrupts (IRQ, but not FIQ) directly on the CPU.
176 *
177 * We're lucky that the CPSR and 's' both happen to be 'int's.
178 */
179#define MCOUNT_ENTER s = __set_cpsr_c(0x0080, 0x0080); /* kill IRQ */
180#define MCOUNT_EXIT __set_cpsr_c(0xffffffff, s); /* restore old value */
181#endif /* _KERNEL */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/ptrace.h deleted-87
......@@ -1,87 +0,0 @@
1/* $NetBSD: ptrace.h,v 1.17 2020/12/14 01:58:48 rin Exp $ */
2
3/*
4 * Copyright (c) 1995 Frank Lancaster
5 * Copyright (c) 1995 Tools GmbH
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. All advertising materials mentioning features or use of this software
17 * must display the following acknowledgement:
18 * This product includes software developed by TooLs GmbH.
19 * 4. The name of the author may not be used to endorse or promote products
20 * derived from this software without specific prior written permission
21 *
22 * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR
23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 */
33
34#include <arm/cdefs.h>
35
36/*
37 * arm-dependent ptrace definitions
38 */
39#if 0
40/* Exposed to userland for NetBSD 1.6 to 9. Do not reuse for other purpose. */
41#define PT_STEP (PT_FIRSTMACH + 0) /* Not implemented */
42#endif
43#define PT_GETREGS (PT_FIRSTMACH + 1)
44#define PT_SETREGS (PT_FIRSTMACH + 2)
45/* 3 and 4 are for FPE registers */
46#define PT_GETFPREGS (PT_FIRSTMACH + 5)
47#define PT_SETFPREGS (PT_FIRSTMACH + 6)
48#if 0
49/* Exposed to userland for NetBSD 8 to 9. Do not reuse for other purpose. */
50#define PT_SETSTEP (PT_FIRSTMACH + 7) /* Not implemented */
51#define PT_CLEARSTEP (PT_FIRSTMACH + 8) /* Not implemented */
52#endif
53
54#define PT_MACHDEP_STRINGS \
55 "n/a PT_STEP", \
56 "PT_GETREGS", \
57 "PT_SETREGS", \
58 "old PT_GETFPREGS", \
59 "old PT_SETFPREGS", \
60 "PT_GETFPREGS", \
61 "PT_SETFPREGS", \
62 "n/a PT_SETSTEP", \
63 "n/a PT_CLEARSTEP",
64
65#include <machine/reg.h>
66#define PTRACE_REG_PC(_r) (_r)->r_pc
67#define PTRACE_REG_FP(_r) (_r)->r[11]
68#define PTRACE_REG_SET_PC(_r, _v) (_r)->r_pc = (_v)
69#define PTRACE_REG_SP(_r) (_r)->r_sp
70#define PTRACE_REG_INTRV(_r) (_r)->r[0]
71
72#define PTRACE_ILLEGAL_ASM __asm __volatile ("udf #0" : : : "memory")
73
74#if defined(__ARMEL__) || defined(_ARM_ARCH_BE8)
75#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0xfe, 0xde, 0xff, 0xe7 })
76#else
77#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0xe7, 0xff, 0xde, 0xfe })
78#endif
79
80#ifdef _ARM_ARCH_BE8
81#define PTRACE_BREAKPOINT_INSN 0xfedeffe7
82#else
83#define PTRACE_BREAKPOINT_INSN 0xe7ffdefe
84#endif
85
86#define PTRACE_BREAKPOINT_ASM __asm __volatile (".word " ___STRING(PTRACE_BREAKPOINT_INSN) )
87#define PTRACE_BREAKPOINT_SIZE 4
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/reg.h deleted-60
......@@ -1,60 +0,0 @@
1/* $NetBSD: reg.h,v 1.6 2014/01/29 00:42:15 matt Exp $ */
2
3/*
4 * Copyright (C) 1994, 1995 Frank Lancaster
5 * Copyright (C) 1994, 1995 TooLs GmbH.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. All advertising materials mentioning features or use of this software
17 * must display the following acknowledgement:
18 * This product includes software developed by TooLs GmbH.
19 * 4. The name of TooLs GmbH may not be used to endorse or promote products
20 * derived from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR
23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
28 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
31 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 *
33 * @(#)reg.h 5.5 (Berkeley) 1/18/91
34 */
35
36#ifndef _ARM_REG_H_
37#define _ARM_REG_H_
38
39struct reg {
40 unsigned int r[13];
41 unsigned int r_sp;
42 unsigned int r_lr;
43 unsigned int r_pc;
44 unsigned int r_cpsr;
45};
46
47struct vfpreg {
48 uint32_t vfp_fpexc;
49 uint32_t vfp_fpscr;
50 uint32_t vfp_fpinst;
51 uint32_t vfp_fpinst2;
52 uint64_t vfp_regs[33]; /* In case we need fstmx format. */
53};
54
55struct fpreg {
56 struct vfpreg fpr_vfp;
57};
58
59
60#endif /* !_ARM_REG_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/rwlock.h deleted-1
......@@ -1 +0,0 @@
1/* $NetBSD: rwlock.h,v 1.10 2019/11/29 20:04:52 riastradh Exp $ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/setjmp.h deleted-93
......@@ -1,93 +0,0 @@
1/* $NetBSD: setjmp.h,v 1.5 2013/01/11 13:56:32 matt Exp $ */
2
3/*
4 * machine/setjmp.h: machine dependent setjmp-related information.
5 */
6
7#define _JBLEN 64 /* size, in longs, of a jmp_buf */
8
9/*
10 * NOTE: The internal structure of a jmp_buf is *PRIVATE*
11 * This information is provided as there is software
12 * that fiddles with this with obtain the stack pointer
13 * (yes really ! and its commercial !).
14 *
15 * Description of the setjmp buffer
16 *
17 * word 0 magic number (dependent on creator)
18 * 13 fpscr vfp status control register
19 * 14 r4 register 4
20 * 15 r5 register 5
21 * 16 r6 register 6
22 * 17 r7 register 7
23 * 18 r8 register 8
24 * 19 r9 register 9
25 * 20 r10 register 10 (sl)
26 * 21 r11 register 11 (fp)
27 * 22 r12 register 12 (ip)
28 * 23 r13 register 13 (sp)
29 * 24 r14 register 14 (lr)
30 * 25 signal mask (dependent on magic)
31 * 26 (con't)
32 * 27 (con't)
33 * 28 (con't)
34 * 32-33 d8 (vfp register d8)
35 * 34-35 d9 (vfp register d9)
36 * 36-37 d10 (vfp register d10)
37 * 38-39 d11 (vfp register d11)
38 * 40-41 d12 (vfp register d12)
39 * 42-43 d13 (vfp register d13)
40 * 44-45 d14 (vfp register d14)
41 * 46-47 d15 (vfp register d15)
42 *
43 * The magic number number identifies the jmp_buf and
44 * how the buffer was created as well as providing
45 * a sanity check
46 *
47 * A side note I should mention - Please do not tamper
48 * with the floating point fields. While they are
49 * always saved and restored at the moment this cannot
50 * be garenteed especially if the compiler happens
51 * to be generating soft-float code so no fp
52 * registers will be used.
53 *
54 * Whilst this can be seen an encouraging people to
55 * use the setjmp buffer in this way I think that it
56 * is for the best then if changes occur compiles will
57 * break rather than just having new builds falling over
58 * mysteriously.
59 */
60
61#define _JB_MAGIC__SETJMP 0x4278f500
62#define _JB_MAGIC_SETJMP 0x4278f501
63#define _JB_MAGIC__SETJMP_VFP 0x4278f502
64#define _JB_MAGIC_SETJMP_VFP 0x4278f503
65
66/* Valid for all jmp_buf's */
67
68#define _JB_MAGIC 0
69#define _JB_REG_FPSCR 13
70#define _JB_REG_R4 14
71#define _JB_REG_R5 15
72#define _JB_REG_R6 16
73#define _JB_REG_R7 17
74#define _JB_REG_R8 18
75#define _JB_REG_R9 19
76#define _JB_REG_R10 20
77#define _JB_REG_R11 21
78#define _JB_REG_R12 22
79#define _JB_REG_R13 23
80#define _JB_REG_R14 24
81
82/* Only valid with the _JB_MAGIC_SETJMP magic */
83
84#define _JB_SIGMASK 25
85
86#define _JB_REG_D8 32
87#define _JB_REG_D9 34
88#define _JB_REG_D10 36
89#define _JB_REG_D11 38
90#define _JB_REG_D12 40
91#define _JB_REG_D13 42
92#define _JB_REG_D14 44
93#define _JB_REG_D15 46
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/signal.h deleted-167
......@@ -1,167 +0,0 @@
1/* $NetBSD: signal.h,v 1.20 2021/10/30 19:54:58 thorpej Exp $ */
2
3/*
4 * Copyright (c) 1994-1996 Mark Brinicombe.
5 * Copyright (c) 1994 Brini.
6 * All rights reserved.
7 *
8 * This code is derived from software written for Brini by Mark Brinicombe
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by Brini.
21 * 4. The name of the company nor the name of the author may be used to
22 * endorse or promote products derived from this software without specific
23 * prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
26 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28 * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
29 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 * SUCH DAMAGE.
36 *
37 * RiscBSD kernel project
38 *
39 * signal.h
40 *
41 * Architecture dependent signal types and structures
42 *
43 * Created : 30/09/94
44 */
45
46#ifndef _ARM_SIGNAL_H_
47#define _ARM_SIGNAL_H_
48
49#include <sys/featuretest.h>
50#include <sys/sigtypes.h>
51
52#ifndef _LOCORE
53typedef int sig_atomic_t;
54#endif
55
56#if defined(__arm__)
57
58#define __HAVE_STRUCT_SIGCONTEXT
59
60#if defined(_NETBSD_SOURCE)
61
62#ifndef _LOCORE
63/*
64 * Information pushed on stack when a signal is delivered.
65 * This is used by the kernel to restore state following
66 * execution of the signal handler. It is also made available
67 * to the handler to allow it to restore state properly if
68 * a non-standard exit is performed.
69 */
70
71#if defined(_KERNEL)
72struct sigcontext13 {
73 int sc_onstack; /* sigstack state to restore */
74 int sc_mask; /* signal mask to restore (old style) */
75
76 unsigned int sc_spsr;
77 unsigned int sc_r0;
78 unsigned int sc_r1;
79 unsigned int sc_r2;
80 unsigned int sc_r3;
81 unsigned int sc_r4;
82 unsigned int sc_r5;
83 unsigned int sc_r6;
84 unsigned int sc_r7;
85 unsigned int sc_r8;
86 unsigned int sc_r9;
87 unsigned int sc_r10;
88 unsigned int sc_r11;
89 unsigned int sc_r12;
90 unsigned int sc_usr_sp;
91 unsigned int sc_usr_lr;
92 unsigned int sc_svc_lr;
93 unsigned int sc_pc;
94};
95#endif /* _KERNEL */
96
97#if defined(_LIBC) || defined(_KERNEL)
98struct sigcontext {
99 int sc_onstack; /* sigstack state to restore */
100 int __sc_mask13; /* signal mask to restore (old style) */
101
102 unsigned int sc_spsr;
103 unsigned int sc_r0;
104 unsigned int sc_r1;
105 unsigned int sc_r2;
106 unsigned int sc_r3;
107 unsigned int sc_r4;
108 unsigned int sc_r5;
109 unsigned int sc_r6;
110 unsigned int sc_r7;
111 unsigned int sc_r8;
112 unsigned int sc_r9;
113 unsigned int sc_r10;
114 unsigned int sc_r11;
115 unsigned int sc_r12;
116 unsigned int sc_usr_sp;
117 unsigned int sc_usr_lr;
118 unsigned int sc_svc_lr;
119 unsigned int sc_pc;
120
121 sigset_t sc_mask; /* signal mask to restore (new style) */
122};
123#endif /* _LIBC || _KERNEL */
124
125#endif /* !_LOCORE */
126
127/* Signals codes */
128
129/*
130 * SIGFPE codes
131 *
132 * see ieeefp.h for definition of FP exception codes
133 */
134
135#define SIG_CODE_FPE_CODE_MASK 0x00000f00 /* Mask for exception code */
136#define SIG_CODE_FPE_CODE_SHIFT 8 /* Shift for exception code */
137#define SIG_CODE_FPE_TYPE_MASK 0x000000ff /* Mask for specific code */
138
139/*
140 * SIGILL codes
141 *
142 * the signal code is the instruction that raised the signal
143 */
144
145/*
146 * SIGBUS and SIGSEGV codes
147 *
148 * The signal code is combination of the fault address and the fault code.
149 *
150 * The fault code is the coproc #15 fault status code
151 *
152 * The exception to this is a SIGBUS or SIGSEGV from a prefetch abort.
153 * In this case the fault status code is not valid so the TYPE_MASK
154 * should be treated as undefined (in practice it is the bottom 4 bits
155 * of the fault address).
156 */
157
158#define SIG_CODE_BUS_ADDR_MASK 0xfffffff0
159#define SIG_CODE_BUS_TYPE_MASK 0x0000000f
160#define SIG_CODE_SEGV_ADDR_MASK SIG_CODE_BUS_ADDR_MASK
161#define SIG_CODE_SEGV_TYPE_MASK SIG_CODE_BUS_TYPE_MASK
162
163#endif /* _NETBSD_SOURCE */
164#endif /* __arm__ */
165#endif /* !_ARM_SIGNAL_H_ */
166
167/* End of signal.h */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/sljit_machdep.h deleted-59
......@@ -1,59 +0,0 @@
1/* $NetBSD: sljit_machdep.h,v 1.1 2014/07/23 18:19:43 alnsn Exp $ */
2
3/*-
4 * Copyright (c) 2014 Alexander Nasonov.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
17 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef _ARM_SLJITARCH_H
30#define _ARM_SLJITARCH_H
31
32#include <sys/cdefs.h>
33
34#ifdef _KERNEL
35#include <machine/types.h>
36#include <arm/cpufunc.h>
37#else
38#include <stddef.h>
39#include <stdint.h>
40#include <arm/sysarch.h>
41#endif
42
43#if defined(_ARM_ARCH_T2)
44#define SLJIT_CONFIG_ARM_THUMB2 1
45#elif defined(_ARM_ARCH_7)
46#define SLJIT_CONFIG_ARM_V7 1
47#else
48#define SLJIT_CONFIG_ARM_V5 1
49#endif
50
51#ifdef _KERNEL
52#define SLJIT_CACHE_FLUSH(from, to) \
53 cpu_icache_sync_range((vaddr_t)(from), (vsize_t)((to) - (from)))
54#else
55#define SLJIT_CACHE_FLUSH(from, to) \
56 (void)arm_sync_icache((uintptr_t)(from), (size_t)((to) - (from)))
57#endif
58
59#endif
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/sysarch.h deleted-85
......@@ -1,85 +0,0 @@
1/* $NetBSD: sysarch.h,v 1.15 2021/10/06 05:33:15 skrll Exp $ */
2
3/*
4 * Copyright (c) 1996-1997 Mark Brinicombe.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by Mark Brinicombe.
18 * 4. The name of the company nor the name of the author may be used to
19 * endorse or promote products derived from this software without specific
20 * prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 */
34
35#ifndef _ARM_SYSARCH_H_
36#define _ARM_SYSARCH_H_
37
38#include <sys/cdefs.h>
39
40/*
41 * Pickup definition of size_t and uintptr_t
42 */
43#include <machine/ansi.h>
44#include <sys/stdint.h>
45#ifndef _KERNEL
46#include <stdbool.h>
47#endif
48
49#ifdef _BSD_SIZE_T_
50typedef _BSD_SIZE_T_ size_t;
51#undef _BSD_SIZE_T_
52#endif
53
54/*
55 * Architecture specific syscalls (arm)
56 */
57
58#define ARM_SYNC_ICACHE 0
59#define ARM_DRAIN_WRITEBUF 1
60#define ARM_VFP_FPSCR 2
61#define ARM_FPU_USED 3
62
63struct arm_sync_icache_args {
64 uintptr_t addr; /* Virtual start address */
65 size_t len; /* Region size */
66};
67
68struct arm_vfp_fpscr_args {
69 uint32_t fpscr_clear; /* bits to clear */
70 uint32_t fpscr_set; /* bits to set */
71};
72
73struct arm_unaligned_faults_args {
74 bool enabled; /* unaligned faults are enabled */
75};
76
77#ifndef _KERNEL
78__BEGIN_DECLS
79int arm_sync_icache(uintptr_t, size_t);
80int arm_drain_writebuf(void);
81int sysarch(int, void *);
82__END_DECLS
83#endif
84
85#endif /* !_ARM_SYSARCH_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/trap.h deleted-83
......@@ -1,83 +0,0 @@
1/* $NetBSD: trap.h,v 1.10 2020/12/01 02:48:29 rin Exp $ */
2
3/*
4 * Copyright (c) 1995 Mark Brinicombe.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by Mark Brinicombe.
18 * 4. The name of the company nor the name of the author may be used to
19 * endorse or promote products derived from this software without specific
20 * prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25 * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * RiscBSD kernel project
35 *
36 * trap.h
37 *
38 * Various trap definitions
39 */
40
41#include <arm/cdefs.h>
42
43/*
44 * Instructions used for breakpoints.
45 *
46 * These are undefined instructions.
47 * Technically the userspace breakpoint could be a SWI but we want to
48 * keep this the same as IPKDB which needs an undefined instruction as
49 * a break point.
50 *
51 * Ideally ARM would define several standard instruction sequences for
52 * use as breakpoints.
53 *
54 * The BKPT instruction isn't much use to us, since its behaviour is
55 * unpredictable on ARMv3 and lower.
56 *
57 * The ARM ARM says that for maximum compatibility, we should use undefined
58 * instructions that look like 0x.7f...f. .
59 */
60
61#define GDB_BREAKPOINT 0xe6000011 /* Used by GDB 4.x */
62#define IPKDB_BREAKPOINT_DEAD 0xe6000010 /* was used by IPKDB */
63#define GDB5_BREAKPOINT 0xe7ffdefe /* Used by GDB 5.0 */
64#define GDB_THUMB_BREAKPOINT 0xdefe /* Thumb in GDB */
65#define KERNEL_BREAKPOINT 0xe7ffffff /* Used by DDB */
66
67/*
68 * DTrace uses 0xe7fffef0 to 0xe7fffeff as breakpoints.
69 * The first byte is used to encode a cond value.
70 */
71#define DTRACE_BREAKPOINT 0xe7fffef0
72#define DTRACE_BREAKPOINT_MASK 0xfffffff0
73#define DTRACE_IS_BREAKPOINT(insn) ((insn & DTRACE_BREAKPOINT_MASK) == DTRACE_BREAKPOINT)
74
75#ifdef _ARM_ARCH_BE8
76#define KBPT_ASM ".word 0xfedeffe7"
77#else
78#define KBPT_ASM ".word 0xe7ffdefe"
79#endif
80
81#define USER_BREAKPOINT GDB_BREAKPOINT
82
83/* End of trap.h */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/types.h deleted-107
......@@ -1,107 +0,0 @@
1/* $NetBSD: types.h,v 1.40 2020/01/18 14:40:04 skrll Exp $ */
2
3/*
4 * Copyright (c) 1990 The Regents of the University of California.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of the University nor the names of its contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 *
31 * from: @(#)types.h 7.5 (Berkeley) 3/9/91
32 */
33
34#ifndef _ARM_TYPES_H_
35#define _ARM_TYPES_H_
36
37#include <sys/cdefs.h>
38#include <sys/featuretest.h>
39#include <arm/int_types.h>
40
41#if defined(_KERNEL)
42typedef struct label_t { /* Used by setjmp & longjmp */
43 int val[11];
44} label_t;
45#endif
46
47#if defined(_KERNEL) || defined(_KMEMUSER) || defined(_KERNTYPES) || defined(_STANDALONE)
48typedef unsigned long paddr_t;
49typedef unsigned long psize_t;
50typedef unsigned long vaddr_t;
51typedef unsigned long vsize_t;
52#define PRIxPADDR "lx"
53#define PRIxPSIZE "lx"
54#define PRIuPSIZE "lu"
55#define PRIxVADDR "lx"
56#define PRIxVSIZE "lx"
57#define PRIuVSIZE "lu"
58
59#define VADDR_MAX ULONG_MAX
60#define PADDR_MAX ULONG_MAX
61
62typedef int register_t, register32_t;
63#define PRIxREGISTER "x"
64
65typedef unsigned short tlb_asid_t;
66#endif
67
68/*
69 * This should have always been an 8-bit type, but since it's been exposed
70 * to user-space, we don't want ABI breakage there.
71 */
72#if defined(_KERNEL)
73typedef unsigned char __cpu_simple_lock_nv_t;
74#else
75typedef int __cpu_simple_lock_nv_t;
76#endif /* _KERNEL */
77typedef int __register_t;
78
79#define __SIMPLELOCK_LOCKED 1
80#define __SIMPLELOCK_UNLOCKED 0
81
82#define __HAVE_COMMON___TLS_GET_ADDR
83#define __HAVE_CPU_DATA_FIRST
84#define __HAVE_MINIMAL_EMUL
85#define __HAVE_NEW_STYLE_BUS_H
86#define __HAVE_OLD_DISKLABEL
87#define __HAVE_SYSCALL_INTERN
88#define __HAVE_TLS_VARIANT_I
89#define __HAVE___LWP_GETPRIVATE_FAST
90#if defined(__ARM_EABI__) && defined(_ARM_ARCH_6)
91#define __HAVE_ATOMIC64_OPS
92#endif
93#if defined(_ARM_ARCH_6)
94#define __HAVE_MAXPROC_HOOK
95#define __HAVE_UCAS_MP
96#endif
97
98#if defined(_KERNEL) || defined(_KMEMUSER)
99#define PCU_FPU 0
100#define PCU_UNIT_COUNT 1
101#endif
102
103#if defined(_KERNEL)
104#define __HAVE_RAS
105#endif
106
107#endif /* _ARM_TYPES_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/vmparam.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: vmparam.h,v 1.3 2013/05/01 12:00:51 matt Exp $ */
2
3#include <arm/arm32/vmparam.h>
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/machine/wchar_limits.h deleted-75
......@@ -1,75 +0,0 @@
1/* $NetBSD: wchar_limits.h,v 1.4 2013/01/24 10:17:00 matt Exp $ */
2
3/*-
4 * Copyright (c) 2004 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Klaus Klein.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _ARM_WCHAR_LIMITS_H_
33#define _ARM_WCHAR_LIMITS_H_
34
35/*
36 * 7.18.3 Limits of other integer types
37 */
38
39/* limits of wchar_t */
40
41#ifdef __WCHAR_MIN__
42#define WCHAR_MIN __WCHAR_MIN__ /* wchar_t */
43#elif __WCHAR_UNSIGNED__
44#define WCHAR_MIN 0U /* wchar_t */
45#else
46#define WCHAR_MIN (-0x7fffffff-1) /* wchar_t */
47#endif
48
49#ifdef __WCHAR_MAX__
50#define WCHAR_MAX __WCHAR_MAX__ /* wchar_t */
51#elif __WCHAR_UNSIGNED__
52#define WCHAR_MAX 0xffffffffU /* wchar_t */
53#else
54#define WCHAR_MAX 0x7fffffff /* wchar_t */
55#endif
56
57/* limits of wint_t */
58
59#ifdef __WINT_MIN__
60#define WINT_MIN __WINT_MIN__ /* wint_t */
61#elif __WINT_UNSIGNED__
62#define WINT_MIN 0U /* wint_t */
63#else
64#define WINT_MIN (-0x7fffffff-1) /* wint_t */
65#endif
66
67#ifdef __WINT_MAX__
68#define WINT_MAX __WINT_MAX__ /* wint_t */
69#elif __WINT_UNSIGNED__
70#define WINT_MAX 0xffffffffU /* wint_t */
71#else
72#define WINT_MAX 0x7fffffff /* wint_t */
73#endif
74
75#endif /* !_ARM_WCHAR_LIMITS_H_ */
\ No newline at end of file
lib/libc/include/arm-netbsd-eabihf/unwind.h deleted-102
......@@ -1,102 +0,0 @@
1//===------------------------------- unwind.h -----------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//
9// C++ ABI Level 1 ABI documented at:
10// http://mentorembedded.github.io/cxx-abi/abi-eh.html
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef _UNWIND_H
15#define _UNWIND_H
16
17#include <stdint.h>
18#include <stddef.h>
19
20typedef enum {
21 _URC_NO_REASON = 0,
22 _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
23 _URC_FATAL_PHASE2_ERROR = 2,
24 _URC_FATAL_PHASE1_ERROR = 3,
25 _URC_NORMAL_STOP = 4,
26 _URC_END_OF_STACK = 5,
27 _URC_HANDLER_FOUND = 6,
28 _URC_INSTALL_CONTEXT = 7,
29 _URC_CONTINUE_UNWIND = 8
30} _Unwind_Reason_Code;
31
32typedef enum {
33 _UA_SEARCH_PHASE = 1,
34 _UA_CLEANUP_PHASE = 2,
35 _UA_HANDLER_FRAME = 4,
36 _UA_FORCE_UNWIND = 8,
37 _UA_END_OF_STACK = 16 /* GCC extension */
38} _Unwind_Action;
39
40struct _Unwind_Context;
41
42struct _Unwind_Exception {
43 uint64_t exception_class;
44 void (*exception_cleanup)(_Unwind_Reason_Code, struct _Unwind_Exception *);
45 uintptr_t private_1;
46 uintptr_t private_2;
47} __attribute__((__aligned__));
48
49typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)(int, _Unwind_Action, uint64_t,
50 struct _Unwind_Exception *,
51 struct _Unwind_Context *,
52 void *);
53
54typedef _Unwind_Reason_Code (*__personality_routine)(int, _Unwind_Action,
55 uint64_t,
56 struct _Unwind_Exception *,
57 struct _Unwind_Context *);
58
59#ifdef _UNWIND_GCC_EXTENSIONS
60struct dwarf_eh_bases {
61 void *tbase;
62 void *dbase;
63 void *func;
64};
65#endif
66
67__BEGIN_DECLS
68
69_Unwind_Reason_Code _Unwind_RaiseException(struct _Unwind_Exception *);
70void _Unwind_Resume(struct _Unwind_Exception *) __dead;
71_Unwind_Reason_Code _Unwind_Resume_or_Rethrow(struct _Unwind_Exception *);
72_Unwind_Reason_Code _Unwind_ForcedUnwind(struct _Unwind_Exception *,
73 _Unwind_Stop_Fn, void *);
74void _Unwind_DeleteException(struct _Unwind_Exception *);
75uintptr_t _Unwind_GetGR(struct _Unwind_Context *, int);
76void _Unwind_SetGR(struct _Unwind_Context *, int, uintptr_t);
77uintptr_t _Unwind_GetIP(struct _Unwind_Context *);
78uintptr_t _Unwind_GetIPInfo(struct _Unwind_Context *, int *);
79uintptr_t _Unwind_GetCFA(struct _Unwind_Context *);
80void _Unwind_SetIP(struct _Unwind_Context *, uintptr_t);
81uintptr_t _Unwind_GetRegionStart(struct _Unwind_Context *);
82uintptr_t _Unwind_GetLanguageSpecificData(struct _Unwind_Context *);
83uintptr_t _Unwind_GetDataRelBase(struct _Unwind_Context *);
84uintptr_t _Unwind_GetTextRelBase(struct _Unwind_Context *);
85
86typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)(struct _Unwind_Context *,
87 void *);
88_Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, void *);
89void *_Unwind_FindEnclosingFunction(void *);
90
91void __register_frame(const void *);
92void __register_frame_info(const void *, void *);
93void __deregister_frame(const void *);
94void *__deregister_frame_info(const void *);
95
96#ifdef _UNWIND_GCC_EXTENSIONS
97void *_Unwind_Find_FDE(void *, struct dwarf_eh_bases *);
98#endif
99
100__END_DECLS
101
102#endif // _UNWIND_H
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h deleted-25
......@@ -1,25 +0,0 @@
1/* arm definitions for finding objects.
2 Copyright (C) 2021-2025 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 _DLFCN_H
20# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
21#endif
22
23#define DLFO_STRUCT_HAS_EH_DBASE 0
24#define DLFO_STRUCT_HAS_EH_COUNT 1
25#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/endianness.h deleted-15
......@@ -1,15 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* ARM has selectable endianness. */
9#ifdef __ARMEB__
10#define __BYTE_ORDER __BIG_ENDIAN
11#else
12#define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h deleted-54
......@@ -1,54 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#define __O_DIRECTORY 040000 /* Must be a directory. */
24#define __O_NOFOLLOW 0100000 /* Do not follow links. */
25#define __O_DIRECT 0200000 /* Direct disk access. */
26#define __O_LARGEFILE 0400000
27
28struct flock
29 {
30 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
31 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
32#ifndef __USE_FILE_OFFSET64
33 __off_t l_start; /* Offset where the lock begins. */
34 __off_t l_len; /* Size of the locked area; zero means until EOF. */
35#else
36 __off64_t l_start; /* Offset where the lock begins. */
37 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
38#endif
39 __pid_t l_pid; /* Process holding the lock. */
40 };
41
42#ifdef __USE_LARGEFILE64
43struct flock64
44 {
45 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
46 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
47 __off64_t l_start; /* Offset where the lock begins. */
48 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
49 __pid_t l_pid; /* Process holding the lock. */
50 };
51#endif
52
53/* Include generic Linux declarations. */
54#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/fenv.h deleted-90
......@@ -1,90 +0,0 @@
1/* Copyright (C) 2004-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22/* Define bits representing exceptions in the FPU status word. */
23enum
24 {
25 FE_INVALID =
26#define FE_INVALID 1
27 FE_INVALID,
28 FE_DIVBYZERO =
29#define FE_DIVBYZERO 2
30 FE_DIVBYZERO,
31 FE_OVERFLOW =
32#define FE_OVERFLOW 4
33 FE_OVERFLOW,
34 FE_UNDERFLOW =
35#define FE_UNDERFLOW 8
36 FE_UNDERFLOW,
37 FE_INEXACT =
38#define FE_INEXACT 16
39 FE_INEXACT,
40 };
41
42/* Amount to shift by to convert an exception to a mask bit. */
43#define FE_EXCEPT_SHIFT 8
44
45/* All supported exceptions. */
46#define FE_ALL_EXCEPT \
47 (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
48
49/* VFP supports all of the four defined rounding modes. */
50enum
51 {
52 FE_TONEAREST =
53#define FE_TONEAREST 0
54 FE_TONEAREST,
55 FE_UPWARD =
56#define FE_UPWARD 0x400000
57 FE_UPWARD,
58 FE_DOWNWARD =
59#define FE_DOWNWARD 0x800000
60 FE_DOWNWARD,
61 FE_TOWARDZERO =
62#define FE_TOWARDZERO 0xc00000
63 FE_TOWARDZERO
64 };
65
66/* Type representing exception flags. */
67typedef unsigned int fexcept_t;
68
69/* Type representing floating-point environment. */
70typedef struct
71 {
72 unsigned int __cw;
73 }
74fenv_t;
75
76/* If the default argument is used we use this value. */
77#define FE_DFL_ENV ((const fenv_t *) -1l)
78
79#ifdef __USE_GNU
80/* Floating-point environment where none of the exceptions are masked. */
81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif
83
84#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;
87
88/* Default floating-point control modes. */
89# define FE_DFL_MODE ((const femode_t *) -1L)
90#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/floatn.h deleted-52
......@@ -1,52 +0,0 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2025 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/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc
21 includes corresponding *f128 interfaces for it. */
22#define __HAVE_FLOAT128 0
23
24/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
25 from the default float, double and long double types in this glibc. */
26#define __HAVE_DISTINCT_FLOAT128 0
27
28/* Defined to 1 if the current compiler invocation provides a
29 floating-point type with the right format for _Float64x, and this
30 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
32
33/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
34 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
35 the format of _Float128, which must be different from that of long
36 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
38
39#ifndef __ASSEMBLER__
40
41/* Defined to concatenate the literal suffix to be used with _Float128
42 types, if __HAVE_FLOAT128 is 1.
43 E.g.: #define __f128(x) x##f128. */
44# undef __f128
45
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
49
50#endif /* !__ASSEMBLER__. */
51
52#include <bits/floatn-common.h>
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h deleted-59
......@@ -1,59 +0,0 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.
2 Copyright (C) 2012-2025 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 (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h>. */
24#define HWCAP_ARM_SWP 1
25#define HWCAP_ARM_HALF 2
26#define HWCAP_ARM_THUMB 4
27#define HWCAP_ARM_26BIT 8
28#define HWCAP_ARM_FAST_MULT 16
29#define HWCAP_ARM_FPA 32
30#define HWCAP_ARM_VFP 64
31#define HWCAP_ARM_EDSP 128
32#define HWCAP_ARM_JAVA 256
33#define HWCAP_ARM_IWMMXT 512
34#define HWCAP_ARM_CRUNCH 1024
35#define HWCAP_ARM_THUMBEE 2048
36#define HWCAP_ARM_NEON 4096
37#define HWCAP_ARM_VFPv3 8192
38#define HWCAP_ARM_VFPv3D16 16384
39#define HWCAP_ARM_TLS 32768
40#define HWCAP_ARM_VFPv4 65536
41#define HWCAP_ARM_IDIVA 131072
42#define HWCAP_ARM_IDIVT 262144
43#define HWCAP_ARM_VFPD32 524288
44#define HWCAP_ARM_LPAE 1048576
45#define HWCAP_ARM_EVTSTRM 2097152
46#define HWCAP_FPHP 4194304
47#define HWCAP_ASIMDHP 8388608
48#define HWCAP_ASIMDDP 16777216
49#define HWCAP_ASIMDFHM 33554432
50#define HWCAP_ASIMDBF16 67108864
51#define HWCAP_I8MM 134217728
52
53#define HWCAP2_AES 1
54#define HWCAP2_PMULL 2
55#define HWCAP2_SHA1 4
56#define HWCAP2_SHA2 8
57#define HWCAP2_CRC32 16
58#define HWCAP2_SB 32
59#define HWCAP2_SSBS 64
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/link.h deleted-65
......@@ -1,65 +0,0 @@
1/* Copyright (C) 2005-2025 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 _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."
20#endif
21
22
23/* Registers for entry into PLT on ARM. */
24typedef struct La_arm_regs
25{
26 uint32_t lr_reg[4];
27 uint32_t lr_sp;
28 uint32_t lr_lr;
29 /* Coprocessor registers used for argument passing. The data
30 stored here depends on the coprocessors available in the
31 system which are used for function calls in the current ABI.
32 VFP uses eight 64-bit registers, and iWMMXt uses ten. */
33 uint32_t lr_coproc[42];
34} La_arm_regs;
35
36/* Return values for calls from PLT on ARM. */
37typedef struct La_arm_retval
38{
39 /* Up to four integer registers can be used for a return value in
40 some ABIs (APCS complex long double). */
41 uint32_t lrv_reg[4];
42
43 /* Any coprocessor registers which might be used to return values
44 in the current ABI. */
45 uint32_t lrv_coproc[12];
46} La_arm_retval;
47
48
49__BEGIN_DECLS
50
51extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
52 uintptr_t *__refcook,
53 uintptr_t *__defcook,
54 La_arm_regs *__regs,
55 unsigned int *__flags,
56 const char *__symname,
57 long int *__framesizep);
58extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
59 uintptr_t *__refcook,
60 uintptr_t *__defcook,
61 const La_arm_regs *__inregs,
62 La_arm_retval *__outregs,
63 const char *__symname);
64
65__END_DECLS
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/long-double.h deleted-53
......@@ -1,53 +0,0 @@
1/* Properties of long double type.
2 Copyright (C) 2016-2025 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 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/* This header is included by <sys/cdefs.h>.
20
21 If long double is ABI-compatible with double, it should define
22 __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
23 __NO_LONG_DOUBLE_MATH undefined.
24
25 If this build of the GNU C Library supports both long double
26 ABI-compatible with double and some other long double format not
27 ABI-compatible with double, it should define
28 __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
29 __LONG_DOUBLE_MATH_OPTIONAL undefined.
30
31 If __NO_LONG_DOUBLE_MATH is already defined, this header must not
32 define anything; this is needed to work with the definition of
33 __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */
34
35/* In the default version of this header, long double is
36 ABI-compatible with double. */
37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 1
39#endif
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/procfs-id.h deleted-25
......@@ -1,25 +0,0 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
22#endif
23
24typedef unsigned short int __pr_uid_t;
25typedef unsigned short int __pr_gid_t;
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/procfs.h deleted-34
......@@ -1,34 +0,0 @@
1/* Types for registers for sys/procfs.h. Arm version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23/* Type for a general-purpose register. */
24typedef unsigned long elf_greg_t;
25
26/* And the whole bunch of them. We could have used `struct
27 user_regs' directly in the typedef, but tradition says that
28 the register set is an array, which does have some peculiar
29 semantics, so leave it that way. */
30#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t))
31typedef elf_greg_t elf_gregset_t[ELF_NGREG];
32
33/* Register set for the floating-point registers. */
34typedef struct user_fpregs elf_fpregset_t;
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/rseq.h deleted-83
......@@ -1,83 +0,0 @@
1/* Restartable Sequences Linux arm architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/*
23 RSEQ_SIG is a signature required before each abort handler code.
24
25 It is a 32-bit value that maps to actual architecture code compiled
26 into applications and libraries. It needs to be defined for each
27 architecture. When choosing this value, it needs to be taken into
28 account that generating invalid instructions may have ill effects on
29 tools like objdump, and may also have impact on the CPU speculative
30 execution efficiency in some cases.
31
32 - ARM little endian
33
34 RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand
35 value 0x5de3. This traps if user-space reaches this instruction by mistake,
36 and the uncommon operand ensures the kernel does not move the instruction
37 pointer to attacker-controlled code on rseq abort.
38
39 The instruction pattern in the A32 instruction set is:
40
41 e7f5def3 udf #24035 ; 0x5de3
42
43 This translates to the following instruction pattern in the T16 instruction
44 set:
45
46 little endian:
47 def3 udf #243 ; 0xf3
48 e7f5 b.n <7f5>
49
50 - ARMv6+ big endian (BE8):
51
52 ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian
53 code and big-endian data. The data value of the signature needs to have its
54 byte order reversed to generate the trap instruction:
55
56 Data: 0xf3def5e7
57
58 Translates to this A32 instruction pattern:
59
60 e7f5def3 udf #24035 ; 0x5de3
61
62 Translates to this T16 instruction pattern:
63
64 def3 udf #243 ; 0xf3
65 e7f5 b.n <7f5>
66
67 - Prior to ARMv6 big endian (BE32):
68
69 Prior to ARMv6, -mbig-endian generates big-endian code and data
70 (which match), so the endianness of the data representation of the
71 signature should not be reversed. However, the choice between BE32
72 and BE8 is done by the linker, so we cannot know whether code and
73 data endianness will be mixed before the linker is invoked. So rather
74 than try to play tricks with the linker, the rseq signature is simply
75 data (not a trap instruction) prior to ARMv6 on big endian. This is
76 why the signature is expressed as data (.word) rather than as
77 instruction (.inst) in assembler. */
78
79#ifdef __ARMEB__
80# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */
81#else
82# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */
83#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2004-2025 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/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
19
20#ifndef _BITS_SETJMP_H
21#define _BITS_SETJMP_H 1
22
23#if !defined _SETJMP_H && !defined _PTHREAD_H
24# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
25#endif
26
27#ifndef __ASSEMBLER__
28/* The exact set of registers saved may depend on the particular core
29 in use, as some coprocessor registers may need to be saved. The C
30 Library ABI requires that the buffer be 8-byte aligned, and
31 recommends that the buffer contain 64 words. The first 26 words
32 are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */
33typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
34#endif
35
36#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h deleted-29
......@@ -1,29 +0,0 @@
1/* Define SHMLBA. ARM version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getpagesize () << 2)
27extern int __getpagesize (void) __THROW __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h deleted-139
......@@ -1,139 +0,0 @@
1/* Definition for struct stat. Linux/arm version.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29struct stat
30 {
31#ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33#else
34 __dev_t st_dev; /* Device. */
35 unsigned short int __pad1;
36# ifndef __USE_FILE_OFFSET64
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino_t __st_ino; /* 32bit file serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80# ifndef __USE_FILE_OFFSET64
81 unsigned long int __glibc_reserved4;
82 unsigned long int __glibc_reserved5;
83# else
84 __ino64_t st_ino; /* File serial number. */
85# endif
86#endif /* __USE_TIME64_REDIRECTS */
87 };
88
89#ifdef __USE_LARGEFILE64
90struct stat64
91 {
92# ifdef __USE_TIME64_REDIRECTS
93# include <bits/struct_stat_time64_helper.h>
94# else
95 __dev_t st_dev; /* Device. */
96 unsigned int __pad1;
97
98 __ino_t __st_ino; /* 32bit file serial number. */
99 __mode_t st_mode; /* File mode. */
100 __nlink_t st_nlink; /* Link count. */
101 __uid_t st_uid; /* User ID of the file's owner. */
102 __gid_t st_gid; /* Group ID of the file's group.*/
103 __dev_t st_rdev; /* Device number, if device. */
104 unsigned int __pad2;
105 __off64_t st_size; /* Size of file, in bytes. */
106 __blksize_t st_blksize; /* Optimal block size for I/O. */
107
108 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
109# ifdef __USE_XOPEN2K8
110 /* Nanosecond resolution timestamps are stored in a format
111 equivalent to 'struct timespec'. This is the type used
112 whenever possible but the Unix namespace rules do not allow the
113 identifier 'timespec' to appear in the <sys/stat.h> header.
114 Therefore we have to handle the use of this header in strictly
115 standard-compliant sources special. */
116 struct timespec st_atim; /* Time of last access. */
117 struct timespec st_mtim; /* Time of last modification. */
118 struct timespec st_ctim; /* Time of last status change. */
119# else
120 __time_t st_atime; /* Time of last access. */
121 unsigned long int st_atimensec; /* Nscecs of last access. */
122 __time_t st_mtime; /* Time of last modification. */
123 unsigned long int st_mtimensec; /* Nsecs of last modification. */
124 __time_t st_ctime; /* Time of last status change. */
125 unsigned long int st_ctimensec; /* Nsecs of last status change. */
126# endif
127 __ino64_t st_ino; /* File serial number. */
128# endif /* __USE_TIME64_REDIRECTS */
129 };
130#endif
131
132/* Tell code we have these members. */
133#define _STATBUF_ST_BLKSIZE
134#define _STATBUF_ST_RDEV
135/* Nanosecond resolution time values are supported. */
136#define _STATBUF_ST_NSEC
137
138
139#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/ARM.
2 Copyright (C) 2021-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 32
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h deleted-74
......@@ -1,74 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. ARM version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#define __RLIM_T_MATCHES_RLIM64_T 0
66#define __STATFS_MATCHES_STATFS64 0
67/* And for getitimer, setitimer and rusage */
68#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
69
70/* Number of descriptors that can fit in an `fd_set'. */
71#define __FD_SETSIZE 1024
72
73
74#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h deleted-21
......@@ -1,21 +0,0 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 1
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/fpu_control.h deleted-75
......@@ -1,75 +0,0 @@
1/* FPU control word definitions. ARM VFP version.
2 Copyright (C) 2004-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__)
23
24#define _FPU_RESERVED 0xffffffff
25#define _FPU_DEFAULT 0x00000000
26typedef unsigned int fpu_control_t;
27#define _FPU_GETCW(cw) (cw) = 0
28#define _FPU_SETCW(cw) (void) (cw)
29extern fpu_control_t __fpu_control;
30
31#else
32
33/* masking of interrupts */
34#define _FPU_MASK_IM 0x00000100 /* invalid operation */
35#define _FPU_MASK_ZM 0x00000200 /* divide by zero */
36#define _FPU_MASK_OM 0x00000400 /* overflow */
37#define _FPU_MASK_UM 0x00000800 /* underflow */
38#define _FPU_MASK_PM 0x00001000 /* inexact */
39
40#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */
41#define _FPU_MASK_RM 0x00c00000 /* rounding mode */
42#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */
43
44/* Some bits in the FPSCR are not yet defined. They must be preserved when
45 modifying the contents. */
46#define _FPU_RESERVED 0x00086060
47#define _FPU_DEFAULT 0x00000000
48
49/* Default + exceptions enabled. */
50#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00)
51
52/* Type of the control word. */
53typedef unsigned int fpu_control_t;
54
55/* Macros for accessing the hardware control word. */
56#ifdef __SOFTFP__
57/* This is fmrx %0, fpscr. */
58# define _FPU_GETCW(cw) \
59 __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw))
60/* This is fmxr fpscr, %0. */
61# define _FPU_SETCW(cw) \
62 __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw))
63#else
64# define _FPU_GETCW(cw) \
65 __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw))
66# define _FPU_SETCW(cw) \
67 __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw))
68#endif
69
70/* Default control word set at startup. */
71extern fpu_control_t __fpu_control;
72
73#endif /* __SOFTFP__ */
74
75#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/gnu/lib-names.h deleted-14
......@@ -1,14 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#if !defined __ARM_PCS_VFP
8# include <gnu/lib-names-soft.h>
9#endif
10#if defined __ARM_PCS_VFP
11# include <gnu/lib-names-hard.h>
12#endif
13
14#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/gnu/stubs.h deleted-11
......@@ -1,11 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5
6#if !defined __ARM_PCS_VFP
7# include <gnu/stubs-soft.h>
8#endif
9#if defined __ARM_PCS_VFP
10# include <gnu/stubs-hard.h>
11#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h deleted-226
......@@ -1,226 +0,0 @@
1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PTRACE_H
21#define _SYS_PTRACE_H 1
22
23#include <features.h>
24#include <bits/types.h>
25
26__BEGIN_DECLS
27
28/* Type of the REQUEST argument to `ptrace.' */
29enum __ptrace_request
30{
31 /* Indicate that the process making this request should be traced.
32 All signals received by this process can be intercepted by its
33 parent, and its parent can use the other `ptrace' requests. */
34 PTRACE_TRACEME = 0,
35#define PT_TRACE_ME PTRACE_TRACEME
36
37 /* Return the word in the process's text space at address ADDR. */
38 PTRACE_PEEKTEXT = 1,
39#define PT_READ_I PTRACE_PEEKTEXT
40
41 /* Return the word in the process's data space at address ADDR. */
42 PTRACE_PEEKDATA = 2,
43#define PT_READ_D PTRACE_PEEKDATA
44
45 /* Return the word in the process's user area at offset ADDR. */
46 PTRACE_PEEKUSER = 3,
47#define PT_READ_U PTRACE_PEEKUSER
48
49 /* Write the word DATA into the process's text space at address ADDR. */
50 PTRACE_POKETEXT = 4,
51#define PT_WRITE_I PTRACE_POKETEXT
52
53 /* Write the word DATA into the process's data space at address ADDR. */
54 PTRACE_POKEDATA = 5,
55#define PT_WRITE_D PTRACE_POKEDATA
56
57 /* Write the word DATA into the process's user area at offset ADDR. */
58 PTRACE_POKEUSER = 6,
59#define PT_WRITE_U PTRACE_POKEUSER
60
61 /* Continue the process. */
62 PTRACE_CONT = 7,
63#define PT_CONTINUE PTRACE_CONT
64
65 /* Kill the process. */
66 PTRACE_KILL = 8,
67#define PT_KILL PTRACE_KILL
68
69 /* Single step the process. */
70 PTRACE_SINGLESTEP = 9,
71#define PT_STEP PTRACE_SINGLESTEP
72
73 /* Get all general purpose registers used by a process. */
74 PTRACE_GETREGS = 12,
75#define PT_GETREGS PTRACE_GETREGS
76
77 /* Set all general purpose registers used by a process. */
78 PTRACE_SETREGS = 13,
79#define PT_SETREGS PTRACE_SETREGS
80
81 /* Get all floating point registers used by a process. */
82 PTRACE_GETFPREGS = 14,
83#define PT_GETFPREGS PTRACE_GETFPREGS
84
85 /* Set all floating point registers used by a process. */
86 PTRACE_SETFPREGS = 15,
87#define PT_SETFPREGS PTRACE_SETFPREGS
88
89 /* Attach to a process that is already running. */
90 PTRACE_ATTACH = 16,
91#define PT_ATTACH PTRACE_ATTACH
92
93 /* Detach from a process attached to with PTRACE_ATTACH. */
94 PTRACE_DETACH = 17,
95#define PT_DETACH PTRACE_DETACH
96
97 /* Get the iWMMXt state of a process. */
98 PTRACE_GETWMMXREGS = 18,
99#define PT_GETWMMXREGS PTRACE_GETWMMXREGS
100
101 /* Set the iWMMXt state of a process. */
102 PTRACE_SETWMMXREGS = 19,
103#define PT_SETWMMXREGS PTRACE_SETWMMXREGS
104
105 /* Get the thread pointer of a process. */
106 PTRACE_GET_THREAD_AREA = 22,
107#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
108
109 /* Change the syscall number of a process. */
110 PTRACE_SET_SYSCALL = 23,
111#define PT_SET_SYSCALL PTRACE_SET_SYSCALL
112
113 /* Continue and stop at the next entry to or return from syscall. */
114 PTRACE_SYSCALL = 24,
115#define PT_SYSCALL PTRACE_SYSCALL
116
117 /* Get the Crunch state of a process. */
118 PTRACE_GETCRUNCHREGS = 25,
119#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS
120
121 /* Set the Crunch state of a process. */
122 PTRACE_SETCRUNCHREGS = 26,
123#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS
124
125 /* Get all VFP registers used by a process. */
126 PTRACE_GETVFPREGS = 27,
127#define PT_GETVFPREGS PTRACE_GETVFPREGS
128
129 /* Set all VFP registers used by a process. */
130 PTRACE_SETVFPREGS = 28,
131#define PT_SETVFPREGS PTRACE_SETVFPREGS
132
133 /* Get all hardware breakpoint registers. */
134 PTRACE_GETHBPREGS = 29,
135#define PT_GETHBPREGS PTRACE_GETHBPREGS
136
137 /* Set all hardware breakpoint registers. */
138 PTRACE_SETHBPREGS = 30,
139#define PT_SETHBPREGS PTRACE_SETHBPREGS
140
141 /* Get the ELF fdpic loadmap address. */
142 PTRACE_GETFDPIC = 31,
143#define PT_GETFDPIC PTRACE_GETFDPIC
144
145 /* Set ptrace filter options. */
146 PTRACE_SETOPTIONS = 0x4200,
147#define PT_SETOPTIONS PTRACE_SETOPTIONS
148
149 /* Get last ptrace message. */
150 PTRACE_GETEVENTMSG = 0x4201,
151#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
152
153 /* Get siginfo for process. */
154 PTRACE_GETSIGINFO = 0x4202,
155#define PT_GETSIGINFO PTRACE_GETSIGINFO
156
157 /* Set new siginfo for process. */
158 PTRACE_SETSIGINFO = 0x4203,
159#define PT_SETSIGINFO PTRACE_SETSIGINFO
160
161 /* Get register content. */
162 PTRACE_GETREGSET = 0x4204,
163#define PTRACE_GETREGSET PTRACE_GETREGSET
164
165 /* Set register content. */
166 PTRACE_SETREGSET = 0x4205,
167#define PTRACE_SETREGSET PTRACE_SETREGSET
168
169 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
170 signal or group stop state. */
171 PTRACE_SEIZE = 0x4206,
172#define PTRACE_SEIZE PTRACE_SEIZE
173
174 /* Trap seized tracee. */
175 PTRACE_INTERRUPT = 0x4207,
176#define PTRACE_INTERRUPT PTRACE_INTERRUPT
177
178 /* Wait for next group event. */
179 PTRACE_LISTEN = 0x4208,
180#define PTRACE_LISTEN PTRACE_LISTEN
181
182 /* Retrieve siginfo_t structures without removing signals from a queue. */
183 PTRACE_PEEKSIGINFO = 0x4209,
184#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
185
186 /* Get the mask of blocked signals. */
187 PTRACE_GETSIGMASK = 0x420a,
188#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
189
190 /* Change the mask of blocked signals. */
191 PTRACE_SETSIGMASK = 0x420b,
192#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
193
194 /* Get seccomp BPF filters. */
195 PTRACE_SECCOMP_GET_FILTER = 0x420c,
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197
198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e,
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
205
206 /* Get rseq configuration information. */
207 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
208#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
209
210 /* Set configuration for syscall user dispatch. */
211 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
212#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
213 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
214
215 /* Get configuration for syscall user dispatch. */
216 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
217#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
218 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
219};
220
221
222#include <bits/ptrace-shared.h>
223
224__END_DECLS
225
226#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h deleted-144
......@@ -1,144 +0,0 @@
1/* Copyright (C) 1998-2025 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/* System V/ARM ABI compliant context switching support. */
19
20#ifndef _SYS_UCONTEXT_H
21#define _SYS_UCONTEXT_H 1
22
23#include <features.h>
24
25#include <bits/types/sigset_t.h>
26#include <bits/types/stack_t.h>
27
28
29#ifdef __USE_MISC
30# define __ctx(fld) fld
31#else
32# define __ctx(fld) __ ## fld
33#endif
34
35#ifdef __USE_MISC
36typedef int greg_t;
37
38/* Number of general registers. */
39# define NGREG 18
40
41/* Container for all general registers. */
42typedef greg_t gregset_t[NGREG];
43
44/* Number of each register is the `gregset_t' array. */
45enum
46{
47 REG_R0 = 0,
48# define REG_R0 REG_R0
49 REG_R1 = 1,
50# define REG_R1 REG_R1
51 REG_R2 = 2,
52# define REG_R2 REG_R2
53 REG_R3 = 3,
54# define REG_R3 REG_R3
55 REG_R4 = 4,
56# define REG_R4 REG_R4
57 REG_R5 = 5,
58# define REG_R5 REG_R5
59 REG_R6 = 6,
60# define REG_R6 REG_R6
61 REG_R7 = 7,
62# define REG_R7 REG_R7
63 REG_R8 = 8,
64# define REG_R8 REG_R8
65 REG_R9 = 9,
66# define REG_R9 REG_R9
67 REG_R10 = 10,
68# define REG_R10 REG_R10
69 REG_R11 = 11,
70# define REG_R11 REG_R11
71 REG_R12 = 12,
72# define REG_R12 REG_R12
73 REG_R13 = 13,
74# define REG_R13 REG_R13
75 REG_R14 = 14,
76# define REG_R14 REG_R14
77 REG_R15 = 15
78# define REG_R15 REG_R15
79};
80
81struct _libc_fpstate
82{
83 struct
84 {
85 unsigned int sign1:1;
86 unsigned int unused:15;
87 unsigned int sign2:1;
88 unsigned int exponent:14;
89 unsigned int j:1;
90 unsigned int mantissa1:31;
91 unsigned int mantissa0:32;
92 } fpregs[8];
93 unsigned int fpsr:32;
94 unsigned int fpcr:32;
95 unsigned char ftype[8];
96 unsigned int init_flag;
97};
98/* Structure to describe FPU registers. */
99typedef struct _libc_fpstate fpregset_t;
100#endif
101
102/* Context to describe whole processor state. This only describes
103 the core registers; coprocessor registers get saved elsewhere
104 (e.g. in uc_regspace, or somewhere unspecified on the stack
105 during non-RT signal handlers). */
106typedef struct
107 {
108 unsigned long int __ctx(trap_no);
109 unsigned long int __ctx(error_code);
110 unsigned long int __ctx(oldmask);
111 unsigned long int __ctx(arm_r0);
112 unsigned long int __ctx(arm_r1);
113 unsigned long int __ctx(arm_r2);
114 unsigned long int __ctx(arm_r3);
115 unsigned long int __ctx(arm_r4);
116 unsigned long int __ctx(arm_r5);
117 unsigned long int __ctx(arm_r6);
118 unsigned long int __ctx(arm_r7);
119 unsigned long int __ctx(arm_r8);
120 unsigned long int __ctx(arm_r9);
121 unsigned long int __ctx(arm_r10);
122 unsigned long int __ctx(arm_fp);
123 unsigned long int __ctx(arm_ip);
124 unsigned long int __ctx(arm_sp);
125 unsigned long int __ctx(arm_lr);
126 unsigned long int __ctx(arm_pc);
127 unsigned long int __ctx(arm_cpsr);
128 unsigned long int __ctx(fault_address);
129 } mcontext_t;
130
131/* Userlevel context. */
132typedef struct ucontext_t
133 {
134 unsigned long __ctx(uc_flags);
135 struct ucontext_t *uc_link;
136 stack_t uc_stack;
137 mcontext_t uc_mcontext;
138 sigset_t uc_sigmask;
139 unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8)));
140 } ucontext_t;
141
142#undef __ctx
143
144#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/sys/user.h deleted-71
......@@ -1,71 +0,0 @@
1/* Copyright (C) 1998-2025 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_USER_H
19#define _SYS_USER_H 1
20
21/* The whole purpose of this file is for GDB and GDB only. Don't read
22 too much into it. Don't use it for anything other than GDB unless
23 you know what you are doing. */
24
25struct user_fpregs
26{
27 struct fp_reg
28 {
29 unsigned int sign1:1;
30 unsigned int unused:15;
31 unsigned int sign2:1;
32 unsigned int exponent:14;
33 unsigned int j:1;
34 unsigned int mantissa1:31;
35 unsigned int mantissa0:32;
36 } fpregs[8];
37 unsigned int fpsr:32;
38 unsigned int fpcr:32;
39 unsigned char ftype[8];
40 unsigned int init_flag;
41};
42
43struct user_regs
44{
45 unsigned long int uregs[18];
46};
47
48struct user
49{
50 struct user_regs regs; /* General registers */
51 int u_fpvalid; /* True if math co-processor being used. */
52
53 unsigned long int u_tsize; /* Text segment size (pages). */
54 unsigned long int u_dsize; /* Data segment size (pages). */
55 unsigned long int u_ssize; /* Stack segment size (pages). */
56
57 unsigned long start_code; /* Starting virtual address of text. */
58 unsigned long start_stack; /* Starting virtual address of stack. */
59
60 long int signal; /* Signal that caused the core dump. */
61 int reserved; /* No longer used */
62 struct user_regs *u_ar0; /* help gdb to find the general registers. */
63
64 unsigned long magic; /* uniquely identify a core file */
65 char u_comm[32]; /* User command that was responsible */
66 int u_debugreg[8];
67 struct user_fpregs u_fp; /* Floating point registers */
68 struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */
69};
70
71#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h deleted-25
......@@ -1,25 +0,0 @@
1/* arm definitions for finding objects.
2 Copyright (C) 2021-2025 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 _DLFCN_H
20# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
21#endif
22
23#define DLFO_STRUCT_HAS_EH_DBASE 0
24#define DLFO_STRUCT_HAS_EH_COUNT 1
25#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/endianness.h deleted-15
......@@ -1,15 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* ARM has selectable endianness. */
9#ifdef __ARMEB__
10#define __BYTE_ORDER __BIG_ENDIAN
11#else
12#define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h deleted-54
......@@ -1,54 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#define __O_DIRECTORY 040000 /* Must be a directory. */
24#define __O_NOFOLLOW 0100000 /* Do not follow links. */
25#define __O_DIRECT 0200000 /* Direct disk access. */
26#define __O_LARGEFILE 0400000
27
28struct flock
29 {
30 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
31 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
32#ifndef __USE_FILE_OFFSET64
33 __off_t l_start; /* Offset where the lock begins. */
34 __off_t l_len; /* Size of the locked area; zero means until EOF. */
35#else
36 __off64_t l_start; /* Offset where the lock begins. */
37 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
38#endif
39 __pid_t l_pid; /* Process holding the lock. */
40 };
41
42#ifdef __USE_LARGEFILE64
43struct flock64
44 {
45 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
46 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
47 __off64_t l_start; /* Offset where the lock begins. */
48 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
49 __pid_t l_pid; /* Process holding the lock. */
50 };
51#endif
52
53/* Include generic Linux declarations. */
54#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h deleted-90
......@@ -1,90 +0,0 @@
1/* Copyright (C) 2004-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22/* Define bits representing exceptions in the FPU status word. */
23enum
24 {
25 FE_INVALID =
26#define FE_INVALID 1
27 FE_INVALID,
28 FE_DIVBYZERO =
29#define FE_DIVBYZERO 2
30 FE_DIVBYZERO,
31 FE_OVERFLOW =
32#define FE_OVERFLOW 4
33 FE_OVERFLOW,
34 FE_UNDERFLOW =
35#define FE_UNDERFLOW 8
36 FE_UNDERFLOW,
37 FE_INEXACT =
38#define FE_INEXACT 16
39 FE_INEXACT,
40 };
41
42/* Amount to shift by to convert an exception to a mask bit. */
43#define FE_EXCEPT_SHIFT 8
44
45/* All supported exceptions. */
46#define FE_ALL_EXCEPT \
47 (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
48
49/* VFP supports all of the four defined rounding modes. */
50enum
51 {
52 FE_TONEAREST =
53#define FE_TONEAREST 0
54 FE_TONEAREST,
55 FE_UPWARD =
56#define FE_UPWARD 0x400000
57 FE_UPWARD,
58 FE_DOWNWARD =
59#define FE_DOWNWARD 0x800000
60 FE_DOWNWARD,
61 FE_TOWARDZERO =
62#define FE_TOWARDZERO 0xc00000
63 FE_TOWARDZERO
64 };
65
66/* Type representing exception flags. */
67typedef unsigned int fexcept_t;
68
69/* Type representing floating-point environment. */
70typedef struct
71 {
72 unsigned int __cw;
73 }
74fenv_t;
75
76/* If the default argument is used we use this value. */
77#define FE_DFL_ENV ((const fenv_t *) -1l)
78
79#ifdef __USE_GNU
80/* Floating-point environment where none of the exceptions are masked. */
81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif
83
84#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;
87
88/* Default floating-point control modes. */
89# define FE_DFL_MODE ((const femode_t *) -1L)
90#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h deleted-52
......@@ -1,52 +0,0 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2025 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/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc
21 includes corresponding *f128 interfaces for it. */
22#define __HAVE_FLOAT128 0
23
24/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
25 from the default float, double and long double types in this glibc. */
26#define __HAVE_DISTINCT_FLOAT128 0
27
28/* Defined to 1 if the current compiler invocation provides a
29 floating-point type with the right format for _Float64x, and this
30 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
32
33/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
34 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
35 the format of _Float128, which must be different from that of long
36 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
38
39#ifndef __ASSEMBLER__
40
41/* Defined to concatenate the literal suffix to be used with _Float128
42 types, if __HAVE_FLOAT128 is 1.
43 E.g.: #define __f128(x) x##f128. */
44# undef __f128
45
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
49
50#endif /* !__ASSEMBLER__. */
51
52#include <bits/floatn-common.h>
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h deleted-59
......@@ -1,59 +0,0 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.
2 Copyright (C) 2012-2025 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 (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h>. */
24#define HWCAP_ARM_SWP 1
25#define HWCAP_ARM_HALF 2
26#define HWCAP_ARM_THUMB 4
27#define HWCAP_ARM_26BIT 8
28#define HWCAP_ARM_FAST_MULT 16
29#define HWCAP_ARM_FPA 32
30#define HWCAP_ARM_VFP 64
31#define HWCAP_ARM_EDSP 128
32#define HWCAP_ARM_JAVA 256
33#define HWCAP_ARM_IWMMXT 512
34#define HWCAP_ARM_CRUNCH 1024
35#define HWCAP_ARM_THUMBEE 2048
36#define HWCAP_ARM_NEON 4096
37#define HWCAP_ARM_VFPv3 8192
38#define HWCAP_ARM_VFPv3D16 16384
39#define HWCAP_ARM_TLS 32768
40#define HWCAP_ARM_VFPv4 65536
41#define HWCAP_ARM_IDIVA 131072
42#define HWCAP_ARM_IDIVT 262144
43#define HWCAP_ARM_VFPD32 524288
44#define HWCAP_ARM_LPAE 1048576
45#define HWCAP_ARM_EVTSTRM 2097152
46#define HWCAP_FPHP 4194304
47#define HWCAP_ASIMDHP 8388608
48#define HWCAP_ASIMDDP 16777216
49#define HWCAP_ASIMDFHM 33554432
50#define HWCAP_ASIMDBF16 67108864
51#define HWCAP_I8MM 134217728
52
53#define HWCAP2_AES 1
54#define HWCAP2_PMULL 2
55#define HWCAP2_SHA1 4
56#define HWCAP2_SHA2 8
57#define HWCAP2_CRC32 16
58#define HWCAP2_SB 32
59#define HWCAP2_SSBS 64
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/link.h deleted-65
......@@ -1,65 +0,0 @@
1/* Copyright (C) 2005-2025 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 _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."
20#endif
21
22
23/* Registers for entry into PLT on ARM. */
24typedef struct La_arm_regs
25{
26 uint32_t lr_reg[4];
27 uint32_t lr_sp;
28 uint32_t lr_lr;
29 /* Coprocessor registers used for argument passing. The data
30 stored here depends on the coprocessors available in the
31 system which are used for function calls in the current ABI.
32 VFP uses eight 64-bit registers, and iWMMXt uses ten. */
33 uint32_t lr_coproc[42];
34} La_arm_regs;
35
36/* Return values for calls from PLT on ARM. */
37typedef struct La_arm_retval
38{
39 /* Up to four integer registers can be used for a return value in
40 some ABIs (APCS complex long double). */
41 uint32_t lrv_reg[4];
42
43 /* Any coprocessor registers which might be used to return values
44 in the current ABI. */
45 uint32_t lrv_coproc[12];
46} La_arm_retval;
47
48
49__BEGIN_DECLS
50
51extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
52 uintptr_t *__refcook,
53 uintptr_t *__defcook,
54 La_arm_regs *__regs,
55 unsigned int *__flags,
56 const char *__symname,
57 long int *__framesizep);
58extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
59 uintptr_t *__refcook,
60 uintptr_t *__defcook,
61 const La_arm_regs *__inregs,
62 La_arm_retval *__outregs,
63 const char *__symname);
64
65__END_DECLS
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h deleted-53
......@@ -1,53 +0,0 @@
1/* Properties of long double type.
2 Copyright (C) 2016-2025 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 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/* This header is included by <sys/cdefs.h>.
20
21 If long double is ABI-compatible with double, it should define
22 __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
23 __NO_LONG_DOUBLE_MATH undefined.
24
25 If this build of the GNU C Library supports both long double
26 ABI-compatible with double and some other long double format not
27 ABI-compatible with double, it should define
28 __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
29 __LONG_DOUBLE_MATH_OPTIONAL undefined.
30
31 If __NO_LONG_DOUBLE_MATH is already defined, this header must not
32 define anything; this is needed to work with the definition of
33 __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */
34
35/* In the default version of this header, long double is
36 ABI-compatible with double. */
37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 1
39#endif
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/procfs-id.h deleted-25
......@@ -1,25 +0,0 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
22#endif
23
24typedef unsigned short int __pr_uid_t;
25typedef unsigned short int __pr_gid_t;
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h deleted-34
......@@ -1,34 +0,0 @@
1/* Types for registers for sys/procfs.h. Arm version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23/* Type for a general-purpose register. */
24typedef unsigned long elf_greg_t;
25
26/* And the whole bunch of them. We could have used `struct
27 user_regs' directly in the typedef, but tradition says that
28 the register set is an array, which does have some peculiar
29 semantics, so leave it that way. */
30#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t))
31typedef elf_greg_t elf_gregset_t[ELF_NGREG];
32
33/* Register set for the floating-point registers. */
34typedef struct user_fpregs elf_fpregset_t;
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h deleted-83
......@@ -1,83 +0,0 @@
1/* Restartable Sequences Linux arm architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/*
23 RSEQ_SIG is a signature required before each abort handler code.
24
25 It is a 32-bit value that maps to actual architecture code compiled
26 into applications and libraries. It needs to be defined for each
27 architecture. When choosing this value, it needs to be taken into
28 account that generating invalid instructions may have ill effects on
29 tools like objdump, and may also have impact on the CPU speculative
30 execution efficiency in some cases.
31
32 - ARM little endian
33
34 RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand
35 value 0x5de3. This traps if user-space reaches this instruction by mistake,
36 and the uncommon operand ensures the kernel does not move the instruction
37 pointer to attacker-controlled code on rseq abort.
38
39 The instruction pattern in the A32 instruction set is:
40
41 e7f5def3 udf #24035 ; 0x5de3
42
43 This translates to the following instruction pattern in the T16 instruction
44 set:
45
46 little endian:
47 def3 udf #243 ; 0xf3
48 e7f5 b.n <7f5>
49
50 - ARMv6+ big endian (BE8):
51
52 ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian
53 code and big-endian data. The data value of the signature needs to have its
54 byte order reversed to generate the trap instruction:
55
56 Data: 0xf3def5e7
57
58 Translates to this A32 instruction pattern:
59
60 e7f5def3 udf #24035 ; 0x5de3
61
62 Translates to this T16 instruction pattern:
63
64 def3 udf #243 ; 0xf3
65 e7f5 b.n <7f5>
66
67 - Prior to ARMv6 big endian (BE32):
68
69 Prior to ARMv6, -mbig-endian generates big-endian code and data
70 (which match), so the endianness of the data representation of the
71 signature should not be reversed. However, the choice between BE32
72 and BE8 is done by the linker, so we cannot know whether code and
73 data endianness will be mixed before the linker is invoked. So rather
74 than try to play tricks with the linker, the rseq signature is simply
75 data (not a trap instruction) prior to ARMv6 on big endian. This is
76 why the signature is expressed as data (.word) rather than as
77 instruction (.inst) in assembler. */
78
79#ifdef __ARMEB__
80# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */
81#else
82# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */
83#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2004-2025 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/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
19
20#ifndef _BITS_SETJMP_H
21#define _BITS_SETJMP_H 1
22
23#if !defined _SETJMP_H && !defined _PTHREAD_H
24# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
25#endif
26
27#ifndef __ASSEMBLER__
28/* The exact set of registers saved may depend on the particular core
29 in use, as some coprocessor registers may need to be saved. The C
30 Library ABI requires that the buffer be 8-byte aligned, and
31 recommends that the buffer contain 64 words. The first 26 words
32 are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */
33typedef int __jmp_buf[64] __attribute__((__aligned__ (8)));
34#endif
35
36#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h deleted-29
......@@ -1,29 +0,0 @@
1/* Define SHMLBA. ARM version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getpagesize () << 2)
27extern int __getpagesize (void) __THROW __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h deleted-139
......@@ -1,139 +0,0 @@
1/* Definition for struct stat. Linux/arm version.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29struct stat
30 {
31#ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33#else
34 __dev_t st_dev; /* Device. */
35 unsigned short int __pad1;
36# ifndef __USE_FILE_OFFSET64
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino_t __st_ino; /* 32bit file serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80# ifndef __USE_FILE_OFFSET64
81 unsigned long int __glibc_reserved4;
82 unsigned long int __glibc_reserved5;
83# else
84 __ino64_t st_ino; /* File serial number. */
85# endif
86#endif /* __USE_TIME64_REDIRECTS */
87 };
88
89#ifdef __USE_LARGEFILE64
90struct stat64
91 {
92# ifdef __USE_TIME64_REDIRECTS
93# include <bits/struct_stat_time64_helper.h>
94# else
95 __dev_t st_dev; /* Device. */
96 unsigned int __pad1;
97
98 __ino_t __st_ino; /* 32bit file serial number. */
99 __mode_t st_mode; /* File mode. */
100 __nlink_t st_nlink; /* Link count. */
101 __uid_t st_uid; /* User ID of the file's owner. */
102 __gid_t st_gid; /* Group ID of the file's group.*/
103 __dev_t st_rdev; /* Device number, if device. */
104 unsigned int __pad2;
105 __off64_t st_size; /* Size of file, in bytes. */
106 __blksize_t st_blksize; /* Optimal block size for I/O. */
107
108 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
109# ifdef __USE_XOPEN2K8
110 /* Nanosecond resolution timestamps are stored in a format
111 equivalent to 'struct timespec'. This is the type used
112 whenever possible but the Unix namespace rules do not allow the
113 identifier 'timespec' to appear in the <sys/stat.h> header.
114 Therefore we have to handle the use of this header in strictly
115 standard-compliant sources special. */
116 struct timespec st_atim; /* Time of last access. */
117 struct timespec st_mtim; /* Time of last modification. */
118 struct timespec st_ctim; /* Time of last status change. */
119# else
120 __time_t st_atime; /* Time of last access. */
121 unsigned long int st_atimensec; /* Nscecs of last access. */
122 __time_t st_mtime; /* Time of last modification. */
123 unsigned long int st_mtimensec; /* Nsecs of last modification. */
124 __time_t st_ctime; /* Time of last status change. */
125 unsigned long int st_ctimensec; /* Nsecs of last status change. */
126# endif
127 __ino64_t st_ino; /* File serial number. */
128# endif /* __USE_TIME64_REDIRECTS */
129 };
130#endif
131
132/* Tell code we have these members. */
133#define _STATBUF_ST_BLKSIZE
134#define _STATBUF_ST_RDEV
135/* Nanosecond resolution time values are supported. */
136#define _STATBUF_ST_NSEC
137
138
139#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/ARM.
2 Copyright (C) 2021-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 32
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h deleted-74
......@@ -1,74 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. ARM version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#define __RLIM_T_MATCHES_RLIM64_T 0
66#define __STATFS_MATCHES_STATFS64 0
67/* And for getitimer, setitimer and rusage */
68#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
69
70/* Number of descriptors that can fit in an `fd_set'. */
71#define __FD_SETSIZE 1024
72
73
74#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h deleted-21
......@@ -1,21 +0,0 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 1
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/fpu_control.h deleted-75
......@@ -1,75 +0,0 @@
1/* FPU control word definitions. ARM VFP version.
2 Copyright (C) 2004-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__)
23
24#define _FPU_RESERVED 0xffffffff
25#define _FPU_DEFAULT 0x00000000
26typedef unsigned int fpu_control_t;
27#define _FPU_GETCW(cw) (cw) = 0
28#define _FPU_SETCW(cw) (void) (cw)
29extern fpu_control_t __fpu_control;
30
31#else
32
33/* masking of interrupts */
34#define _FPU_MASK_IM 0x00000100 /* invalid operation */
35#define _FPU_MASK_ZM 0x00000200 /* divide by zero */
36#define _FPU_MASK_OM 0x00000400 /* overflow */
37#define _FPU_MASK_UM 0x00000800 /* underflow */
38#define _FPU_MASK_PM 0x00001000 /* inexact */
39
40#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */
41#define _FPU_MASK_RM 0x00c00000 /* rounding mode */
42#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */
43
44/* Some bits in the FPSCR are not yet defined. They must be preserved when
45 modifying the contents. */
46#define _FPU_RESERVED 0x00086060
47#define _FPU_DEFAULT 0x00000000
48
49/* Default + exceptions enabled. */
50#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00)
51
52/* Type of the control word. */
53typedef unsigned int fpu_control_t;
54
55/* Macros for accessing the hardware control word. */
56#ifdef __SOFTFP__
57/* This is fmrx %0, fpscr. */
58# define _FPU_GETCW(cw) \
59 __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw))
60/* This is fmxr fpscr, %0. */
61# define _FPU_SETCW(cw) \
62 __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw))
63#else
64# define _FPU_GETCW(cw) \
65 __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw))
66# define _FPU_SETCW(cw) \
67 __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw))
68#endif
69
70/* Default control word set at startup. */
71extern fpu_control_t __fpu_control;
72
73#endif /* __SOFTFP__ */
74
75#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/gnu/lib-names.h deleted-14
......@@ -1,14 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#if !defined __ARM_PCS_VFP
8# include <gnu/lib-names-soft.h>
9#endif
10#if defined __ARM_PCS_VFP
11# include <gnu/lib-names-hard.h>
12#endif
13
14#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/gnu/stubs.h deleted-11
......@@ -1,11 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5
6#if !defined __ARM_PCS_VFP
7# include <gnu/stubs-soft.h>
8#endif
9#if defined __ARM_PCS_VFP
10# include <gnu/stubs-hard.h>
11#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h deleted-226
......@@ -1,226 +0,0 @@
1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PTRACE_H
21#define _SYS_PTRACE_H 1
22
23#include <features.h>
24#include <bits/types.h>
25
26__BEGIN_DECLS
27
28/* Type of the REQUEST argument to `ptrace.' */
29enum __ptrace_request
30{
31 /* Indicate that the process making this request should be traced.
32 All signals received by this process can be intercepted by its
33 parent, and its parent can use the other `ptrace' requests. */
34 PTRACE_TRACEME = 0,
35#define PT_TRACE_ME PTRACE_TRACEME
36
37 /* Return the word in the process's text space at address ADDR. */
38 PTRACE_PEEKTEXT = 1,
39#define PT_READ_I PTRACE_PEEKTEXT
40
41 /* Return the word in the process's data space at address ADDR. */
42 PTRACE_PEEKDATA = 2,
43#define PT_READ_D PTRACE_PEEKDATA
44
45 /* Return the word in the process's user area at offset ADDR. */
46 PTRACE_PEEKUSER = 3,
47#define PT_READ_U PTRACE_PEEKUSER
48
49 /* Write the word DATA into the process's text space at address ADDR. */
50 PTRACE_POKETEXT = 4,
51#define PT_WRITE_I PTRACE_POKETEXT
52
53 /* Write the word DATA into the process's data space at address ADDR. */
54 PTRACE_POKEDATA = 5,
55#define PT_WRITE_D PTRACE_POKEDATA
56
57 /* Write the word DATA into the process's user area at offset ADDR. */
58 PTRACE_POKEUSER = 6,
59#define PT_WRITE_U PTRACE_POKEUSER
60
61 /* Continue the process. */
62 PTRACE_CONT = 7,
63#define PT_CONTINUE PTRACE_CONT
64
65 /* Kill the process. */
66 PTRACE_KILL = 8,
67#define PT_KILL PTRACE_KILL
68
69 /* Single step the process. */
70 PTRACE_SINGLESTEP = 9,
71#define PT_STEP PTRACE_SINGLESTEP
72
73 /* Get all general purpose registers used by a process. */
74 PTRACE_GETREGS = 12,
75#define PT_GETREGS PTRACE_GETREGS
76
77 /* Set all general purpose registers used by a process. */
78 PTRACE_SETREGS = 13,
79#define PT_SETREGS PTRACE_SETREGS
80
81 /* Get all floating point registers used by a process. */
82 PTRACE_GETFPREGS = 14,
83#define PT_GETFPREGS PTRACE_GETFPREGS
84
85 /* Set all floating point registers used by a process. */
86 PTRACE_SETFPREGS = 15,
87#define PT_SETFPREGS PTRACE_SETFPREGS
88
89 /* Attach to a process that is already running. */
90 PTRACE_ATTACH = 16,
91#define PT_ATTACH PTRACE_ATTACH
92
93 /* Detach from a process attached to with PTRACE_ATTACH. */
94 PTRACE_DETACH = 17,
95#define PT_DETACH PTRACE_DETACH
96
97 /* Get the iWMMXt state of a process. */
98 PTRACE_GETWMMXREGS = 18,
99#define PT_GETWMMXREGS PTRACE_GETWMMXREGS
100
101 /* Set the iWMMXt state of a process. */
102 PTRACE_SETWMMXREGS = 19,
103#define PT_SETWMMXREGS PTRACE_SETWMMXREGS
104
105 /* Get the thread pointer of a process. */
106 PTRACE_GET_THREAD_AREA = 22,
107#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
108
109 /* Change the syscall number of a process. */
110 PTRACE_SET_SYSCALL = 23,
111#define PT_SET_SYSCALL PTRACE_SET_SYSCALL
112
113 /* Continue and stop at the next entry to or return from syscall. */
114 PTRACE_SYSCALL = 24,
115#define PT_SYSCALL PTRACE_SYSCALL
116
117 /* Get the Crunch state of a process. */
118 PTRACE_GETCRUNCHREGS = 25,
119#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS
120
121 /* Set the Crunch state of a process. */
122 PTRACE_SETCRUNCHREGS = 26,
123#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS
124
125 /* Get all VFP registers used by a process. */
126 PTRACE_GETVFPREGS = 27,
127#define PT_GETVFPREGS PTRACE_GETVFPREGS
128
129 /* Set all VFP registers used by a process. */
130 PTRACE_SETVFPREGS = 28,
131#define PT_SETVFPREGS PTRACE_SETVFPREGS
132
133 /* Get all hardware breakpoint registers. */
134 PTRACE_GETHBPREGS = 29,
135#define PT_GETHBPREGS PTRACE_GETHBPREGS
136
137 /* Set all hardware breakpoint registers. */
138 PTRACE_SETHBPREGS = 30,
139#define PT_SETHBPREGS PTRACE_SETHBPREGS
140
141 /* Get the ELF fdpic loadmap address. */
142 PTRACE_GETFDPIC = 31,
143#define PT_GETFDPIC PTRACE_GETFDPIC
144
145 /* Set ptrace filter options. */
146 PTRACE_SETOPTIONS = 0x4200,
147#define PT_SETOPTIONS PTRACE_SETOPTIONS
148
149 /* Get last ptrace message. */
150 PTRACE_GETEVENTMSG = 0x4201,
151#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
152
153 /* Get siginfo for process. */
154 PTRACE_GETSIGINFO = 0x4202,
155#define PT_GETSIGINFO PTRACE_GETSIGINFO
156
157 /* Set new siginfo for process. */
158 PTRACE_SETSIGINFO = 0x4203,
159#define PT_SETSIGINFO PTRACE_SETSIGINFO
160
161 /* Get register content. */
162 PTRACE_GETREGSET = 0x4204,
163#define PTRACE_GETREGSET PTRACE_GETREGSET
164
165 /* Set register content. */
166 PTRACE_SETREGSET = 0x4205,
167#define PTRACE_SETREGSET PTRACE_SETREGSET
168
169 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
170 signal or group stop state. */
171 PTRACE_SEIZE = 0x4206,
172#define PTRACE_SEIZE PTRACE_SEIZE
173
174 /* Trap seized tracee. */
175 PTRACE_INTERRUPT = 0x4207,
176#define PTRACE_INTERRUPT PTRACE_INTERRUPT
177
178 /* Wait for next group event. */
179 PTRACE_LISTEN = 0x4208,
180#define PTRACE_LISTEN PTRACE_LISTEN
181
182 /* Retrieve siginfo_t structures without removing signals from a queue. */
183 PTRACE_PEEKSIGINFO = 0x4209,
184#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
185
186 /* Get the mask of blocked signals. */
187 PTRACE_GETSIGMASK = 0x420a,
188#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
189
190 /* Change the mask of blocked signals. */
191 PTRACE_SETSIGMASK = 0x420b,
192#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
193
194 /* Get seccomp BPF filters. */
195 PTRACE_SECCOMP_GET_FILTER = 0x420c,
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197
198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e,
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
205
206 /* Get rseq configuration information. */
207 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
208#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
209
210 /* Set configuration for syscall user dispatch. */
211 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
212#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
213 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
214
215 /* Get configuration for syscall user dispatch. */
216 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
217#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
218 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
219};
220
221
222#include <bits/ptrace-shared.h>
223
224__END_DECLS
225
226#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h deleted-144
......@@ -1,144 +0,0 @@
1/* Copyright (C) 1998-2025 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/* System V/ARM ABI compliant context switching support. */
19
20#ifndef _SYS_UCONTEXT_H
21#define _SYS_UCONTEXT_H 1
22
23#include <features.h>
24
25#include <bits/types/sigset_t.h>
26#include <bits/types/stack_t.h>
27
28
29#ifdef __USE_MISC
30# define __ctx(fld) fld
31#else
32# define __ctx(fld) __ ## fld
33#endif
34
35#ifdef __USE_MISC
36typedef int greg_t;
37
38/* Number of general registers. */
39# define NGREG 18
40
41/* Container for all general registers. */
42typedef greg_t gregset_t[NGREG];
43
44/* Number of each register is the `gregset_t' array. */
45enum
46{
47 REG_R0 = 0,
48# define REG_R0 REG_R0
49 REG_R1 = 1,
50# define REG_R1 REG_R1
51 REG_R2 = 2,
52# define REG_R2 REG_R2
53 REG_R3 = 3,
54# define REG_R3 REG_R3
55 REG_R4 = 4,
56# define REG_R4 REG_R4
57 REG_R5 = 5,
58# define REG_R5 REG_R5
59 REG_R6 = 6,
60# define REG_R6 REG_R6
61 REG_R7 = 7,
62# define REG_R7 REG_R7
63 REG_R8 = 8,
64# define REG_R8 REG_R8
65 REG_R9 = 9,
66# define REG_R9 REG_R9
67 REG_R10 = 10,
68# define REG_R10 REG_R10
69 REG_R11 = 11,
70# define REG_R11 REG_R11
71 REG_R12 = 12,
72# define REG_R12 REG_R12
73 REG_R13 = 13,
74# define REG_R13 REG_R13
75 REG_R14 = 14,
76# define REG_R14 REG_R14
77 REG_R15 = 15
78# define REG_R15 REG_R15
79};
80
81struct _libc_fpstate
82{
83 struct
84 {
85 unsigned int sign1:1;
86 unsigned int unused:15;
87 unsigned int sign2:1;
88 unsigned int exponent:14;
89 unsigned int j:1;
90 unsigned int mantissa1:31;
91 unsigned int mantissa0:32;
92 } fpregs[8];
93 unsigned int fpsr:32;
94 unsigned int fpcr:32;
95 unsigned char ftype[8];
96 unsigned int init_flag;
97};
98/* Structure to describe FPU registers. */
99typedef struct _libc_fpstate fpregset_t;
100#endif
101
102/* Context to describe whole processor state. This only describes
103 the core registers; coprocessor registers get saved elsewhere
104 (e.g. in uc_regspace, or somewhere unspecified on the stack
105 during non-RT signal handlers). */
106typedef struct
107 {
108 unsigned long int __ctx(trap_no);
109 unsigned long int __ctx(error_code);
110 unsigned long int __ctx(oldmask);
111 unsigned long int __ctx(arm_r0);
112 unsigned long int __ctx(arm_r1);
113 unsigned long int __ctx(arm_r2);
114 unsigned long int __ctx(arm_r3);
115 unsigned long int __ctx(arm_r4);
116 unsigned long int __ctx(arm_r5);
117 unsigned long int __ctx(arm_r6);
118 unsigned long int __ctx(arm_r7);
119 unsigned long int __ctx(arm_r8);
120 unsigned long int __ctx(arm_r9);
121 unsigned long int __ctx(arm_r10);
122 unsigned long int __ctx(arm_fp);
123 unsigned long int __ctx(arm_ip);
124 unsigned long int __ctx(arm_sp);
125 unsigned long int __ctx(arm_lr);
126 unsigned long int __ctx(arm_pc);
127 unsigned long int __ctx(arm_cpsr);
128 unsigned long int __ctx(fault_address);
129 } mcontext_t;
130
131/* Userlevel context. */
132typedef struct ucontext_t
133 {
134 unsigned long __ctx(uc_flags);
135 struct ucontext_t *uc_link;
136 stack_t uc_stack;
137 mcontext_t uc_mcontext;
138 sigset_t uc_sigmask;
139 unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8)));
140 } ucontext_t;
141
142#undef __ctx
143
144#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/sys/user.h deleted-71
......@@ -1,71 +0,0 @@
1/* Copyright (C) 1998-2025 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_USER_H
19#define _SYS_USER_H 1
20
21/* The whole purpose of this file is for GDB and GDB only. Don't read
22 too much into it. Don't use it for anything other than GDB unless
23 you know what you are doing. */
24
25struct user_fpregs
26{
27 struct fp_reg
28 {
29 unsigned int sign1:1;
30 unsigned int unused:15;
31 unsigned int sign2:1;
32 unsigned int exponent:14;
33 unsigned int j:1;
34 unsigned int mantissa1:31;
35 unsigned int mantissa0:32;
36 } fpregs[8];
37 unsigned int fpsr:32;
38 unsigned int fpcr:32;
39 unsigned char ftype[8];
40 unsigned int init_flag;
41};
42
43struct user_regs
44{
45 unsigned long int uregs[18];
46};
47
48struct user
49{
50 struct user_regs regs; /* General registers */
51 int u_fpvalid; /* True if math co-processor being used. */
52
53 unsigned long int u_tsize; /* Text segment size (pages). */
54 unsigned long int u_dsize; /* Data segment size (pages). */
55 unsigned long int u_ssize; /* Stack segment size (pages). */
56
57 unsigned long start_code; /* Starting virtual address of text. */
58 unsigned long start_stack; /* Starting virtual address of stack. */
59
60 long int signal; /* Signal that caused the core dump. */
61 int reserved; /* No longer used */
62 struct user_regs *u_ar0; /* help gdb to find the general registers. */
63
64 unsigned long magic; /* uniquely identify a core file */
65 char u_comm[32]; /* User command that was responsible */
66 int u_debugreg[8];
67 struct user_fpregs u_fp; /* Floating point registers */
68 struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */
69};
70
71#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/endianness.h created+14
......@@ -0,0 +1,14 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8#ifdef __CSKYBE__
9# error "Big endian not supported for C-SKY."
10#else
11# define __BYTE_ORDER __LITTLE_ENDIAN
12#endif
13
14#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/fcntl.h created+55
......@@ -0,0 +1,55 @@
1/* O_*, F_*, FD_* bit values for the generic Linux ABI.
2 Copyright (C) 2011-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
26# define __O_LARGEFILE 0
27#endif
28
29struct flock
30 {
31 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
32 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
33#ifndef __USE_FILE_OFFSET64
34 __off_t l_start; /* Offset where the lock begins. */
35 __off_t l_len; /* Size of the locked area; zero means until EOF. */
36#else
37 __off64_t l_start; /* Offset where the lock begins. */
38 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
39#endif
40 __pid_t l_pid; /* Process holding the lock. */
41 };
42
43#ifdef __USE_LARGEFILE64
44struct flock64
45 {
46 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
47 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
48 __off64_t l_start; /* Offset where the lock begins. */
49 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
50 __pid_t l_pid; /* Process holding the lock. */
51 };
52#endif
53
54/* Include generic Linux declarations. */
55#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/fenv.h created+111
......@@ -0,0 +1,111 @@
1/* Floating point environment. C-SKY version.
2 Copyright (C) 2018-2025 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 _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23#ifdef __csky_hard_float__
24/* Define bits representing the exception. We use the bit positions
25 of the appropriate bits in the FPU control word. */
26enum
27 {
28 FE_INVALID =
29#define FE_INVALID 0x01
30 FE_INVALID,
31 FE_DIVBYZERO =
32#define FE_DIVBYZERO 0x02
33 FE_DIVBYZERO,
34 FE_OVERFLOW =
35#define FE_OVERFLOW 0x04
36 FE_OVERFLOW,
37 FE_UNDERFLOW =
38#define FE_UNDERFLOW 0x08
39 FE_UNDERFLOW,
40 FE_INEXACT =
41#define FE_INEXACT 0x10
42 FE_INEXACT,
43 __FE_DENORMAL = 0x20
44 };
45
46#define FE_ALL_EXCEPT \
47 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
48
49/* The C-SKY FPU supports all of the four defined rounding modes. We
50 use again the bit positions in the FPU control word as the values
51 for the appropriate macros. */
52enum
53 {
54 FE_TONEAREST =
55#define FE_TONEAREST (0x0 << 24)
56 FE_TONEAREST,
57 FE_TOWARDZERO =
58#define FE_TOWARDZERO (0x1 << 24)
59 FE_TOWARDZERO,
60 FE_UPWARD =
61#define FE_UPWARD (0x2 << 24)
62 FE_UPWARD,
63 FE_DOWNWARD =
64#define FE_DOWNWARD (0x3 << 24)
65 FE_DOWNWARD,
66 __FE_ROUND_MASK = (0x3 << 24)
67 };
68
69#else
70
71/* In the soft-float case, only rounding to nearest is supported, with
72 no exceptions. */
73
74enum
75 {
76 __FE_UNDEFINED = -1,
77
78 FE_TONEAREST =
79# define FE_TONEAREST 0x0
80 FE_TONEAREST
81 };
82
83# define FE_ALL_EXCEPT 0
84
85#endif
86
87/* Type representing exception flags. */
88typedef unsigned int fexcept_t;
89
90/* Type representing floating-point environment. */
91typedef struct
92{
93 unsigned int __fpcr;
94 unsigned int __fpsr;
95} fenv_t;
96
97/* If the default argument is used we use this value. */
98#define FE_DFL_ENV ((const fenv_t *) -1)
99
100#if defined __USE_GNU && defined __csky_hard_float__
101/* Floating-point environment where none of the exceptions are masked. */
102# define FE_NOMASK_ENV ((const fenv_t *) -2)
103#endif
104
105#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
106/* Type representing floating-point control modes. */
107typedef unsigned int femode_t;
108
109/* Default floating-point control modes. */
110# define FE_DFL_MODE ((const femode_t *) -1L)
111#endif
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2025 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/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc
21 includes corresponding *f128 interfaces for it. */
22#define __HAVE_FLOAT128 0
23
24/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
25 from the default float, double and long double types in this glibc. */
26#define __HAVE_DISTINCT_FLOAT128 0
27
28/* Defined to 1 if the current compiler invocation provides a
29 floating-point type with the right format for _Float64x, and this
30 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
32
33/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
34 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
35 the format of _Float128, which must be different from that of long
36 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
38
39#ifndef __ASSEMBLER__
40
41/* Defined to concatenate the literal suffix to be used with _Float128
42 types, if __HAVE_FLOAT128 is 1.
43 E.g.: #define __f128(x) x##f128. */
44# undef __f128
45
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
49
50#endif /* !__ASSEMBLER__. */
51
52#include <bits/floatn-common.h>
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/link.h created+55
......@@ -0,0 +1,55 @@
1/* Machine-specific declarations for dynamic linker interface. C-SKY version.
2 Copyright (C) 2018-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23/* Registers for entry into PLT on C-SKY. */
24typedef struct La_csky_regs
25{
26 uint32_t lr_reg[4];
27 uint32_t lr_sp;
28 uint32_t lr_lr;
29} La_csky_regs;
30
31/* Return values for calls from PLT on C-SKY. */
32typedef struct La_csky_retval
33{
34 /* Up to four integer registers can be used for a return value. */
35 uint32_t lrv_reg[4];
36 uint32_t lrv_v0;
37} La_csky_retval;
38
39__BEGIN_DECLS
40
41extern Elf32_Addr la_csky_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
42 uintptr_t *__refcook,
43 uintptr_t *__defcook,
44 La_csky_regs *__regs,
45 unsigned int *__flags,
46 const char *__symname,
47 long int *__framesizep);
48extern unsigned int la_csky_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
49 uintptr_t *__refcook,
50 uintptr_t *__defcook,
51 const La_csky_regs *__inregs,
52 La_csky_retval *__outregs,
53 const char *__symname);
54
55__END_DECLS
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/long-double.h created+53
......@@ -0,0 +1,53 @@
1/* Properties of long double type.
2 Copyright (C) 2016-2025 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 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/* This header is included by <sys/cdefs.h>.
20
21 If long double is ABI-compatible with double, it should define
22 __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
23 __NO_LONG_DOUBLE_MATH undefined.
24
25 If this build of the GNU C Library supports both long double
26 ABI-compatible with double and some other long double format not
27 ABI-compatible with double, it should define
28 __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
29 __LONG_DOUBLE_MATH_OPTIONAL undefined.
30
31 If __NO_LONG_DOUBLE_MATH is already defined, this header must not
32 define anything; this is needed to work with the definition of
33 __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */
34
35/* In the default version of this header, long double is
36 ABI-compatible with double. */
37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 1
39#endif
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/csky-linux-gnu/bits/procfs.h created+37
......@@ -0,0 +1,37 @@
1/* Types for registers for sys/procfs.h. C-SKY version.
2 Copyright (C) 2018-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <asm/ptrace.h>
24
25/* Type for a general-purpose register. */
26typedef unsigned long elf_greg_t;
27/* Type for a floating-point registers. */
28typedef unsigned long elf_fpreg_t;
29
30/* In gdb/bfd elf32-csky.c, csky_elf_grok_prstatus() use fixed size of
31 elf_prstatus. It's 148 for abiv1 and 220 for abiv2, the size is enough
32 for coredump and no need full sizeof (struct pt_regs). */
33#define ELF_NGREG ((sizeof (struct pt_regs) / sizeof (elf_greg_t)) - 2)
34typedef elf_greg_t elf_gregset_t[ELF_NGREG];
35
36#define ELF_NFPREG (sizeof (struct user_fp) / sizeof (elf_fpreg_t))
37typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/rseq.h created+29
......@@ -0,0 +1,29 @@
1/* Restartable Sequences architecture header. Stub version.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases. */
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/setjmp.h created+34
......@@ -0,0 +1,34 @@
1/* Define the machine-dependent type `jmp_buf'. C-SKY version.
2 Copyright (C) 2018-2025 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 _CSKY_BITS_SETJMP_H
20#define _CSKY_BITS_SETJMP_H 1
21
22typedef struct __jmp_buf_str
23 {
24 /* Stack pointer. */
25 int __sp;
26 int __lr;
27 /* The actual core defines which registers should be saved. The
28 buffer contains 32 words, keep space for future growth.
29 Callee-saved registers:
30 r4 ~ r11, r16 ~ r17, r26 ~r31 for abiv2; r8 ~ r14 for abiv1. */
31 int __regs[32];
32 } __jmp_buf[1];
33
34#endif
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/shmlba.h created+29
......@@ -0,0 +1,29 @@
1/* Define SHMLBA. C-SKY version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getpagesize () << 2)
27extern int __getpagesize (void) __THROW __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/statfs.h created+75
......@@ -0,0 +1,75 @@
1/* Copyright (C) 2011-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/endian.h>
23#include <bits/types.h>
24#include <bits/wordsize.h>
25
26#if defined __USE_FILE_OFFSET64
27# define __field64(type, type64, name) type64 name
28#elif __BYTE_ORDER == __LITTLE_ENDIAN
29# define __field64(type, type64, name) \
30 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
31#else
32# define __field64(type, type64, name) \
33 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
34#endif
35
36struct statfs
37 {
38 __SWORD_TYPE f_type;
39 __SWORD_TYPE f_bsize;
40 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks);
41 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree);
42 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail);
43 __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files);
44 __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree);
45 __fsid_t f_fsid;
46 __SWORD_TYPE f_namelen;
47 __SWORD_TYPE f_frsize;
48 __SWORD_TYPE f_flags;
49 __SWORD_TYPE f_spare[4];
50 };
51
52#undef __field64
53
54#ifdef __USE_LARGEFILE64
55struct statfs64
56 {
57 __SWORD_TYPE f_type;
58 __SWORD_TYPE f_bsize;
59 __fsblkcnt64_t f_blocks;
60 __fsblkcnt64_t f_bfree;
61 __fsblkcnt64_t f_bavail;
62 __fsfilcnt64_t f_files;
63 __fsfilcnt64_t f_ffree;
64 __fsid_t f_fsid;
65 __SWORD_TYPE f_namelen;
66 __SWORD_TYPE f_frsize;
67 __SWORD_TYPE f_flags;
68 __SWORD_TYPE f_spare[4];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
74#define _STATFS_F_FRSIZE
75#define _STATFS_F_FLAGS
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/struct_stat.h created+135
......@@ -0,0 +1,135 @@
1/* Definition for struct stat. Linux/csky version.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46#ifdef __USE_TIME64_REDIRECTS
47# include <bits/struct_stat_time64_helper.h>
48#else
49 __dev_t st_dev; /* Device. */
50 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
51 __mode_t st_mode; /* File mode. */
52 __nlink_t st_nlink; /* Link count. */
53 __uid_t st_uid; /* User ID of the file's owner. */
54 __gid_t st_gid; /* Group ID of the file's group.*/
55 __dev_t st_rdev; /* Device number, if device. */
56 __dev_t __pad1;
57 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
58 __blksize_t st_blksize; /* Optimal block size for I/O. */
59 int __pad2;
60 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
61# ifdef __USE_XOPEN2K8
62 /* Nanosecond resolution timestamps are stored in a format
63 equivalent to 'struct timespec'. This is the type used
64 whenever possible but the Unix namespace rules do not allow the
65 identifier 'timespec' to appear in the <sys/stat.h> header.
66 Therefore we have to handle the use of this header in strictly
67 standard-compliant sources special. */
68 struct timespec st_atim; /* Time of last access. */
69 struct timespec st_mtim; /* Time of last modification. */
70 struct timespec st_ctim; /* Time of last status change. */
71# define st_atime st_atim.tv_sec /* Backward compatibility. */
72# define st_mtime st_mtim.tv_sec
73# define st_ctime st_ctim.tv_sec
74# else
75 __time_t st_atime; /* Time of last access. */
76 unsigned long int st_atimensec; /* Nscecs of last access. */
77 __time_t st_mtime; /* Time of last modification. */
78 unsigned long int st_mtimensec; /* Nsecs of last modification. */
79 __time_t st_ctime; /* Time of last status change. */
80 unsigned long int st_ctimensec; /* Nsecs of last status change. */
81# endif
82 int __glibc_reserved[2];
83#endif
84 };
85
86#undef __field64
87
88#ifdef __USE_LARGEFILE64
89struct stat64
90 {
91# ifdef __USE_TIME64_REDIRECTS
92# include <bits/struct_stat_time64_helper.h>
93# else
94 __dev_t st_dev; /* Device. */
95 __ino64_t st_ino; /* File serial number. */
96 __mode_t st_mode; /* File mode. */
97 __nlink_t st_nlink; /* Link count. */
98 __uid_t st_uid; /* User ID of the file's owner. */
99 __gid_t st_gid; /* Group ID of the file's group.*/
100 __dev_t st_rdev; /* Device number, if device. */
101 __dev_t __pad1;
102 __off64_t st_size; /* Size of file, in bytes. */
103 __blksize_t st_blksize; /* Optimal block size for I/O. */
104 int __pad2;
105 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
106# ifdef __USE_XOPEN2K8
107 /* Nanosecond resolution timestamps are stored in a format
108 equivalent to 'struct timespec'. This is the type used
109 whenever possible but the Unix namespace rules do not allow the
110 identifier 'timespec' to appear in the <sys/stat.h> header.
111 Therefore we have to handle the use of this header in strictly
112 standard-compliant sources special. */
113 struct timespec st_atim; /* Time of last access. */
114 struct timespec st_mtim; /* Time of last modification. */
115 struct timespec st_ctim; /* Time of last status change. */
116# else
117 __time_t st_atime; /* Time of last access. */
118 unsigned long int st_atimensec; /* Nscecs of last access. */
119 __time_t st_mtime; /* Time of last modification. */
120 unsigned long int st_mtimensec; /* Nsecs of last modification. */
121 __time_t st_ctime; /* Time of last status change. */
122 unsigned long int st_ctimensec; /* Nsecs of last status change. */
123# endif
124 int __glibc_reserved[2];
125# endif
126 };
127#endif
128
129/* Tell code we have these members. */
130#define _STATBUF_ST_BLKSIZE
131#define _STATBUF_ST_RDEV
132/* Nanosecond resolution time values are supported. */
133#define _STATBUF_ST_NSEC
134
135#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/timesize.h created+20
......@@ -0,0 +1,20 @@
1/* Bit size of the time_t type at glibc build time, Linux/csky.
2 Copyright (C) 2021-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 32
\ No newline at end of file
lib/libc/include/csky-linux-gnu/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 1
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/csky-linux-gnu/fpu_control.h created+148
......@@ -0,0 +1,148 @@
1/* FPU control word bits. C-SKY version.
2 Copyright (C) 2018-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22/* C-SKY FPU floating point control register bits.
23
24 31-28 -> Reserved (read as 0, write with 0).
25 27 -> 0: Flush denormalized results to zero.
26 1: Flush denormalized results to signed minimal normal number.
27 26 -> Reserved (read as 0, write with 0).
28 25-24 -> Rounding control.
29 23-6 -> Reserved (read as 0, write with 0).
30 5 -> Enable exception for input denormalized exception.
31 4 -> Enable exception for inexact exception.
32 3 -> Enable exception for underflow exception.
33 2 -> Enable exception for overflow exception.
34 1 -> Enable exception for division by zero exception.
35 0 -> Enable exception for invalid operation exception.
36
37 Rounding Control:
38 00 - Rounding to nearest (RN).
39 01 - Rounding toward zero (RZ).
40 10 - Rounding (up) toward plus infinity (RP).
41 11 - Rounding (down)toward minus infinity (RM).
42
43 C-SKY FPU floating point exception status register bits.
44
45 15 -> Accumulate bit for any exception.
46 14 -> Reserved (read as 0, write with 0).
47 13 -> Cause bit for input denormalized exception.
48 12 -> Cause bit for inexact exception.
49 11 -> Cause bit for underflow exception.
50 10 -> Cause bit for overflow exception.
51 9 -> Cause bit for division by zero exception.
52 8 -> Cause bit for invalid operation exception.
53 7 -> Flag bit for any exception.
54 6 -> Reserved (read as 0, write with 0).
55 5 -> Flag exception for input denormalized exception.
56 4 -> Flag exception for inexact exception.
57 3 -> Flag exception for underflow exception.
58 2 -> Flag exception for overflow exception.
59 1 -> Flag exception for division by zero exception.
60 0 -> Flag exception for invalid operation exception. */
61
62#include <features.h>
63
64#ifdef __csky_soft_float__
65
66# define _FPU_RESERVED 0xffffffff
67# define _FPU_DEFAULT 0x00000000
68typedef unsigned int fpu_control_t;
69# define _FPU_GETCW(cw) (cw) = 0
70# define _FPU_SETCW(cw) (void) (cw)
71# define _FPU_GETFPSR(cw) (cw) = 0
72# define _FPU_SETFPSR(cw) (void) (cw)
73extern fpu_control_t __fpu_control;
74
75#else /* __csky_soft_float__ */
76
77/* Masking of interrupts. */
78# define _FPU_MASK_IDE (1 << 5) /* Input denormalized exception. */
79# define _FPU_MASK_IXE (1 << 4) /* Inexact exception. */
80# define _FPU_MASK_UFE (1 << 3) /* Underflow exception. */
81# define _FPU_MASK_OFE (1 << 2) /* Overflow exception. */
82# define _FPU_MASK_DZE (1 << 1) /* Division by zero exception. */
83# define _FPU_MASK_IOE (1 << 0) /* Invalid operation exception. */
84
85# define _FPU_MASK_FEA (1 << 15) /* Case for any exception. */
86# define _FPU_MASK_FEC (1 << 7) /* Flag for any exception. */
87
88/* Flush denormalized numbers to zero. */
89# define _FPU_FLUSH_TZ 0x8000000
90
91/* Rounding control. */
92# define _FPU_RC_NEAREST (0x0 << 24) /* RECOMMENDED. */
93# define _FPU_RC_ZERO (0x1 << 24)
94# define _FPU_RC_UP (0x2 << 24)
95# define _FPU_RC_DOWN (0x3 << 24)
96
97# define _FPU_RESERVED 0xf460ffc0 /* Reserved bits in cw. */
98# define _FPU_FPSR_RESERVED 0xffff4040
99
100/* The fdlibm code requires strict IEEE double precision arithmetic,
101 and no interrupts for exceptions, rounding to nearest. */
102
103# define _FPU_DEFAULT 0x00000000
104# define _FPU_FPSR_DEFAULT 0x00000000
105
106/* IEEE: same as above, but exceptions. */
107# define _FPU_FPCR_IEEE 0x0000001F
108# define _FPU_FPSR_IEEE 0x00000000
109
110/* Type of the control word. */
111typedef unsigned int fpu_control_t;
112
113/* Macros for accessing the hardware control word. */
114# if (__CSKY__ == 2)
115# define _FPU_GETCW(cw) __asm__ volatile ("mfcr %0, cr<1, 2>" : "=a" (cw))
116# define _FPU_SETCW(cw) __asm__ volatile ("mtcr %0, cr<1, 2>" : : "a" (cw))
117# define _FPU_GETFPSR(cw) __asm__ volatile ("mfcr %0, cr<2, 2>" : "=a" (cw))
118# define _FPU_SETFPSR(cw) __asm__ volatile ("mtcr %0, cr<2, 2>" : : "a" (cw))
119# else
120# define _FPU_GETCW(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \
121 " btsti %0, 31 \n" \
122 " bt 1b \n" \
123 " cprcr %0, cpcr1\n" : "=b" (cw))
124
125# define _FPU_SETCW(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \
126 " btsti r7, 31 \n" \
127 " bt 1b \n" \
128 " cpwcr %0, cpcr1 \n" \
129 : : "b" (cw) : "r7")
130
131# define _FPU_GETFPSR(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \
132 " btsti %0, 31 \n" \
133 " bt 1b \n" \
134 " cprcr %0, cpcr4\n" : "=b" (cw))
135
136# define _FPU_SETFPSR(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \
137 " btsti r7, 31 \n" \
138 " bt 1b \n" \
139 " cpwcr %0, cpcr4 \n" \
140 : : "b" (cw) : "r7")
141# endif /* __CSKY__ != 2 */
142
143/* Default control word set at startup. */
144extern fpu_control_t __fpu_control;
145
146#endif /* !__csky_soft_float__ */
147
148#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnu/gnu/lib-names.h created+36
......@@ -0,0 +1,36 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7// zig patch: handle both float abis in the same header
8#ifdef __CSKY_HARD_FLOAT_ABI__
9#define LD_LINUX_CSKYV2_HF_SO "ld-linux-cskyv2-hf.so.1"
10#define LD_SO "ld-linux-cskyv2-hf.so.1"
11#else
12#define LD_LINUX_CSKYV2_SO "ld-linux-cskyv2.so.1"
13#define LD_SO "ld-linux-cskyv2.so.1"
14#endif
15#define LIBANL_SO "libanl.so.1"
16#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
17#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
18#define LIBC_SO "libc.so.6"
19#define LIBDL_SO "libdl.so.2"
20#define LIBGCC_S_SO "libgcc_s.so.1"
21#define LIBMVEC_SO "libmvec.so.1"
22#define LIBM_SO "libm.so.6"
23#define LIBNSL_SO "libnsl.so.1"
24#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
25#define LIBNSS_DB_SO "libnss_db.so.2"
26#define LIBNSS_DNS_SO "libnss_dns.so.2"
27#define LIBNSS_FILES_SO "libnss_files.so.2"
28#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
29#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
30#define LIBPTHREAD_SO "libpthread.so.0"
31#define LIBRESOLV_SO "libresolv.so.2"
32#define LIBRT_SO "librt.so.1"
33#define LIBTHREAD_DB_SO "libthread_db.so.1"
34#define LIBUTIL_SO "libutil.so.1"
35
36#endif /* gnu/lib-names.h */
lib/libc/include/csky-linux-gnu/gnu/stubs.h created+43
......@@ -0,0 +1,43 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17
18// zig patch: handle both float abis in the same header
19#ifndef __CSKY_HARD_FLOAT_ABI__
20#define __stub_feclearexcept
21#define __stub_fedisableexcept
22#define __stub_feenableexcept
23#define __stub_fegetenv
24#define __stub_fegetexcept
25#define __stub_fegetexceptflag
26#define __stub_fegetmode
27#define __stub_fegetround
28#define __stub_feholdexcept
29#define __stub_feraiseexcept
30#define __stub_fesetenv
31#define __stub_fesetexcept
32#define __stub_fesetexceptflag
33#define __stub_fesetmode
34#define __stub_fesetround
35#define __stub_fetestexcept
36#define __stub_feupdateenv
37#endif
38
39#define __stub_gtty
40#define __stub_revoke
41#define __stub_setlogin
42#define __stub_sigreturn
43#define __stub_stty
lib/libc/include/csky-linux-gnu/sys/cachectl.h created+36
......@@ -0,0 +1,36 @@
1/* C-SKY cache flushing interface.
2 Copyright (C) 2018-2025 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_CACHECTL_H
20#define _SYS_CACHECTL_H 1
21
22#include <features.h>
23
24/* Get the kernel definition for the op bits. */
25#include <asm/cachectl.h>
26
27__BEGIN_DECLS
28
29#ifdef __USE_MISC
30extern int cacheflush (void *__addr, const int __nbytes,
31 const int __op) __THROW;
32#endif
33
34__END_DECLS
35
36#endif /* sys/cachectl.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnu/sys/ucontext.h created+89
......@@ -0,0 +1,89 @@
1/* struct ucontext definition, C-SKY version.
2 Copyright (C) 2018-2025 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_UCONTEXT_H
20#define _SYS_UCONTEXT_H 1
21
22#include <features.h>
23
24#include <bits/types/sigset_t.h>
25#include <bits/types/stack_t.h>
26
27typedef struct
28 {
29 unsigned long __tls;
30 unsigned long __lr;
31 unsigned long __pc;
32 unsigned long __sr;
33 unsigned long __usp;
34
35 /*
36 * a0, a1, a2, a3:
37 * abiv1: r2, r3, r4, r5
38 * abiv2: r0, r1, r2, r3
39 */
40
41 unsigned long __orig_a0;
42 unsigned long __a0;
43 unsigned long __a1;
44 unsigned long __a2;
45 unsigned long __a3;
46
47 /*
48 * ABIV2: r4 ~ r13
49 */
50 unsigned long __regs[10];
51
52 /* r16 ~ r30 */
53 unsigned long __exregs[15];
54
55 unsigned long __rhi;
56 unsigned long __rlo;
57 unsigned long __glibc_reserved;
58 } gregset_t;
59
60typedef struct
61 {
62 unsigned long __vr[64];
63 unsigned long __fcr;
64 unsigned long __fesr;
65 unsigned long __fid;
66 unsigned long __glibc_reserved;
67 } fpregset_t;
68
69/* Context to describe whole processor state. */
70typedef struct
71 {
72 gregset_t __gregs;
73 fpregset_t __fpregs;
74 } mcontext_t;
75
76/* Userlevel context. */
77typedef struct ucontext_t
78 {
79 unsigned long int __uc_flags;
80 struct ucontext_t *uc_link;
81 stack_t uc_stack;
82 mcontext_t uc_mcontext;
83 sigset_t uc_sigmask;
84 } ucontext_t;
85
86#undef __ctx
87
88
89#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnu/sys/user.h created+23
......@@ -0,0 +1,23 @@
1/* This file is not used by C-SKY GDB. ptrace can use pt_regs definition
2 from linux kernel directly.
3 Copyright (C) 2018-2025 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
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 _SYS_USER_H
21#define _SYS_USER_H 1
22
23#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/endianness.h deleted-14
......@@ -1,14 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8#ifdef __CSKYBE__
9# error "Big endian not supported for C-SKY."
10#else
11# define __BYTE_ORDER __LITTLE_ENDIAN
12#endif
13
14#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/fcntl.h deleted-55
......@@ -1,55 +0,0 @@
1/* O_*, F_*, FD_* bit values for the generic Linux ABI.
2 Copyright (C) 2011-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
26# define __O_LARGEFILE 0
27#endif
28
29struct flock
30 {
31 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
32 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
33#ifndef __USE_FILE_OFFSET64
34 __off_t l_start; /* Offset where the lock begins. */
35 __off_t l_len; /* Size of the locked area; zero means until EOF. */
36#else
37 __off64_t l_start; /* Offset where the lock begins. */
38 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
39#endif
40 __pid_t l_pid; /* Process holding the lock. */
41 };
42
43#ifdef __USE_LARGEFILE64
44struct flock64
45 {
46 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
47 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
48 __off64_t l_start; /* Offset where the lock begins. */
49 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
50 __pid_t l_pid; /* Process holding the lock. */
51 };
52#endif
53
54/* Include generic Linux declarations. */
55#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/fenv.h deleted-111
......@@ -1,111 +0,0 @@
1/* Floating point environment. C-SKY version.
2 Copyright (C) 2018-2025 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 _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23#ifdef __csky_hard_float__
24/* Define bits representing the exception. We use the bit positions
25 of the appropriate bits in the FPU control word. */
26enum
27 {
28 FE_INVALID =
29#define FE_INVALID 0x01
30 FE_INVALID,
31 FE_DIVBYZERO =
32#define FE_DIVBYZERO 0x02
33 FE_DIVBYZERO,
34 FE_OVERFLOW =
35#define FE_OVERFLOW 0x04
36 FE_OVERFLOW,
37 FE_UNDERFLOW =
38#define FE_UNDERFLOW 0x08
39 FE_UNDERFLOW,
40 FE_INEXACT =
41#define FE_INEXACT 0x10
42 FE_INEXACT,
43 __FE_DENORMAL = 0x20
44 };
45
46#define FE_ALL_EXCEPT \
47 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
48
49/* The C-SKY FPU supports all of the four defined rounding modes. We
50 use again the bit positions in the FPU control word as the values
51 for the appropriate macros. */
52enum
53 {
54 FE_TONEAREST =
55#define FE_TONEAREST (0x0 << 24)
56 FE_TONEAREST,
57 FE_TOWARDZERO =
58#define FE_TOWARDZERO (0x1 << 24)
59 FE_TOWARDZERO,
60 FE_UPWARD =
61#define FE_UPWARD (0x2 << 24)
62 FE_UPWARD,
63 FE_DOWNWARD =
64#define FE_DOWNWARD (0x3 << 24)
65 FE_DOWNWARD,
66 __FE_ROUND_MASK = (0x3 << 24)
67 };
68
69#else
70
71/* In the soft-float case, only rounding to nearest is supported, with
72 no exceptions. */
73
74enum
75 {
76 __FE_UNDEFINED = -1,
77
78 FE_TONEAREST =
79# define FE_TONEAREST 0x0
80 FE_TONEAREST
81 };
82
83# define FE_ALL_EXCEPT 0
84
85#endif
86
87/* Type representing exception flags. */
88typedef unsigned int fexcept_t;
89
90/* Type representing floating-point environment. */
91typedef struct
92{
93 unsigned int __fpcr;
94 unsigned int __fpsr;
95} fenv_t;
96
97/* If the default argument is used we use this value. */
98#define FE_DFL_ENV ((const fenv_t *) -1)
99
100#if defined __USE_GNU && defined __csky_hard_float__
101/* Floating-point environment where none of the exceptions are masked. */
102# define FE_NOMASK_ENV ((const fenv_t *) -2)
103#endif
104
105#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
106/* Type representing floating-point control modes. */
107typedef unsigned int femode_t;
108
109/* Default floating-point control modes. */
110# define FE_DFL_MODE ((const femode_t *) -1L)
111#endif
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/floatn.h deleted-52
......@@ -1,52 +0,0 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2025 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/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc
21 includes corresponding *f128 interfaces for it. */
22#define __HAVE_FLOAT128 0
23
24/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
25 from the default float, double and long double types in this glibc. */
26#define __HAVE_DISTINCT_FLOAT128 0
27
28/* Defined to 1 if the current compiler invocation provides a
29 floating-point type with the right format for _Float64x, and this
30 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
32
33/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
34 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
35 the format of _Float128, which must be different from that of long
36 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
38
39#ifndef __ASSEMBLER__
40
41/* Defined to concatenate the literal suffix to be used with _Float128
42 types, if __HAVE_FLOAT128 is 1.
43 E.g.: #define __f128(x) x##f128. */
44# undef __f128
45
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
49
50#endif /* !__ASSEMBLER__. */
51
52#include <bits/floatn-common.h>
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/link.h deleted-55
......@@ -1,55 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface. C-SKY version.
2 Copyright (C) 2018-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23/* Registers for entry into PLT on C-SKY. */
24typedef struct La_csky_regs
25{
26 uint32_t lr_reg[4];
27 uint32_t lr_sp;
28 uint32_t lr_lr;
29} La_csky_regs;
30
31/* Return values for calls from PLT on C-SKY. */
32typedef struct La_csky_retval
33{
34 /* Up to four integer registers can be used for a return value. */
35 uint32_t lrv_reg[4];
36 uint32_t lrv_v0;
37} La_csky_retval;
38
39__BEGIN_DECLS
40
41extern Elf32_Addr la_csky_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
42 uintptr_t *__refcook,
43 uintptr_t *__defcook,
44 La_csky_regs *__regs,
45 unsigned int *__flags,
46 const char *__symname,
47 long int *__framesizep);
48extern unsigned int la_csky_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
49 uintptr_t *__refcook,
50 uintptr_t *__defcook,
51 const La_csky_regs *__inregs,
52 La_csky_retval *__outregs,
53 const char *__symname);
54
55__END_DECLS
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/long-double.h deleted-53
......@@ -1,53 +0,0 @@
1/* Properties of long double type.
2 Copyright (C) 2016-2025 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 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/* This header is included by <sys/cdefs.h>.
20
21 If long double is ABI-compatible with double, it should define
22 __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
23 __NO_LONG_DOUBLE_MATH undefined.
24
25 If this build of the GNU C Library supports both long double
26 ABI-compatible with double and some other long double format not
27 ABI-compatible with double, it should define
28 __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
29 __LONG_DOUBLE_MATH_OPTIONAL undefined.
30
31 If __NO_LONG_DOUBLE_MATH is already defined, this header must not
32 define anything; this is needed to work with the definition of
33 __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */
34
35/* In the default version of this header, long double is
36 ABI-compatible with double. */
37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 1
39#endif
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/csky-linux-gnueabi/bits/procfs.h deleted-37
......@@ -1,37 +0,0 @@
1/* Types for registers for sys/procfs.h. C-SKY version.
2 Copyright (C) 2018-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <asm/ptrace.h>
24
25/* Type for a general-purpose register. */
26typedef unsigned long elf_greg_t;
27/* Type for a floating-point registers. */
28typedef unsigned long elf_fpreg_t;
29
30/* In gdb/bfd elf32-csky.c, csky_elf_grok_prstatus() use fixed size of
31 elf_prstatus. It's 148 for abiv1 and 220 for abiv2, the size is enough
32 for coredump and no need full sizeof (struct pt_regs). */
33#define ELF_NGREG ((sizeof (struct pt_regs) / sizeof (elf_greg_t)) - 2)
34typedef elf_greg_t elf_gregset_t[ELF_NGREG];
35
36#define ELF_NFPREG (sizeof (struct user_fp) / sizeof (elf_fpreg_t))
37typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/rseq.h deleted-29
......@@ -1,29 +0,0 @@
1/* Restartable Sequences architecture header. Stub version.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases. */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/setjmp.h deleted-34
......@@ -1,34 +0,0 @@
1/* Define the machine-dependent type `jmp_buf'. C-SKY version.
2 Copyright (C) 2018-2025 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 _CSKY_BITS_SETJMP_H
20#define _CSKY_BITS_SETJMP_H 1
21
22typedef struct __jmp_buf_str
23 {
24 /* Stack pointer. */
25 int __sp;
26 int __lr;
27 /* The actual core defines which registers should be saved. The
28 buffer contains 32 words, keep space for future growth.
29 Callee-saved registers:
30 r4 ~ r11, r16 ~ r17, r26 ~r31 for abiv2; r8 ~ r14 for abiv1. */
31 int __regs[32];
32 } __jmp_buf[1];
33
34#endif
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/shmlba.h deleted-29
......@@ -1,29 +0,0 @@
1/* Define SHMLBA. C-SKY version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getpagesize () << 2)
27extern int __getpagesize (void) __THROW __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/statfs.h deleted-75
......@@ -1,75 +0,0 @@
1/* Copyright (C) 2011-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/endian.h>
23#include <bits/types.h>
24#include <bits/wordsize.h>
25
26#if defined __USE_FILE_OFFSET64
27# define __field64(type, type64, name) type64 name
28#elif __BYTE_ORDER == __LITTLE_ENDIAN
29# define __field64(type, type64, name) \
30 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
31#else
32# define __field64(type, type64, name) \
33 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
34#endif
35
36struct statfs
37 {
38 __SWORD_TYPE f_type;
39 __SWORD_TYPE f_bsize;
40 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks);
41 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree);
42 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail);
43 __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files);
44 __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree);
45 __fsid_t f_fsid;
46 __SWORD_TYPE f_namelen;
47 __SWORD_TYPE f_frsize;
48 __SWORD_TYPE f_flags;
49 __SWORD_TYPE f_spare[4];
50 };
51
52#undef __field64
53
54#ifdef __USE_LARGEFILE64
55struct statfs64
56 {
57 __SWORD_TYPE f_type;
58 __SWORD_TYPE f_bsize;
59 __fsblkcnt64_t f_blocks;
60 __fsblkcnt64_t f_bfree;
61 __fsblkcnt64_t f_bavail;
62 __fsfilcnt64_t f_files;
63 __fsfilcnt64_t f_ffree;
64 __fsid_t f_fsid;
65 __SWORD_TYPE f_namelen;
66 __SWORD_TYPE f_frsize;
67 __SWORD_TYPE f_flags;
68 __SWORD_TYPE f_spare[4];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
74#define _STATFS_F_FRSIZE
75#define _STATFS_F_FLAGS
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h deleted-135
......@@ -1,135 +0,0 @@
1/* Definition for struct stat. Linux/csky version.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46#ifdef __USE_TIME64_REDIRECTS
47# include <bits/struct_stat_time64_helper.h>
48#else
49 __dev_t st_dev; /* Device. */
50 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
51 __mode_t st_mode; /* File mode. */
52 __nlink_t st_nlink; /* Link count. */
53 __uid_t st_uid; /* User ID of the file's owner. */
54 __gid_t st_gid; /* Group ID of the file's group.*/
55 __dev_t st_rdev; /* Device number, if device. */
56 __dev_t __pad1;
57 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
58 __blksize_t st_blksize; /* Optimal block size for I/O. */
59 int __pad2;
60 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
61# ifdef __USE_XOPEN2K8
62 /* Nanosecond resolution timestamps are stored in a format
63 equivalent to 'struct timespec'. This is the type used
64 whenever possible but the Unix namespace rules do not allow the
65 identifier 'timespec' to appear in the <sys/stat.h> header.
66 Therefore we have to handle the use of this header in strictly
67 standard-compliant sources special. */
68 struct timespec st_atim; /* Time of last access. */
69 struct timespec st_mtim; /* Time of last modification. */
70 struct timespec st_ctim; /* Time of last status change. */
71# define st_atime st_atim.tv_sec /* Backward compatibility. */
72# define st_mtime st_mtim.tv_sec
73# define st_ctime st_ctim.tv_sec
74# else
75 __time_t st_atime; /* Time of last access. */
76 unsigned long int st_atimensec; /* Nscecs of last access. */
77 __time_t st_mtime; /* Time of last modification. */
78 unsigned long int st_mtimensec; /* Nsecs of last modification. */
79 __time_t st_ctime; /* Time of last status change. */
80 unsigned long int st_ctimensec; /* Nsecs of last status change. */
81# endif
82 int __glibc_reserved[2];
83#endif
84 };
85
86#undef __field64
87
88#ifdef __USE_LARGEFILE64
89struct stat64
90 {
91# ifdef __USE_TIME64_REDIRECTS
92# include <bits/struct_stat_time64_helper.h>
93# else
94 __dev_t st_dev; /* Device. */
95 __ino64_t st_ino; /* File serial number. */
96 __mode_t st_mode; /* File mode. */
97 __nlink_t st_nlink; /* Link count. */
98 __uid_t st_uid; /* User ID of the file's owner. */
99 __gid_t st_gid; /* Group ID of the file's group.*/
100 __dev_t st_rdev; /* Device number, if device. */
101 __dev_t __pad1;
102 __off64_t st_size; /* Size of file, in bytes. */
103 __blksize_t st_blksize; /* Optimal block size for I/O. */
104 int __pad2;
105 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
106# ifdef __USE_XOPEN2K8
107 /* Nanosecond resolution timestamps are stored in a format
108 equivalent to 'struct timespec'. This is the type used
109 whenever possible but the Unix namespace rules do not allow the
110 identifier 'timespec' to appear in the <sys/stat.h> header.
111 Therefore we have to handle the use of this header in strictly
112 standard-compliant sources special. */
113 struct timespec st_atim; /* Time of last access. */
114 struct timespec st_mtim; /* Time of last modification. */
115 struct timespec st_ctim; /* Time of last status change. */
116# else
117 __time_t st_atime; /* Time of last access. */
118 unsigned long int st_atimensec; /* Nscecs of last access. */
119 __time_t st_mtime; /* Time of last modification. */
120 unsigned long int st_mtimensec; /* Nsecs of last modification. */
121 __time_t st_ctime; /* Time of last status change. */
122 unsigned long int st_ctimensec; /* Nsecs of last status change. */
123# endif
124 int __glibc_reserved[2];
125# endif
126 };
127#endif
128
129/* Tell code we have these members. */
130#define _STATBUF_ST_BLKSIZE
131#define _STATBUF_ST_RDEV
132/* Nanosecond resolution time values are supported. */
133#define _STATBUF_ST_NSEC
134
135#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/csky.
2 Copyright (C) 2021-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 32
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/wordsize.h deleted-21
......@@ -1,21 +0,0 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 1
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/fpu_control.h deleted-148
......@@ -1,148 +0,0 @@
1/* FPU control word bits. C-SKY version.
2 Copyright (C) 2018-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22/* C-SKY FPU floating point control register bits.
23
24 31-28 -> Reserved (read as 0, write with 0).
25 27 -> 0: Flush denormalized results to zero.
26 1: Flush denormalized results to signed minimal normal number.
27 26 -> Reserved (read as 0, write with 0).
28 25-24 -> Rounding control.
29 23-6 -> Reserved (read as 0, write with 0).
30 5 -> Enable exception for input denormalized exception.
31 4 -> Enable exception for inexact exception.
32 3 -> Enable exception for underflow exception.
33 2 -> Enable exception for overflow exception.
34 1 -> Enable exception for division by zero exception.
35 0 -> Enable exception for invalid operation exception.
36
37 Rounding Control:
38 00 - Rounding to nearest (RN).
39 01 - Rounding toward zero (RZ).
40 10 - Rounding (up) toward plus infinity (RP).
41 11 - Rounding (down)toward minus infinity (RM).
42
43 C-SKY FPU floating point exception status register bits.
44
45 15 -> Accumulate bit for any exception.
46 14 -> Reserved (read as 0, write with 0).
47 13 -> Cause bit for input denormalized exception.
48 12 -> Cause bit for inexact exception.
49 11 -> Cause bit for underflow exception.
50 10 -> Cause bit for overflow exception.
51 9 -> Cause bit for division by zero exception.
52 8 -> Cause bit for invalid operation exception.
53 7 -> Flag bit for any exception.
54 6 -> Reserved (read as 0, write with 0).
55 5 -> Flag exception for input denormalized exception.
56 4 -> Flag exception for inexact exception.
57 3 -> Flag exception for underflow exception.
58 2 -> Flag exception for overflow exception.
59 1 -> Flag exception for division by zero exception.
60 0 -> Flag exception for invalid operation exception. */
61
62#include <features.h>
63
64#ifdef __csky_soft_float__
65
66# define _FPU_RESERVED 0xffffffff
67# define _FPU_DEFAULT 0x00000000
68typedef unsigned int fpu_control_t;
69# define _FPU_GETCW(cw) (cw) = 0
70# define _FPU_SETCW(cw) (void) (cw)
71# define _FPU_GETFPSR(cw) (cw) = 0
72# define _FPU_SETFPSR(cw) (void) (cw)
73extern fpu_control_t __fpu_control;
74
75#else /* __csky_soft_float__ */
76
77/* Masking of interrupts. */
78# define _FPU_MASK_IDE (1 << 5) /* Input denormalized exception. */
79# define _FPU_MASK_IXE (1 << 4) /* Inexact exception. */
80# define _FPU_MASK_UFE (1 << 3) /* Underflow exception. */
81# define _FPU_MASK_OFE (1 << 2) /* Overflow exception. */
82# define _FPU_MASK_DZE (1 << 1) /* Division by zero exception. */
83# define _FPU_MASK_IOE (1 << 0) /* Invalid operation exception. */
84
85# define _FPU_MASK_FEA (1 << 15) /* Case for any exception. */
86# define _FPU_MASK_FEC (1 << 7) /* Flag for any exception. */
87
88/* Flush denormalized numbers to zero. */
89# define _FPU_FLUSH_TZ 0x8000000
90
91/* Rounding control. */
92# define _FPU_RC_NEAREST (0x0 << 24) /* RECOMMENDED. */
93# define _FPU_RC_ZERO (0x1 << 24)
94# define _FPU_RC_UP (0x2 << 24)
95# define _FPU_RC_DOWN (0x3 << 24)
96
97# define _FPU_RESERVED 0xf460ffc0 /* Reserved bits in cw. */
98# define _FPU_FPSR_RESERVED 0xffff4040
99
100/* The fdlibm code requires strict IEEE double precision arithmetic,
101 and no interrupts for exceptions, rounding to nearest. */
102
103# define _FPU_DEFAULT 0x00000000
104# define _FPU_FPSR_DEFAULT 0x00000000
105
106/* IEEE: same as above, but exceptions. */
107# define _FPU_FPCR_IEEE 0x0000001F
108# define _FPU_FPSR_IEEE 0x00000000
109
110/* Type of the control word. */
111typedef unsigned int fpu_control_t;
112
113/* Macros for accessing the hardware control word. */
114# if (__CSKY__ == 2)
115# define _FPU_GETCW(cw) __asm__ volatile ("mfcr %0, cr<1, 2>" : "=a" (cw))
116# define _FPU_SETCW(cw) __asm__ volatile ("mtcr %0, cr<1, 2>" : : "a" (cw))
117# define _FPU_GETFPSR(cw) __asm__ volatile ("mfcr %0, cr<2, 2>" : "=a" (cw))
118# define _FPU_SETFPSR(cw) __asm__ volatile ("mtcr %0, cr<2, 2>" : : "a" (cw))
119# else
120# define _FPU_GETCW(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \
121 " btsti %0, 31 \n" \
122 " bt 1b \n" \
123 " cprcr %0, cpcr1\n" : "=b" (cw))
124
125# define _FPU_SETCW(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \
126 " btsti r7, 31 \n" \
127 " bt 1b \n" \
128 " cpwcr %0, cpcr1 \n" \
129 : : "b" (cw) : "r7")
130
131# define _FPU_GETFPSR(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \
132 " btsti %0, 31 \n" \
133 " bt 1b \n" \
134 " cprcr %0, cpcr4\n" : "=b" (cw))
135
136# define _FPU_SETFPSR(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \
137 " btsti r7, 31 \n" \
138 " bt 1b \n" \
139 " cpwcr %0, cpcr4 \n" \
140 : : "b" (cw) : "r7")
141# endif /* __CSKY__ != 2 */
142
143/* Default control word set at startup. */
144extern fpu_control_t __fpu_control;
145
146#endif /* !__csky_soft_float__ */
147
148#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h deleted-30
......@@ -1,30 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#define LD_LINUX_CSKYV2_SO "ld-linux-cskyv2.so.1"
8#define LD_SO "ld-linux-cskyv2.so.1"
9#define LIBANL_SO "libanl.so.1"
10#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
11#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
12#define LIBC_SO "libc.so.6"
13#define LIBDL_SO "libdl.so.2"
14#define LIBGCC_S_SO "libgcc_s.so.1"
15#define LIBMVEC_SO "libmvec.so.1"
16#define LIBM_SO "libm.so.6"
17#define LIBNSL_SO "libnsl.so.1"
18#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
19#define LIBNSS_DB_SO "libnss_db.so.2"
20#define LIBNSS_DNS_SO "libnss_dns.so.2"
21#define LIBNSS_FILES_SO "libnss_files.so.2"
22#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
23#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
24#define LIBPTHREAD_SO "libpthread.so.0"
25#define LIBRESOLV_SO "libresolv.so.2"
26#define LIBRT_SO "librt.so.1"
27#define LIBTHREAD_DB_SO "libthread_db.so.1"
28#define LIBUTIL_SO "libutil.so.1"
29
30#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/gnu/stubs.h deleted-38
......@@ -1,38 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_feclearexcept
18#define __stub_fedisableexcept
19#define __stub_feenableexcept
20#define __stub_fegetenv
21#define __stub_fegetexcept
22#define __stub_fegetexceptflag
23#define __stub_fegetmode
24#define __stub_fegetround
25#define __stub_feholdexcept
26#define __stub_feraiseexcept
27#define __stub_fesetenv
28#define __stub_fesetexcept
29#define __stub_fesetexceptflag
30#define __stub_fesetmode
31#define __stub_fesetround
32#define __stub_fetestexcept
33#define __stub_feupdateenv
34#define __stub_gtty
35#define __stub_revoke
36#define __stub_setlogin
37#define __stub_sigreturn
38#define __stub_stty
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/sys/cachectl.h deleted-36
......@@ -1,36 +0,0 @@
1/* C-SKY cache flushing interface.
2 Copyright (C) 2018-2025 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_CACHECTL_H
20#define _SYS_CACHECTL_H 1
21
22#include <features.h>
23
24/* Get the kernel definition for the op bits. */
25#include <asm/cachectl.h>
26
27__BEGIN_DECLS
28
29#ifdef __USE_MISC
30extern int cacheflush (void *__addr, const int __nbytes,
31 const int __op) __THROW;
32#endif
33
34__END_DECLS
35
36#endif /* sys/cachectl.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/sys/ucontext.h deleted-89
......@@ -1,89 +0,0 @@
1/* struct ucontext definition, C-SKY version.
2 Copyright (C) 2018-2025 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_UCONTEXT_H
20#define _SYS_UCONTEXT_H 1
21
22#include <features.h>
23
24#include <bits/types/sigset_t.h>
25#include <bits/types/stack_t.h>
26
27typedef struct
28 {
29 unsigned long __tls;
30 unsigned long __lr;
31 unsigned long __pc;
32 unsigned long __sr;
33 unsigned long __usp;
34
35 /*
36 * a0, a1, a2, a3:
37 * abiv1: r2, r3, r4, r5
38 * abiv2: r0, r1, r2, r3
39 */
40
41 unsigned long __orig_a0;
42 unsigned long __a0;
43 unsigned long __a1;
44 unsigned long __a2;
45 unsigned long __a3;
46
47 /*
48 * ABIV2: r4 ~ r13
49 */
50 unsigned long __regs[10];
51
52 /* r16 ~ r30 */
53 unsigned long __exregs[15];
54
55 unsigned long __rhi;
56 unsigned long __rlo;
57 unsigned long __glibc_reserved;
58 } gregset_t;
59
60typedef struct
61 {
62 unsigned long __vr[64];
63 unsigned long __fcr;
64 unsigned long __fesr;
65 unsigned long __fid;
66 unsigned long __glibc_reserved;
67 } fpregset_t;
68
69/* Context to describe whole processor state. */
70typedef struct
71 {
72 gregset_t __gregs;
73 fpregset_t __fpregs;
74 } mcontext_t;
75
76/* Userlevel context. */
77typedef struct ucontext_t
78 {
79 unsigned long int __uc_flags;
80 struct ucontext_t *uc_link;
81 stack_t uc_stack;
82 mcontext_t uc_mcontext;
83 sigset_t uc_sigmask;
84 } ucontext_t;
85
86#undef __ctx
87
88
89#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/sys/user.h deleted-23
......@@ -1,23 +0,0 @@
1/* This file is not used by C-SKY GDB. ptrace can use pt_regs definition
2 from linux kernel directly.
3 Copyright (C) 2018-2025 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
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 _SYS_USER_H
21#define _SYS_USER_H 1
22
23#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/endianness.h deleted-14
......@@ -1,14 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8#ifdef __CSKYBE__
9# error "Big endian not supported for C-SKY."
10#else
11# define __BYTE_ORDER __LITTLE_ENDIAN
12#endif
13
14#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h deleted-55
......@@ -1,55 +0,0 @@
1/* O_*, F_*, FD_* bit values for the generic Linux ABI.
2 Copyright (C) 2011-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#if __WORDSIZE == 64
26# define __O_LARGEFILE 0
27#endif
28
29struct flock
30 {
31 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
32 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
33#ifndef __USE_FILE_OFFSET64
34 __off_t l_start; /* Offset where the lock begins. */
35 __off_t l_len; /* Size of the locked area; zero means until EOF. */
36#else
37 __off64_t l_start; /* Offset where the lock begins. */
38 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
39#endif
40 __pid_t l_pid; /* Process holding the lock. */
41 };
42
43#ifdef __USE_LARGEFILE64
44struct flock64
45 {
46 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
47 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
48 __off64_t l_start; /* Offset where the lock begins. */
49 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
50 __pid_t l_pid; /* Process holding the lock. */
51 };
52#endif
53
54/* Include generic Linux declarations. */
55#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/fenv.h deleted-111
......@@ -1,111 +0,0 @@
1/* Floating point environment. C-SKY version.
2 Copyright (C) 2018-2025 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 _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23#ifdef __csky_hard_float__
24/* Define bits representing the exception. We use the bit positions
25 of the appropriate bits in the FPU control word. */
26enum
27 {
28 FE_INVALID =
29#define FE_INVALID 0x01
30 FE_INVALID,
31 FE_DIVBYZERO =
32#define FE_DIVBYZERO 0x02
33 FE_DIVBYZERO,
34 FE_OVERFLOW =
35#define FE_OVERFLOW 0x04
36 FE_OVERFLOW,
37 FE_UNDERFLOW =
38#define FE_UNDERFLOW 0x08
39 FE_UNDERFLOW,
40 FE_INEXACT =
41#define FE_INEXACT 0x10
42 FE_INEXACT,
43 __FE_DENORMAL = 0x20
44 };
45
46#define FE_ALL_EXCEPT \
47 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
48
49/* The C-SKY FPU supports all of the four defined rounding modes. We
50 use again the bit positions in the FPU control word as the values
51 for the appropriate macros. */
52enum
53 {
54 FE_TONEAREST =
55#define FE_TONEAREST (0x0 << 24)
56 FE_TONEAREST,
57 FE_TOWARDZERO =
58#define FE_TOWARDZERO (0x1 << 24)
59 FE_TOWARDZERO,
60 FE_UPWARD =
61#define FE_UPWARD (0x2 << 24)
62 FE_UPWARD,
63 FE_DOWNWARD =
64#define FE_DOWNWARD (0x3 << 24)
65 FE_DOWNWARD,
66 __FE_ROUND_MASK = (0x3 << 24)
67 };
68
69#else
70
71/* In the soft-float case, only rounding to nearest is supported, with
72 no exceptions. */
73
74enum
75 {
76 __FE_UNDEFINED = -1,
77
78 FE_TONEAREST =
79# define FE_TONEAREST 0x0
80 FE_TONEAREST
81 };
82
83# define FE_ALL_EXCEPT 0
84
85#endif
86
87/* Type representing exception flags. */
88typedef unsigned int fexcept_t;
89
90/* Type representing floating-point environment. */
91typedef struct
92{
93 unsigned int __fpcr;
94 unsigned int __fpsr;
95} fenv_t;
96
97/* If the default argument is used we use this value. */
98#define FE_DFL_ENV ((const fenv_t *) -1)
99
100#if defined __USE_GNU && defined __csky_hard_float__
101/* Floating-point environment where none of the exceptions are masked. */
102# define FE_NOMASK_ENV ((const fenv_t *) -2)
103#endif
104
105#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
106/* Type representing floating-point control modes. */
107typedef unsigned int femode_t;
108
109/* Default floating-point control modes. */
110# define FE_DFL_MODE ((const femode_t *) -1L)
111#endif
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/floatn.h deleted-52
......@@ -1,52 +0,0 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2025 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/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc
21 includes corresponding *f128 interfaces for it. */
22#define __HAVE_FLOAT128 0
23
24/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
25 from the default float, double and long double types in this glibc. */
26#define __HAVE_DISTINCT_FLOAT128 0
27
28/* Defined to 1 if the current compiler invocation provides a
29 floating-point type with the right format for _Float64x, and this
30 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
32
33/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
34 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
35 the format of _Float128, which must be different from that of long
36 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
38
39#ifndef __ASSEMBLER__
40
41/* Defined to concatenate the literal suffix to be used with _Float128
42 types, if __HAVE_FLOAT128 is 1.
43 E.g.: #define __f128(x) x##f128. */
44# undef __f128
45
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
49
50#endif /* !__ASSEMBLER__. */
51
52#include <bits/floatn-common.h>
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/link.h deleted-55
......@@ -1,55 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface. C-SKY version.
2 Copyright (C) 2018-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23/* Registers for entry into PLT on C-SKY. */
24typedef struct La_csky_regs
25{
26 uint32_t lr_reg[4];
27 uint32_t lr_sp;
28 uint32_t lr_lr;
29} La_csky_regs;
30
31/* Return values for calls from PLT on C-SKY. */
32typedef struct La_csky_retval
33{
34 /* Up to four integer registers can be used for a return value. */
35 uint32_t lrv_reg[4];
36 uint32_t lrv_v0;
37} La_csky_retval;
38
39__BEGIN_DECLS
40
41extern Elf32_Addr la_csky_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
42 uintptr_t *__refcook,
43 uintptr_t *__defcook,
44 La_csky_regs *__regs,
45 unsigned int *__flags,
46 const char *__symname,
47 long int *__framesizep);
48extern unsigned int la_csky_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
49 uintptr_t *__refcook,
50 uintptr_t *__defcook,
51 const La_csky_regs *__inregs,
52 La_csky_retval *__outregs,
53 const char *__symname);
54
55__END_DECLS
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/long-double.h deleted-53
......@@ -1,53 +0,0 @@
1/* Properties of long double type.
2 Copyright (C) 2016-2025 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 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/* This header is included by <sys/cdefs.h>.
20
21 If long double is ABI-compatible with double, it should define
22 __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
23 __NO_LONG_DOUBLE_MATH undefined.
24
25 If this build of the GNU C Library supports both long double
26 ABI-compatible with double and some other long double format not
27 ABI-compatible with double, it should define
28 __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
29 __LONG_DOUBLE_MATH_OPTIONAL undefined.
30
31 If __NO_LONG_DOUBLE_MATH is already defined, this header must not
32 define anything; this is needed to work with the definition of
33 __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */
34
35/* In the default version of this header, long double is
36 ABI-compatible with double. */
37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 1
39#endif
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/csky-linux-gnueabihf/bits/procfs.h deleted-37
......@@ -1,37 +0,0 @@
1/* Types for registers for sys/procfs.h. C-SKY version.
2 Copyright (C) 2018-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <asm/ptrace.h>
24
25/* Type for a general-purpose register. */
26typedef unsigned long elf_greg_t;
27/* Type for a floating-point registers. */
28typedef unsigned long elf_fpreg_t;
29
30/* In gdb/bfd elf32-csky.c, csky_elf_grok_prstatus() use fixed size of
31 elf_prstatus. It's 148 for abiv1 and 220 for abiv2, the size is enough
32 for coredump and no need full sizeof (struct pt_regs). */
33#define ELF_NGREG ((sizeof (struct pt_regs) / sizeof (elf_greg_t)) - 2)
34typedef elf_greg_t elf_gregset_t[ELF_NGREG];
35
36#define ELF_NFPREG (sizeof (struct user_fp) / sizeof (elf_fpreg_t))
37typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/rseq.h deleted-29
......@@ -1,29 +0,0 @@
1/* Restartable Sequences architecture header. Stub version.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases. */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h deleted-34
......@@ -1,34 +0,0 @@
1/* Define the machine-dependent type `jmp_buf'. C-SKY version.
2 Copyright (C) 2018-2025 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 _CSKY_BITS_SETJMP_H
20#define _CSKY_BITS_SETJMP_H 1
21
22typedef struct __jmp_buf_str
23 {
24 /* Stack pointer. */
25 int __sp;
26 int __lr;
27 /* The actual core defines which registers should be saved. The
28 buffer contains 32 words, keep space for future growth.
29 Callee-saved registers:
30 r4 ~ r11, r16 ~ r17, r26 ~r31 for abiv2; r8 ~ r14 for abiv1. */
31 int __regs[32];
32 } __jmp_buf[1];
33
34#endif
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h deleted-29
......@@ -1,29 +0,0 @@
1/* Define SHMLBA. C-SKY version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getpagesize () << 2)
27extern int __getpagesize (void) __THROW __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/statfs.h deleted-75
......@@ -1,75 +0,0 @@
1/* Copyright (C) 2011-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/endian.h>
23#include <bits/types.h>
24#include <bits/wordsize.h>
25
26#if defined __USE_FILE_OFFSET64
27# define __field64(type, type64, name) type64 name
28#elif __BYTE_ORDER == __LITTLE_ENDIAN
29# define __field64(type, type64, name) \
30 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
31#else
32# define __field64(type, type64, name) \
33 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
34#endif
35
36struct statfs
37 {
38 __SWORD_TYPE f_type;
39 __SWORD_TYPE f_bsize;
40 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks);
41 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree);
42 __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail);
43 __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files);
44 __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree);
45 __fsid_t f_fsid;
46 __SWORD_TYPE f_namelen;
47 __SWORD_TYPE f_frsize;
48 __SWORD_TYPE f_flags;
49 __SWORD_TYPE f_spare[4];
50 };
51
52#undef __field64
53
54#ifdef __USE_LARGEFILE64
55struct statfs64
56 {
57 __SWORD_TYPE f_type;
58 __SWORD_TYPE f_bsize;
59 __fsblkcnt64_t f_blocks;
60 __fsblkcnt64_t f_bfree;
61 __fsblkcnt64_t f_bavail;
62 __fsfilcnt64_t f_files;
63 __fsfilcnt64_t f_ffree;
64 __fsid_t f_fsid;
65 __SWORD_TYPE f_namelen;
66 __SWORD_TYPE f_frsize;
67 __SWORD_TYPE f_flags;
68 __SWORD_TYPE f_spare[4];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
74#define _STATFS_F_FRSIZE
75#define _STATFS_F_FLAGS
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h deleted-135
......@@ -1,135 +0,0 @@
1/* Definition for struct stat. Linux/csky version.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46#ifdef __USE_TIME64_REDIRECTS
47# include <bits/struct_stat_time64_helper.h>
48#else
49 __dev_t st_dev; /* Device. */
50 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
51 __mode_t st_mode; /* File mode. */
52 __nlink_t st_nlink; /* Link count. */
53 __uid_t st_uid; /* User ID of the file's owner. */
54 __gid_t st_gid; /* Group ID of the file's group.*/
55 __dev_t st_rdev; /* Device number, if device. */
56 __dev_t __pad1;
57 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
58 __blksize_t st_blksize; /* Optimal block size for I/O. */
59 int __pad2;
60 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
61# ifdef __USE_XOPEN2K8
62 /* Nanosecond resolution timestamps are stored in a format
63 equivalent to 'struct timespec'. This is the type used
64 whenever possible but the Unix namespace rules do not allow the
65 identifier 'timespec' to appear in the <sys/stat.h> header.
66 Therefore we have to handle the use of this header in strictly
67 standard-compliant sources special. */
68 struct timespec st_atim; /* Time of last access. */
69 struct timespec st_mtim; /* Time of last modification. */
70 struct timespec st_ctim; /* Time of last status change. */
71# define st_atime st_atim.tv_sec /* Backward compatibility. */
72# define st_mtime st_mtim.tv_sec
73# define st_ctime st_ctim.tv_sec
74# else
75 __time_t st_atime; /* Time of last access. */
76 unsigned long int st_atimensec; /* Nscecs of last access. */
77 __time_t st_mtime; /* Time of last modification. */
78 unsigned long int st_mtimensec; /* Nsecs of last modification. */
79 __time_t st_ctime; /* Time of last status change. */
80 unsigned long int st_ctimensec; /* Nsecs of last status change. */
81# endif
82 int __glibc_reserved[2];
83#endif
84 };
85
86#undef __field64
87
88#ifdef __USE_LARGEFILE64
89struct stat64
90 {
91# ifdef __USE_TIME64_REDIRECTS
92# include <bits/struct_stat_time64_helper.h>
93# else
94 __dev_t st_dev; /* Device. */
95 __ino64_t st_ino; /* File serial number. */
96 __mode_t st_mode; /* File mode. */
97 __nlink_t st_nlink; /* Link count. */
98 __uid_t st_uid; /* User ID of the file's owner. */
99 __gid_t st_gid; /* Group ID of the file's group.*/
100 __dev_t st_rdev; /* Device number, if device. */
101 __dev_t __pad1;
102 __off64_t st_size; /* Size of file, in bytes. */
103 __blksize_t st_blksize; /* Optimal block size for I/O. */
104 int __pad2;
105 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
106# ifdef __USE_XOPEN2K8
107 /* Nanosecond resolution timestamps are stored in a format
108 equivalent to 'struct timespec'. This is the type used
109 whenever possible but the Unix namespace rules do not allow the
110 identifier 'timespec' to appear in the <sys/stat.h> header.
111 Therefore we have to handle the use of this header in strictly
112 standard-compliant sources special. */
113 struct timespec st_atim; /* Time of last access. */
114 struct timespec st_mtim; /* Time of last modification. */
115 struct timespec st_ctim; /* Time of last status change. */
116# else
117 __time_t st_atime; /* Time of last access. */
118 unsigned long int st_atimensec; /* Nscecs of last access. */
119 __time_t st_mtime; /* Time of last modification. */
120 unsigned long int st_mtimensec; /* Nsecs of last modification. */
121 __time_t st_ctime; /* Time of last status change. */
122 unsigned long int st_ctimensec; /* Nsecs of last status change. */
123# endif
124 int __glibc_reserved[2];
125# endif
126 };
127#endif
128
129/* Tell code we have these members. */
130#define _STATBUF_ST_BLKSIZE
131#define _STATBUF_ST_RDEV
132/* Nanosecond resolution time values are supported. */
133#define _STATBUF_ST_NSEC
134
135#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/csky.
2 Copyright (C) 2021-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 32
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h deleted-21
......@@ -1,21 +0,0 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 1
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/fpu_control.h deleted-148
......@@ -1,148 +0,0 @@
1/* FPU control word bits. C-SKY version.
2 Copyright (C) 2018-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22/* C-SKY FPU floating point control register bits.
23
24 31-28 -> Reserved (read as 0, write with 0).
25 27 -> 0: Flush denormalized results to zero.
26 1: Flush denormalized results to signed minimal normal number.
27 26 -> Reserved (read as 0, write with 0).
28 25-24 -> Rounding control.
29 23-6 -> Reserved (read as 0, write with 0).
30 5 -> Enable exception for input denormalized exception.
31 4 -> Enable exception for inexact exception.
32 3 -> Enable exception for underflow exception.
33 2 -> Enable exception for overflow exception.
34 1 -> Enable exception for division by zero exception.
35 0 -> Enable exception for invalid operation exception.
36
37 Rounding Control:
38 00 - Rounding to nearest (RN).
39 01 - Rounding toward zero (RZ).
40 10 - Rounding (up) toward plus infinity (RP).
41 11 - Rounding (down)toward minus infinity (RM).
42
43 C-SKY FPU floating point exception status register bits.
44
45 15 -> Accumulate bit for any exception.
46 14 -> Reserved (read as 0, write with 0).
47 13 -> Cause bit for input denormalized exception.
48 12 -> Cause bit for inexact exception.
49 11 -> Cause bit for underflow exception.
50 10 -> Cause bit for overflow exception.
51 9 -> Cause bit for division by zero exception.
52 8 -> Cause bit for invalid operation exception.
53 7 -> Flag bit for any exception.
54 6 -> Reserved (read as 0, write with 0).
55 5 -> Flag exception for input denormalized exception.
56 4 -> Flag exception for inexact exception.
57 3 -> Flag exception for underflow exception.
58 2 -> Flag exception for overflow exception.
59 1 -> Flag exception for division by zero exception.
60 0 -> Flag exception for invalid operation exception. */
61
62#include <features.h>
63
64#ifdef __csky_soft_float__
65
66# define _FPU_RESERVED 0xffffffff
67# define _FPU_DEFAULT 0x00000000
68typedef unsigned int fpu_control_t;
69# define _FPU_GETCW(cw) (cw) = 0
70# define _FPU_SETCW(cw) (void) (cw)
71# define _FPU_GETFPSR(cw) (cw) = 0
72# define _FPU_SETFPSR(cw) (void) (cw)
73extern fpu_control_t __fpu_control;
74
75#else /* __csky_soft_float__ */
76
77/* Masking of interrupts. */
78# define _FPU_MASK_IDE (1 << 5) /* Input denormalized exception. */
79# define _FPU_MASK_IXE (1 << 4) /* Inexact exception. */
80# define _FPU_MASK_UFE (1 << 3) /* Underflow exception. */
81# define _FPU_MASK_OFE (1 << 2) /* Overflow exception. */
82# define _FPU_MASK_DZE (1 << 1) /* Division by zero exception. */
83# define _FPU_MASK_IOE (1 << 0) /* Invalid operation exception. */
84
85# define _FPU_MASK_FEA (1 << 15) /* Case for any exception. */
86# define _FPU_MASK_FEC (1 << 7) /* Flag for any exception. */
87
88/* Flush denormalized numbers to zero. */
89# define _FPU_FLUSH_TZ 0x8000000
90
91/* Rounding control. */
92# define _FPU_RC_NEAREST (0x0 << 24) /* RECOMMENDED. */
93# define _FPU_RC_ZERO (0x1 << 24)
94# define _FPU_RC_UP (0x2 << 24)
95# define _FPU_RC_DOWN (0x3 << 24)
96
97# define _FPU_RESERVED 0xf460ffc0 /* Reserved bits in cw. */
98# define _FPU_FPSR_RESERVED 0xffff4040
99
100/* The fdlibm code requires strict IEEE double precision arithmetic,
101 and no interrupts for exceptions, rounding to nearest. */
102
103# define _FPU_DEFAULT 0x00000000
104# define _FPU_FPSR_DEFAULT 0x00000000
105
106/* IEEE: same as above, but exceptions. */
107# define _FPU_FPCR_IEEE 0x0000001F
108# define _FPU_FPSR_IEEE 0x00000000
109
110/* Type of the control word. */
111typedef unsigned int fpu_control_t;
112
113/* Macros for accessing the hardware control word. */
114# if (__CSKY__ == 2)
115# define _FPU_GETCW(cw) __asm__ volatile ("mfcr %0, cr<1, 2>" : "=a" (cw))
116# define _FPU_SETCW(cw) __asm__ volatile ("mtcr %0, cr<1, 2>" : : "a" (cw))
117# define _FPU_GETFPSR(cw) __asm__ volatile ("mfcr %0, cr<2, 2>" : "=a" (cw))
118# define _FPU_SETFPSR(cw) __asm__ volatile ("mtcr %0, cr<2, 2>" : : "a" (cw))
119# else
120# define _FPU_GETCW(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \
121 " btsti %0, 31 \n" \
122 " bt 1b \n" \
123 " cprcr %0, cpcr1\n" : "=b" (cw))
124
125# define _FPU_SETCW(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \
126 " btsti r7, 31 \n" \
127 " bt 1b \n" \
128 " cpwcr %0, cpcr1 \n" \
129 : : "b" (cw) : "r7")
130
131# define _FPU_GETFPSR(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \
132 " btsti %0, 31 \n" \
133 " bt 1b \n" \
134 " cprcr %0, cpcr4\n" : "=b" (cw))
135
136# define _FPU_SETFPSR(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \
137 " btsti r7, 31 \n" \
138 " bt 1b \n" \
139 " cpwcr %0, cpcr4 \n" \
140 : : "b" (cw) : "r7")
141# endif /* __CSKY__ != 2 */
142
143/* Default control word set at startup. */
144extern fpu_control_t __fpu_control;
145
146#endif /* !__csky_soft_float__ */
147
148#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h deleted-30
......@@ -1,30 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#define LD_LINUX_CSKYV2_HF_SO "ld-linux-cskyv2-hf.so.1"
8#define LD_SO "ld-linux-cskyv2-hf.so.1"
9#define LIBANL_SO "libanl.so.1"
10#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
11#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
12#define LIBC_SO "libc.so.6"
13#define LIBDL_SO "libdl.so.2"
14#define LIBGCC_S_SO "libgcc_s.so.1"
15#define LIBMVEC_SO "libmvec.so.1"
16#define LIBM_SO "libm.so.6"
17#define LIBNSL_SO "libnsl.so.1"
18#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
19#define LIBNSS_DB_SO "libnss_db.so.2"
20#define LIBNSS_DNS_SO "libnss_dns.so.2"
21#define LIBNSS_FILES_SO "libnss_files.so.2"
22#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
23#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
24#define LIBPTHREAD_SO "libpthread.so.0"
25#define LIBRESOLV_SO "libresolv.so.2"
26#define LIBRT_SO "librt.so.1"
27#define LIBTHREAD_DB_SO "libthread_db.so.1"
28#define LIBUTIL_SO "libutil.so.1"
29
30#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/gnu/stubs.h deleted-21
......@@ -1,21 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_gtty
18#define __stub_revoke
19#define __stub_setlogin
20#define __stub_sigreturn
21#define __stub_stty
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h deleted-36
......@@ -1,36 +0,0 @@
1/* C-SKY cache flushing interface.
2 Copyright (C) 2018-2025 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_CACHECTL_H
20#define _SYS_CACHECTL_H 1
21
22#include <features.h>
23
24/* Get the kernel definition for the op bits. */
25#include <asm/cachectl.h>
26
27__BEGIN_DECLS
28
29#ifdef __USE_MISC
30extern int cacheflush (void *__addr, const int __nbytes,
31 const int __op) __THROW;
32#endif
33
34__END_DECLS
35
36#endif /* sys/cachectl.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h deleted-89
......@@ -1,89 +0,0 @@
1/* struct ucontext definition, C-SKY version.
2 Copyright (C) 2018-2025 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_UCONTEXT_H
20#define _SYS_UCONTEXT_H 1
21
22#include <features.h>
23
24#include <bits/types/sigset_t.h>
25#include <bits/types/stack_t.h>
26
27typedef struct
28 {
29 unsigned long __tls;
30 unsigned long __lr;
31 unsigned long __pc;
32 unsigned long __sr;
33 unsigned long __usp;
34
35 /*
36 * a0, a1, a2, a3:
37 * abiv1: r2, r3, r4, r5
38 * abiv2: r0, r1, r2, r3
39 */
40
41 unsigned long __orig_a0;
42 unsigned long __a0;
43 unsigned long __a1;
44 unsigned long __a2;
45 unsigned long __a3;
46
47 /*
48 * ABIV2: r4 ~ r13
49 */
50 unsigned long __regs[10];
51
52 /* r16 ~ r30 */
53 unsigned long __exregs[15];
54
55 unsigned long __rhi;
56 unsigned long __rlo;
57 unsigned long __glibc_reserved;
58 } gregset_t;
59
60typedef struct
61 {
62 unsigned long __vr[64];
63 unsigned long __fcr;
64 unsigned long __fesr;
65 unsigned long __fid;
66 unsigned long __glibc_reserved;
67 } fpregset_t;
68
69/* Context to describe whole processor state. */
70typedef struct
71 {
72 gregset_t __gregs;
73 fpregset_t __fpregs;
74 } mcontext_t;
75
76/* Userlevel context. */
77typedef struct ucontext_t
78 {
79 unsigned long int __uc_flags;
80 struct ucontext_t *uc_link;
81 stack_t uc_stack;
82 mcontext_t uc_mcontext;
83 sigset_t uc_sigmask;
84 } ucontext_t;
85
86#undef __ctx
87
88
89#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/sys/user.h deleted-23
......@@ -1,23 +0,0 @@
1/* This file is not used by C-SKY GDB. ptrace can use pt_regs definition
2 from linux kernel directly.
3 Copyright (C) 2018-2025 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
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 _SYS_USER_H
21#define _SYS_USER_H 1
22
23#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/endianness.h created+11
......@@ -0,0 +1,11 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5#error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* LoongArch is little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/fcntl.h created+61
......@@ -0,0 +1,61 @@
1/* O_*, F_*, FD_* bit values for the generic Linux/LoongArch ABI.
2 Copyright (C) 2022-2025 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 _FCNTL_H
20#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
26 non-64-bit versions. It will need to be revised for 128-bit. */
27#if __WORDSIZE == 64
28#define __O_LARGEFILE 0
29
30#define F_GETLK64 5 /* Get record locking info. */
31#define F_SETLK64 6 /* Set record locking info (non-blocking). */
32#define F_SETLKW64 7 /* Set record locking info (blocking). */
33#endif
34
35struct flock
36{
37 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
38 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
39#ifndef __USE_FILE_OFFSET64
40 __off_t l_start; /* Offset where the lock begins. */
41 __off_t l_len; /* Size of the locked area; zero means until EOF. */
42#else
43 __off64_t l_start; /* Offset where the lock begins. */
44 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
45#endif
46 __pid_t l_pid; /* Process holding the lock. */
47};
48
49#ifdef __USE_LARGEFILE64
50struct flock64
51{
52 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
53 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
54 __off64_t l_start; /* Offset where the lock begins. */
55 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
56 __pid_t l_pid; /* Process holding the lock. */
57};
58#endif
59
60/* Include generic Linux declarations. */
61#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/fenv.h created+90
......@@ -0,0 +1,90 @@
1/* Floating point environment.
2 Copyright (C) 2022-2025 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 _FENV_H
20#error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23/* Define bits representing the exception. We use the bit positions
24 of the appropriate bits in the FPU control word. */
25enum
26{
27 FE_INEXACT =
28#define FE_INEXACT 0x010000
29 FE_INEXACT,
30 FE_UNDERFLOW =
31#define FE_UNDERFLOW 0x020000
32 FE_UNDERFLOW,
33 FE_OVERFLOW =
34#define FE_OVERFLOW 0x040000
35 FE_OVERFLOW,
36 FE_DIVBYZERO =
37#define FE_DIVBYZERO 0x080000
38 FE_DIVBYZERO,
39 FE_INVALID =
40#define FE_INVALID 0x100000
41 FE_INVALID,
42};
43
44#define FE_ALL_EXCEPT \
45 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
46
47/* The LoongArch FPU supports all of the four defined rounding modes. We
48 use again the bit positions in the FPU control word as the values
49 for the appropriate macros. */
50enum
51{
52 FE_TONEAREST =
53#define FE_TONEAREST 0x000
54 FE_TONEAREST,
55 FE_TOWARDZERO =
56#define FE_TOWARDZERO 0x100
57 FE_TOWARDZERO,
58 FE_UPWARD =
59#define FE_UPWARD 0x200
60 FE_UPWARD,
61 FE_DOWNWARD =
62#define FE_DOWNWARD 0x300
63 FE_DOWNWARD
64};
65
66/* Type representing exception flags. */
67typedef unsigned int fexcept_t;
68
69/* Type representing floating-point environment. This function corresponds
70 to the layout of the block written by the `fstenv'. */
71typedef struct
72{
73 unsigned int __fp_control_register;
74} fenv_t;
75
76/* If the default argument is used we use this value. */
77#define FE_DFL_ENV ((const fenv_t *) -1)
78
79#ifdef __USE_GNU
80/* Floating-point environment where none of the exception is masked. */
81#define FE_NOMASK_ENV ((const fenv_t *) -257)
82#endif
83
84#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;
87
88/* Default floating-point control modes. */
89#define FE_DFL_MODE ((const femode_t *) -1L)
90#endif
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/hwcap.h created+39
......@@ -0,0 +1,39 @@
1/* Defines for bits in AT_HWCAP. LoongArch64 Linux version.
2 Copyright (C) 2022-2025 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 <http://www.gnu.org/licenses/>. */
18
19#if !defined (_SYS_AUXV_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h>. */
24/* HWCAP flags */
25#define HWCAP_LOONGARCH_CPUCFG (1 << 0)
26#define HWCAP_LOONGARCH_LAM (1 << 1)
27#define HWCAP_LOONGARCH_UAL (1 << 2)
28#define HWCAP_LOONGARCH_FPU (1 << 3)
29#define HWCAP_LOONGARCH_LSX (1 << 4)
30#define HWCAP_LOONGARCH_LASX (1 << 5)
31#define HWCAP_LOONGARCH_CRC32 (1 << 6)
32#define HWCAP_LOONGARCH_COMPLEX (1 << 7)
33#define HWCAP_LOONGARCH_CRYPTO (1 << 8)
34#define HWCAP_LOONGARCH_LVZ (1 << 9)
35#define HWCAP_LOONGARCH_LBT_X86 (1 << 10)
36#define HWCAP_LOONGARCH_LBT_ARM (1 << 11)
37#define HWCAP_LOONGARCH_LBT_MIPS (1 << 12)
38#define HWCAP_LOONGARCH_PTW (1 << 13)
39#define HWCAP_LOONGARCH_LSPW (1 << 14)
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/link.h created+76
......@@ -0,0 +1,76 @@
1/* Machine-specific declarations for dynamic linker interface.
2 Copyright (C) 2022-2025 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 _LINK_H
20#error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23#ifndef __loongarch_soft_float
24typedef float La_loongarch_vr
25 __attribute__ ((__vector_size__ (16), __aligned__ (16)));
26typedef float La_loongarch_xr
27 __attribute__ ((__vector_size__ (32), __aligned__ (16)));
28
29typedef union
30{
31 double fpreg[4];
32 La_loongarch_vr vr[2];
33 La_loongarch_xr xr[1];
34} La_loongarch_vector __attribute__ ((__aligned__ (16)));
35#endif
36
37typedef struct La_loongarch_regs
38{
39 unsigned long int lr_reg[8]; /* a0 - a7 */
40#ifndef __loongarch_soft_float
41 La_loongarch_vector lr_vec[8]; /* fa0 - fa7 or vr0 - vr7 or xr0 - xr7*/
42#endif
43 unsigned long int lr_ra;
44 unsigned long int lr_sp;
45} La_loongarch_regs;
46
47/* Return values for calls from PLT on LoongArch. */
48typedef struct La_loongarch_retval
49{
50 unsigned long int lrv_a0;
51 unsigned long int lrv_a1;
52#ifndef __loongarch_soft_float
53 La_loongarch_vector lrv_vec0;
54 La_loongarch_vector lrv_vec1;
55#endif
56} La_loongarch_retval;
57
58__BEGIN_DECLS
59
60extern ElfW (Addr) la_loongarch_gnu_pltenter (ElfW (Sym) *__sym,
61 unsigned int __ndx,
62 uintptr_t *__refcook,
63 uintptr_t *__defcook,
64 La_loongarch_regs *__regs,
65 unsigned int *__flags,
66 const char *__symname,
67 long int *__framesizep);
68extern unsigned int la_loongarch_gnu_pltexit (ElfW (Sym) *__sym,
69 unsigned int __ndx,
70 uintptr_t *__refcook,
71 uintptr_t *__defcook,
72 const La_loongarch_regs *__inregs,
73 La_loongarch_retval *__outregs,
74 const char *__symname);
75
76__END_DECLS
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/link_lavcurrent.h created+25
......@@ -0,0 +1,25 @@
1/* Data structure for communication from the run-time dynamic linker for
2 loaded ELF shared objects. LAV_CURRENT definition.
3 Copyright (C) 2023-2025 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
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 _LINK_H
21# error "Never include <bits/link_lavcurrent.h> directly; use <link.h> instead."
22#endif
23
24/* Version numbers for la_version handshake interface. */
25#define LAV_CURRENT 3
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/long-double.h created+21
......@@ -0,0 +1,21 @@
1/* Properties of long double type. ldbl-128 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/procfs.h created+52
......@@ -0,0 +1,52 @@
1/* Types for registers for sys/procfs.h.
2 Copyright (C) 2022-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
22#endif
23
24/* Type for a general-purpose register. */
25typedef __uint64_t elf_greg_t;
26
27/* And the whole bunch of them. We could have used `struct
28 pt_regs' directly in the typedef, but tradition says that
29 the register set is an array, which does have some peculiar
30 semantics, so leave it that way. */
31#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
32typedef elf_greg_t elf_gregset_t[ELF_NGREG];
33
34#define ELF_NFPREG 34 /* 32 FPRs + 8-byte byte-vec for fcc + 4-byte FCR */
35typedef union
36{
37 double d;
38 float f;
39} elf_fpreg_t;
40typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
41
42typedef union
43{
44 double d[2];
45 float f[4];
46} __attribute__ ((__aligned__ (16))) elf_lsxregset_t[32];
47
48typedef union
49{
50 double d[4];
51 float f[8];
52} __attribute__ ((__aligned__ (32))) elf_lasxregset_t[32];
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/pthread_stack_min.h created+20
......@@ -0,0 +1,20 @@
1/* Definition of PTHREAD_STACK_MIN. LoongArch Linux version.
2 Copyright (C) 2022-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/rseq.h created+36
......@@ -0,0 +1,36 @@
1/* Restartable Sequences Linux LoongArch architecture header.
2 Copyright (C) 2024-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 RSEQ_SIG uses the following break instruction:
32
33 0x002a0010 break 0x10
34*/
35
36#define RSEQ_SIG 0x002a0010
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/setjmp.h created+42
......@@ -0,0 +1,42 @@
1/* Define the machine-dependent type `jmp_buf'.
2 Copyright (C) 2022-2025 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 _LOONGARCH_BITS_SETJMP_H
20#define _LOONGARCH_BITS_SETJMP_H
21
22typedef struct __jmp_buf_internal_tag
23{
24 /* Program counter. */
25 long int __pc;
26 /* Stack pointer. */
27 long int __sp;
28 /* Reserved */
29 long int __x;
30 /* Frame pointer. */
31 long int __fp;
32 /* Callee-saved registers. */
33 long int __regs[9];
34
35#ifndef __loongarch_soft_float
36 /* Callee-saved floating point registers. */
37 double __fpregs[8];
38#endif
39
40} __jmp_buf[1];
41
42#endif /* _LOONGARCH_BITS_SETJMP_H */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/shmlba.h created+24
......@@ -0,0 +1,24 @@
1/* Define SHMLBA. LoongArch version.
2 Copyright (C) 2023-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x10000
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/sigstack.h created+32
......@@ -0,0 +1,32 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 2022-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26/* Minimum stack size for a signal handler. */
27#define MINSIGSTKSZ 4096
28
29/* System default stack size. */
30#define SIGSTKSZ 16384
31
32#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/struct_stat.h created+127
......@@ -0,0 +1,127 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46 __dev_t st_dev; /* Device. */
47 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
48 __mode_t st_mode; /* File mode. */
49 __nlink_t st_nlink; /* Link count. */
50 __uid_t st_uid; /* User ID of the file's owner. */
51 __gid_t st_gid; /* Group ID of the file's group.*/
52 __dev_t st_rdev; /* Device number, if device. */
53 __dev_t __pad1;
54 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
55 __blksize_t st_blksize; /* Optimal block size for I/O. */
56 int __pad2;
57 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
58#ifdef __USE_XOPEN2K8
59 /* Nanosecond resolution timestamps are stored in a format
60 equivalent to 'struct timespec'. This is the type used
61 whenever possible but the Unix namespace rules do not allow the
62 identifier 'timespec' to appear in the <sys/stat.h> header.
63 Therefore we have to handle the use of this header in strictly
64 standard-compliant sources special. */
65 struct timespec st_atim; /* Time of last access. */
66 struct timespec st_mtim; /* Time of last modification. */
67 struct timespec st_ctim; /* Time of last status change. */
68# define st_atime st_atim.tv_sec /* Backward compatibility. */
69# define st_mtime st_mtim.tv_sec
70# define st_ctime st_ctim.tv_sec
71#else
72 __time_t st_atime; /* Time of last access. */
73 unsigned long int st_atimensec; /* Nscecs of last access. */
74 __time_t st_mtime; /* Time of last modification. */
75 unsigned long int st_mtimensec; /* Nsecs of last modification. */
76 __time_t st_ctime; /* Time of last status change. */
77 unsigned long int st_ctimensec; /* Nsecs of last status change. */
78#endif
79 int __glibc_reserved[2];
80 };
81
82#undef __field64
83
84#ifdef __USE_LARGEFILE64
85struct stat64
86 {
87 __dev_t st_dev; /* Device. */
88 __ino64_t st_ino; /* File serial number. */
89 __mode_t st_mode; /* File mode. */
90 __nlink_t st_nlink; /* Link count. */
91 __uid_t st_uid; /* User ID of the file's owner. */
92 __gid_t st_gid; /* Group ID of the file's group.*/
93 __dev_t st_rdev; /* Device number, if device. */
94 __dev_t __pad1;
95 __off64_t st_size; /* Size of file, in bytes. */
96 __blksize_t st_blksize; /* Optimal block size for I/O. */
97 int __pad2;
98 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
99#ifdef __USE_XOPEN2K8
100 /* Nanosecond resolution timestamps are stored in a format
101 equivalent to 'struct timespec'. This is the type used
102 whenever possible but the Unix namespace rules do not allow the
103 identifier 'timespec' to appear in the <sys/stat.h> header.
104 Therefore we have to handle the use of this header in strictly
105 standard-compliant sources special. */
106 struct timespec st_atim; /* Time of last access. */
107 struct timespec st_mtim; /* Time of last modification. */
108 struct timespec st_ctim; /* Time of last status change. */
109#else
110 __time_t st_atime; /* Time of last access. */
111 unsigned long int st_atimensec; /* Nscecs of last access. */
112 __time_t st_mtime; /* Time of last modification. */
113 unsigned long int st_mtimensec; /* Nsecs of last modification. */
114 __time_t st_ctime; /* Time of last status change. */
115 unsigned long int st_ctimensec; /* Nsecs of last status change. */
116#endif
117 int __glibc_reserved[2];
118 };
119#endif
120
121/* Tell code we have these members. */
122#define _STATBUF_ST_BLKSIZE
123#define _STATBUF_ST_RDEV
124/* Nanosecond resolution time values are supported. */
125#define _STATBUF_ST_NSEC
126
127#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/timesize.h created+20
......@@ -0,0 +1,20 @@
1/* Bit size of the time_t type at glibc build time, general case.
2 Copyright (C) 2018-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 64
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/bits/wordsize.h created+19
......@@ -0,0 +1,19 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 64
19#define __WORDSIZE_TIME64_COMPAT32 0
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/fpu_control.h created+119
......@@ -0,0 +1,119 @@
1/* FPU control word bits.
2 Copyright (C) 2022-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22/* LoongArch FPU floating point control register bits.
23 *
24 * 31-29 -> reserved (read as 0, can not changed by software)
25 * 28 -> cause bit for invalid exception
26 * 27 -> cause bit for division by zero exception
27 * 26 -> cause bit for overflow exception
28 * 25 -> cause bit for underflow exception
29 * 24 -> cause bit for inexact exception
30 * 23-21 -> reserved (read as 0, can not changed by software)
31 * 20 -> flag invalid exception
32 * 19 -> flag division by zero exception
33 * 18 -> flag overflow exception
34 * 17 -> flag underflow exception
35 * 16 -> flag inexact exception
36 * 9-8 -> rounding control
37 * 7-5 -> reserved (read as 0, can not changed by software)
38 * 4 -> enable exception for invalid exception
39 * 3 -> enable exception for division by zero exception
40 * 2 -> enable exception for overflow exception
41 * 1 -> enable exception for underflow exception
42 * 0 -> enable exception for inexact exception
43 *
44 *
45 * Rounding Control:
46 * 00 - rounding ties to even (RNE)
47 * 01 - rounding toward zero (RZ)
48 * 10 - rounding (up) toward plus infinity (RP)
49 * 11 - rounding (down) toward minus infinity (RM)
50 */
51
52#include <features.h>
53
54#ifdef __loongarch_soft_float
55
56#define _FPU_RESERVED 0xffffffff
57#define _FPU_DEFAULT 0x00000000
58typedef unsigned int fpu_control_t;
59#define _FPU_GETCW(cw) (cw) = 0
60#define _FPU_SETCW(cw) (void) (cw)
61extern fpu_control_t __fpu_control;
62
63#else /* __loongarch_soft_float */
64
65/* Masks for interrupts. */
66#define _FPU_MASK_V 0x10 /* Invalid operation */
67#define _FPU_MASK_Z 0x08 /* Division by zero */
68#define _FPU_MASK_O 0x04 /* Overflow */
69#define _FPU_MASK_U 0x02 /* Underflow */
70#define _FPU_MASK_I 0x01 /* Inexact operation */
71
72/* Flush denormalized numbers to zero. */
73#define _FPU_FLUSH_TZ 0x1000000
74
75/* Rounding control. */
76#define _FPU_RC_NEAREST 0x000 /* RECOMMENDED */
77#define _FPU_RC_ZERO 0x100
78#define _FPU_RC_UP 0x200
79#define _FPU_RC_DOWN 0x300
80/* Mask for rounding control. */
81#define _FPU_RC_MASK 0x300
82
83#define _FPU_RESERVED 0x0
84
85#define _FPU_DEFAULT 0x0
86#define _FPU_IEEE 0x1F
87
88/* Type of the control word. */
89typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
90
91/* Macros for accessing the hardware control word. */
92extern fpu_control_t __loongarch_fpu_getcw (void) __THROW;
93extern void __loongarch_fpu_setcw (fpu_control_t) __THROW;
94#define _FPU_GETCW(cw) __asm__ volatile ("movfcsr2gr %0,$fcsr0" : "=r"(cw))
95#define _FPU_SETCW(cw) __asm__ volatile ("movgr2fcsr $fcsr0,%0" : : "r"(cw))
96
97/* Default control word set at startup. */
98extern fpu_control_t __fpu_control;
99
100# define _FCLASS_SNAN (1 << 0)
101# define _FCLASS_QNAN (1 << 1)
102# define _FCLASS_MINF (1 << 2)
103# define _FCLASS_MNORM (1 << 3)
104# define _FCLASS_MSUBNORM (1 << 4)
105# define _FCLASS_MZERO (1 << 5)
106# define _FCLASS_PINF (1 << 6)
107# define _FCLASS_PNORM (1 << 7)
108# define _FCLASS_PSUBNORM (1 << 8)
109# define _FCLASS_PZERO (1 << 9)
110
111# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO)
112# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM)
113# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM)
114# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF)
115# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN)
116
117#endif /* __loongarch_soft_float */
118
119#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/gnu/lib-names.h created+16
......@@ -0,0 +1,16 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 64 && defined __loongarch_soft_float
10# include <gnu/lib-names-lp64s.h>
11#endif
12#if __WORDSIZE == 64 && defined __loongarch_double_float
13# include <gnu/lib-names-lp64d.h>
14#endif
15
16#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/gnu/stubs-lp64s.h created+38
......@@ -0,0 +1,38 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_feclearexcept
18#define __stub_fedisableexcept
19#define __stub_feenableexcept
20#define __stub_fegetenv
21#define __stub_fegetexcept
22#define __stub_fegetexceptflag
23#define __stub_fegetmode
24#define __stub_fegetround
25#define __stub_feholdexcept
26#define __stub_feraiseexcept
27#define __stub_fesetenv
28#define __stub_fesetexcept
29#define __stub_fesetexceptflag
30#define __stub_fesetmode
31#define __stub_fesetround
32#define __stub_fetestexcept
33#define __stub_feupdateenv
34#define __stub_gtty
35#define __stub_revoke
36#define __stub_setlogin
37#define __stub_sigreturn
38#define __stub_stty
lib/libc/include/loongarch-linux-gnu/gnu/stubs.h created+12
......@@ -0,0 +1,12 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 64 && defined __loongarch_soft_float
8# include <gnu/stubs-lp64s.h>
9#endif
10#if __WORDSIZE == 64 && defined __loongarch_double_float
11# include <gnu/stubs-lp64d.h>
12#endif
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/ieee754.h created+170
......@@ -0,0 +1,170 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25__BEGIN_DECLS
26
27union ieee754_float
28 {
29 float f;
30
31 /* This is the IEEE 754 single-precision format. */
32 struct
33 {
34#if __BYTE_ORDER == __BIG_ENDIAN
35 unsigned int negative:1;
36 unsigned int exponent:8;
37 unsigned int mantissa:23;
38#endif /* Big endian. */
39#if __BYTE_ORDER == __LITTLE_ENDIAN
40 unsigned int mantissa:23;
41 unsigned int exponent:8;
42 unsigned int negative:1;
43#endif /* Little endian. */
44 } ieee;
45
46 /* This format makes it easier to see if a NaN is a signalling NaN. */
47 struct
48 {
49#if __BYTE_ORDER == __BIG_ENDIAN
50 unsigned int negative:1;
51 unsigned int exponent:8;
52 unsigned int quiet_nan:1;
53 unsigned int mantissa:22;
54#endif /* Big endian. */
55#if __BYTE_ORDER == __LITTLE_ENDIAN
56 unsigned int mantissa:22;
57 unsigned int quiet_nan:1;
58 unsigned int exponent:8;
59 unsigned int negative:1;
60#endif /* Little endian. */
61 } ieee_nan;
62 };
63
64#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
65
66
67union ieee754_double
68 {
69 double d;
70
71 /* This is the IEEE 754 double-precision format. */
72 struct
73 {
74#if __BYTE_ORDER == __BIG_ENDIAN
75 unsigned int negative:1;
76 unsigned int exponent:11;
77 /* Together these comprise the mantissa. */
78 unsigned int mantissa0:20;
79 unsigned int mantissa1:32;
80#endif /* Big endian. */
81#if __BYTE_ORDER == __LITTLE_ENDIAN
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa1:32;
84 unsigned int mantissa0:20;
85 unsigned int exponent:11;
86 unsigned int negative:1;
87#endif /* Little endian. */
88 } ieee;
89
90 /* This format makes it easier to see if a NaN is a signalling NaN. */
91 struct
92 {
93#if __BYTE_ORDER == __BIG_ENDIAN
94 unsigned int negative:1;
95 unsigned int exponent:11;
96 unsigned int quiet_nan:1;
97 /* Together these comprise the mantissa. */
98 unsigned int mantissa0:19;
99 unsigned int mantissa1:32;
100#else
101 /* Together these comprise the mantissa. */
102 unsigned int mantissa1:32;
103 unsigned int mantissa0:19;
104 unsigned int quiet_nan:1;
105 unsigned int exponent:11;
106 unsigned int negative:1;
107#endif
108 } ieee_nan;
109 };
110
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112
113
114union ieee854_long_double
115 {
116 long double d;
117
118 /* This is the IEEE 854 quad-precision format. */
119 struct
120 {
121#if __BYTE_ORDER == __BIG_ENDIAN
122 unsigned int negative:1;
123 unsigned int exponent:15;
124 /* Together these comprise the mantissa. */
125 unsigned int mantissa0:16;
126 unsigned int mantissa1:32;
127 unsigned int mantissa2:32;
128 unsigned int mantissa3:32;
129#endif /* Big endian. */
130#if __BYTE_ORDER == __LITTLE_ENDIAN
131 /* Together these comprise the mantissa. */
132 unsigned int mantissa3:32;
133 unsigned int mantissa2:32;
134 unsigned int mantissa1:32;
135 unsigned int mantissa0:16;
136 unsigned int exponent:15;
137 unsigned int negative:1;
138#endif /* Little endian. */
139 } ieee;
140
141 /* This format makes it easier to see if a NaN is a signalling NaN. */
142 struct
143 {
144#if __BYTE_ORDER == __BIG_ENDIAN
145 unsigned int negative:1;
146 unsigned int exponent:15;
147 unsigned int quiet_nan:1;
148 /* Together these comprise the mantissa. */
149 unsigned int mantissa0:15;
150 unsigned int mantissa1:32;
151 unsigned int mantissa2:32;
152 unsigned int mantissa3:32;
153#else
154 /* Together these comprise the mantissa. */
155 unsigned int mantissa3:32;
156 unsigned int mantissa2:32;
157 unsigned int mantissa1:32;
158 unsigned int mantissa0:15;
159 unsigned int quiet_nan:1;
160 unsigned int exponent:15;
161 unsigned int negative:1;
162#endif
163 } ieee_nan;
164 };
165
166#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
167
168__END_DECLS
169
170#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/sys/asm.h created+78
......@@ -0,0 +1,78 @@
1/* Miscellaneous macros.
2 Copyright (C) 2022-2025 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_ASM_H
20#define _SYS_ASM_H
21
22#include <sys/regdef.h>
23#include <sysdeps/generic/sysdep.h>
24
25/* Macros to handle different pointer/register sizes for 32/64-bit code. */
26#define SZREG 8
27#define SZFREG 8
28#define SZVREG 16
29#define SZXREG 32
30#define REG_L ld.d
31#define REG_S st.d
32#define SRLI srli.d
33#define SLLI slli.d
34#define ADDI addi.d
35#define ADD add.d
36#define SUB sub.d
37#define BSTRINS bstrins.d
38#define LI li.d
39#define FREG_L fld.d
40#define FREG_S fst.d
41
42/* Declare leaf routine.
43 The usage of macro LEAF/ENTRY is as follows:
44 1. LEAF(fcn) -- the align value of fcn is .align 3 (default value)
45 2. LEAF(fcn, 6) -- the align value of fcn is .align 6
46*/
47#define LEAF_IMPL(symbol, aln, ...) \
48 .text; \
49 .globl symbol; \
50 .align aln; \
51 .type symbol, @function; \
52symbol: \
53 cfi_startproc;
54
55
56#define LEAF(...) LEAF_IMPL(__VA_ARGS__, 3)
57#define ENTRY(...) LEAF(__VA_ARGS__)
58
59#define LEAF_NO_ALIGN(symbol) \
60 .text; \
61 .globl symbol; \
62 .type symbol, @function; \
63symbol: \
64 cfi_startproc;
65
66#define ENTRY_NO_ALIGN(symbol) LEAF_NO_ALIGN(symbol)
67
68
69/* Mark end of function. */
70#undef END
71#define END(function) \
72 cfi_endproc; \
73 .size function, .- function;
74
75/* Stack alignment. */
76#define ALMASK ~15
77
78#endif /* sys/asm.h */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/sys/ucontext.h created+64
......@@ -0,0 +1,64 @@
1/* struct ucontext definition.
2 Copyright (C) 2022-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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/* Don't rely on this, the interface is currently messed up and may need to
21 be broken to be fixed. */
22#ifndef _SYS_UCONTEXT_H
23#define _SYS_UCONTEXT_H 1
24
25#include <features.h>
26
27#include <bits/types/sigset_t.h>
28#include <bits/types/stack_t.h>
29
30#ifdef __USE_MISC
31#define LARCH_NGREG 32
32
33#define LARCH_REG_RA 1
34#define LARCH_REG_SP 3
35#define LARCH_REG_S0 23
36#define LARCH_REG_S1 24
37#define LARCH_REG_A0 4
38#define LARCH_REG_S2 25
39#define LARCH_REG_NARGS 8
40
41typedef unsigned long int greg_t;
42/* Container for all general registers. */
43typedef greg_t gregset_t[32];
44#endif
45
46typedef struct mcontext_t
47{
48 unsigned long long __pc;
49 unsigned long long __gregs[32];
50 unsigned int __flags;
51 unsigned long long __extcontext[0] __attribute__((__aligned__(16)));
52} mcontext_t;
53
54/* Userlevel context. */
55typedef struct ucontext_t
56{
57 unsigned long int __uc_flags;
58 struct ucontext_t *uc_link;
59 stack_t uc_stack;
60 sigset_t uc_sigmask;
61 mcontext_t uc_mcontext;
62} ucontext_t;
63
64#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/loongarch-linux-gnu/sys/user.h created+42
......@@ -0,0 +1,42 @@
1/* struct user_regs_struct definition for LoongArch.
2 Copyright (C) 2022-2025 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_USER_H
20#define _SYS_USER_H 1
21
22#include <stdint.h>
23
24struct user_regs_struct
25{
26 /* Saved main processor registers. */
27 uint64_t regs[32];
28
29 /* Saved special registers. */
30 uint64_t orig_a0;
31 uint64_t csr_era;
32 uint64_t csr_badv;
33 uint64_t reserved[10];
34};
35
36struct user_fp_struct {
37 uint64_t fpr[32];
38 uint64_t fcc;
39 uint32_t fcsr;
40};
41
42#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/endianness.h deleted-11
......@@ -1,11 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5#error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* LoongArch is little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/fcntl.h deleted-61
......@@ -1,61 +0,0 @@
1/* O_*, F_*, FD_* bit values for the generic Linux/LoongArch ABI.
2 Copyright (C) 2022-2025 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 _FCNTL_H
20#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
26 non-64-bit versions. It will need to be revised for 128-bit. */
27#if __WORDSIZE == 64
28#define __O_LARGEFILE 0
29
30#define F_GETLK64 5 /* Get record locking info. */
31#define F_SETLK64 6 /* Set record locking info (non-blocking). */
32#define F_SETLKW64 7 /* Set record locking info (blocking). */
33#endif
34
35struct flock
36{
37 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
38 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
39#ifndef __USE_FILE_OFFSET64
40 __off_t l_start; /* Offset where the lock begins. */
41 __off_t l_len; /* Size of the locked area; zero means until EOF. */
42#else
43 __off64_t l_start; /* Offset where the lock begins. */
44 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
45#endif
46 __pid_t l_pid; /* Process holding the lock. */
47};
48
49#ifdef __USE_LARGEFILE64
50struct flock64
51{
52 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
53 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
54 __off64_t l_start; /* Offset where the lock begins. */
55 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
56 __pid_t l_pid; /* Process holding the lock. */
57};
58#endif
59
60/* Include generic Linux declarations. */
61#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/fenv.h deleted-90
......@@ -1,90 +0,0 @@
1/* Floating point environment.
2 Copyright (C) 2022-2025 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 _FENV_H
20#error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23/* Define bits representing the exception. We use the bit positions
24 of the appropriate bits in the FPU control word. */
25enum
26{
27 FE_INEXACT =
28#define FE_INEXACT 0x010000
29 FE_INEXACT,
30 FE_UNDERFLOW =
31#define FE_UNDERFLOW 0x020000
32 FE_UNDERFLOW,
33 FE_OVERFLOW =
34#define FE_OVERFLOW 0x040000
35 FE_OVERFLOW,
36 FE_DIVBYZERO =
37#define FE_DIVBYZERO 0x080000
38 FE_DIVBYZERO,
39 FE_INVALID =
40#define FE_INVALID 0x100000
41 FE_INVALID,
42};
43
44#define FE_ALL_EXCEPT \
45 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
46
47/* The LoongArch FPU supports all of the four defined rounding modes. We
48 use again the bit positions in the FPU control word as the values
49 for the appropriate macros. */
50enum
51{
52 FE_TONEAREST =
53#define FE_TONEAREST 0x000
54 FE_TONEAREST,
55 FE_TOWARDZERO =
56#define FE_TOWARDZERO 0x100
57 FE_TOWARDZERO,
58 FE_UPWARD =
59#define FE_UPWARD 0x200
60 FE_UPWARD,
61 FE_DOWNWARD =
62#define FE_DOWNWARD 0x300
63 FE_DOWNWARD
64};
65
66/* Type representing exception flags. */
67typedef unsigned int fexcept_t;
68
69/* Type representing floating-point environment. This function corresponds
70 to the layout of the block written by the `fstenv'. */
71typedef struct
72{
73 unsigned int __fp_control_register;
74} fenv_t;
75
76/* If the default argument is used we use this value. */
77#define FE_DFL_ENV ((const fenv_t *) -1)
78
79#ifdef __USE_GNU
80/* Floating-point environment where none of the exception is masked. */
81#define FE_NOMASK_ENV ((const fenv_t *) -257)
82#endif
83
84#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;
87
88/* Default floating-point control modes. */
89#define FE_DFL_MODE ((const femode_t *) -1L)
90#endif
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/hwcap.h deleted-39
......@@ -1,39 +0,0 @@
1/* Defines for bits in AT_HWCAP. LoongArch64 Linux version.
2 Copyright (C) 2022-2025 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 <http://www.gnu.org/licenses/>. */
18
19#if !defined (_SYS_AUXV_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h>. */
24/* HWCAP flags */
25#define HWCAP_LOONGARCH_CPUCFG (1 << 0)
26#define HWCAP_LOONGARCH_LAM (1 << 1)
27#define HWCAP_LOONGARCH_UAL (1 << 2)
28#define HWCAP_LOONGARCH_FPU (1 << 3)
29#define HWCAP_LOONGARCH_LSX (1 << 4)
30#define HWCAP_LOONGARCH_LASX (1 << 5)
31#define HWCAP_LOONGARCH_CRC32 (1 << 6)
32#define HWCAP_LOONGARCH_COMPLEX (1 << 7)
33#define HWCAP_LOONGARCH_CRYPTO (1 << 8)
34#define HWCAP_LOONGARCH_LVZ (1 << 9)
35#define HWCAP_LOONGARCH_LBT_X86 (1 << 10)
36#define HWCAP_LOONGARCH_LBT_ARM (1 << 11)
37#define HWCAP_LOONGARCH_LBT_MIPS (1 << 12)
38#define HWCAP_LOONGARCH_PTW (1 << 13)
39#define HWCAP_LOONGARCH_LSPW (1 << 14)
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/link.h deleted-76
......@@ -1,76 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface.
2 Copyright (C) 2022-2025 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 _LINK_H
20#error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23#ifndef __loongarch_soft_float
24typedef float La_loongarch_vr
25 __attribute__ ((__vector_size__ (16), __aligned__ (16)));
26typedef float La_loongarch_xr
27 __attribute__ ((__vector_size__ (32), __aligned__ (16)));
28
29typedef union
30{
31 double fpreg[4];
32 La_loongarch_vr vr[2];
33 La_loongarch_xr xr[1];
34} La_loongarch_vector __attribute__ ((__aligned__ (16)));
35#endif
36
37typedef struct La_loongarch_regs
38{
39 unsigned long int lr_reg[8]; /* a0 - a7 */
40#ifndef __loongarch_soft_float
41 La_loongarch_vector lr_vec[8]; /* fa0 - fa7 or vr0 - vr7 or xr0 - xr7*/
42#endif
43 unsigned long int lr_ra;
44 unsigned long int lr_sp;
45} La_loongarch_regs;
46
47/* Return values for calls from PLT on LoongArch. */
48typedef struct La_loongarch_retval
49{
50 unsigned long int lrv_a0;
51 unsigned long int lrv_a1;
52#ifndef __loongarch_soft_float
53 La_loongarch_vector lrv_vec0;
54 La_loongarch_vector lrv_vec1;
55#endif
56} La_loongarch_retval;
57
58__BEGIN_DECLS
59
60extern ElfW (Addr) la_loongarch_gnu_pltenter (ElfW (Sym) *__sym,
61 unsigned int __ndx,
62 uintptr_t *__refcook,
63 uintptr_t *__defcook,
64 La_loongarch_regs *__regs,
65 unsigned int *__flags,
66 const char *__symname,
67 long int *__framesizep);
68extern unsigned int la_loongarch_gnu_pltexit (ElfW (Sym) *__sym,
69 unsigned int __ndx,
70 uintptr_t *__refcook,
71 uintptr_t *__defcook,
72 const La_loongarch_regs *__inregs,
73 La_loongarch_retval *__outregs,
74 const char *__symname);
75
76__END_DECLS
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/link_lavcurrent.h deleted-25
......@@ -1,25 +0,0 @@
1/* Data structure for communication from the run-time dynamic linker for
2 loaded ELF shared objects. LAV_CURRENT definition.
3 Copyright (C) 2023-2025 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
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 _LINK_H
21# error "Never include <bits/link_lavcurrent.h> directly; use <link.h> instead."
22#endif
23
24/* Version numbers for la_version handshake interface. */
25#define LAV_CURRENT 3
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/long-double.h deleted-21
......@@ -1,21 +0,0 @@
1/* Properties of long double type. ldbl-128 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/procfs.h deleted-52
......@@ -1,52 +0,0 @@
1/* Types for registers for sys/procfs.h.
2 Copyright (C) 2022-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
22#endif
23
24/* Type for a general-purpose register. */
25typedef __uint64_t elf_greg_t;
26
27/* And the whole bunch of them. We could have used `struct
28 pt_regs' directly in the typedef, but tradition says that
29 the register set is an array, which does have some peculiar
30 semantics, so leave it that way. */
31#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
32typedef elf_greg_t elf_gregset_t[ELF_NGREG];
33
34#define ELF_NFPREG 34 /* 32 FPRs + 8-byte byte-vec for fcc + 4-byte FCR */
35typedef union
36{
37 double d;
38 float f;
39} elf_fpreg_t;
40typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
41
42typedef union
43{
44 double d[2];
45 float f[4];
46} __attribute__ ((__aligned__ (16))) elf_lsxregset_t[32];
47
48typedef union
49{
50 double d[4];
51 float f[8];
52} __attribute__ ((__aligned__ (32))) elf_lasxregset_t[32];
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. LoongArch Linux version.
2 Copyright (C) 2022-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/rseq.h deleted-36
......@@ -1,36 +0,0 @@
1/* Restartable Sequences Linux LoongArch architecture header.
2 Copyright (C) 2024-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 RSEQ_SIG uses the following break instruction:
32
33 0x002a0010 break 0x10
34*/
35
36#define RSEQ_SIG 0x002a0010
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/setjmp.h deleted-42
......@@ -1,42 +0,0 @@
1/* Define the machine-dependent type `jmp_buf'.
2 Copyright (C) 2022-2025 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 _LOONGARCH_BITS_SETJMP_H
20#define _LOONGARCH_BITS_SETJMP_H
21
22typedef struct __jmp_buf_internal_tag
23{
24 /* Program counter. */
25 long int __pc;
26 /* Stack pointer. */
27 long int __sp;
28 /* Reserved */
29 long int __x;
30 /* Frame pointer. */
31 long int __fp;
32 /* Callee-saved registers. */
33 long int __regs[9];
34
35#ifndef __loongarch_soft_float
36 /* Callee-saved floating point registers. */
37 double __fpregs[8];
38#endif
39
40} __jmp_buf[1];
41
42#endif /* _LOONGARCH_BITS_SETJMP_H */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. LoongArch version.
2 Copyright (C) 2023-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x10000
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/sigstack.h deleted-32
......@@ -1,32 +0,0 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 2022-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26/* Minimum stack size for a signal handler. */
27#define MINSIGSTKSZ 4096
28
29/* System default stack size. */
30#define SIGSTKSZ 16384
31
32#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/struct_stat.h deleted-127
......@@ -1,127 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46 __dev_t st_dev; /* Device. */
47 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
48 __mode_t st_mode; /* File mode. */
49 __nlink_t st_nlink; /* Link count. */
50 __uid_t st_uid; /* User ID of the file's owner. */
51 __gid_t st_gid; /* Group ID of the file's group.*/
52 __dev_t st_rdev; /* Device number, if device. */
53 __dev_t __pad1;
54 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
55 __blksize_t st_blksize; /* Optimal block size for I/O. */
56 int __pad2;
57 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
58#ifdef __USE_XOPEN2K8
59 /* Nanosecond resolution timestamps are stored in a format
60 equivalent to 'struct timespec'. This is the type used
61 whenever possible but the Unix namespace rules do not allow the
62 identifier 'timespec' to appear in the <sys/stat.h> header.
63 Therefore we have to handle the use of this header in strictly
64 standard-compliant sources special. */
65 struct timespec st_atim; /* Time of last access. */
66 struct timespec st_mtim; /* Time of last modification. */
67 struct timespec st_ctim; /* Time of last status change. */
68# define st_atime st_atim.tv_sec /* Backward compatibility. */
69# define st_mtime st_mtim.tv_sec
70# define st_ctime st_ctim.tv_sec
71#else
72 __time_t st_atime; /* Time of last access. */
73 unsigned long int st_atimensec; /* Nscecs of last access. */
74 __time_t st_mtime; /* Time of last modification. */
75 unsigned long int st_mtimensec; /* Nsecs of last modification. */
76 __time_t st_ctime; /* Time of last status change. */
77 unsigned long int st_ctimensec; /* Nsecs of last status change. */
78#endif
79 int __glibc_reserved[2];
80 };
81
82#undef __field64
83
84#ifdef __USE_LARGEFILE64
85struct stat64
86 {
87 __dev_t st_dev; /* Device. */
88 __ino64_t st_ino; /* File serial number. */
89 __mode_t st_mode; /* File mode. */
90 __nlink_t st_nlink; /* Link count. */
91 __uid_t st_uid; /* User ID of the file's owner. */
92 __gid_t st_gid; /* Group ID of the file's group.*/
93 __dev_t st_rdev; /* Device number, if device. */
94 __dev_t __pad1;
95 __off64_t st_size; /* Size of file, in bytes. */
96 __blksize_t st_blksize; /* Optimal block size for I/O. */
97 int __pad2;
98 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
99#ifdef __USE_XOPEN2K8
100 /* Nanosecond resolution timestamps are stored in a format
101 equivalent to 'struct timespec'. This is the type used
102 whenever possible but the Unix namespace rules do not allow the
103 identifier 'timespec' to appear in the <sys/stat.h> header.
104 Therefore we have to handle the use of this header in strictly
105 standard-compliant sources special. */
106 struct timespec st_atim; /* Time of last access. */
107 struct timespec st_mtim; /* Time of last modification. */
108 struct timespec st_ctim; /* Time of last status change. */
109#else
110 __time_t st_atime; /* Time of last access. */
111 unsigned long int st_atimensec; /* Nscecs of last access. */
112 __time_t st_mtime; /* Time of last modification. */
113 unsigned long int st_mtimensec; /* Nsecs of last modification. */
114 __time_t st_ctime; /* Time of last status change. */
115 unsigned long int st_ctimensec; /* Nsecs of last status change. */
116#endif
117 int __glibc_reserved[2];
118 };
119#endif
120
121/* Tell code we have these members. */
122#define _STATBUF_ST_BLKSIZE
123#define _STATBUF_ST_RDEV
124/* Nanosecond resolution time values are supported. */
125#define _STATBUF_ST_NSEC
126
127#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, general case.
2 Copyright (C) 2018-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 64
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/bits/wordsize.h deleted-19
......@@ -1,19 +0,0 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 64
19#define __WORDSIZE_TIME64_COMPAT32 0
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/fpu_control.h deleted-119
......@@ -1,119 +0,0 @@
1/* FPU control word bits.
2 Copyright (C) 2022-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22/* LoongArch FPU floating point control register bits.
23 *
24 * 31-29 -> reserved (read as 0, can not changed by software)
25 * 28 -> cause bit for invalid exception
26 * 27 -> cause bit for division by zero exception
27 * 26 -> cause bit for overflow exception
28 * 25 -> cause bit for underflow exception
29 * 24 -> cause bit for inexact exception
30 * 23-21 -> reserved (read as 0, can not changed by software)
31 * 20 -> flag invalid exception
32 * 19 -> flag division by zero exception
33 * 18 -> flag overflow exception
34 * 17 -> flag underflow exception
35 * 16 -> flag inexact exception
36 * 9-8 -> rounding control
37 * 7-5 -> reserved (read as 0, can not changed by software)
38 * 4 -> enable exception for invalid exception
39 * 3 -> enable exception for division by zero exception
40 * 2 -> enable exception for overflow exception
41 * 1 -> enable exception for underflow exception
42 * 0 -> enable exception for inexact exception
43 *
44 *
45 * Rounding Control:
46 * 00 - rounding ties to even (RNE)
47 * 01 - rounding toward zero (RZ)
48 * 10 - rounding (up) toward plus infinity (RP)
49 * 11 - rounding (down) toward minus infinity (RM)
50 */
51
52#include <features.h>
53
54#ifdef __loongarch_soft_float
55
56#define _FPU_RESERVED 0xffffffff
57#define _FPU_DEFAULT 0x00000000
58typedef unsigned int fpu_control_t;
59#define _FPU_GETCW(cw) (cw) = 0
60#define _FPU_SETCW(cw) (void) (cw)
61extern fpu_control_t __fpu_control;
62
63#else /* __loongarch_soft_float */
64
65/* Masks for interrupts. */
66#define _FPU_MASK_V 0x10 /* Invalid operation */
67#define _FPU_MASK_Z 0x08 /* Division by zero */
68#define _FPU_MASK_O 0x04 /* Overflow */
69#define _FPU_MASK_U 0x02 /* Underflow */
70#define _FPU_MASK_I 0x01 /* Inexact operation */
71
72/* Flush denormalized numbers to zero. */
73#define _FPU_FLUSH_TZ 0x1000000
74
75/* Rounding control. */
76#define _FPU_RC_NEAREST 0x000 /* RECOMMENDED */
77#define _FPU_RC_ZERO 0x100
78#define _FPU_RC_UP 0x200
79#define _FPU_RC_DOWN 0x300
80/* Mask for rounding control. */
81#define _FPU_RC_MASK 0x300
82
83#define _FPU_RESERVED 0x0
84
85#define _FPU_DEFAULT 0x0
86#define _FPU_IEEE 0x1F
87
88/* Type of the control word. */
89typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
90
91/* Macros for accessing the hardware control word. */
92extern fpu_control_t __loongarch_fpu_getcw (void) __THROW;
93extern void __loongarch_fpu_setcw (fpu_control_t) __THROW;
94#define _FPU_GETCW(cw) __asm__ volatile ("movfcsr2gr %0,$fcsr0" : "=r"(cw))
95#define _FPU_SETCW(cw) __asm__ volatile ("movgr2fcsr $fcsr0,%0" : : "r"(cw))
96
97/* Default control word set at startup. */
98extern fpu_control_t __fpu_control;
99
100# define _FCLASS_SNAN (1 << 0)
101# define _FCLASS_QNAN (1 << 1)
102# define _FCLASS_MINF (1 << 2)
103# define _FCLASS_MNORM (1 << 3)
104# define _FCLASS_MSUBNORM (1 << 4)
105# define _FCLASS_MZERO (1 << 5)
106# define _FCLASS_PINF (1 << 6)
107# define _FCLASS_PNORM (1 << 7)
108# define _FCLASS_PSUBNORM (1 << 8)
109# define _FCLASS_PZERO (1 << 9)
110
111# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO)
112# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM)
113# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM)
114# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF)
115# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN)
116
117#endif /* __loongarch_soft_float */
118
119#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/gnu/lib-names.h deleted-16
......@@ -1,16 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 64 && defined __loongarch_soft_float
10# include <gnu/lib-names-lp64s.h>
11#endif
12#if __WORDSIZE == 64 && defined __loongarch_double_float
13# include <gnu/lib-names-lp64d.h>
14#endif
15
16#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/gnu/stubs.h deleted-12
......@@ -1,12 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 64 && defined __loongarch_soft_float
8# include <gnu/stubs-lp64s.h>
9#endif
10#if __WORDSIZE == 64 && defined __loongarch_double_float
11# include <gnu/stubs-lp64d.h>
12#endif
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/ieee754.h deleted-170
......@@ -1,170 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25__BEGIN_DECLS
26
27union ieee754_float
28 {
29 float f;
30
31 /* This is the IEEE 754 single-precision format. */
32 struct
33 {
34#if __BYTE_ORDER == __BIG_ENDIAN
35 unsigned int negative:1;
36 unsigned int exponent:8;
37 unsigned int mantissa:23;
38#endif /* Big endian. */
39#if __BYTE_ORDER == __LITTLE_ENDIAN
40 unsigned int mantissa:23;
41 unsigned int exponent:8;
42 unsigned int negative:1;
43#endif /* Little endian. */
44 } ieee;
45
46 /* This format makes it easier to see if a NaN is a signalling NaN. */
47 struct
48 {
49#if __BYTE_ORDER == __BIG_ENDIAN
50 unsigned int negative:1;
51 unsigned int exponent:8;
52 unsigned int quiet_nan:1;
53 unsigned int mantissa:22;
54#endif /* Big endian. */
55#if __BYTE_ORDER == __LITTLE_ENDIAN
56 unsigned int mantissa:22;
57 unsigned int quiet_nan:1;
58 unsigned int exponent:8;
59 unsigned int negative:1;
60#endif /* Little endian. */
61 } ieee_nan;
62 };
63
64#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
65
66
67union ieee754_double
68 {
69 double d;
70
71 /* This is the IEEE 754 double-precision format. */
72 struct
73 {
74#if __BYTE_ORDER == __BIG_ENDIAN
75 unsigned int negative:1;
76 unsigned int exponent:11;
77 /* Together these comprise the mantissa. */
78 unsigned int mantissa0:20;
79 unsigned int mantissa1:32;
80#endif /* Big endian. */
81#if __BYTE_ORDER == __LITTLE_ENDIAN
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa1:32;
84 unsigned int mantissa0:20;
85 unsigned int exponent:11;
86 unsigned int negative:1;
87#endif /* Little endian. */
88 } ieee;
89
90 /* This format makes it easier to see if a NaN is a signalling NaN. */
91 struct
92 {
93#if __BYTE_ORDER == __BIG_ENDIAN
94 unsigned int negative:1;
95 unsigned int exponent:11;
96 unsigned int quiet_nan:1;
97 /* Together these comprise the mantissa. */
98 unsigned int mantissa0:19;
99 unsigned int mantissa1:32;
100#else
101 /* Together these comprise the mantissa. */
102 unsigned int mantissa1:32;
103 unsigned int mantissa0:19;
104 unsigned int quiet_nan:1;
105 unsigned int exponent:11;
106 unsigned int negative:1;
107#endif
108 } ieee_nan;
109 };
110
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112
113
114union ieee854_long_double
115 {
116 long double d;
117
118 /* This is the IEEE 854 quad-precision format. */
119 struct
120 {
121#if __BYTE_ORDER == __BIG_ENDIAN
122 unsigned int negative:1;
123 unsigned int exponent:15;
124 /* Together these comprise the mantissa. */
125 unsigned int mantissa0:16;
126 unsigned int mantissa1:32;
127 unsigned int mantissa2:32;
128 unsigned int mantissa3:32;
129#endif /* Big endian. */
130#if __BYTE_ORDER == __LITTLE_ENDIAN
131 /* Together these comprise the mantissa. */
132 unsigned int mantissa3:32;
133 unsigned int mantissa2:32;
134 unsigned int mantissa1:32;
135 unsigned int mantissa0:16;
136 unsigned int exponent:15;
137 unsigned int negative:1;
138#endif /* Little endian. */
139 } ieee;
140
141 /* This format makes it easier to see if a NaN is a signalling NaN. */
142 struct
143 {
144#if __BYTE_ORDER == __BIG_ENDIAN
145 unsigned int negative:1;
146 unsigned int exponent:15;
147 unsigned int quiet_nan:1;
148 /* Together these comprise the mantissa. */
149 unsigned int mantissa0:15;
150 unsigned int mantissa1:32;
151 unsigned int mantissa2:32;
152 unsigned int mantissa3:32;
153#else
154 /* Together these comprise the mantissa. */
155 unsigned int mantissa3:32;
156 unsigned int mantissa2:32;
157 unsigned int mantissa1:32;
158 unsigned int mantissa0:15;
159 unsigned int quiet_nan:1;
160 unsigned int exponent:15;
161 unsigned int negative:1;
162#endif
163 } ieee_nan;
164 };
165
166#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
167
168__END_DECLS
169
170#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/sys/asm.h deleted-78
......@@ -1,78 +0,0 @@
1/* Miscellaneous macros.
2 Copyright (C) 2022-2025 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_ASM_H
20#define _SYS_ASM_H
21
22#include <sys/regdef.h>
23#include <sysdeps/generic/sysdep.h>
24
25/* Macros to handle different pointer/register sizes for 32/64-bit code. */
26#define SZREG 8
27#define SZFREG 8
28#define SZVREG 16
29#define SZXREG 32
30#define REG_L ld.d
31#define REG_S st.d
32#define SRLI srli.d
33#define SLLI slli.d
34#define ADDI addi.d
35#define ADD add.d
36#define SUB sub.d
37#define BSTRINS bstrins.d
38#define LI li.d
39#define FREG_L fld.d
40#define FREG_S fst.d
41
42/* Declare leaf routine.
43 The usage of macro LEAF/ENTRY is as follows:
44 1. LEAF(fcn) -- the align value of fcn is .align 3 (default value)
45 2. LEAF(fcn, 6) -- the align value of fcn is .align 6
46*/
47#define LEAF_IMPL(symbol, aln, ...) \
48 .text; \
49 .globl symbol; \
50 .align aln; \
51 .type symbol, @function; \
52symbol: \
53 cfi_startproc;
54
55
56#define LEAF(...) LEAF_IMPL(__VA_ARGS__, 3)
57#define ENTRY(...) LEAF(__VA_ARGS__)
58
59#define LEAF_NO_ALIGN(symbol) \
60 .text; \
61 .globl symbol; \
62 .type symbol, @function; \
63symbol: \
64 cfi_startproc;
65
66#define ENTRY_NO_ALIGN(symbol) LEAF_NO_ALIGN(symbol)
67
68
69/* Mark end of function. */
70#undef END
71#define END(function) \
72 cfi_endproc; \
73 .size function, .- function;
74
75/* Stack alignment. */
76#define ALMASK ~15
77
78#endif /* sys/asm.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/sys/ucontext.h deleted-64
......@@ -1,64 +0,0 @@
1/* struct ucontext definition.
2 Copyright (C) 2022-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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/* Don't rely on this, the interface is currently messed up and may need to
21 be broken to be fixed. */
22#ifndef _SYS_UCONTEXT_H
23#define _SYS_UCONTEXT_H 1
24
25#include <features.h>
26
27#include <bits/types/sigset_t.h>
28#include <bits/types/stack_t.h>
29
30#ifdef __USE_MISC
31#define LARCH_NGREG 32
32
33#define LARCH_REG_RA 1
34#define LARCH_REG_SP 3
35#define LARCH_REG_S0 23
36#define LARCH_REG_S1 24
37#define LARCH_REG_A0 4
38#define LARCH_REG_S2 25
39#define LARCH_REG_NARGS 8
40
41typedef unsigned long int greg_t;
42/* Container for all general registers. */
43typedef greg_t gregset_t[32];
44#endif
45
46typedef struct mcontext_t
47{
48 unsigned long long __pc;
49 unsigned long long __gregs[32];
50 unsigned int __flags;
51 unsigned long long __extcontext[0] __attribute__((__aligned__(16)));
52} mcontext_t;
53
54/* Userlevel context. */
55typedef struct ucontext_t
56{
57 unsigned long int __uc_flags;
58 struct ucontext_t *uc_link;
59 stack_t uc_stack;
60 sigset_t uc_sigmask;
61 mcontext_t uc_mcontext;
62} ucontext_t;
63
64#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnu/sys/user.h deleted-42
......@@ -1,42 +0,0 @@
1/* struct user_regs_struct definition for LoongArch.
2 Copyright (C) 2022-2025 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_USER_H
20#define _SYS_USER_H 1
21
22#include <stdint.h>
23
24struct user_regs_struct
25{
26 /* Saved main processor registers. */
27 uint64_t regs[32];
28
29 /* Saved special registers. */
30 uint64_t orig_a0;
31 uint64_t csr_era;
32 uint64_t csr_badv;
33 uint64_t reserved[10];
34};
35
36struct user_fp_struct {
37 uint64_t fpr[32];
38 uint64_t fcc;
39 uint32_t fcsr;
40};
41
42#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/endianness.h deleted-11
......@@ -1,11 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5#error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* LoongArch is little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/fcntl.h deleted-61
......@@ -1,61 +0,0 @@
1/* O_*, F_*, FD_* bit values for the generic Linux/LoongArch ABI.
2 Copyright (C) 2022-2025 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 _FCNTL_H
20#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
26 non-64-bit versions. It will need to be revised for 128-bit. */
27#if __WORDSIZE == 64
28#define __O_LARGEFILE 0
29
30#define F_GETLK64 5 /* Get record locking info. */
31#define F_SETLK64 6 /* Set record locking info (non-blocking). */
32#define F_SETLKW64 7 /* Set record locking info (blocking). */
33#endif
34
35struct flock
36{
37 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
38 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
39#ifndef __USE_FILE_OFFSET64
40 __off_t l_start; /* Offset where the lock begins. */
41 __off_t l_len; /* Size of the locked area; zero means until EOF. */
42#else
43 __off64_t l_start; /* Offset where the lock begins. */
44 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
45#endif
46 __pid_t l_pid; /* Process holding the lock. */
47};
48
49#ifdef __USE_LARGEFILE64
50struct flock64
51{
52 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
53 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
54 __off64_t l_start; /* Offset where the lock begins. */
55 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
56 __pid_t l_pid; /* Process holding the lock. */
57};
58#endif
59
60/* Include generic Linux declarations. */
61#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/fenv.h deleted-90
......@@ -1,90 +0,0 @@
1/* Floating point environment.
2 Copyright (C) 2022-2025 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 _FENV_H
20#error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23/* Define bits representing the exception. We use the bit positions
24 of the appropriate bits in the FPU control word. */
25enum
26{
27 FE_INEXACT =
28#define FE_INEXACT 0x010000
29 FE_INEXACT,
30 FE_UNDERFLOW =
31#define FE_UNDERFLOW 0x020000
32 FE_UNDERFLOW,
33 FE_OVERFLOW =
34#define FE_OVERFLOW 0x040000
35 FE_OVERFLOW,
36 FE_DIVBYZERO =
37#define FE_DIVBYZERO 0x080000
38 FE_DIVBYZERO,
39 FE_INVALID =
40#define FE_INVALID 0x100000
41 FE_INVALID,
42};
43
44#define FE_ALL_EXCEPT \
45 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
46
47/* The LoongArch FPU supports all of the four defined rounding modes. We
48 use again the bit positions in the FPU control word as the values
49 for the appropriate macros. */
50enum
51{
52 FE_TONEAREST =
53#define FE_TONEAREST 0x000
54 FE_TONEAREST,
55 FE_TOWARDZERO =
56#define FE_TOWARDZERO 0x100
57 FE_TOWARDZERO,
58 FE_UPWARD =
59#define FE_UPWARD 0x200
60 FE_UPWARD,
61 FE_DOWNWARD =
62#define FE_DOWNWARD 0x300
63 FE_DOWNWARD
64};
65
66/* Type representing exception flags. */
67typedef unsigned int fexcept_t;
68
69/* Type representing floating-point environment. This function corresponds
70 to the layout of the block written by the `fstenv'. */
71typedef struct
72{
73 unsigned int __fp_control_register;
74} fenv_t;
75
76/* If the default argument is used we use this value. */
77#define FE_DFL_ENV ((const fenv_t *) -1)
78
79#ifdef __USE_GNU
80/* Floating-point environment where none of the exception is masked. */
81#define FE_NOMASK_ENV ((const fenv_t *) -257)
82#endif
83
84#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;
87
88/* Default floating-point control modes. */
89#define FE_DFL_MODE ((const femode_t *) -1L)
90#endif
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/hwcap.h deleted-39
......@@ -1,39 +0,0 @@
1/* Defines for bits in AT_HWCAP. LoongArch64 Linux version.
2 Copyright (C) 2022-2025 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 <http://www.gnu.org/licenses/>. */
18
19#if !defined (_SYS_AUXV_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The following must match the kernel's <asm/hwcap.h>. */
24/* HWCAP flags */
25#define HWCAP_LOONGARCH_CPUCFG (1 << 0)
26#define HWCAP_LOONGARCH_LAM (1 << 1)
27#define HWCAP_LOONGARCH_UAL (1 << 2)
28#define HWCAP_LOONGARCH_FPU (1 << 3)
29#define HWCAP_LOONGARCH_LSX (1 << 4)
30#define HWCAP_LOONGARCH_LASX (1 << 5)
31#define HWCAP_LOONGARCH_CRC32 (1 << 6)
32#define HWCAP_LOONGARCH_COMPLEX (1 << 7)
33#define HWCAP_LOONGARCH_CRYPTO (1 << 8)
34#define HWCAP_LOONGARCH_LVZ (1 << 9)
35#define HWCAP_LOONGARCH_LBT_X86 (1 << 10)
36#define HWCAP_LOONGARCH_LBT_ARM (1 << 11)
37#define HWCAP_LOONGARCH_LBT_MIPS (1 << 12)
38#define HWCAP_LOONGARCH_PTW (1 << 13)
39#define HWCAP_LOONGARCH_LSPW (1 << 14)
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/link.h deleted-76
......@@ -1,76 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface.
2 Copyright (C) 2022-2025 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 _LINK_H
20#error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23#ifndef __loongarch_soft_float
24typedef float La_loongarch_vr
25 __attribute__ ((__vector_size__ (16), __aligned__ (16)));
26typedef float La_loongarch_xr
27 __attribute__ ((__vector_size__ (32), __aligned__ (16)));
28
29typedef union
30{
31 double fpreg[4];
32 La_loongarch_vr vr[2];
33 La_loongarch_xr xr[1];
34} La_loongarch_vector __attribute__ ((__aligned__ (16)));
35#endif
36
37typedef struct La_loongarch_regs
38{
39 unsigned long int lr_reg[8]; /* a0 - a7 */
40#ifndef __loongarch_soft_float
41 La_loongarch_vector lr_vec[8]; /* fa0 - fa7 or vr0 - vr7 or xr0 - xr7*/
42#endif
43 unsigned long int lr_ra;
44 unsigned long int lr_sp;
45} La_loongarch_regs;
46
47/* Return values for calls from PLT on LoongArch. */
48typedef struct La_loongarch_retval
49{
50 unsigned long int lrv_a0;
51 unsigned long int lrv_a1;
52#ifndef __loongarch_soft_float
53 La_loongarch_vector lrv_vec0;
54 La_loongarch_vector lrv_vec1;
55#endif
56} La_loongarch_retval;
57
58__BEGIN_DECLS
59
60extern ElfW (Addr) la_loongarch_gnu_pltenter (ElfW (Sym) *__sym,
61 unsigned int __ndx,
62 uintptr_t *__refcook,
63 uintptr_t *__defcook,
64 La_loongarch_regs *__regs,
65 unsigned int *__flags,
66 const char *__symname,
67 long int *__framesizep);
68extern unsigned int la_loongarch_gnu_pltexit (ElfW (Sym) *__sym,
69 unsigned int __ndx,
70 uintptr_t *__refcook,
71 uintptr_t *__defcook,
72 const La_loongarch_regs *__inregs,
73 La_loongarch_retval *__outregs,
74 const char *__symname);
75
76__END_DECLS
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/link_lavcurrent.h deleted-25
......@@ -1,25 +0,0 @@
1/* Data structure for communication from the run-time dynamic linker for
2 loaded ELF shared objects. LAV_CURRENT definition.
3 Copyright (C) 2023-2025 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.
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 _LINK_H
21# error "Never include <bits/link_lavcurrent.h> directly; use <link.h> instead."
22#endif
23
24/* Version numbers for la_version handshake interface. */
25#define LAV_CURRENT 3
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/long-double.h deleted-21
......@@ -1,21 +0,0 @@
1/* Properties of long double type. ldbl-128 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/procfs.h deleted-52
......@@ -1,52 +0,0 @@
1/* Types for registers for sys/procfs.h.
2 Copyright (C) 2022-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
22#endif
23
24/* Type for a general-purpose register. */
25typedef __uint64_t elf_greg_t;
26
27/* And the whole bunch of them. We could have used `struct
28 pt_regs' directly in the typedef, but tradition says that
29 the register set is an array, which does have some peculiar
30 semantics, so leave it that way. */
31#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
32typedef elf_greg_t elf_gregset_t[ELF_NGREG];
33
34#define ELF_NFPREG 34 /* 32 FPRs + 8-byte byte-vec for fcc + 4-byte FCR */
35typedef union
36{
37 double d;
38 float f;
39} elf_fpreg_t;
40typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
41
42typedef union
43{
44 double d[2];
45 float f[4];
46} __attribute__ ((__aligned__ (16))) elf_lsxregset_t[32];
47
48typedef union
49{
50 double d[4];
51 float f[8];
52} __attribute__ ((__aligned__ (32))) elf_lasxregset_t[32];
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. LoongArch Linux version.
2 Copyright (C) 2022-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/rseq.h deleted-36
......@@ -1,36 +0,0 @@
1/* Restartable Sequences Linux LoongArch architecture header.
2 Copyright (C) 2024-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 RSEQ_SIG uses the following break instruction:
32
33 0x002a0010 break 0x10
34*/
35
36#define RSEQ_SIG 0x002a0010
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/setjmp.h deleted-42
......@@ -1,42 +0,0 @@
1/* Define the machine-dependent type `jmp_buf'.
2 Copyright (C) 2022-2025 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 _LOONGARCH_BITS_SETJMP_H
20#define _LOONGARCH_BITS_SETJMP_H
21
22typedef struct __jmp_buf_internal_tag
23{
24 /* Program counter. */
25 long int __pc;
26 /* Stack pointer. */
27 long int __sp;
28 /* Reserved */
29 long int __x;
30 /* Frame pointer. */
31 long int __fp;
32 /* Callee-saved registers. */
33 long int __regs[9];
34
35#ifndef __loongarch_soft_float
36 /* Callee-saved floating point registers. */
37 double __fpregs[8];
38#endif
39
40} __jmp_buf[1];
41
42#endif /* _LOONGARCH_BITS_SETJMP_H */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. LoongArch version.
2 Copyright (C) 2023-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x10000
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/sigstack.h deleted-32
......@@ -1,32 +0,0 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 2022-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26/* Minimum stack size for a signal handler. */
27#define MINSIGSTKSZ 4096
28
29/* System default stack size. */
30#define SIGSTKSZ 16384
31
32#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/struct_stat.h deleted-127
......@@ -1,127 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46 __dev_t st_dev; /* Device. */
47 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
48 __mode_t st_mode; /* File mode. */
49 __nlink_t st_nlink; /* Link count. */
50 __uid_t st_uid; /* User ID of the file's owner. */
51 __gid_t st_gid; /* Group ID of the file's group.*/
52 __dev_t st_rdev; /* Device number, if device. */
53 __dev_t __pad1;
54 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
55 __blksize_t st_blksize; /* Optimal block size for I/O. */
56 int __pad2;
57 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
58#ifdef __USE_XOPEN2K8
59 /* Nanosecond resolution timestamps are stored in a format
60 equivalent to 'struct timespec'. This is the type used
61 whenever possible but the Unix namespace rules do not allow the
62 identifier 'timespec' to appear in the <sys/stat.h> header.
63 Therefore we have to handle the use of this header in strictly
64 standard-compliant sources special. */
65 struct timespec st_atim; /* Time of last access. */
66 struct timespec st_mtim; /* Time of last modification. */
67 struct timespec st_ctim; /* Time of last status change. */
68# define st_atime st_atim.tv_sec /* Backward compatibility. */
69# define st_mtime st_mtim.tv_sec
70# define st_ctime st_ctim.tv_sec
71#else
72 __time_t st_atime; /* Time of last access. */
73 unsigned long int st_atimensec; /* Nscecs of last access. */
74 __time_t st_mtime; /* Time of last modification. */
75 unsigned long int st_mtimensec; /* Nsecs of last modification. */
76 __time_t st_ctime; /* Time of last status change. */
77 unsigned long int st_ctimensec; /* Nsecs of last status change. */
78#endif
79 int __glibc_reserved[2];
80 };
81
82#undef __field64
83
84#ifdef __USE_LARGEFILE64
85struct stat64
86 {
87 __dev_t st_dev; /* Device. */
88 __ino64_t st_ino; /* File serial number. */
89 __mode_t st_mode; /* File mode. */
90 __nlink_t st_nlink; /* Link count. */
91 __uid_t st_uid; /* User ID of the file's owner. */
92 __gid_t st_gid; /* Group ID of the file's group.*/
93 __dev_t st_rdev; /* Device number, if device. */
94 __dev_t __pad1;
95 __off64_t st_size; /* Size of file, in bytes. */
96 __blksize_t st_blksize; /* Optimal block size for I/O. */
97 int __pad2;
98 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
99#ifdef __USE_XOPEN2K8
100 /* Nanosecond resolution timestamps are stored in a format
101 equivalent to 'struct timespec'. This is the type used
102 whenever possible but the Unix namespace rules do not allow the
103 identifier 'timespec' to appear in the <sys/stat.h> header.
104 Therefore we have to handle the use of this header in strictly
105 standard-compliant sources special. */
106 struct timespec st_atim; /* Time of last access. */
107 struct timespec st_mtim; /* Time of last modification. */
108 struct timespec st_ctim; /* Time of last status change. */
109#else
110 __time_t st_atime; /* Time of last access. */
111 unsigned long int st_atimensec; /* Nscecs of last access. */
112 __time_t st_mtime; /* Time of last modification. */
113 unsigned long int st_mtimensec; /* Nsecs of last modification. */
114 __time_t st_ctime; /* Time of last status change. */
115 unsigned long int st_ctimensec; /* Nsecs of last status change. */
116#endif
117 int __glibc_reserved[2];
118 };
119#endif
120
121/* Tell code we have these members. */
122#define _STATBUF_ST_BLKSIZE
123#define _STATBUF_ST_RDEV
124/* Nanosecond resolution time values are supported. */
125#define _STATBUF_ST_NSEC
126
127#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, general case.
2 Copyright (C) 2018-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 64
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/bits/wordsize.h deleted-19
......@@ -1,19 +0,0 @@
1/* Copyright (C) 1999-2025 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#define __WORDSIZE 64
19#define __WORDSIZE_TIME64_COMPAT32 0
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/fpu_control.h deleted-119
......@@ -1,119 +0,0 @@
1/* FPU control word bits.
2 Copyright (C) 2022-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22/* LoongArch FPU floating point control register bits.
23 *
24 * 31-29 -> reserved (read as 0, can not changed by software)
25 * 28 -> cause bit for invalid exception
26 * 27 -> cause bit for division by zero exception
27 * 26 -> cause bit for overflow exception
28 * 25 -> cause bit for underflow exception
29 * 24 -> cause bit for inexact exception
30 * 23-21 -> reserved (read as 0, can not changed by software)
31 * 20 -> flag invalid exception
32 * 19 -> flag division by zero exception
33 * 18 -> flag overflow exception
34 * 17 -> flag underflow exception
35 * 16 -> flag inexact exception
36 * 9-8 -> rounding control
37 * 7-5 -> reserved (read as 0, can not changed by software)
38 * 4 -> enable exception for invalid exception
39 * 3 -> enable exception for division by zero exception
40 * 2 -> enable exception for overflow exception
41 * 1 -> enable exception for underflow exception
42 * 0 -> enable exception for inexact exception
43 *
44 *
45 * Rounding Control:
46 * 00 - rounding ties to even (RNE)
47 * 01 - rounding toward zero (RZ)
48 * 10 - rounding (up) toward plus infinity (RP)
49 * 11 - rounding (down) toward minus infinity (RM)
50 */
51
52#include <features.h>
53
54#ifdef __loongarch_soft_float
55
56#define _FPU_RESERVED 0xffffffff
57#define _FPU_DEFAULT 0x00000000
58typedef unsigned int fpu_control_t;
59#define _FPU_GETCW(cw) (cw) = 0
60#define _FPU_SETCW(cw) (void) (cw)
61extern fpu_control_t __fpu_control;
62
63#else /* __loongarch_soft_float */
64
65/* Masks for interrupts. */
66#define _FPU_MASK_V 0x10 /* Invalid operation */
67#define _FPU_MASK_Z 0x08 /* Division by zero */
68#define _FPU_MASK_O 0x04 /* Overflow */
69#define _FPU_MASK_U 0x02 /* Underflow */
70#define _FPU_MASK_I 0x01 /* Inexact operation */
71
72/* Flush denormalized numbers to zero. */
73#define _FPU_FLUSH_TZ 0x1000000
74
75/* Rounding control. */
76#define _FPU_RC_NEAREST 0x000 /* RECOMMENDED */
77#define _FPU_RC_ZERO 0x100
78#define _FPU_RC_UP 0x200
79#define _FPU_RC_DOWN 0x300
80/* Mask for rounding control. */
81#define _FPU_RC_MASK 0x300
82
83#define _FPU_RESERVED 0x0
84
85#define _FPU_DEFAULT 0x0
86#define _FPU_IEEE 0x1F
87
88/* Type of the control word. */
89typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
90
91/* Macros for accessing the hardware control word. */
92extern fpu_control_t __loongarch_fpu_getcw (void) __THROW;
93extern void __loongarch_fpu_setcw (fpu_control_t) __THROW;
94#define _FPU_GETCW(cw) __asm__ volatile ("movfcsr2gr %0,$fcsr0" : "=r"(cw))
95#define _FPU_SETCW(cw) __asm__ volatile ("movgr2fcsr $fcsr0,%0" : : "r"(cw))
96
97/* Default control word set at startup. */
98extern fpu_control_t __fpu_control;
99
100# define _FCLASS_SNAN (1 << 0)
101# define _FCLASS_QNAN (1 << 1)
102# define _FCLASS_MINF (1 << 2)
103# define _FCLASS_MNORM (1 << 3)
104# define _FCLASS_MSUBNORM (1 << 4)
105# define _FCLASS_MZERO (1 << 5)
106# define _FCLASS_PINF (1 << 6)
107# define _FCLASS_PNORM (1 << 7)
108# define _FCLASS_PSUBNORM (1 << 8)
109# define _FCLASS_PZERO (1 << 9)
110
111# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO)
112# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM)
113# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM)
114# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF)
115# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN)
116
117#endif /* __loongarch_soft_float */
118
119#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/gnu/lib-names.h deleted-16
......@@ -1,16 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 64 && defined __loongarch_soft_float
10# include <gnu/lib-names-lp64s.h>
11#endif
12#if __WORDSIZE == 64 && defined __loongarch_double_float
13# include <gnu/lib-names-lp64d.h>
14#endif
15
16#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/gnu/stubs-lp64s.h deleted-38
......@@ -1,38 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_feclearexcept
18#define __stub_fedisableexcept
19#define __stub_feenableexcept
20#define __stub_fegetenv
21#define __stub_fegetexcept
22#define __stub_fegetexceptflag
23#define __stub_fegetmode
24#define __stub_fegetround
25#define __stub_feholdexcept
26#define __stub_feraiseexcept
27#define __stub_fesetenv
28#define __stub_fesetexcept
29#define __stub_fesetexceptflag
30#define __stub_fesetmode
31#define __stub_fesetround
32#define __stub_fetestexcept
33#define __stub_feupdateenv
34#define __stub_gtty
35#define __stub_revoke
36#define __stub_setlogin
37#define __stub_sigreturn
38#define __stub_stty
lib/libc/include/loongarch64-linux-gnusf/gnu/stubs.h deleted-12
......@@ -1,12 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 64 && defined __loongarch_soft_float
8# include <gnu/stubs-lp64s.h>
9#endif
10#if __WORDSIZE == 64 && defined __loongarch_double_float
11# include <gnu/stubs-lp64d.h>
12#endif
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/ieee754.h deleted-170
......@@ -1,170 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25__BEGIN_DECLS
26
27union ieee754_float
28 {
29 float f;
30
31 /* This is the IEEE 754 single-precision format. */
32 struct
33 {
34#if __BYTE_ORDER == __BIG_ENDIAN
35 unsigned int negative:1;
36 unsigned int exponent:8;
37 unsigned int mantissa:23;
38#endif /* Big endian. */
39#if __BYTE_ORDER == __LITTLE_ENDIAN
40 unsigned int mantissa:23;
41 unsigned int exponent:8;
42 unsigned int negative:1;
43#endif /* Little endian. */
44 } ieee;
45
46 /* This format makes it easier to see if a NaN is a signalling NaN. */
47 struct
48 {
49#if __BYTE_ORDER == __BIG_ENDIAN
50 unsigned int negative:1;
51 unsigned int exponent:8;
52 unsigned int quiet_nan:1;
53 unsigned int mantissa:22;
54#endif /* Big endian. */
55#if __BYTE_ORDER == __LITTLE_ENDIAN
56 unsigned int mantissa:22;
57 unsigned int quiet_nan:1;
58 unsigned int exponent:8;
59 unsigned int negative:1;
60#endif /* Little endian. */
61 } ieee_nan;
62 };
63
64#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
65
66
67union ieee754_double
68 {
69 double d;
70
71 /* This is the IEEE 754 double-precision format. */
72 struct
73 {
74#if __BYTE_ORDER == __BIG_ENDIAN
75 unsigned int negative:1;
76 unsigned int exponent:11;
77 /* Together these comprise the mantissa. */
78 unsigned int mantissa0:20;
79 unsigned int mantissa1:32;
80#endif /* Big endian. */
81#if __BYTE_ORDER == __LITTLE_ENDIAN
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa1:32;
84 unsigned int mantissa0:20;
85 unsigned int exponent:11;
86 unsigned int negative:1;
87#endif /* Little endian. */
88 } ieee;
89
90 /* This format makes it easier to see if a NaN is a signalling NaN. */
91 struct
92 {
93#if __BYTE_ORDER == __BIG_ENDIAN
94 unsigned int negative:1;
95 unsigned int exponent:11;
96 unsigned int quiet_nan:1;
97 /* Together these comprise the mantissa. */
98 unsigned int mantissa0:19;
99 unsigned int mantissa1:32;
100#else
101 /* Together these comprise the mantissa. */
102 unsigned int mantissa1:32;
103 unsigned int mantissa0:19;
104 unsigned int quiet_nan:1;
105 unsigned int exponent:11;
106 unsigned int negative:1;
107#endif
108 } ieee_nan;
109 };
110
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112
113
114union ieee854_long_double
115 {
116 long double d;
117
118 /* This is the IEEE 854 quad-precision format. */
119 struct
120 {
121#if __BYTE_ORDER == __BIG_ENDIAN
122 unsigned int negative:1;
123 unsigned int exponent:15;
124 /* Together these comprise the mantissa. */
125 unsigned int mantissa0:16;
126 unsigned int mantissa1:32;
127 unsigned int mantissa2:32;
128 unsigned int mantissa3:32;
129#endif /* Big endian. */
130#if __BYTE_ORDER == __LITTLE_ENDIAN
131 /* Together these comprise the mantissa. */
132 unsigned int mantissa3:32;
133 unsigned int mantissa2:32;
134 unsigned int mantissa1:32;
135 unsigned int mantissa0:16;
136 unsigned int exponent:15;
137 unsigned int negative:1;
138#endif /* Little endian. */
139 } ieee;
140
141 /* This format makes it easier to see if a NaN is a signalling NaN. */
142 struct
143 {
144#if __BYTE_ORDER == __BIG_ENDIAN
145 unsigned int negative:1;
146 unsigned int exponent:15;
147 unsigned int quiet_nan:1;
148 /* Together these comprise the mantissa. */
149 unsigned int mantissa0:15;
150 unsigned int mantissa1:32;
151 unsigned int mantissa2:32;
152 unsigned int mantissa3:32;
153#else
154 /* Together these comprise the mantissa. */
155 unsigned int mantissa3:32;
156 unsigned int mantissa2:32;
157 unsigned int mantissa1:32;
158 unsigned int mantissa0:15;
159 unsigned int quiet_nan:1;
160 unsigned int exponent:15;
161 unsigned int negative:1;
162#endif
163 } ieee_nan;
164 };
165
166#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
167
168__END_DECLS
169
170#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/sys/asm.h deleted-78
......@@ -1,78 +0,0 @@
1/* Miscellaneous macros.
2 Copyright (C) 2022-2025 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_ASM_H
20#define _SYS_ASM_H
21
22#include <sys/regdef.h>
23#include <sysdeps/generic/sysdep.h>
24
25/* Macros to handle different pointer/register sizes for 32/64-bit code. */
26#define SZREG 8
27#define SZFREG 8
28#define SZVREG 16
29#define SZXREG 32
30#define REG_L ld.d
31#define REG_S st.d
32#define SRLI srli.d
33#define SLLI slli.d
34#define ADDI addi.d
35#define ADD add.d
36#define SUB sub.d
37#define BSTRINS bstrins.d
38#define LI li.d
39#define FREG_L fld.d
40#define FREG_S fst.d
41
42/* Declare leaf routine.
43 The usage of macro LEAF/ENTRY is as follows:
44 1. LEAF(fcn) -- the align value of fcn is .align 3 (default value)
45 2. LEAF(fcn, 6) -- the align value of fcn is .align 6
46*/
47#define LEAF_IMPL(symbol, aln, ...) \
48 .text; \
49 .globl symbol; \
50 .align aln; \
51 .type symbol, @function; \
52symbol: \
53 cfi_startproc;
54
55
56#define LEAF(...) LEAF_IMPL(__VA_ARGS__, 3)
57#define ENTRY(...) LEAF(__VA_ARGS__)
58
59#define LEAF_NO_ALIGN(symbol) \
60 .text; \
61 .globl symbol; \
62 .type symbol, @function; \
63symbol: \
64 cfi_startproc;
65
66#define ENTRY_NO_ALIGN(symbol) LEAF_NO_ALIGN(symbol)
67
68
69/* Mark end of function. */
70#undef END
71#define END(function) \
72 cfi_endproc; \
73 .size function, .- function;
74
75/* Stack alignment. */
76#define ALMASK ~15
77
78#endif /* sys/asm.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/sys/ucontext.h deleted-64
......@@ -1,64 +0,0 @@
1/* struct ucontext definition.
2 Copyright (C) 2022-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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/* Don't rely on this, the interface is currently messed up and may need to
21 be broken to be fixed. */
22#ifndef _SYS_UCONTEXT_H
23#define _SYS_UCONTEXT_H 1
24
25#include <features.h>
26
27#include <bits/types/sigset_t.h>
28#include <bits/types/stack_t.h>
29
30#ifdef __USE_MISC
31#define LARCH_NGREG 32
32
33#define LARCH_REG_RA 1
34#define LARCH_REG_SP 3
35#define LARCH_REG_S0 23
36#define LARCH_REG_S1 24
37#define LARCH_REG_A0 4
38#define LARCH_REG_S2 25
39#define LARCH_REG_NARGS 8
40
41typedef unsigned long int greg_t;
42/* Container for all general registers. */
43typedef greg_t gregset_t[32];
44#endif
45
46typedef struct mcontext_t
47{
48 unsigned long long __pc;
49 unsigned long long __gregs[32];
50 unsigned int __flags;
51 unsigned long long __extcontext[0] __attribute__((__aligned__(16)));
52} mcontext_t;
53
54/* Userlevel context. */
55typedef struct ucontext_t
56{
57 unsigned long int __uc_flags;
58 struct ucontext_t *uc_link;
59 stack_t uc_stack;
60 sigset_t uc_sigmask;
61 mcontext_t uc_mcontext;
62} ucontext_t;
63
64#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/loongarch64-linux-gnusf/sys/user.h deleted-42
......@@ -1,42 +0,0 @@
1/* struct user_regs_struct definition for LoongArch.
2 Copyright (C) 2022-2025 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_USER_H
20#define _SYS_USER_H 1
21
22#include <stdint.h>
23
24struct user_regs_struct
25{
26 /* Saved main processor registers. */
27 uint64_t regs[32];
28
29 /* Saved special registers. */
30 uint64_t orig_a0;
31 uint64_t csr_era;
32 uint64_t csr_badv;
33 uint64_t reserved[10];
34};
35
36struct user_fp_struct {
37 uint64_t fpr[32];
38 uint64_t fcc;
39 uint32_t fcsr;
40};
41
42#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/dlfcn.h created+64
......@@ -0,0 +1,64 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/errno.h created+52
......@@ -0,0 +1,52 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/eventfd.h created+31
......@@ -0,0 +1,31 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
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-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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/inotify.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/ioctl-types.h created+75
......@@ -0,0 +1,75 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/ipctypes.h created+31
......@@ -0,0 +1,31 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/mman.h created+44
......@@ -0,0 +1,44 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/poll.h created+49
......@@ -0,0 +1,49 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/pthread_stack_min.h created+20
......@@ -0,0 +1,20 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/pthreadtypes-arch.h created+44
......@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/resource.h created+231
......@@ -0,0 +1,231 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ 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-2025 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/shmlba.h created+24
......@@ -0,0 +1,24 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/sigaction.h created+94
......@@ -0,0 +1,94 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/sigcontext.h created+82
......@@ -0,0 +1,82 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/siginfo-arch.h created+13
......@@ -0,0 +1,13 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/signalfd.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ 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-2025 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/socket-constants.h created+70
......@@ -0,0 +1,70 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/socket_type.h created+55
......@@ -0,0 +1,55 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/statfs.h created+73
......@@ -0,0 +1,73 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/struct_mutex.h created+56
......@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/struct_rwlock.h created+71
......@@ -0,0 +1,71 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/termios-c_cc.h created+43
......@@ -0,0 +1,43 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/termios-c_lflag.h created+46
......@@ -0,0 +1,46 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/termios-struct.h created+34
......@@ -0,0 +1,34 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/termios-tcflow.h created+26
......@@ -0,0 +1,26 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/timerfd.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/types/stack_t.h created+33
......@@ -0,0 +1,33 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/types/struct_msqid_ds.h created+62
......@@ -0,0 +1,62 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/types/struct_semid_ds.h created+36
......@@ -0,0 +1,36 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/types/struct_shmid_ds.h created+53
......@@ -0,0 +1,53 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/typesizes.h created+95
......@@ -0,0 +1,95 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/ieee754.h created+326
......@@ -0,0 +1,326 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/floatn.h deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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-gnueabi/bits/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h deleted-31
......@@ -1,31 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/mman.h deleted-44
......@@ -1,44 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2025 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-gnueabi/bits/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/siginfo-arch.h deleted-13
......@@ -1,13 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2025 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-gnueabi/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/floatn.h deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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-gnueabihf/bits/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h deleted-31
......@@ -1,31 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/mman.h deleted-44
......@@ -1,44 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2025 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-gnueabihf/bits/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/siginfo-arch.h deleted-13
......@@ -1,13 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2025 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-gnueabihf/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/float.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: float.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/float.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/ansi.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: ansi.h,v 1.1 2002/03/07 14:43:59 simonb Exp $ */
2
3#include <mips/ansi.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/asm.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: asm.h,v 1.1 2002/03/07 14:43:59 simonb Exp $ */
2
3#include <mips/asm.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/bswap.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: bswap.h,v 1.1 2002/03/07 14:43:59 simonb Exp $ */
2
3#include <mips/bswap.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/cdefs.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: cdefs.h,v 1.1 2002/03/07 14:43:59 simonb Exp $ */
2
3#include <mips/cdefs.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/cpu.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: cpu.h,v 1.1 2002/03/07 14:43:59 simonb Exp $ */
2
3#include <mips/cpu.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/disklabel.h deleted-214
......@@ -1,214 +0,0 @@
1/* $NetBSD: disklabel.h,v 1.6 2017/07/24 10:04:09 mrg Exp $ */
2
3/*
4 * Copyright (c) 1994 Christopher G. Demetriou
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by Christopher G. Demetriou.
18 * 4. The name of the author may not be used to endorse or promote products
19 * derived from this software without specific prior written permission
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33/*
34 * Copyright 2000, 2001
35 * Broadcom Corporation. All rights reserved.
36 *
37 * This software is furnished under license and may be used and copied only
38 * in accordance with the following terms and conditions. Subject to these
39 * conditions, you may download, copy, install, use, modify and distribute
40 * modified or unmodified copies of this software in source and/or binary
41 * form. No title or ownership is transferred hereby.
42 *
43 * 1) Any source code used, modified or distributed must reproduce and
44 * retain this copyright notice and list of conditions as they appear in
45 * the source file.
46 *
47 * 2) No right is granted to use any trade name, trademark, or logo of
48 * Broadcom Corporation. The "Broadcom Corporation" name may not be
49 * used to endorse or promote products derived from this software
50 * without the prior written permission of Broadcom Corporation.
51 *
52 * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED
53 * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
54 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
55 * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE
56 * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE
57 * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
58 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
59 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
60 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
61 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
62 * OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
63 */
64
65#ifndef _EVBMIPS_DISKLABEL_H_
66#define _EVBMIPS_DISKLABEL_H_
67
68#ifdef _KERNEL_OPT
69#include "opt_pmon.h"
70#include "opt_cputype.h"
71#endif
72
73#ifdef MIPS64_SB1
74
75#define LABELUSESMBR 0 /* no MBR partitionning */
76#define LABELSECTOR 1 /* sector containing label */
77#define LABELOFFSET 0 /* offset of label in sector */
78#define MAXPARTITIONS 16
79#define RAW_PART 3
80
81#ifdef __NetBSD__
82/* Pull in MBR partition definitions. */
83#if HAVE_NBTOOL_CONFIG_H
84#include <nbinclude/sys/bootblock.h>
85#else
86#include <sys/bootblock.h>
87#endif /* HAVE_NBTOOL_CONFIG_H */
88
89#ifndef __ASSEMBLER__
90#if HAVE_NBTOOL_CONFIG_H
91#include <nbinclude/sys/dkbad.h>
92#else
93#include <sys/dkbad.h>
94#endif /* HAVE_NBTOOL_CONFIG_H */
95struct cpu_disklabel {
96 struct mbr_partition mbrparts[MBR_PART_COUNT];
97#define __HAVE_DISKLABEL_DKBAD
98 struct dkbad bad;
99};
100#endif
101#endif
102
103/*
104 * CFE boot block, modeled loosely on Alpha.
105 *
106 * It consists of:
107 *
108 * BSD disk label
109 * <blank space>
110 * Boot block info (5 uint_64s)
111 *
112 * The boot block portion looks like:
113 *
114 *
115 * +-------+-------+-------+-------+-------+-------+-------+-------+
116 * | BOOT_MAGIC_NUMBER |
117 * +-------+-------+-------+-------+-------+-------+-------+-------+
118 * | Flags | Reserved | Vers | Header Checksum |
119 * +-------+-------+-------+-------+-------+-------+-------+-------+
120 * | Secondary Loader Location (bytes) |
121 * +-------+-------+-------+-------+-------+-------+-------+-------+
122 * | Loader Checksum | Size of loader (bytes) |
123 * +-------+-------+-------+-------+-------+-------+-------+-------+
124 * | Reserved | Architecture Information |
125 * +-------+-------+-------+-------+-------+-------+-------+-------+
126 *
127 * Boot block fields should always be read as 64-bit numbers.
128 *
129 */
130
131
132struct boot_block {
133 uint64_t cfe_bb_data[64]; /* data (disklabel, also as below) */
134};
135#define cfe_bb_magic cfe_bb_data[59] /* magic number */
136#define cfe_bb_hdrinfo cfe_bb_data[60] /* header checksum, ver, flags */
137#define cfe_bb_secstart cfe_bb_data[61] /* secondary start (bytes) */
138#define cfe_bb_secsize cfe_bb_data[62] /* secondary size (bytes) */
139#define cfe_bb_archinfo cfe_bb_data[63] /* architecture info */
140
141#define BOOT_BLOCK_OFFSET 0 /* offset of boot block. */
142#define BOOT_BLOCK_BLOCKSIZE 512 /* block size for sec. size/start,
143 * and for boot block itself
144 */
145#define BOOT_BLOCK_SIZE 40 /* 5 64-bit words */
146
147#define BOOT_MAGIC_NUMBER 0x43465631424f4f54
148#define BOOT_HDR_CHECKSUM_MASK 0x00000000FFFFFFFF
149#define BOOT_HDR_VER_MASK 0x000000FF00000000
150#define BOOT_HDR_VER_SHIFT 32
151#define BOOT_HDR_FLAGS_MASK 0xFF00000000000000
152#define BOOT_SECSIZE_MASK 0x00000000FFFFFFFF
153#define BOOT_DATA_CHECKSUM_MASK 0xFFFFFFFF00000000
154#define BOOT_DATA_CHECKSUM_SHIFT 32
155#define BOOT_ARCHINFO_MASK 0x00000000FFFFFFFF
156
157#define BOOT_HDR_VERSION 1
158
159#define CHECKSUM_BOOT_BLOCK(bb,cksum) \
160 do { \
161 uint32_t *_ptr = (uint32_t *) (bb); \
162 uint32_t _cksum; \
163 int _i; \
164 \
165 _cksum = 0; \
166 for (_i = 0; \
167 _i < (BOOT_BLOCK_SIZE / sizeof (uint32_t)); \
168 _i++) \
169 _cksum += _ptr[_i]; \
170 *(cksum) = _cksum; \
171 } while (0)
172
173
174#define CHECKSUM_BOOT_DATA(data,len,cksum) \
175 do { \
176 uint32_t *_ptr = (uint32_t *) (data); \
177 uint32_t _cksum; \
178 int _i; \
179 \
180 _cksum = 0; \
181 for (_i = 0; \
182 _i < ((len) / sizeof (uint32_t)); \
183 _i++) \
184 _cksum += _ptr[_i]; \
185 *(cksum) = _cksum; \
186 } while (0)
187
188#else /* MIPS64_SB1 */
189
190#ifdef PMON
191#define LABELUSESMBR 1 /* use MBR partitionning */
192#else
193#define LABELUSESMBR 0 /* no MBR partitionning */
194#endif
195#define LABELSECTOR 0 /* sector containing label */
196#define LABELOFFSET 64 /* offset of label in sector */
197#define MAXPARTITIONS 16 /* number of partitions */
198#define RAW_PART 2 /* raw partition: xx?c */
199
200#if HAVE_NBTOOL_CONFIG_H
201#include <nbinclude/sys/dkbad.h>
202#else
203#include <sys/dkbad.h>
204#endif /* HAVE_NBTOOL_CONFIG_H */
205
206/* Just a dummy */
207struct cpu_disklabel {
208#define __HAVE_DISKLABEL_DKBAD
209 struct dkbad bad; /* must have one element. */
210};
211
212#endif /* MIPS64_SB1 */
213
214#endif /* !_EVBMIPS_DISKLABEL_H_ */
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/elf_machdep.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: elf_machdep.h,v 1.3 2009/12/14 00:46:02 matt Exp $ */
2
3#include <mips/elf_machdep.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/endian.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: endian.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <sys/endian.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/endian_machdep.h deleted-11
......@@ -1,11 +0,0 @@
1/* $NetBSD: endian_machdep.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#if defined(__MIPSEB__)
4#define _BYTE_ORDER _BIG_ENDIAN
5#elif defined(__MIPSEL__)
6#define _BYTE_ORDER _LITTLE_ENDIAN
7#else
8#error neither __MIPSEL__ nor __MIPSEB__ are defined.
9#endif
10
11#include <mips/endian_machdep.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/fenv.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: fenv.h,v 1.1 2015/12/21 17:02:33 christos Exp $ */
2
3#include <mips/fenv.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/float.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: float.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/float.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/ieee.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: ieee.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/ieee.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/ieeefp.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: ieeefp.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/ieeefp.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/int_const.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: int_const.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/int_const.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/int_fmtio.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: int_fmtio.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/int_fmtio.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/int_limits.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: int_limits.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/int_limits.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/int_mwgwtypes.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: int_mwgwtypes.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/int_mwgwtypes.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/int_types.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: int_types.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/int_types.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/kcore.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: kcore.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/kcore.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/limits.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: limits.h,v 1.1 2002/03/07 14:44:00 simonb Exp $ */
2
3#include <mips/limits.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/lock.h deleted-4
......@@ -1,4 +0,0 @@
1/* $NetBSD: lock.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3/* Just use the common mips definition */
4#include <mips/lock.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/math.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: math.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3#include <mips/math.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/mcontext.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: mcontext.h,v 1.2 2003/01/17 22:47:09 thorpej Exp $ */
2
3#include <mips/mcontext.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/mutex.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: mutex.h,v 1.2 2007/02/09 21:55:03 ad Exp $ */
2
3#include <mips/mutex.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/param.h deleted-62
......@@ -1,62 +0,0 @@
1/* $NetBSD: param.h,v 1.12 2022/03/16 04:31:54 simonb Exp $ */
2
3/*
4 * Copyright (c) 1988 University of Utah.
5 * Copyright (c) 1992, 1993
6 * The Regents of the University of California. All rights reserved.
7 *
8 * This code is derived from software contributed to Berkeley by
9 * the Systems Programming Group of the University of Utah Computer
10 * Science Department and Ralph Campbell.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in the
19 * documentation and/or other materials provided with the distribution.
20 * 3. Neither the name of the University nor the names of its contributors
21 * may be used to endorse or promote products derived from this software
22 * without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 */
36
37#ifndef _EVBMIPS_PARAM_H_
38#define _EVBMIPS_PARAM_H_
39
40/*
41 * Machine dependent constants for MIPS evaluation boards.
42 */
43
44#define _MACHINE evbmips
45#define MACHINE "evbmips"
46
47#include <mips/mips_param.h>
48
49#ifdef _KERNEL
50#ifndef _LOCORE
51
52#ifndef __HIDE_DELAY
53void delay(int n);
54#define DELAY(x) delay(x)
55#endif /* __HIDE_DELAY */
56
57#include <machine/intr.h>
58
59#endif /* !_LOCORE */
60#endif /* _KERNEL */
61
62#endif /* !_EVBMIPS_PARAM_H_ */
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/pcb.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: pcb.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3#include <mips/pcb.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/pmap.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: pmap.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3#include <mips/pmap.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/proc.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: proc.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3#include <mips/proc.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/profile.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: profile.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3#include <mips/profile.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/psl.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: psl.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3#include <mips/psl.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/pte.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: pte.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3#include <mips/pte.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/ptrace.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: ptrace.h,v 1.1 2002/03/07 14:44:01 simonb Exp $ */
2
3#include <mips/ptrace.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/reg.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: reg.h,v 1.1 2002/03/07 14:44:02 simonb Exp $ */
2
3#include <mips/reg.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/reloc.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: reloc.h,v 1.1 2002/03/07 14:44:02 simonb Exp $ */
2
3#include <mips/reloc.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/rwlock.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: rwlock.h,v 1.2 2007/02/09 21:55:03 ad Exp $ */
2
3#include <mips/rwlock.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/setjmp.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: setjmp.h,v 1.1 2002/03/07 14:44:02 simonb Exp $ */
2
3#include <mips/setjmp.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/signal.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: signal.h,v 1.1 2002/03/07 14:44:02 simonb Exp $ */
2
3#include <mips/signal.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/sljit_machdep.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: sljit_machdep.h,v 1.1 2014/07/23 18:19:43 alnsn Exp $ */
2
3#include <mips/sljit_machdep.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/trap.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: trap.h,v 1.1 2002/03/07 14:44:02 simonb Exp $ */
2
3#include <mips/trap.h>
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/types.h deleted-13
......@@ -1,13 +0,0 @@
1/* $NetBSD: types.h,v 1.10 2017/01/26 15:55:09 christos Exp $ */
2
3#ifndef _EVBMIPS_TYPES_H_
4#define _EVBMIPS_TYPES_H_
5
6#define _MIPS_PADDR_T_64BIT
7
8#include <mips/types.h>
9
10#define __HAVE_NEW_STYLE_BUS_H
11#define __HAVE_COMPAT_NETBSD32
12
13#endif
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/vmparam.h deleted-23
......@@ -1,23 +0,0 @@
1/* $NetBSD: vmparam.h,v 1.5 2014/04/19 12:48:42 matt Exp $ */
2
3#ifndef _EVBMIPS_VMPARAM_H_
4#define _EVBMIPS_VMPARAM_H_
5
6#include <mips/vmparam.h>
7
8#define VM_PHYSSEG_MAX 32
9
10#undef VM_FREELIST_MAX
11#define VM_FREELIST_MAX 4
12#if defined(_MIPS_PADDR_T_64BIT) || defined(_LP64)
13#define VM_FREELIST_FIRST4G 3
14#endif
15#if !defined(_LP64)
16#define VM_FREELIST_FIRST512M 2
17#endif /* !_LP64 */
18#define VM_FREELIST_ISADMA 1
19
20#define VM_FREELIST_NORMALOK_P(lcv) \
21 ((lcv) == VM_FREELIST_DEFAULT || (lcv) != mips_poolpage_vmfreelist)
22
23#endif /* !_EVBMIPS_VMPARAM_H_ */
\ No newline at end of file
lib/libc/include/mips-netbsd-eabihf/machine/wchar_limits.h deleted-3
......@@ -1,3 +0,0 @@
1/* $NetBSD: wchar_limits.h,v 1.2 2005/12/11 12:17:11 christos Exp $ */
2
3#include <mips/wchar_limits.h>
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/floatn.h deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h deleted-31
......@@ -1,31 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/mman.h deleted-44
......@@ -1,44 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2025 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/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/siginfo-arch.h deleted-13
......@@ -1,13 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2025 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/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/floatn.h deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h deleted-31
......@@ -1,31 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/mman.h deleted-44
......@@ -1,44 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2025 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/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/siginfo-arch.h deleted-13
......@@ -1,13 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2025 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/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/floatn.h deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h deleted-31
......@@ -1,31 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h deleted-44
......@@ -1,44 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2025 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/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/siginfo-arch.h deleted-13
......@@ -1,13 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2025 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/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/floatn.h deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h deleted-31
......@@ -1,31 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h deleted-44
......@@ -1,44 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2025 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/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/siginfo-arch.h deleted-13
......@@ -1,13 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2025 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/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/floatn.h deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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-gnueabi/bits/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h deleted-31
......@@ -1,31 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/mman.h deleted-44
......@@ -1,44 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2025 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-gnueabi/bits/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/siginfo-arch.h deleted-13
......@@ -1,13 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2025 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-gnueabi/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2025 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 _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
21#endif
22
23/* The MODE argument to `dlopen' contains one of the following: */
24#define RTLD_LAZY 0x0001 /* Lazy function call binding. */
25#define RTLD_NOW 0x0002 /* Immediate function call binding. */
26#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
27#define RTLD_NOLOAD 0x00008 /* Do not load the object. */
28#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */
29
30/* If the following bit is set in the MODE argument to `dlopen',
31 the symbols of the loaded object and its dependencies are made
32 visible as if the object were linked directly into the program. */
33#define RTLD_GLOBAL 0x0004
34
35/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
36 The implementation does this by default and so we can define the
37 value to zero. */
38#define RTLD_LOCAL 0
39
40/* Do not delete object when closed. */
41#define RTLD_NODELETE 0x01000
42
43#ifdef __USE_GNU
44/* To support profiling of shared objects it is a good idea to call
45 the function found using `dlsym' using the following macro since
46 these calls do not use the PLT. But this would mean the dynamic
47 loader has no chance to find out when the function is called. The
48 macro applies the necessary magic so that profiling is possible.
49 Rewrite
50 foo = (*fctp) (arg1, arg2);
51 into
52 foo = DL_CALL_FCT (fctp, (arg1, arg2));
53*/
54# define DL_CALL_FCT(fctp, args) \
55 (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args)
56
57__BEGIN_DECLS
58
59/* This function calls the profiling functions. */
60extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW;
61
62__END_DECLS
63
64#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20
21#if !defined _ERRNO_H
22# error "Never include <bits/errno.h> directly; use <errno.h> instead."
23#endif
24
25# include <linux/errno.h>
26
27/* Older Linux headers do not define these constants. */
28# ifndef ENOTSUP
29# define ENOTSUP EOPNOTSUPP
30# endif
31
32# ifndef ECANCELED
33# define ECANCELED 158
34# endif
35
36# ifndef EOWNERDEAD
37# define EOWNERDEAD 165
38# endif
39
40# ifndef ENOTRECOVERABLE
41# define ENOTRECOVERABLE 166
42# endif
43
44# ifndef ERFKILL
45# define ERFKILL 167
46# endif
47
48# ifndef EHWPOISON
49# define EHWPOISON 168
50# endif
51
52#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 00000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 02000000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 00000200
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/floatn.h deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2025 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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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 && !__GNUC_PREREQ (13, 0))
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-gnueabihf/bits/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 02000000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 00000200
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26struct winsize
27 {
28 unsigned short int ws_row;
29 unsigned short int ws_col;
30 unsigned short int ws_xpixel;
31 unsigned short int ws_ypixel;
32 };
33
34#define NCC 8
35struct termio
36 {
37 unsigned short int c_iflag; /* input mode flags */
38 unsigned short int c_oflag; /* output mode flags */
39 unsigned short int c_cflag; /* control mode flags */
40 unsigned short int c_lflag; /* local mode flags */
41 char c_line; /* line discipline */
42 /* Yes, this is really NCCS. */
43 unsigned char c_cc[32 /* NCCS */]; /* control characters */
44 };
45
46/* modem lines */
47#define TIOCM_LE 0x001 /* line enable */
48#define TIOCM_DTR 0x002 /* data terminal ready */
49#define TIOCM_RTS 0x004 /* request to send */
50#define TIOCM_ST 0x010 /* secondary transmit */
51#define TIOCM_SR 0x020 /* secondary receive */
52#define TIOCM_CTS 0x040 /* clear to send */
53#define TIOCM_CAR 0x100 /* carrier detect */
54#define TIOCM_CD TIOCM_CAR
55#define TIOCM_RNG 0x200 /* ring */
56#define TIOCM_RI TIOCM_RNG
57#define TIOCM_DSR 0x400 /* data set ready */
58
59/* line disciplines */
60#define N_TTY 0
61#define N_SLIP 1
62#define N_MOUSE 2
63#define N_PPP 3
64#define N_STRIP 4
65#define N_AX25 5
66#define N_X25 6 /* X.25 async */
67#define N_6PACK 7
68#define N_MASC 8 /* Mobitex module */
69#define N_R3964 9 /* Simatic R3964 module */
70#define N_PROFIBUS_FDL 10 /* Profibus */
71#define N_IRDA 11 /* Linux IR */
72#define N_SMSBLOCK 12 /* SMS block mode */
73#define N_HDLC 13 /* synchronous HDLC */
74#define N_SYNC_PPP 14 /* synchronous PPP */
75#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h deleted-31
......@@ -1,31 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version
2 Copyright (C) 2002-2025 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/*
20 * Never include <bits/ipctypes.h> directly.
21 */
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26#include <bits/types.h>
27
28typedef __SLONG32_TYPE __ipc_pid_t;
29
30
31#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h deleted-44
......@@ -1,44 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* These are Linux-specific. */
27#define MAP_NORESERVE 0x0400 /* don't check for reservations */
28#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
29#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
31#define MAP_LOCKED 0x8000 /* pages are locked */
32#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
33#define MAP_NONBLOCK 0x20000 /* do not block on IO */
34#define MAP_STACK 0x40000 /* Allocation is for a stack. */
35#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
36#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
37 underlying mapping. */
38
39#define __MAP_ANONYMOUS 0x0800
40
41/* Include generic Linux declarations. */
42#include <bits/mman-linux.h>
43
44#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x400
40# define POLLREMOVE 0x1000
41# define POLLRDHUP 0x2000
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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/* Minimum size for a thread. At least two pages with 64k pages. */
20#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 7,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 5,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 6,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 8,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 9,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if _MIPS_SIM == _ABI64
115/* The N64 syscall uses this value. */
116# define RLIM_INFINITY 0xffffffffffffffffUL
117# ifdef __USE_LARGEFILE64
118# define RLIM64_INFINITY 0xffffffffffffffffUL
119# endif
120#else
121/* The O32 and N32 syscalls use 0x7fffffff. */
122# ifndef __USE_FILE_OFFSET64
123# define RLIM_INFINITY ((long int)(~0UL >> 1))
124# else
125# define RLIM_INFINITY 0xffffffffffffffffULL
126# endif
127# ifdef __USE_LARGEFILE64
128# define RLIM64_INFINITY 0xffffffffffffffffULL
129# endif
130#endif
131
132/* We can represent all limits. */
133#define RLIM_SAVED_MAX RLIM_INFINITY
134#define RLIM_SAVED_CUR RLIM_INFINITY
135
136
137/* Type for resource quantity measurement. */
138#ifndef __USE_FILE_OFFSET64
139typedef __rlim_t rlim_t;
140#else
141typedef __rlim64_t rlim_t;
142#endif
143#ifdef __USE_LARGEFILE64
144typedef __rlim64_t rlim64_t;
145#endif
146
147struct rlimit
148 {
149 /* The current (soft) limit. */
150 rlim_t rlim_cur;
151 /* The hard limit. */
152 rlim_t rlim_max;
153 };
154
155#ifdef __USE_LARGEFILE64
156struct rlimit64
157 {
158 /* The current (soft) limit. */
159 rlim64_t rlim_cur;
160 /* The hard limit. */
161 rlim64_t rlim_max;
162 };
163#endif
164
165/* Whose usage statistics do you want? */
166enum __rusage_who
167{
168 /* The calling process. */
169 RUSAGE_SELF = 0,
170#define RUSAGE_SELF RUSAGE_SELF
171
172 /* All of its terminated child processes. */
173 RUSAGE_CHILDREN = -1
174#define RUSAGE_CHILDREN RUSAGE_CHILDREN
175
176#ifdef __USE_GNU
177 ,
178 /* The calling thread. */
179 RUSAGE_THREAD = 1
180# define RUSAGE_THREAD RUSAGE_THREAD
181 /* Name for the same functionality on Solaris. */
182# define RUSAGE_LWP RUSAGE_THREAD
183#endif
184};
185
186#include <bits/types/struct_timeval.h>
187#include <bits/types/struct_rusage.h>
188
189/* Priority limits. */
190#define PRIO_MIN -20 /* Minimum priority a process can have. */
191#define PRIO_MAX 20 /* Maximum priority a process can have. */
192
193/* The type of the WHICH argument to `getpriority' and `setpriority',
194 indicating what flavor of entity the WHO argument specifies. */
195enum __priority_which
196{
197 PRIO_PROCESS = 0, /* WHO is a process ID. */
198#define PRIO_PROCESS PRIO_PROCESS
199 PRIO_PGRP = 1, /* WHO is a process group ID. */
200#define PRIO_PGRP PRIO_PGRP
201 PRIO_USER = 2 /* WHO is a user ID. */
202#define PRIO_USER PRIO_USER
203};
204
205
206__BEGIN_DECLS
207
208#ifdef __USE_GNU
209/* Modify and return resource limits of a process atomically. */
210# ifndef __USE_FILE_OFFSET64
211extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
212 const struct rlimit *__new_limit,
213 struct rlimit *__old_limit) __THROW;
214# else
215# ifdef __REDIRECT_NTH
216extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
217 enum __rlimit_resource __resource,
218 const struct rlimit *__new_limit,
219 struct rlimit *__old_limit), prlimit64);
220# else
221# define prlimit prlimit64
222# endif
223# endif
224# ifdef __USE_LARGEFILE64
225extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
226 const struct rlimit64 *__new_limit,
227 struct rlimit64 *__old_limit) __THROW;
228# endif
229#endif
230
231__END_DECLS
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2025 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-gnueabihf/bits/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23/* Segment low boundary address multiple. */
24#define SHMLBA 0x40000
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26/* Structure describing the action to be taken when a signal arrives. */
27struct sigaction
28 {
29 /* Special flags. */
30 int sa_flags;
31
32 /* Signal handler. */
33#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
34 union
35 {
36 /* Used if SA_SIGINFO is not set. */
37 __sighandler_t sa_handler;
38 /* Used if SA_SIGINFO is set. */
39 void (*sa_sigaction) (int, siginfo_t *, void *);
40 }
41 __sigaction_handler;
42# define sa_handler __sigaction_handler.sa_handler
43# define sa_sigaction __sigaction_handler.sa_sigaction
44#else
45 __sighandler_t sa_handler;
46#endif
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* The ABI says here are two unused ints following. */
51 /* Restore handler. */
52 void (*sa_restorer) (void);
53
54#if _MIPS_SZPTR < 64
55 int sa_resv[1];
56#endif
57 };
58
59/* Bits in `sa_flags'. */
60/* Please note that some Linux kernels versions use different values for these
61 flags which is a bug in those kernel versions. */
62#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
71# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
72# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
73 its handler is being executed. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_NOP 0 /* 0 is unused to catch errors */
86#define SIG_BLOCK 1 /* Block signals. */
87#define SIG_UNBLOCK 2 /* Unblock signals. */
88#define SIG_SETMASK 3 /* Set the set of blocked signals. */
89#ifdef __USE_MISC
90# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility:
91 set only the low 32 bit of the sigset. */
92#endif
93
94#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library.
2
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License as published by the Free Software Foundation; either
6 version 2.1 of the License, or (at your option) any later version.
7
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Lesser General Public License for more details.
12
13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see
15 <https://www.gnu.org/licenses/>. */
16
17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 1
19
20#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
21# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
22#endif
23
24#include <sgidefs.h>
25
26#if _MIPS_SIM == _ABIO32
27
28/* Certain unused fields were replaced with new ones in 2.6.12-rc4.
29 The changes were as follows:
30
31 sc_cause -> sc_hi1
32 sc_badvaddr -> sc_lo1
33 sc_sigset[0] -> sc_hi2
34 sc_sigset[1] -> sc_lo2
35 sc_sigset[2] -> sc_hi3
36 sc_sigset[3] -> sc_lo3
37
38 sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */
39struct sigcontext {
40 unsigned int sc_regmask;
41 unsigned int sc_status;
42 __extension__ unsigned long long sc_pc;
43 __extension__ unsigned long long sc_regs[32];
44 __extension__ unsigned long long sc_fpregs[32];
45 unsigned int sc_ownedfp;
46 unsigned int sc_fpc_csr;
47 unsigned int sc_fpc_eir;
48 unsigned int sc_used_math;
49 unsigned int sc_dsp;
50 __extension__ unsigned long long sc_mdhi;
51 __extension__ unsigned long long sc_mdlo;
52 unsigned long sc_hi1;
53 unsigned long sc_lo1;
54 unsigned long sc_hi2;
55 unsigned long sc_lo2;
56 unsigned long sc_hi3;
57 unsigned long sc_lo3;
58};
59
60#else
61
62/* This structure changed in 2.6.12-rc4 when DSP support was added. */
63struct sigcontext {
64 __extension__ unsigned long long sc_regs[32];
65 __extension__ unsigned long long sc_fpregs[32];
66 __extension__ unsigned long long sc_mdhi;
67 __extension__ unsigned long long sc_hi1;
68 __extension__ unsigned long long sc_hi2;
69 __extension__ unsigned long long sc_hi3;
70 __extension__ unsigned long long sc_mdlo;
71 __extension__ unsigned long long sc_lo1;
72 __extension__ unsigned long long sc_lo2;
73 __extension__ unsigned long long sc_lo3;
74 __extension__ unsigned long long sc_pc;
75 unsigned int sc_fpc_csr;
76 unsigned int sc_used_math;
77 unsigned int sc_dsp;
78 unsigned int sc_reserved;
79};
80
81#endif /* _MIPS_SIM != _ABIO32 */
82#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/siginfo-arch.h deleted-13
......@@ -1,13 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. MIPS version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* MIPS has the si_code and si_errno fields in the opposite order from
6 all other architectures. */
7#define __SI_ERRNO_THEN_CODE 0
8
9/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER
10 than all other architectures. */
11#define __SI_ASYNCIO_AFTER_SIGIO 0
12
13#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 02000000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 00000200
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2025 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-gnueabihf/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4099
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 4102
40# define SO_SNDTIMEO 4101
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 4102
46# define SO_SNDTIMEO_OLD 4101
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams
27 of fixed maximum length. */
28#define SOCK_DGRAM SOCK_DGRAM
29 SOCK_STREAM = 2, /* Sequenced, reliable, connection-based
30 byte streams. */
31#define SOCK_STREAM SOCK_STREAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6,
40#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2025 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_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/
23
24struct statfs
25 {
26 long int f_type;
27#define f_fstyp f_type
28 long int f_bsize;
29 long int f_frsize; /* Fragment size - unsupported */
30#ifndef __USE_FILE_OFFSET64
31 __fsblkcnt_t f_blocks;
32 __fsblkcnt_t f_bfree;
33 __fsblkcnt_t f_files;
34 __fsblkcnt_t f_ffree;
35 __fsblkcnt_t f_bavail;
36#else
37 __fsblkcnt64_t f_blocks;
38 __fsblkcnt64_t f_bfree;
39 __fsblkcnt64_t f_files;
40 __fsblkcnt64_t f_ffree;
41 __fsblkcnt64_t f_bavail;
42#endif
43
44 /* Linux specials */
45 __fsid_t f_fsid;
46 long int f_namelen;
47 long int f_flags;
48 long int f_spare[5];
49 };
50
51#ifdef __USE_LARGEFILE64
52struct statfs64
53 {
54 long int f_type;
55#define f_fstyp f_type
56 long int f_bsize;
57 long int f_frsize; /* Fragment size - unsupported */
58 __fsblkcnt64_t f_blocks;
59 __fsblkcnt64_t f_bfree;
60 __fsblkcnt64_t f_files;
61 __fsblkcnt64_t f_ffree;
62 __fsblkcnt64_t f_bavail;
63
64 /* Linux specials */
65 __fsid_t f_fsid;
66 long int f_namelen;
67 long int f_flags;
68 long int f_spare[5];
69 };
70#endif
71
72/* Tell code we have these members. */
73#define _STATFS_F_NAMELEN
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0 /* Interrupt character [ISIG]. */
25#define VQUIT 1 /* Quit character [ISIG]. */
26#define VERASE 2 /* Erase character [ICANON]. */
27#define VKILL 3 /* Kill-line character [ICANON]. */
28#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */
29#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
30#define VEOL2 6 /* Second EOL character [ICANON]. */
31#define VSWTC 7
32#define VSWTCH VSWTC
33#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
34#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
35#define VSUSP 10 /* Suspend character [ISIG]. */
36 /* VDSUSP is not supported on Linux. */
37/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */
38#define VREPRINT 12 /* Reprint-line character [ICANON]. */
39#define VDISCARD 13 /* Discard character [IEXTEN]. */
40#define VWERASE 14 /* Word-erase character [ICANON]. */
41#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
42#define VEOF 16 /* End-of-file character [ICANON]. */
43#define VEOL 17 /* End-of-line character [ICANON]. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0000001 /* Enable signals. */
25#define ICANON 0000002 /* Do erase and kill processing. */
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0000004
28#endif
29#define ECHO 0000010 /* Enable echo. */
30#define ECHOE 0000020 /* Visual erase for ERASE. */
31#define ECHOK 0000040 /* Echo NL after KILL. */
32#define ECHONL 0000100 /* Echo NL even if ECHO is off. */
33#define NOFLSH 0000200 /* Disable flush after interrupt. */
34#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */
35#ifdef __USE_MISC
36# define ECHOCTL 0001000 /* Echo control characters as ^X. */
37# define ECHOPRT 0002000 /* Hardcopy visual erase. */
38# define ECHOKE 0004000 /* Visual erase for KILL. */
39# define FLUSHO 0020000
40# define PENDIN 0040000 /* Retype pending input (state). */
41#endif
42#define TOSTOP 0100000 /* Send SIGTTOU for background output. */
43#define ITOSTOP TOSTOP
44#ifdef __USE_MISC
45# define EXTPROC 0200000
46#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 32
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
21#endif
22
23/* tcsetattr uses these */
24#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */
25#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */
26#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 02000000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 00000200
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2025 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 __stack_t_defined
20#define __stack_t_defined 1
21
22#define __need_size_t
23#include <stddef.h>
24
25/* Structure describing a signal stack. */
26typedef struct
27 {
28 void *ss_sp;
29 size_t ss_size;
30 int ss_flags;
31 } stack_t;
32
33#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34# ifdef __MIPSEL__
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_stime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_rtime_high;
39 __time_t msg_ctime; /* time of last change */
40 unsigned long int __msg_ctime_high;
41# else
42 unsigned long int __msg_stime_high;
43 __time_t msg_stime; /* time of last msgsnd command */
44 unsigned long int __msg_rtime_high;
45 __time_t msg_rtime; /* time of last msgsnd command */
46 unsigned long int __msg_ctime_high;
47 __time_t msg_ctime; /* time of last change */
48# endif
49# else
50 __time_t msg_stime; /* time of last msgsnd command */
51 __time_t msg_rtime; /* time of last msgsnd command */
52 __time_t msg_ctime; /* time of last change */
53# endif
54 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
55 msgqnum_t msg_qnum; /* number of messages currently on queue */
56 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
57 __pid_t msg_lspid; /* pid of last msgsnd() */
58 __pid_t msg_lrpid; /* pid of last msgrcv() */
59 __syscall_ulong_t __glibc_reserved4;
60 __syscall_ulong_t __glibc_reserved5;
61#endif
62};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __time_t sem_ctime; /* last time changed by semctl() */
32 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
33 __syscall_ulong_t __sem_otime_high;
34 __syscall_ulong_t __sem_ctime_high;
35#endif
36};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30 size_t shm_segsz; /* size of segment in bytes */
31# if __TIMESIZE == 32
32 __time_t shm_atime; /* time of last shmat() */
33 __time_t shm_dtime; /* time of last shmdt() */
34 __time_t shm_ctime; /* time of last change by shmctl() */
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# if __TIMESIZE == 32
44 unsigned short int __shm_atime_high;
45 unsigned short int __shm_dtime_high;
46 unsigned short int __shm_ctime_high;
47 unsigned short int __glibc_reserved4;
48# else
49 __syscall_ulong_t __glibc_reserved5;
50 __syscall_ulong_t __glibc_reserved6;
51# endif
52#endif
53 };
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. MIPS version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
29
30__BEGIN_DECLS
31
32union ieee754_float
33 {
34 float f;
35
36 /* This is the IEEE 754 single-precision format. */
37 struct
38 {
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned int negative:1;
41 unsigned int exponent:8;
42 unsigned int mantissa:23;
43#endif /* Big endian. */
44#if __BYTE_ORDER == __LITTLE_ENDIAN
45 unsigned int mantissa:23;
46 unsigned int exponent:8;
47 unsigned int negative:1;
48#endif /* Little endian. */
49 } ieee;
50
51 /* This format makes it easier to see if a NaN is a signalling NaN. */
52 struct
53 {
54#if __BYTE_ORDER == __BIG_ENDIAN
55 unsigned int negative:1;
56 unsigned int exponent:8;
57 unsigned int quiet_nan:1;
58 unsigned int mantissa:22;
59#endif /* Big endian. */
60#if __BYTE_ORDER == __LITTLE_ENDIAN
61 unsigned int mantissa:22;
62 unsigned int quiet_nan:1;
63 unsigned int exponent:8;
64 unsigned int negative:1;
65#endif /* Little endian. */
66 } ieee_nan;
67 };
68
69#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
70
71
72union ieee754_double
73 {
74 double d;
75
76 /* This is the IEEE 754 double-precision format. */
77 struct
78 {
79#if __BYTE_ORDER == __BIG_ENDIAN
80 unsigned int negative:1;
81 unsigned int exponent:11;
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa0:20;
84 unsigned int mantissa1:32;
85#endif /* Big endian. */
86#if __BYTE_ORDER == __LITTLE_ENDIAN
87# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
88 unsigned int mantissa0:20;
89 unsigned int exponent:11;
90 unsigned int negative:1;
91 unsigned int mantissa1:32;
92# else
93 /* Together these comprise the mantissa. */
94 unsigned int mantissa1:32;
95 unsigned int mantissa0:20;
96 unsigned int exponent:11;
97 unsigned int negative:1;
98# endif
99#endif /* Little endian. */
100 } ieee;
101
102 /* This format makes it easier to see if a NaN is a signalling NaN. */
103 struct
104 {
105#if __BYTE_ORDER == __BIG_ENDIAN
106 unsigned int negative:1;
107 unsigned int exponent:11;
108 unsigned int quiet_nan:1;
109 /* Together these comprise the mantissa. */
110 unsigned int mantissa0:19;
111 unsigned int mantissa1:32;
112#else
113# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
114 unsigned int mantissa0:19;
115 unsigned int quiet_nan:1;
116 unsigned int exponent:11;
117 unsigned int negative:1;
118 unsigned int mantissa1:32;
119# else
120 /* Together these comprise the mantissa. */
121 unsigned int mantissa1:32;
122 unsigned int mantissa0:19;
123 unsigned int quiet_nan:1;
124 unsigned int exponent:11;
125 unsigned int negative:1;
126# endif
127#endif
128 } ieee_nan;
129 };
130
131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
132
133#if __LDBL_MANT_DIG__ == 113
134
135union ieee854_long_double
136 {
137 long double d;
138
139 /* This is the IEEE 854 quad-precision format. */
140 struct
141 {
142#if __BYTE_ORDER == __BIG_ENDIAN
143 unsigned int negative:1;
144 unsigned int exponent:15;
145 /* Together these comprise the mantissa. */
146 unsigned int mantissa0:16;
147 unsigned int mantissa1:32;
148 unsigned int mantissa2:32;
149 unsigned int mantissa3:32;
150#endif /* Big endian. */
151#if __BYTE_ORDER == __LITTLE_ENDIAN
152 /* Together these comprise the mantissa. */
153 unsigned int mantissa3:32;
154 unsigned int mantissa2:32;
155 unsigned int mantissa1:32;
156 unsigned int mantissa0:16;
157 unsigned int exponent:15;
158 unsigned int negative:1;
159#endif /* Little endian. */
160 } ieee;
161
162 /* This format makes it easier to see if a NaN is a signalling NaN. */
163 struct
164 {
165#if __BYTE_ORDER == __BIG_ENDIAN
166 unsigned int negative:1;
167 unsigned int exponent:15;
168 unsigned int quiet_nan:1;
169 /* Together these comprise the mantissa. */
170 unsigned int mantissa0:15;
171 unsigned int mantissa1:32;
172 unsigned int mantissa2:32;
173 unsigned int mantissa3:32;
174#endif /* Big endian. */
175#if __BYTE_ORDER == __LITTLE_ENDIAN
176 /* Together these comprise the mantissa. */
177 unsigned int mantissa3:32;
178 unsigned int mantissa2:32;
179 unsigned int mantissa1:32;
180 unsigned int mantissa0:15;
181 unsigned int quiet_nan:1;
182 unsigned int exponent:15;
183 unsigned int negative:1;
184#endif /* Little endian. */
185 } ieee_nan;
186 };
187
188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
189
190#elif __LDBL_MANT_DIG__ == 64
191
192union ieee854_long_double
193 {
194 long double d;
195
196 /* This is the IEEE 854 double-extended-precision format. */
197 struct
198 {
199#if __BYTE_ORDER == __BIG_ENDIAN
200 unsigned int negative:1;
201 unsigned int exponent:15;
202 unsigned int empty:16;
203 unsigned int mantissa0:32;
204 unsigned int mantissa1:32;
205#endif
206#if __BYTE_ORDER == __LITTLE_ENDIAN
207# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
208 unsigned int exponent:15;
209 unsigned int negative:1;
210 unsigned int empty:16;
211 unsigned int mantissa0:32;
212 unsigned int mantissa1:32;
213# else
214 unsigned int mantissa1:32;
215 unsigned int mantissa0:32;
216 unsigned int exponent:15;
217 unsigned int negative:1;
218 unsigned int empty:16;
219# endif
220#endif
221 } ieee;
222
223 /* This is for NaNs in the IEEE 854 double-extended-precision format. */
224 struct
225 {
226#if __BYTE_ORDER == __BIG_ENDIAN
227 unsigned int negative:1;
228 unsigned int exponent:15;
229 unsigned int empty:16;
230 unsigned int one:1;
231 unsigned int quiet_nan:1;
232 unsigned int mantissa0:30;
233 unsigned int mantissa1:32;
234#endif
235#if __BYTE_ORDER == __LITTLE_ENDIAN
236# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
237 unsigned int exponent:15;
238 unsigned int negative:1;
239 unsigned int empty:16;
240 unsigned int mantissa0:30;
241 unsigned int quiet_nan:1;
242 unsigned int one:1;
243 unsigned int mantissa1:32;
244# else
245 unsigned int mantissa1:32;
246 unsigned int mantissa0:30;
247 unsigned int quiet_nan:1;
248 unsigned int one:1;
249 unsigned int exponent:15;
250 unsigned int negative:1;
251 unsigned int empty:16;
252# endif
253#endif
254 } ieee_nan;
255 };
256
257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
258
259#elif __LDBL_MANT_DIG__ == 53
260
261union ieee854_long_double
262 {
263 long double d;
264
265 /* This is the IEEE 754 double-precision format. */
266 struct
267 {
268#if __BYTE_ORDER == __BIG_ENDIAN
269 unsigned int negative:1;
270 unsigned int exponent:11;
271 /* Together these comprise the mantissa. */
272 unsigned int mantissa0:20;
273 unsigned int mantissa1:32;
274#endif /* Big endian. */
275#if __BYTE_ORDER == __LITTLE_ENDIAN
276# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
277 unsigned int mantissa0:20;
278 unsigned int exponent:11;
279 unsigned int negative:1;
280 unsigned int mantissa1:32;
281# else
282 /* Together these comprise the mantissa. */
283 unsigned int mantissa1:32;
284 unsigned int mantissa0:20;
285 unsigned int exponent:11;
286 unsigned int negative:1;
287# endif
288#endif /* Little endian. */
289 } ieee;
290
291 /* This format makes it easier to see if a NaN is a signalling NaN. */
292 struct
293 {
294#if __BYTE_ORDER == __BIG_ENDIAN
295 unsigned int negative:1;
296 unsigned int exponent:11;
297 unsigned int quiet_nan:1;
298 /* Together these comprise the mantissa. */
299 unsigned int mantissa0:19;
300 unsigned int mantissa1:32;
301#else
302# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
303 unsigned int mantissa0:19;
304 unsigned int quiet_nan:1;
305 unsigned int exponent:11;
306 unsigned int negative:1;
307 unsigned int mantissa1:32;
308# else
309 /* Together these comprise the mantissa. */
310 unsigned int mantissa1:32;
311 unsigned int mantissa0:19;
312 unsigned int quiet_nan:1;
313 unsigned int exponent:11;
314 unsigned int negative:1;
315# endif
316#endif
317 } ieee_nan;
318 };
319
320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
321
322#endif /* __LDBL_MANT_DIG__ == 53 */
323
324__END_DECLS
325
326#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/endianness.h created+16
......@@ -0,0 +1,16 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* PowerPC has selectable endianness. */
9#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
10# define __BYTE_ORDER __BIG_ENDIAN
11#endif
12#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
13# define __BYTE_ORDER __LITTLE_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/environments.h created+96
......@@ -0,0 +1,96 @@
1/* Copyright (C) 1999-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* Environments with 32-bit wide pointers are optionally provided.
45 Therefore following macros aren't defined:
46 # undef _POSIX_V7_ILP32_OFF32
47 # undef _POSIX_V7_ILP32_OFFBIG
48 # undef _POSIX_V6_ILP32_OFF32
49 # undef _POSIX_V6_ILP32_OFFBIG
50 # undef _XBS5_ILP32_OFF32
51 # undef _XBS5_ILP32_OFFBIG
52 and users need to check at runtime. */
53
54/* We also have no use (for now) for an environment with bigger pointers
55 and offsets. */
56# define _POSIX_V7_LPBIG_OFFBIG -1
57# define _POSIX_V6_LPBIG_OFFBIG -1
58# define _XBS5_LPBIG_OFFBIG -1
59
60/* By default we have 64-bit wide `long int', pointers and `off_t'. */
61# define _POSIX_V7_LP64_OFF64 1
62# define _POSIX_V6_LP64_OFF64 1
63# define _XBS5_LP64_OFF64 1
64
65#else /* __WORDSIZE == 32 */
66
67/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
68 and all platforms support LFS. */
69# define _POSIX_V7_ILP32_OFF32 1
70# define _POSIX_V7_ILP32_OFFBIG 1
71# define _POSIX_V6_ILP32_OFF32 1
72# define _POSIX_V6_ILP32_OFFBIG 1
73# define _XBS5_ILP32_OFF32 1
74# define _XBS5_ILP32_OFFBIG 1
75
76/* We optionally provide an environment with the above size but an 64-bit
77 side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
78
79/* Environments with 64-bit wide pointers can be provided,
80 so these macros aren't defined:
81 # undef _POSIX_V7_LP64_OFF64
82 # undef _POSIX_V7_LPBIG_OFFBIG
83 # undef _POSIX_V6_LP64_OFF64
84 # undef _POSIX_V6_LPBIG_OFFBIG
85 # undef _XBS5_LP64_OFF64
86 # undef _XBS5_LPBIG_OFFBIG
87 and sysconf tests for it at runtime. */
88
89#endif /* __WORDSIZE == 32 */
90
91#define __ILP32_OFF32_CFLAGS "-m32"
92#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
93#define __ILP32_OFF32_LDFLAGS "-m32"
94#define __ILP32_OFFBIG_LDFLAGS "-m32"
95#define __LP64_OFF64_CFLAGS "-m64"
96#define __LP64_OFF64_LDFLAGS "-m64"
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/fcntl.h created+68
......@@ -0,0 +1,68 @@
1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#define __O_DIRECTORY 040000 /* Must be a directory. */
26#define __O_NOFOLLOW 0100000 /* Do not follow links. */
27#define __O_DIRECT 0400000 /* Direct disk access. */
28
29#if __WORDSIZE == 64
30/* Not necessary, files are always with 64bit off_t. */
31# define __O_LARGEFILE 0
32#else
33# define __O_LARGEFILE 0200000
34#endif
35
36#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64
37# define F_GETLK 5
38# define F_SETLK 6
39# define F_SETLKW 7
40#endif
41
42struct flock
43 {
44 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
45 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
46#ifndef __USE_FILE_OFFSET64
47 __off_t l_start; /* Offset where the lock begins. */
48 __off_t l_len; /* Size of the locked area; zero means until EOF. */
49#else
50 __off64_t l_start; /* Offset where the lock begins. */
51 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
52#endif
53 __pid_t l_pid; /* Process holding the lock. */
54 };
55
56#ifdef __USE_LARGEFILE64
57struct flock64
58 {
59 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
60 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
61 __off64_t l_start; /* Offset where the lock begins. */
62 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
63 __pid_t l_pid; /* Process holding the lock. */
64 };
65#endif
66
67/* Include generic Linux declarations. */
68#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/fenv.h created+180
......@@ -0,0 +1,180 @@
1/* Copyright (C) 1997-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22
23/* Define bits representing the exception. We use the bit positions of
24 the appropriate bits in the FPSCR... */
25enum
26 {
27 FE_INEXACT =
28#define FE_INEXACT (1 << (31 - 6))
29 FE_INEXACT,
30 FE_DIVBYZERO =
31#define FE_DIVBYZERO (1 << (31 - 5))
32 FE_DIVBYZERO,
33 FE_UNDERFLOW =
34#define FE_UNDERFLOW (1 << (31 - 4))
35 FE_UNDERFLOW,
36 FE_OVERFLOW =
37#define FE_OVERFLOW (1 << (31 - 3))
38 FE_OVERFLOW,
39
40 /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID
41 actually corresponds to bits 7 through 12 and 21 through 23
42 in the FPSCR, but we can't use that because the current draft
43 says that it must be a power of 2. Instead we use bit 2 which
44 is the summary bit for all the FE_INVALID exceptions, which
45 kind of makes sense. */
46 FE_INVALID =
47#define FE_INVALID (1 << (31 - 2))
48 FE_INVALID,
49
50#ifdef __USE_GNU
51 /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an
52 input to a routine is equivalent to setting all of these bits;
53 FE_INVALID will be set on output from a routine iff one of
54 these bits is set. Note, though, that you can't disable or
55 enable these exceptions individually. */
56
57 /* Operation with a sNaN. */
58 FE_INVALID_SNAN =
59# define FE_INVALID_SNAN (1 << (31 - 7))
60 FE_INVALID_SNAN,
61
62 /* Inf - Inf */
63 FE_INVALID_ISI =
64# define FE_INVALID_ISI (1 << (31 - 8))
65 FE_INVALID_ISI,
66
67 /* Inf / Inf */
68 FE_INVALID_IDI =
69# define FE_INVALID_IDI (1 << (31 - 9))
70 FE_INVALID_IDI,
71
72 /* 0 / 0 */
73 FE_INVALID_ZDZ =
74# define FE_INVALID_ZDZ (1 << (31 - 10))
75 FE_INVALID_ZDZ,
76
77 /* Inf * 0 */
78 FE_INVALID_IMZ =
79# define FE_INVALID_IMZ (1 << (31 - 11))
80 FE_INVALID_IMZ,
81
82 /* Comparison with a NaN. */
83 FE_INVALID_COMPARE =
84# define FE_INVALID_COMPARE (1 << (31 - 12))
85 FE_INVALID_COMPARE,
86
87 /* Invalid operation flag for software (not set by hardware). */
88 /* Note that some chips don't have this implemented, presumably
89 because no-one expected anyone to write software for them %-). */
90 FE_INVALID_SOFTWARE =
91# define FE_INVALID_SOFTWARE (1 << (31 - 21))
92 FE_INVALID_SOFTWARE,
93
94 /* Square root of negative number (including -Inf). */
95 /* Note that some chips don't have this implemented. */
96 FE_INVALID_SQRT =
97# define FE_INVALID_SQRT (1 << (31 - 22))
98 FE_INVALID_SQRT,
99
100 /* Conversion-to-integer of a NaN or a number too large or too small. */
101 FE_INVALID_INTEGER_CONVERSION =
102# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23))
103 FE_INVALID_INTEGER_CONVERSION
104
105# define FE_ALL_INVALID \
106 (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \
107 | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \
108 | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION)
109#endif
110 };
111
112#define FE_ALL_EXCEPT \
113 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
114
115/* PowerPC chips support all of the four defined rounding modes. We
116 use the bit pattern in the FPSCR as the values for the
117 appropriate macros. */
118enum
119 {
120 FE_TONEAREST =
121#define FE_TONEAREST 0
122 FE_TONEAREST,
123 FE_TOWARDZERO =
124#define FE_TOWARDZERO 1
125 FE_TOWARDZERO,
126 FE_UPWARD =
127#define FE_UPWARD 2
128 FE_UPWARD,
129 FE_DOWNWARD =
130#define FE_DOWNWARD 3
131 FE_DOWNWARD
132 };
133
134/* Type representing exception flags. */
135typedef unsigned int fexcept_t;
136
137/* Type representing floating-point environment. We leave it as 'double'
138 for efficiency reasons (rather than writing it to a 32-bit integer). */
139typedef double fenv_t;
140
141/* If the default argument is used we use this value. */
142extern const fenv_t __fe_dfl_env;
143#define FE_DFL_ENV (&__fe_dfl_env)
144
145#ifdef __USE_GNU
146/* Floating-point environment where all exceptions are enabled. Note that
147 this is not sufficient to give you SIGFPE. */
148extern const fenv_t __fe_enabled_env;
149# define FE_ENABLED_ENV (&__fe_enabled_env)
150
151/* Floating-point environment with (processor-dependent) non-IEEE floating
152 point. */
153extern const fenv_t __fe_nonieee_env;
154# define FE_NONIEEE_ENV (&__fe_nonieee_env)
155
156/* Floating-point environment with all exceptions enabled. Note that
157 just evaluating this value does not change the processor exception mode.
158 Passing this mask to fesetenv will result in a prctl syscall to change
159 the MSR FE0/FE1 bits to "Precise Mode". On some processors this will
160 result in slower floating point execution. This will last until an
161 fenv or exception mask is installed that disables all FP exceptions. */
162# define FE_NOMASK_ENV FE_ENABLED_ENV
163
164/* Floating-point environment with all exceptions disabled. Note that
165 just evaluating this value does not change the processor exception mode.
166 Passing this mask to fesetenv will result in a prctl syscall to change
167 the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors
168 this allows the fastest possible floating point execution.*/
169# define FE_MASK_ENV FE_DFL_ENV
170
171#endif
172
173#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
174/* Type representing floating-point control modes. */
175typedef double femode_t;
176
177/* Default floating-point control modes. */
178extern const femode_t __fe_dfl_mode;
179# define FE_DFL_MODE (&__fe_dfl_mode)
180#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/floatn.h created+122
......@@ -0,0 +1,122 @@
1/* Macros to control TS 18661-3 glibc features on powerpc.
2 Copyright (C) 2017-2025 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 glibc
27 includes corresponding *f128 interfaces for it. */
28#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \
29 && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH
30# define __HAVE_FLOAT128 1
31#else
32# define __HAVE_FLOAT128 0
33#endif
34
35/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
36 from the default float, double and long double types in this glibc, i.e.
37 calls to the binary128 functions go to *f128 symbols instead of *l. */
38#if __HAVE_FLOAT128
39# define __HAVE_DISTINCT_FLOAT128 1
40#else
41# define __HAVE_DISTINCT_FLOAT128 0
42#endif
43
44/* Defined to 1 if the current compiler invocation provides a
45 floating-point type with the right format for _Float64x, and this
46 glibc includes corresponding *f64x interfaces for it. */
47#define __HAVE_FLOAT64X __HAVE_FLOAT128
48
49/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
50 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
51 the format of _Float128, which must be different from that of long
52 double. */
53#define __HAVE_FLOAT64X_LONG_DOUBLE 0
54
55#ifndef __ASSEMBLER__
56
57/* Defined to concatenate the literal suffix to be used with _Float128
58 types, if __HAVE_FLOAT128 is 1. */
59# if __HAVE_FLOAT128
60# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
61/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */
62# if __LDBL_MANT_DIG__ == 113
63# define __f128(x) x##l
64# else
65# define __f128(x) x##q
66# endif
67# else
68# define __f128(x) x##f128
69# endif
70# endif
71
72/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
73# if __HAVE_FLOAT128
74# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0)
75typedef long double _Float128;
76# define __CFLOAT128 _Complex long double
77# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
78/* The type _Float128 exist for powerpc only since GCC 7.0. */
79typedef __float128 _Float128;
80/* Add a typedef for older GCC and C++ compilers which don't natively support
81 _Complex _Float128. */
82typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
83# define __CFLOAT128 __cfloat128
84# else
85# define __CFLOAT128 _Complex _Float128
86# endif
87# endif
88
89/* The remaining of this file provides support for older compilers. */
90# if __HAVE_FLOAT128
91/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */
92# if !__GNUC_PREREQ (7, 0)
93# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
94# endif
95
96/* The following builtins (suffixed with 'q') are available in GCC >= 6.2,
97 which is the minimum version required for float128 support on powerpc64le.
98 Since GCC 7.0 the builtins suffixed with f128 are also available, then
99 there is no need to redefined them. */
100# if !__GNUC_PREREQ (7, 0)
101# define __builtin_copysignf128 __builtin_copysignq
102# define __builtin_fabsf128 __builtin_fabsq
103# define __builtin_inff128 __builtin_infq
104# define __builtin_nanf128 __builtin_nanq
105# define __builtin_nansf128 __builtin_nansq
106# endif
107
108/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
109 e.g.: __builtin_signbitf128, before GCC 6. However, there has never
110 been a __builtin_signbitf128 in GCC and the type-generic builtin is
111 only available since GCC 6. */
112# if !__GNUC_PREREQ (6, 0)
113# define __builtin_signbitf128 __signbitf128
114# endif
115
116# endif
117
118#endif /* !__ASSEMBLER__. */
119
120#include <bits/floatn-common.h>
121
122#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/fp-fast.h created+39
......@@ -0,0 +1,39 @@
1/* Define FP_FAST_* macros. PowerPC version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
21#endif
22
23#ifdef __USE_ISOC99
24
25/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
26 builtins are supported. */
27# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA
28# define FP_FAST_FMA 1
29# endif
30
31# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF
32# define FP_FAST_FMAF 1
33# endif
34
35# ifdef __FP_FAST_FMAL
36# define FP_FAST_FMAL 1
37# endif
38
39#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/hwcap.h created+78
......@@ -0,0 +1,78 @@
1/* Defines for bits in AT_HWCAP and AT_HWCAP2.
2 Copyright (C) 2012-2025 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(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The bit numbers must match those in the kernel's asm/cputable.h. */
24
25/* Feature definitions in AT_HWCAP. */
26#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */
27#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */
28#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */
29#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */
30#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */
31#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */
32#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */
33#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */
34#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */
35#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */
36#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */
37#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */
38#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */
39#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */
40#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */
41#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */
42#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */
43#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous
44 Multi-Threading */
45#define PPC_FEATURE_ICACHE_SNOOP 0x00002000
46#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */
47#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */
48#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */
49#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */
50#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */
51#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */
52#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040
53/* Reserved by the kernel. 0x00000004 Do not use. */
54#define PPC_FEATURE_TRUE_LE 0x00000002
55#define PPC_FEATURE_PPC_LE 0x00000001
56
57/* Feature definitions in AT_HWCAP2. */
58#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */
59#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional
60 Memory */
61#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control
62 Register */
63#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */
64#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */
65#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */
66#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector
67 instruction. */
68#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction
69 when a syscall is made. */
70#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */
71#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float
72 128-bit */
73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended
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/ioctl-types.h created+77
......@@ -0,0 +1,77 @@
1/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.
2 Copyright (C) 2014-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26
27struct winsize
28 {
29 unsigned short int ws_row;
30 unsigned short int ws_col;
31 unsigned short int ws_xpixel;
32 unsigned short int ws_ypixel;
33 };
34
35#define NCC 10
36struct termio
37 {
38 unsigned short int c_iflag; /* input mode flags */
39 unsigned short int c_oflag; /* output mode flags */
40 unsigned short int c_cflag; /* control mode flags */
41 unsigned short int c_lflag; /* local mode flags */
42 unsigned char c_line; /* line discipline */
43 unsigned char c_cc[NCC]; /* control characters */
44};
45
46/* modem lines */
47#define TIOCM_LE 0x001
48#define TIOCM_DTR 0x002
49#define TIOCM_RTS 0x004
50#define TIOCM_ST 0x008
51#define TIOCM_SR 0x010
52#define TIOCM_CTS 0x020
53#define TIOCM_CAR 0x040
54#define TIOCM_RNG 0x080
55#define TIOCM_DSR 0x100
56#define TIOCM_CD TIOCM_CAR
57#define TIOCM_RI TIOCM_RNG
58
59/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
60
61/* line disciplines */
62#define N_TTY 0
63#define N_SLIP 1
64#define N_MOUSE 2
65#define N_PPP 3
66#define N_STRIP 4
67#define N_AX25 5
68#define N_X25 6 /* X.25 async */
69#define N_6PACK 7
70#define N_MASC 8 /* Mobitex module */
71#define N_R3964 9 /* Simatic R3964 module */
72#define N_PROFIBUS_FDL 10 /* Profibus */
73#define N_IRDA 11 /* Linux IR */
74#define N_SMSBLOCK 12 /* SMS block mode */
75#define N_HDLC 13 /* synchronous HDLC */
76#define N_SYNC_PPP 14 /* synchronous PPP */
77#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/ipc-perm.h created+36
......@@ -0,0 +1,36 @@
1/* struct ipc_perm definition. Linux/powerpc version.
2 Copyright (C) 1995-2025 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_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 __uint32_t __seq; /* Sequence number. */
33 __uint32_t __pad1;
34 __uint64_t __glibc_reserved1;
35 __uint64_t __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/iscanonical.h created+58
......@@ -0,0 +1,58 @@
1/* Define iscanonical macro. ldbl-128ibm version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif
22
23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
25#else
26extern int __iscanonicall (long double __x)
27 __THROW __attribute__ ((__const__));
28# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
29# define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
30# if __HAVE_DISTINCT_FLOAT128
31# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
32# endif
33
34/* Return nonzero value if X is canonical. In IEEE interchange binary
35 formats, all values are canonical, but the argument must still be
36 converted to its semantic type for any exceptions arising from the
37 conversion, before being discarded; in IBM long double, there are
38 encodings that are not consistently handled as corresponding to any
39 particular value of the type, and we return 0 for those. */
40# ifndef __cplusplus
41# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
42# else
43/* In C++ mode, __MATH_TG cannot be used, because it relies on
44 __builtin_types_compatible_p, which is a C-only builtin. On the
45 other hand, overloading provides the means to distinguish between
46 the floating-point types. The overloading resolution will match
47 the correct parameter (regardless of type qualifiers (i.e.: const
48 and volatile)). */
49extern "C++" {
50inline int iscanonical (float __val) { return __iscanonicalf (__val); }
51inline int iscanonical (double __val) { return __iscanonical (__val); }
52inline int iscanonical (long double __val) { return __iscanonicall (__val); }
53# if __HAVE_DISTINCT_FLOAT128
54inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
55# endif
56}
57# endif /* __cplusplus */
58#endif /* __NO_LONG_DOUBLE_MATH */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/link.h created+156
......@@ -0,0 +1,156 @@
1/* Machine-specific declarations for dynamic linker interface. PowerPC version
2 Copyright (C) 2004-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23
24#if __ELF_NATIVE_CLASS == 32
25
26/* Registers for entry into PLT on PPC32. */
27typedef struct La_ppc32_regs
28{
29 uint32_t lr_reg[8];
30 double lr_fp[8];
31 uint32_t lr_vreg[12][4];
32 uint32_t lr_r1;
33 uint32_t lr_lr;
34} La_ppc32_regs;
35
36/* Return values for calls from PLT on PPC32. */
37typedef struct La_ppc32_retval
38{
39 uint32_t lrv_r3;
40 uint32_t lrv_r4;
41 double lrv_fp[8];
42 uint32_t lrv_v2[4];
43} La_ppc32_retval;
44
45
46__BEGIN_DECLS
47
48extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym,
49 unsigned int __ndx,
50 uintptr_t *__refcook,
51 uintptr_t *__defcook,
52 La_ppc32_regs *__regs,
53 unsigned int *__flags,
54 const char *__symname,
55 long int *__framesizep);
56extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym,
57 unsigned int __ndx,
58 uintptr_t *__refcook,
59 uintptr_t *__defcook,
60 const La_ppc32_regs *__inregs,
61 La_ppc32_retval *__outregs,
62 const char *__symname);
63
64__END_DECLS
65
66#elif __ELF_NATIVE_CLASS == 64
67# if _CALL_ELF != 2
68
69/* Registers for entry into PLT on PPC64. */
70typedef struct La_ppc64_regs
71{
72 uint64_t lr_reg[8];
73 double lr_fp[13];
74 uint32_t __padding;
75 uint32_t lr_vrsave;
76 uint32_t lr_vreg[12][4];
77 uint64_t lr_r1;
78 uint64_t lr_lr;
79} La_ppc64_regs;
80
81/* Return values for calls from PLT on PPC64. */
82typedef struct La_ppc64_retval
83{
84 uint64_t lrv_r3;
85 uint64_t lrv_r4;
86 double lrv_fp[4]; /* f1-f4, float - complex long double. */
87 uint32_t lrv_v2[4]; /* v2. */
88} La_ppc64_retval;
89
90
91__BEGIN_DECLS
92
93extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym,
94 unsigned int __ndx,
95 uintptr_t *__refcook,
96 uintptr_t *__defcook,
97 La_ppc64_regs *__regs,
98 unsigned int *__flags,
99 const char *__symname,
100 long int *__framesizep);
101extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym,
102 unsigned int __ndx,
103 uintptr_t *__refcook,
104 uintptr_t *__defcook,
105 const La_ppc64_regs *__inregs,
106 La_ppc64_retval *__outregs,
107 const char *__symname);
108
109__END_DECLS
110
111# else
112
113/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */
114typedef struct La_ppc64v2_regs
115{
116 uint64_t lr_reg[8];
117 double lr_fp[13];
118 uint32_t __padding;
119 uint32_t lr_vrsave;
120 uint32_t lr_vreg[12][4] __attribute__ ((aligned (16)));
121 uint64_t lr_r1;
122 uint64_t lr_lr;
123} La_ppc64v2_regs;
124
125/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */
126typedef struct La_ppc64v2_retval
127{
128 uint64_t lrv_r3;
129 uint64_t lrv_r4;
130 double lrv_fp[10];
131 uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16)));
132} La_ppc64v2_retval;
133
134
135__BEGIN_DECLS
136
137extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym,
138 unsigned int __ndx,
139 uintptr_t *__refcook,
140 uintptr_t *__defcook,
141 La_ppc64v2_regs *__regs,
142 unsigned int *__flags,
143 const char *__symname,
144 long int *__framesizep);
145extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym,
146 unsigned int __ndx,
147 uintptr_t *__refcook,
148 uintptr_t *__defcook,
149 const La_ppc64v2_regs *__inregs,
150 La_ppc64v2_retval *__outregs,
151 const char *__symname);
152
153__END_DECLS
154
155# endif
156#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/long-double.h created+31
......@@ -0,0 +1,31 @@
1/* Properties of long double type. ldbl-opt version.
2 Copyright (C) 2016-2025 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 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 __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 1
23# endif
24#endif
25
26// zig patch: handle both be and le in the same header
27#ifdef __LITTLE_ENDIAN__
28#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI (__LDBL_MANT_DIG__ == 113)
29#else
30#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
31#endif
lib/libc/include/powerpc-linux-gnu/bits/mman.h created+51
......@@ -0,0 +1,51 @@
1/* Definitions for POSIX memory map interface. Linux/PowerPC version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26#define PROT_SAO 0x10 /* Strong Access Ordering. */
27
28/* These are Linux-specific. */
29#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
30#define MAP_DENYWRITE 0x00800 /* ETXTBSY */
31#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
32#define MAP_LOCKED 0x00080 /* Lock the mapping. */
33#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */
34#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
35#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
36#define MAP_STACK 0x20000 /* Allocation is for a stack. */
37#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
38#define MAP_SYNC 0x80000 /* Perform synchronous page
39 faults for the mapping. */
40#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
41 underlying mapping. */
42
43/* Flags for `mlockall'. */
44#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */
45#define MCL_FUTURE 0x4000 /* Lock all additions to address
46 space. */
47#define MCL_ONFAULT 0x8000 /* Lock all pages that are
48 faulted in. */
49
50/* Include generic Linux declarations. */
51#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/procfs.h created+49
......@@ -0,0 +1,49 @@
1/* Types for registers for sys/procfs.h. PowerPC version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <signal.h>
24#include <sys/ucontext.h>
25
26/* These definitions are normally provided by ucontext.h via
27 asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define
28 them here. */
29#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H
30#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */
31#define ELF_NFPREG 33 /* includes fpscr */
32#if __WORDSIZE == 32
33# define ELF_NVRREG 33 /* includes vscr */
34#else
35# define ELF_NVRREG 34 /* includes vscr */
36#endif
37
38typedef unsigned long elf_greg_t;
39typedef elf_greg_t elf_gregset_t[ELF_NGREG];
40
41typedef double elf_fpreg_t;
42typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
43
44/* Altivec registers */
45typedef struct {
46 unsigned int u[4];
47} __attribute__ ((__aligned__ (16))) elf_vrreg_t;
48typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
49#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/pthread_stack_min.h created+21
......@@ -0,0 +1,21 @@
1/* Definition of PTHREAD_STACK_MIN. Linux/PPC version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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; see the file COPYING.LIB. If
17 not, see <https://www.gnu.org/licenses/>. */
18
19/* Minimum size for a thread. At least two pages for systems with 64k
20 pages. */
21#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/rseq.h created+37
......@@ -0,0 +1,37 @@
1/* Restartable Sequences Linux powerpc architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 RSEQ_SIG uses the following trap instruction:
32
33 powerpc-be: 0f e5 00 0b twui r5,11
34 powerpc64-le: 0b 00 e5 0f twui r5,11
35 powerpc64-be: 0f e5 00 0b twui r5,11 */
36
37#define RSEQ_SIG 0x0fe5000b
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/setjmp.h created+50
......@@ -0,0 +1,50 @@
1/* Copyright (C) 1997-2025 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/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 1
21
22#if !defined _SETJMP_H && !defined _PTHREAD_H
23# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
24#endif
25
26/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
27 We use an array of 'long int' instead, to make writing the
28 assembler easier. Naturally, user code should not depend on
29 either representation. */
30
31#include <bits/wordsize.h>
32
33/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI
34 the vrsave must be at byte 248 & v20 at byte 256. So we must pad this
35 correctly on 32 bit. It also insists that vecregs are only guaranteed
36 4 byte alignment so we need to use vperm in the setjmp/longjmp routines.
37 We have to version the code because members like int __mask_was_saved
38 in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We
39 cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */
40#ifndef _ASM
41# if __WORDSIZE == 64
42typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16)));
43# else
44/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte
45 aligned buffer as per the ABI it is just added for performance reasons. */
46typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16)));
47# endif
48#endif
49
50#endif /* bits/setjmp.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/sigstack.h created+37
......@@ -0,0 +1,37 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 1998-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26#ifdef __powerpc64__
27#define MINSIGSTKSZ 8192
28#define SIGSTKSZ 32768
29#else
30/* Minimum stack size for a signal handler. */
31#define MINSIGSTKSZ 4096
32
33/* System default stack size. */
34#define SIGSTKSZ 16384
35#endif
36
37#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/socket-constants.h created+70
......@@ -0,0 +1,70 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 16
33#define SO_REUSEADDR 2
34#define SO_SNDBUF 7
35#define SO_SNDLOWAT 17
36#define SO_TYPE 3
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 18
40# define SO_SNDTIMEO 19
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 18
46# define SO_SNDTIMEO_OLD 19
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/struct_mutex.h created+63
......@@ -0,0 +1,63 @@
1/* PowerPC internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__elision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/struct_rwlock.h created+61
......@@ -0,0 +1,61 @@
1/* PowerPC internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned char __rwelision;
35 unsigned char __pad1[7];
36 unsigned long int __pad2;
37 /* FLAGS must stay at this position in the structure to maintain
38 binary compatibility. */
39 unsigned int __flags;
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
41#else
42 unsigned char __rwelision;
43 unsigned char __pad2;
44 unsigned char __shared;
45 /* FLAGS must stay at this position in the structure to maintain
46 binary compatibility. */
47 unsigned char __flags;
48 int __cur_writer;
49# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
50#endif
51};
52
53#if __WORDSIZE == 64
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/struct_stat.h created+231
......@@ -0,0 +1,231 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/wordsize.h>
27
28#if __WORDSIZE == 32
29struct stat
30 {
31# ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33# else
34 __dev_t st_dev; /* Device. */
35# ifndef __USE_FILE_OFFSET64
36 unsigned short int __pad1;
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino64_t st_ino; /* File serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80 unsigned long int __glibc_reserved4;
81 unsigned long int __glibc_reserved5;
82# endif /* __USE_TIME64_REDIRECTS */
83 };
84
85# ifdef __USE_LARGEFILE64
86struct stat64
87 {
88# ifdef __USE_TIME64_REDIRECTS
89# include <bits/struct_stat_time64_helper.h>
90# else
91 __dev_t st_dev; /* Device. */
92 __ino64_t st_ino; /* File serial number. */
93 __mode_t st_mode; /* File mode. */
94 __nlink_t st_nlink; /* Link count. */
95 __uid_t st_uid; /* User ID of the file's owner. */
96 __gid_t st_gid; /* Group ID of the file's group.*/
97 __dev_t st_rdev; /* Device number, if device. */
98 unsigned short int __pad2;
99 __off64_t st_size; /* Size of file, in bytes. */
100 __blksize_t st_blksize; /* Optimal block size for I/O. */
101 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
102# ifdef __USE_XOPEN2K8
103 /* Nanosecond resolution timestamps are stored in a format
104 equivalent to 'struct timespec'. This is the type used
105 whenever possible but the Unix namespace rules do not allow the
106 identifier 'timespec' to appear in the <sys/stat.h> header.
107 Therefore we have to handle the use of this header in strictly
108 standard-compliant sources special. */
109 struct timespec st_atim; /* Time of last access. */
110 struct timespec st_mtim; /* Time of last modification. */
111 struct timespec st_ctim; /* Time of last status change. */
112# define st_atime st_atim.tv_sec /* Backward compatibility. */
113# define st_mtime st_mtim.tv_sec
114# define st_ctime st_ctim.tv_sec
115# else
116 __time_t st_atime; /* Time of last access. */
117 unsigned long int st_atimensec; /* Nscecs of last access. */
118 __time_t st_mtime; /* Time of last modification. */
119 unsigned long int st_mtimensec; /* Nsecs of last modification. */
120 __time_t st_ctime; /* Time of last status change. */
121 unsigned long int st_ctimensec; /* Nsecs of last status change. */
122# endif
123 unsigned long int __glibc_reserved4;
124 unsigned long int __glibc_reserved5;
125# endif /* __USE_TIME64_REDIRECTS */
126 };
127# endif /* __USE_LARGEFILE64 */
128
129#else /* __WORDSIZE == 32 */
130
131struct stat
132 {
133 __dev_t st_dev; /* Device. */
134# ifndef __USE_FILE_OFFSET64
135 __ino_t st_ino; /* File serial number. */
136# else
137 __ino64_t st_ino; /* File serial number. */
138# endif
139 __nlink_t st_nlink; /* Link count. */
140 __mode_t st_mode; /* File mode. */
141 __uid_t st_uid; /* User ID of the file's owner. */
142 __gid_t st_gid; /* Group ID of the file's group.*/
143 int __pad2;
144 __dev_t st_rdev; /* Device number, if device. */
145# ifndef __USE_FILE_OFFSET64
146 __off_t st_size; /* Size of file, in bytes. */
147# else
148 __off64_t st_size; /* Size of file, in bytes. */
149# endif
150 __blksize_t st_blksize; /* Optimal block size for I/O. */
151
152# ifndef __USE_FILE_OFFSET64
153 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
154# else
155 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
156# endif
157# ifdef __USE_XOPEN2K8
158 /* Nanosecond resolution timestamps are stored in a format
159 equivalent to 'struct timespec'. This is the type used
160 whenever possible but the Unix namespace rules do not allow the
161 identifier 'timespec' to appear in the <sys/stat.h> header.
162 Therefore we have to handle the use of this header in strictly
163 standard-compliant sources special. */
164 struct timespec st_atim; /* Time of last access. */
165 struct timespec st_mtim; /* Time of last modification. */
166 struct timespec st_ctim; /* Time of last status change. */
167# define st_atime st_atim.tv_sec /* Backward compatibility. */
168# define st_mtime st_mtim.tv_sec
169# define st_ctime st_ctim.tv_sec
170# else
171 __time_t st_atime; /* Time of last access. */
172 unsigned long int st_atimensec; /* Nscecs of last access. */
173 __time_t st_mtime; /* Time of last modification. */
174 unsigned long int st_mtimensec; /* Nsecs of last modification. */
175 __time_t st_ctime; /* Time of last status change. */
176 unsigned long int st_ctimensec; /* Nsecs of last status change. */
177# endif
178 unsigned long int __glibc_reserved4;
179 unsigned long int __glibc_reserved5;
180 unsigned long int __glibc_reserved6;
181 };
182
183# ifdef __USE_LARGEFILE64
184struct stat64
185 {
186 __dev_t st_dev; /* Device. */
187 __ino64_t st_ino; /* File serial number. */
188 __nlink_t st_nlink; /* Link count. */
189 __mode_t st_mode; /* File mode. */
190 __uid_t st_uid; /* User ID of the file's owner. */
191 __gid_t st_gid; /* Group ID of the file's group.*/
192 int __pad2;
193 __dev_t st_rdev; /* Device number, if device. */
194 __off64_t st_size; /* Size of file, in bytes. */
195 __blksize_t st_blksize; /* Optimal block size for I/O. */
196 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
197# ifdef __USE_XOPEN2K8
198 /* Nanosecond resolution timestamps are stored in a format
199 equivalent to 'struct timespec'. This is the type used
200 whenever possible but the Unix namespace rules do not allow the
201 identifier 'timespec' to appear in the <sys/stat.h> header.
202 Therefore we have to handle the use of this header in strictly
203 standard-compliant sources special. */
204 struct timespec st_atim; /* Time of last access. */
205 struct timespec st_mtim; /* Time of last modification. */
206 struct timespec st_ctim; /* Time of last status change. */
207# define st_atime st_atim.tv_sec /* Backward compatibility. */
208# define st_mtime st_mtim.tv_sec
209# define st_ctime st_ctim.tv_sec
210# else
211 __time_t st_atime; /* Time of last access. */
212 unsigned long int st_atimensec; /* Nscecs of last access. */
213 __time_t st_mtime; /* Time of last modification. */
214 unsigned long int st_mtimensec; /* Nsecs of last modification. */
215 __time_t st_ctime; /* Time of last status change. */
216 unsigned long int st_ctimensec; /* Nsecs of last status change. */
217# endif
218 unsigned long int __glibc_reserved4;
219 unsigned long int __glibc_reserved5;
220 unsigned long int __glibc_reserved6;
221 };
222# endif /* __USE_LARGEFILE64 */
223#endif
224
225/* Tell code we have these members. */
226#define _STATBUF_ST_BLKSIZE
227#define _STATBUF_ST_RDEV
228/* Nanosecond resolution time values are supported. */
229#define _STATBUF_ST_NSEC
230
231#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/termios-baud.h created+45
......@@ -0,0 +1,45 @@
1/* termios baud rate selection definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24# define CBAUD 0000377
25# define CBAUDEX 0000020
26# define CMSPAR 010000000000 /* mark or space (stick) parity */
27# define CRTSCTS 020000000000 /* flow control */
28#endif
29
30#define B57600 00020
31#define B115200 00021
32#define B230400 00022
33#define B460800 00023
34#define B500000 00024
35#define B576000 00025
36#define B921600 00026
37#define B1000000 00027
38#define B1152000 00030
39#define B1500000 00031
40#define B2000000 00032
41#define B2500000 00033
42#define B3000000 00034
43#define B3500000 00035
44#define B4000000 00036
45#define __MAX_BAUD B4000000
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/termios-c_cc.h created+41
......@@ -0,0 +1,41 @@
1/* termios c_cc symbolic constant definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0
25#define VQUIT 1
26#define VERASE 2
27#define VKILL 3
28#define VEOF 4
29#define VMIN 5
30#define VEOL 6
31#define VTIME 7
32#define VEOL2 8
33#define VSWTC 9
34
35#define VWERASE 10
36#define VREPRINT 11
37#define VSUSP 12
38#define VSTART 13
39#define VSTOP 14
40#define VLNEXT 15
41#define VDISCARD 16
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/termios-c_cflag.h created+39
......@@ -0,0 +1,39 @@
1/* termios control mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
21#endif
22
23#define CSIZE 00001400
24#define CS5 00000000
25#define CS6 00000400
26#define CS7 00001000
27#define CS8 00001400
28
29#define CSTOPB 00002000
30#define CREAD 00004000
31#define PARENB 00010000
32#define PARODD 00020000
33#define HUPCL 00040000
34
35#define CLOCAL 00100000
36
37#ifdef __USE_MISC
38# define ADDRB 04000000000
39#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/termios-c_iflag.h created+38
......@@ -0,0 +1,38 @@
1/* termios input mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."
21#endif
22
23/* c_iflag bits */
24#define IGNBRK 0000001
25#define BRKINT 0000002
26#define IGNPAR 0000004
27#define PARMRK 0000010
28#define INPCK 0000020
29#define ISTRIP 0000040
30#define INLCR 0000100
31#define IGNCR 0000200
32#define ICRNL 0000400
33#define IXON 0001000
34#define IXOFF 0002000
35#define IXANY 0004000
36#define IUCLC 0010000
37#define IMAXBEL 0020000
38#define IUTF8 0040000
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/termios-c_lflag.h created+45
......@@ -0,0 +1,45 @@
1/* termios local mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0x00000080
25#define ICANON 0x00000100
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0x00004000
28#endif
29#define ECHO 0x00000008
30#define ECHOE 0x00000002
31#define ECHOK 0x00000004
32#define ECHONL 0x00000010
33#define NOFLSH 0x80000000
34#define TOSTOP 0x00400000
35#ifdef __USE_MISC
36# define ECHOCTL 0x00000040
37# define ECHOPRT 0x00000020
38# define ECHOKE 0x00000001
39# define FLUSHO 0x00800000
40# define PENDIN 0x20000000
41#endif
42#define IEXTEN 0x00000400
43#ifdef __USE_MISC
44# define EXTPROC 0x10000000
45#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/termios-c_oflag.h created+65
......@@ -0,0 +1,65 @@
1/* termios output mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_oflag bits */
24#define OPOST 0000001
25#define ONLCR 0000002
26#define OLCUC 0000004
27
28#define OCRNL 0000010
29#define ONOCR 0000020
30#define ONLRET 0000040
31
32#define OFILL 00000100
33#define OFDEL 00000200
34#if defined __USE_MISC || defined __USE_XOPEN
35# define NLDLY 00001400
36# define NL0 00000000
37# define NL1 00000400
38# if defined __USE_MISC
39# define NL2 00001000
40# define NL3 00001400
41# endif
42# define TABDLY 00006000
43# define TAB0 00000000
44# define TAB1 00002000
45# define TAB2 00004000
46# define TAB3 00006000
47# define CRDLY 00030000
48# define CR0 00000000
49# define CR1 00010000
50# define CR2 00020000
51# define CR3 00030000
52# define FFDLY 00040000
53# define FF0 00000000
54# define FF1 00040000
55# define BSDLY 00100000
56# define BS0 00000000
57# define BS1 00100000
58#endif
59#define VTDLY 00200000
60#define VT0 00000000
61#define VT1 00200000
62
63#ifdef __USE_MISC
64# define XTABS 00006000
65#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/termios-misc.h created+72
......@@ -0,0 +1,72 @@
1/* termios baud platform specific definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24
25struct sgttyb {
26 char sg_ispeed;
27 char sg_ospeed;
28 char sg_erase;
29 char sg_kill;
30 short sg_flags;
31};
32
33struct tchars {
34 char t_intrc;
35 char t_quitc;
36 char t_startc;
37 char t_stopc;
38 char t_eofc;
39 char t_brkc;
40};
41
42struct ltchars {
43 char t_suspc;
44 char t_dsuspc;
45 char t_rprntc;
46 char t_flushc;
47 char t_werasc;
48 char t_lnextc;
49};
50
51/* Used for packet mode */
52#define TIOCPKT_DATA 0
53#define TIOCPKT_FLUSHREAD 1
54#define TIOCPKT_FLUSHWRITE 2
55#define TIOCPKT_STOP 4
56#define TIOCPKT_START 8
57#define TIOCPKT_NOSTOP 16
58#define TIOCPKT_DOSTOP 32
59
60/* c_cc characters */
61#define _VINTR 0
62#define _VQUIT 1
63#define _VERASE 2
64#define _VKILL 3
65#define _VEOF 4
66#define _VMIN 5
67#define _VEOL 6
68#define _VTIME 7
69#define _VEOL2 8
70#define _VSWTC 9
71
72#endif /* __USE_MISC */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/timesize.h created+22
......@@ -0,0 +1,22 @@
1/* Bit size of the time_t type at glibc build time, Linux/PowerPC.
2 Copyright (C) 2021-2025 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#include <bits/wordsize.h>
20
21/* Size in bits of the 'time_t' type of the default ABI. */
22#define __TIMESIZE __WORDSIZE
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/types/struct_msqid_ds.h created+53
......@@ -0,0 +1,53 @@
1/* Linux/PowerPC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34 unsigned long int __msg_stime_high;
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_rtime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_ctime_high;
39 __time_t msg_ctime; /* time of last change */
40# else
41 __time_t msg_stime; /* time of last msgsnd command */
42 __time_t msg_rtime; /* time of last msgsnd command */
43 __time_t msg_ctime; /* time of last change */
44# endif
45 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
46 msgqnum_t msg_qnum; /* number of messages currently on queue */
47 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
48 __pid_t msg_lspid; /* pid of last msgsnd() */
49 __pid_t msg_lrpid; /* pid of last msgrcv() */
50 __syscall_ulong_t __glibc_reserved4;
51 __syscall_ulong_t __glibc_reserved5;
52#endif
53};
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/types/struct_semid_ds.h created+43
......@@ -0,0 +1,43 @@
1/* PowerPC implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 __syscall_ulong_t __sem_otime_high;
32 __time_t sem_otime; /* last semop() time */
33 __syscall_ulong_t __sem_ctime_high;
34 __time_t sem_ctime; /* last time changed by semctl() */
35# else
36 __time_t sem_otime; /* last semop() time */
37 __time_t sem_ctime; /* last time changed by semctl() */
38# endif
39 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
40 __syscall_ulong_t __glibc_reserved3;
41 __syscall_ulong_t __glibc_reserved4;
42#endif
43};
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/types/struct_shmid_ds.h created+50
......@@ -0,0 +1,50 @@
1/* Linux/PowerPC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 unsigned long int __shm_atime_high;
32 __time_t shm_atime; /* time of last shmat() */
33 unsigned long int __shm_dtime_high;
34 __time_t shm_dtime; /* time of last shmdt() */
35 unsigned long int __shm_ctime_high;
36 __time_t shm_ctime; /* time of last change by shmctl() */
37 unsigned long int __glibc_reserved4;
38# else
39 __time_t shm_atime; /* time of last shmat() */
40 __time_t shm_dtime; /* time of last shmdt() */
41 __time_t shm_ctime; /* time of last change by shmctl() */
42# endif
43 size_t shm_segsz; /* size of segment in bytes */
44 __pid_t shm_cpid; /* pid of creator */
45 __pid_t shm_lpid; /* pid of last shmop */
46 shmatt_t shm_nattch; /* number of current attaches */
47 __syscall_ulong_t __glibc_reserved5;
48 __syscall_ulong_t __glibc_reserved6;
49#endif
50 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/typesizes.h created+95
......@@ -0,0 +1,95 @@
1/* bits/typesizes.h -- underlying types for *_t. PowerPC version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/wordsize.h created+10
......@@ -0,0 +1,10 @@
1/* Determine the wordsize from the preprocessor defines. */
2
3#if defined __powerpc64__
4# define __WORDSIZE 64
5#else
6# define __WORDSIZE 32
7# define __WORDSIZE32_SIZE_ULONG 0
8# define __WORDSIZE32_PTRDIFF_LONG 0
9#endif
10#define __WORDSIZE_TIME64_COMPAT32 1
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/fpu_control.h created+114
......@@ -0,0 +1,114 @@
1/* FPU control word definitions. PowerPC version.
2 Copyright (C) 1996-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
23# error "SPE/e500 is no longer supported"
24#endif
25
26#ifdef _SOFT_FLOAT
27
28# define _FPU_RESERVED 0xffffffff
29# define _FPU_DEFAULT 0x00000000 /* Default value. */
30typedef unsigned int fpu_control_t;
31# define _FPU_GETCW(cw) (cw) = 0
32# define _FPU_SETCW(cw) (void) (cw)
33extern fpu_control_t __fpu_control;
34
35#else /* PowerPC 6xx floating-point. */
36
37/* rounding control */
38# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
39# define _FPU_RC_DOWN 0x03
40# define _FPU_RC_UP 0x02
41# define _FPU_RC_ZERO 0x01
42
43# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO)
44
45# define _FPU_MASK_NI 0x04 /* non-ieee mode */
46
47/* masking of interrupts */
48# define _FPU_MASK_ZM 0x10 /* zero divide */
49# define _FPU_MASK_OM 0x40 /* overflow */
50# define _FPU_MASK_UM 0x20 /* underflow */
51# define _FPU_MASK_XM 0x08 /* inexact */
52# define _FPU_MASK_IM 0x80 /* invalid operation */
53
54# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
55
56/* The fdlibm code requires no interrupts for exceptions. */
57# define _FPU_DEFAULT 0x00000000 /* Default value. */
58
59/* IEEE: same as above, but (some) exceptions;
60 we leave the 'inexact' exception off.
61 */
62# define _FPU_IEEE 0x000000f0
63
64/* Type of the control word. */
65typedef unsigned int fpu_control_t;
66
67/* Macros for accessing the hardware control word. */
68# define _FPU_GETCW(cw) \
69 ({union { double __d; unsigned long long __ll; } __u; \
70 __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \
71 (cw) = (fpu_control_t) __u.__ll; \
72 (fpu_control_t) __u.__ll; \
73 })
74
75# define _FPU_GET_RC_ISA300() \
76 ({union { double __d; unsigned long long __ll; } __u; \
77 __asm__ __volatile__( \
78 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
79 : "=f" (__u.__d)); \
80 (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \
81 })
82
83# ifdef _ARCH_PWR9
84# define _FPU_GET_RC() _FPU_GET_RC_ISA300()
85# elif defined __BUILTIN_CPU_SUPPORTS__
86# define _FPU_GET_RC() \
87 ({fpu_control_t __rc; \
88 __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
89 ? _FPU_GET_RC_ISA300 () \
90 : _FPU_GETCW (__rc) & _FPU_MASK_RC; \
91 __rc; \
92 })
93# else
94# define _FPU_GET_RC() \
95 ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \
96 __rc; \
97 })
98# endif
99
100# define _FPU_SETCW(cw) \
101 { union { double __d; unsigned long long __ll; } __u; \
102 register double __fr; \
103 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \
104 __u.__ll |= (cw) & 0xffffffffLL; \
105 __fr = __u.__d; \
106 __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \
107 }
108
109/* Default control word set at startup. */
110extern fpu_control_t __fpu_control;
111
112#endif /* PowerPC 6xx floating-point. */
113
114#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/lib-names-32.h created+26
......@@ -0,0 +1,26 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-32.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_SO "ld.so.1"
7#define LIBANL_SO "libanl.so.1"
8#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
9#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
10#define LIBC_SO "libc.so.6"
11#define LIBDL_SO "libdl.so.2"
12#define LIBGCC_S_SO "libgcc_s.so.1"
13#define LIBMVEC_SO "libmvec.so.1"
14#define LIBM_SO "libm.so.6"
15#define LIBNSL_SO "libnsl.so.1"
16#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
17#define LIBNSS_DB_SO "libnss_db.so.2"
18#define LIBNSS_DNS_SO "libnss_dns.so.2"
19#define LIBNSS_FILES_SO "libnss_files.so.2"
20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
22#define LIBPTHREAD_SO "libpthread.so.0"
23#define LIBRESOLV_SO "libresolv.so.2"
24#define LIBRT_SO "librt.so.1"
25#define LIBTHREAD_DB_SO "libthread_db.so.1"
26#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/lib-names-64-v1.h created+27
......@@ -0,0 +1,27 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-64-v1.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD64_SO "ld64.so.1"
7#define LD_SO "ld64.so.1"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/lib-names-64-v2.h created+27
......@@ -0,0 +1,27 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-64-v2.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD64_SO "ld64.so.2"
7#define LD_SO "ld64.so.2"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/lib-names.h created+19
......@@ -0,0 +1,19 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32
10# include <gnu/lib-names-32.h>
11#endif
12#if __WORDSIZE == 64 && _CALL_ELF != 2
13# include <gnu/lib-names-64-v1.h>
14#endif
15#if __WORDSIZE == 64 && _CALL_ELF == 2
16# include <gnu/lib-names-64-v2.h>
17#endif
18
19#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/stubs-64-v1.h created+16
......@@ -0,0 +1,16 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub_chflags
11#define __stub_fchflags
12#define __stub_gtty
13#define __stub_revoke
14#define __stub_setlogin
15#define __stub_sigreturn
16#define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/stubs-64-v2.h created+16
......@@ -0,0 +1,16 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub_chflags
11#define __stub_fchflags
12#define __stub_gtty
13#define __stub_revoke
14#define __stub_setlogin
15#define __stub_sigreturn
16#define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/gnu/stubs.h created+15
......@@ -0,0 +1,15 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32
8# include <gnu/stubs-32.h>
9#endif
10#if __WORDSIZE == 64 && _CALL_ELF != 2
11# include <gnu/stubs-64-v1.h>
12#endif
13#if __WORDSIZE == 64 && _CALL_ELF == 2
14# include <gnu/stubs-64-v2.h>
15#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/ieee754.h created+197
......@@ -0,0 +1,197 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24#include <bits/floatn.h>
25
26__BEGIN_DECLS
27
28union ieee754_float
29 {
30 float f;
31
32 /* This is the IEEE 754 single-precision format. */
33 struct
34 {
35#if __BYTE_ORDER == __BIG_ENDIAN
36 unsigned int negative:1;
37 unsigned int exponent:8;
38 unsigned int mantissa:23;
39#endif /* Big endian. */
40#if __BYTE_ORDER == __LITTLE_ENDIAN
41 unsigned int mantissa:23;
42 unsigned int exponent:8;
43 unsigned int negative:1;
44#endif /* Little endian. */
45 } ieee;
46
47 /* This format makes it easier to see if a NaN is a signalling NaN. */
48 struct
49 {
50#if __BYTE_ORDER == __BIG_ENDIAN
51 unsigned int negative:1;
52 unsigned int exponent:8;
53 unsigned int quiet_nan:1;
54 unsigned int mantissa:22;
55#endif /* Big endian. */
56#if __BYTE_ORDER == __LITTLE_ENDIAN
57 unsigned int mantissa:22;
58 unsigned int quiet_nan:1;
59 unsigned int exponent:8;
60 unsigned int negative:1;
61#endif /* Little endian. */
62 } ieee_nan;
63 };
64
65#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
66
67
68union ieee754_double
69 {
70 double d;
71
72 /* This is the IEEE 754 double-precision format. */
73 struct
74 {
75#if __BYTE_ORDER == __BIG_ENDIAN
76 unsigned int negative:1;
77 unsigned int exponent:11;
78 /* Together these comprise the mantissa. */
79 unsigned int mantissa0:20;
80 unsigned int mantissa1:32;
81#endif /* Big endian. */
82#if __BYTE_ORDER == __LITTLE_ENDIAN
83 /* Together these comprise the mantissa. */
84 unsigned int mantissa1:32;
85 unsigned int mantissa0:20;
86 unsigned int exponent:11;
87 unsigned int negative:1;
88#endif /* Little endian. */
89 } ieee;
90
91 /* This format makes it easier to see if a NaN is a signalling NaN. */
92 struct
93 {
94#if __BYTE_ORDER == __BIG_ENDIAN
95 unsigned int negative:1;
96 unsigned int exponent:11;
97 unsigned int quiet_nan:1;
98 /* Together these comprise the mantissa. */
99 unsigned int mantissa0:19;
100 unsigned int mantissa1:32;
101#else
102 /* Together these comprise the mantissa. */
103 unsigned int mantissa1:32;
104 unsigned int mantissa0:19;
105 unsigned int quiet_nan:1;
106 unsigned int exponent:11;
107 unsigned int negative:1;
108#endif
109 } ieee_nan;
110 };
111
112#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
113
114
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)
174/* IBM extended format for long double.
175
176 Each long double is made up of two IEEE doubles. The value of the
177 long double is the sum of the values of the two parts. The most
178 significant part is required to be the value of the long double
179 rounded to the nearest double, as specified by IEEE. For Inf
180 values, the least significant part is required to be one of +0.0 or
181 -0.0. No other requirements are made; so, for example, 1.0 may be
182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
183 NaN is don't-care. */
184union ibm_extended_long_double
185 {
186# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
187 __ibm128 ld;
188# else
189 long double ld;
190# endif
191 union ieee754_double d[2];
192 };
193#endif
194
195__END_DECLS
196
197#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/sys/ptrace.h created+289
......@@ -0,0 +1,289 @@
1/* `ptrace' debugger support interface. Linux/PowerPC version.
2 Copyright (C) 2001-2025 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_PTRACE_H
20#define _SYS_PTRACE_H 1
21
22#include <features.h>
23#include <bits/types.h>
24
25__BEGIN_DECLS
26
27#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H
28/* Do not let Linux headers macros interfere with enum __ptrace_request. */
29# undef PTRACE_ATTACH
30# undef PTRACE_CONT
31# undef PTRACE_DETACH
32# undef PTRACE_GET_DEBUGREG
33# undef PTRACE_GETEVENTMSG
34# undef PTRACE_GETEVRREGS
35# undef PTRACE_GETFPREGS
36# undef PTRACE_GETREGS
37# undef PTRACE_GETREGS64
38# undef PTRACE_GETREGSET
39# undef PTRACE_GET_RSEQ_CONFIGURATION
40# undef PTRACE_GETSIGINFO
41# undef PTRACE_GETSIGMASK
42# undef PTRACE_GET_SYSCALL_INFO
43# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
44# undef PTRACE_GETVRREGS
45# undef PTRACE_GETVSRREGS
46# undef PTRACE_INTERRUPT
47# undef PTRACE_KILL
48# undef PTRACE_LISTEN
49# undef PTRACE_PEEKDATA
50# undef PTRACE_PEEKSIGINFO
51# undef PTRACE_PEEKTEXT
52# undef PTRACE_POKEDATA
53# undef PTRACE_POKETEXT
54# undef PTRACE_SECCOMP_GET_FILTER
55# undef PTRACE_SECCOMP_GET_METADATA
56# undef PTRACE_SEIZE
57# undef PTRACE_SET_DEBUGREG
58# undef PTRACE_SETEVRREGS
59# undef PTRACE_SETFPREGS
60# undef PTRACE_SETOPTIONS
61# undef PTRACE_SETREGS
62# undef PTRACE_SETREGS64
63# undef PTRACE_SETREGSET
64# undef PTRACE_SETSIGINFO
65# undef PTRACE_SETSIGMASK
66# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
67# undef PTRACE_SETVRREGS
68# undef PTRACE_SETVSRREGS
69# undef PTRACE_SINGLEBLOCK
70# undef PTRACE_SINGLESTEP
71# undef PTRACE_SYSCALL
72# undef PTRACE_SYSCALL_INFO_NONE
73# undef PTRACE_SYSCALL_INFO_ENTRY
74# undef PTRACE_SYSCALL_INFO_EXIT
75# undef PTRACE_SYSCALL_INFO_SECCOMP
76# undef PTRACE_SYSEMU
77# undef PTRACE_SYSEMU_SINGLESTEP
78# undef PTRACE_TRACEME
79#endif
80
81/* Type of the REQUEST argument to `ptrace.' */
82enum __ptrace_request
83{
84 /* Indicate that the process making this request should be traced.
85 All signals received by this process can be intercepted by its
86 parent, and its parent can use the other `ptrace' requests. */
87 PTRACE_TRACEME = 0,
88#define PT_TRACE_ME PTRACE_TRACEME
89
90 /* Return the word in the process's text space at address ADDR. */
91 PTRACE_PEEKTEXT = 1,
92#define PT_READ_I PTRACE_PEEKTEXT
93
94 /* Return the word in the process's data space at address ADDR. */
95 PTRACE_PEEKDATA = 2,
96#define PT_READ_D PTRACE_PEEKDATA
97
98 /* Return the word in the process's user area at offset ADDR. */
99 PTRACE_PEEKUSER = 3,
100#define PT_READ_U PTRACE_PEEKUSER
101
102 /* Write the word DATA into the process's text space at address ADDR. */
103 PTRACE_POKETEXT = 4,
104#define PT_WRITE_I PTRACE_POKETEXT
105
106 /* Write the word DATA into the process's data space at address ADDR. */
107 PTRACE_POKEDATA = 5,
108#define PT_WRITE_D PTRACE_POKEDATA
109
110 /* Write the word DATA into the process's user area at offset ADDR. */
111 PTRACE_POKEUSER = 6,
112#define PT_WRITE_U PTRACE_POKEUSER
113
114 /* Continue the process. */
115 PTRACE_CONT = 7,
116#define PT_CONTINUE PTRACE_CONT
117
118 /* Kill the process. */
119 PTRACE_KILL = 8,
120#define PT_KILL PTRACE_KILL
121
122 /* Single step the process. */
123 PTRACE_SINGLESTEP = 9,
124#define PT_STEP PTRACE_SINGLESTEP
125
126 /* Get all general purpose registers used by a process. */
127 PTRACE_GETREGS = 12,
128#define PT_GETREGS PTRACE_GETREGS
129
130 /* Set all general purpose registers used by a process. */
131 PTRACE_SETREGS = 13,
132#define PT_SETREGS PTRACE_SETREGS
133
134 /* Get all floating point registers used by a process. */
135 PTRACE_GETFPREGS = 14,
136#define PT_GETFPREGS PTRACE_GETFPREGS
137
138 /* Set all floating point registers used by a process. */
139 PTRACE_SETFPREGS = 15,
140#define PT_SETFPREGS PTRACE_SETFPREGS
141
142 /* Attach to a process that is already running. */
143 PTRACE_ATTACH = 16,
144#define PT_ATTACH PTRACE_ATTACH
145
146 /* Detach from a process attached to with PTRACE_ATTACH. */
147 PTRACE_DETACH = 17,
148#define PT_DETACH PTRACE_DETACH
149
150 /* Get all altivec registers used by a process. */
151 PTRACE_GETVRREGS = 18,
152#define PT_GETVRREGS PTRACE_GETVRREGS
153
154 /* Set all altivec registers used by a process. */
155 PTRACE_SETVRREGS = 19,
156#define PT_SETVRREGS PTRACE_SETVRREGS
157
158 /* Get all SPE registers used by a process. */
159 PTRACE_GETEVRREGS = 20,
160#define PT_GETEVRREGS PTRACE_GETEVRREGS
161
162 /* Set all SPE registers used by a process. */
163 PTRACE_SETEVRREGS = 21,
164#define PT_SETEVRREGS PTRACE_SETEVRREGS
165
166 /* Same as PTRACE_GETREGS except a 32-bit process will obtain
167 the full 64-bit registers. Implemented by 64-bit kernels only. */
168 PTRACE_GETREGS64 = 22,
169#define PT_GETREGS64 PTRACE_GETREGS64
170
171 /* Same as PTRACE_SETREGS except a 32-bit process will set
172 the full 64-bit registers. Implemented by 64-bit kernels only. */
173 PTRACE_SETREGS64 = 23,
174#define PT_SETREGS64 PTRACE_SETREGS64
175
176 /* Continue and stop at the next entry to or return from syscall. */
177 PTRACE_SYSCALL = 24,
178#define PT_SYSCALL PTRACE_SYSCALL
179
180 /* Get a debug register of a process. */
181 PTRACE_GET_DEBUGREG = 25,
182#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
183
184 /* Set a debug register of a process. */
185 PTRACE_SET_DEBUGREG = 26,
186#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
187
188 /* Get the first 32 VSX registers of a process. */
189 PTRACE_GETVSRREGS = 27,
190#define PT_GETVSRREGS PTRACE_GETVSRREGS
191
192 /* Set the first 32 VSX registers of a process. */
193 PTRACE_SETVSRREGS = 28,
194#define PT_SETVSRREGS PTRACE_SETVSRREGS
195
196 /* Continue and stop at the next syscall, it will not be executed. */
197 PTRACE_SYSEMU = 29,
198#define PT_SYSEMU PTRACE_SYSEMU
199
200 /* Single step the process, the next syscall will not be executed. */
201 PTRACE_SYSEMU_SINGLESTEP = 30,
202#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
203
204 /* Execute process until next taken branch. */
205 PTRACE_SINGLEBLOCK = 256,
206#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
207
208 /* Set ptrace filter options. */
209 PTRACE_SETOPTIONS = 0x4200,
210#define PT_SETOPTIONS PTRACE_SETOPTIONS
211
212 /* Get last ptrace message. */
213 PTRACE_GETEVENTMSG = 0x4201,
214#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
215
216 /* Get siginfo for process. */
217 PTRACE_GETSIGINFO = 0x4202,
218#define PT_GETSIGINFO PTRACE_GETSIGINFO
219
220 /* Set new siginfo for process. */
221 PTRACE_SETSIGINFO = 0x4203,
222#define PT_SETSIGINFO PTRACE_SETSIGINFO
223
224 /* Get register content. */
225 PTRACE_GETREGSET = 0x4204,
226#define PTRACE_GETREGSET PTRACE_GETREGSET
227
228 /* Set register content. */
229 PTRACE_SETREGSET = 0x4205,
230#define PTRACE_SETREGSET PTRACE_SETREGSET
231
232 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
233 signal or group stop state. */
234 PTRACE_SEIZE = 0x4206,
235#define PTRACE_SEIZE PTRACE_SEIZE
236
237 /* Trap seized tracee. */
238 PTRACE_INTERRUPT = 0x4207,
239#define PTRACE_INTERRUPT PTRACE_INTERRUPT
240
241 /* Wait for next group event. */
242 PTRACE_LISTEN = 0x4208,
243#define PTRACE_LISTEN PTRACE_LISTEN
244
245 /* Retrieve siginfo_t structures without removing signals from a queue. */
246 PTRACE_PEEKSIGINFO = 0x4209,
247#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
248
249 /* Get the mask of blocked signals. */
250 PTRACE_GETSIGMASK = 0x420a,
251#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
252
253 /* Change the mask of blocked signals. */
254 PTRACE_SETSIGMASK = 0x420b,
255#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
256
257 /* Get seccomp BPF filters. */
258 PTRACE_SECCOMP_GET_FILTER = 0x420c,
259#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
260
261 /* Get seccomp BPF filter metadata. */
262 PTRACE_SECCOMP_GET_METADATA = 0x420d,
263#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
264
265 /* Get information about system call. */
266 PTRACE_GET_SYSCALL_INFO = 0x420e,
267#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
268
269 /* Get rseq configuration information. */
270 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
271#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
272
273 /* Set configuration for syscall user dispatch. */
274 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
275#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
276 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
277
278 /* Get configuration for syscall user dispatch. */
279 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
280#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
281 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
282};
283
284
285#include <bits/ptrace-shared.h>
286
287__END_DECLS
288
289#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/sys/ucontext.h created+200
......@@ -0,0 +1,200 @@
1/* Copyright (C) 1998-2025 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_UCONTEXT_H
19#define _SYS_UCONTEXT_H 1
20
21#include <features.h>
22
23#include <bits/types/sigset_t.h>
24#include <bits/types/stack_t.h>
25
26
27#ifdef __USE_MISC
28# define __ctx(fld) fld
29#else
30# define __ctx(fld) __ ## fld
31#endif
32
33struct __ctx(pt_regs);
34
35#if __WORDSIZE == 32
36
37/* Number of general registers. */
38# define __NGREG 48
39# ifdef __USE_MISC
40# define NGREG __NGREG
41# endif
42
43/* Container for all general registers. */
44typedef unsigned long gregset_t[__NGREG];
45
46/* Container for floating-point registers and status */
47typedef struct _libc_fpstate
48{
49 double __ctx(fpregs)[32];
50 double __ctx(fpscr);
51 unsigned int _pad[2];
52} fpregset_t;
53
54/* Container for Altivec/VMX registers and status.
55 Needs to be aligned on a 16-byte boundary. */
56typedef struct _libc_vrstate
57{
58 unsigned int __ctx(vrregs)[32][4];
59 unsigned int __ctx(vrsave);
60 unsigned int _pad[2];
61 unsigned int __ctx(vscr);
62} vrregset_t;
63
64/* Context to describe whole processor state. */
65typedef struct
66{
67 gregset_t __ctx(gregs);
68 fpregset_t __ctx(fpregs);
69 vrregset_t __ctx(vrregs) __attribute__((__aligned__(16)));
70} mcontext_t;
71
72#else
73
74/* For 64-bit kernels with Altivec support, a machine context is exactly
75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches
76 * the mcontext upto but not including the v_regs field. For kernels that
77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
78 * v_regs field may not exist and should not be referenced. The v_regs field
79 * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
80 * is set in AT_HWCAP. */
81
82/* Number of general registers. */
83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
86 split vectors */
87# ifdef __USE_MISC
88# define NGREG __NGREG
89# define NFPREG __NFPREG
90# define NVRREG __NVRREG
91# endif
92
93typedef unsigned long gregset_t[__NGREG];
94typedef double fpregset_t[__NFPREG];
95
96/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits
97 but can only be copied to/from a 128-bit vector register. So we allocated
98 a whole quadword speedup save/restore. */
99typedef struct _libc_vscr
100{
101#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
102 unsigned int __pad[3];
103 unsigned int __ctx(vscr_word);
104#else
105 unsigned int __ctx(vscr_word);
106 unsigned int __pad[3];
107#endif
108} vscr_t;
109
110/* Container for Altivec/VMX registers and status.
111 Must to be aligned on a 16-byte boundary. */
112typedef struct _libc_vrstate
113{
114 unsigned int __ctx(vrregs)[32][4];
115 vscr_t __ctx(vscr);
116 unsigned int __ctx(vrsave);
117 unsigned int __pad[3];
118} vrregset_t __attribute__((__aligned__(16)));
119
120typedef struct {
121 unsigned long __glibc_reserved[4];
122 int __ctx(signal);
123 int __pad0;
124 unsigned long __ctx(handler);
125 unsigned long __ctx(oldmask);
126 struct __ctx(pt_regs) *__ctx(regs);
127 gregset_t __ctx(gp_regs);
128 fpregset_t __ctx(fp_regs);
129/*
130 * To maintain compatibility with current implementations the sigcontext is
131 * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
132 * followed by an unstructured (vmx_reserve) field of 69 doublewords. This
133 * allows the array of vector registers to be quadword aligned independent of
134 * the alignment of the containing sigcontext or ucontext. It is the
135 * responsibility of the code setting the sigcontext to set this pointer to
136 * either NULL (if this processor does not support the VMX feature) or the
137 * address of the first quadword within the allocated (vmx_reserve) area.
138 *
139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
140 * an array of 34 quadword entries. The entries with
141 * indexes 0-31 contain the corresponding vector registers. The entry with
142 * index 32 contains the vscr as the last word (offset 12) within the
143 * quadword. This allows the vscr to be stored as either a quadword (since
144 * it must be copied via a vector register to/from storage) or as a word.
145 * The entry with index 33 contains the vrsave as the first word (offset 0)
146 * within the quadword.
147 */
148 vrregset_t *__ctx(v_regs);
149 long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1];
150} mcontext_t;
151
152#endif
153
154/* Userlevel context. */
155typedef struct ucontext_t
156 {
157 unsigned long int __ctx(uc_flags);
158 struct ucontext_t *uc_link;
159 stack_t uc_stack;
160#if __WORDSIZE == 32
161 /*
162 * These fields are set up this way to maximize source and
163 * binary compatibility with code written for the old
164 * ucontext_t definition, which didn't include space for the
165 * registers.
166 *
167 * Different versions of the kernel have stored the registers on
168 * signal delivery at different offsets from the ucontext struct.
169 * Programs should thus use the uc_mcontext.uc_regs pointer to
170 * find where the registers are actually stored. The registers
171 * will be stored within the ucontext_t struct but not necessarily
172 * at a fixed address. As a side-effect, this lets us achieve
173 * 16-byte alignment for the register storage space if the
174 * Altivec registers are to be saved, without requiring 16-byte
175 * alignment on the whole ucontext_t.
176 *
177 * The uc_mcontext.regs field is included for source compatibility
178 * with programs written against the older ucontext_t definition,
179 * and its name should therefore not change. The uc_pad field
180 * is for binary compatibility with programs compiled against the
181 * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask
182 * are at the same offset as previously.
183 */
184 int __glibc_reserved1[7];
185 union __ctx(uc_regs_ptr) {
186 struct __ctx(pt_regs) *__ctx(regs);
187 mcontext_t *__ctx(uc_regs);
188 } uc_mcontext;
189 sigset_t uc_sigmask;
190 /* last for extensibility */
191 char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12];
192#else /* 64-bit */
193 sigset_t uc_sigmask;
194 mcontext_t uc_mcontext; /* last for extensibility */
195#endif
196 } ucontext_t;
197
198#undef __ctx
199
200#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/sys/user.h created+40
......@@ -0,0 +1,40 @@
1/* Copyright (C) 1998-2025 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_USER_H
19
20#define _SYS_USER_H 1
21#include <stddef.h>
22#include <features.h>
23
24#include <asm/ptrace.h>
25
26struct user {
27 struct pt_regs regs; /* entire machine state */
28 size_t u_tsize; /* text size (pages) */
29 size_t u_dsize; /* data size (pages) */
30 size_t u_ssize; /* stack size (pages) */
31 unsigned long start_code; /* text starting address */
32 unsigned long start_data; /* data starting address */
33 unsigned long start_stack; /* stack starting address */
34 long int signal; /* signal causing core dump */
35 struct regs * u_ar0; /* help gdb find registers */
36 unsigned long magic; /* identifies a core file */
37 char u_comm[32]; /* user command name */
38};
39
40#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/endianness.h deleted-16
......@@ -1,16 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* PowerPC has selectable endianness. */
9#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
10# define __BYTE_ORDER __BIG_ENDIAN
11#endif
12#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
13# define __BYTE_ORDER __LITTLE_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/environments.h deleted-96
......@@ -1,96 +0,0 @@
1/* Copyright (C) 1999-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* Environments with 32-bit wide pointers are optionally provided.
45 Therefore following macros aren't defined:
46 # undef _POSIX_V7_ILP32_OFF32
47 # undef _POSIX_V7_ILP32_OFFBIG
48 # undef _POSIX_V6_ILP32_OFF32
49 # undef _POSIX_V6_ILP32_OFFBIG
50 # undef _XBS5_ILP32_OFF32
51 # undef _XBS5_ILP32_OFFBIG
52 and users need to check at runtime. */
53
54/* We also have no use (for now) for an environment with bigger pointers
55 and offsets. */
56# define _POSIX_V7_LPBIG_OFFBIG -1
57# define _POSIX_V6_LPBIG_OFFBIG -1
58# define _XBS5_LPBIG_OFFBIG -1
59
60/* By default we have 64-bit wide `long int', pointers and `off_t'. */
61# define _POSIX_V7_LP64_OFF64 1
62# define _POSIX_V6_LP64_OFF64 1
63# define _XBS5_LP64_OFF64 1
64
65#else /* __WORDSIZE == 32 */
66
67/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
68 and all platforms support LFS. */
69# define _POSIX_V7_ILP32_OFF32 1
70# define _POSIX_V7_ILP32_OFFBIG 1
71# define _POSIX_V6_ILP32_OFF32 1
72# define _POSIX_V6_ILP32_OFFBIG 1
73# define _XBS5_ILP32_OFF32 1
74# define _XBS5_ILP32_OFFBIG 1
75
76/* We optionally provide an environment with the above size but an 64-bit
77 side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
78
79/* Environments with 64-bit wide pointers can be provided,
80 so these macros aren't defined:
81 # undef _POSIX_V7_LP64_OFF64
82 # undef _POSIX_V7_LPBIG_OFFBIG
83 # undef _POSIX_V6_LP64_OFF64
84 # undef _POSIX_V6_LPBIG_OFFBIG
85 # undef _XBS5_LP64_OFF64
86 # undef _XBS5_LPBIG_OFFBIG
87 and sysconf tests for it at runtime. */
88
89#endif /* __WORDSIZE == 32 */
90
91#define __ILP32_OFF32_CFLAGS "-m32"
92#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
93#define __ILP32_OFF32_LDFLAGS "-m32"
94#define __ILP32_OFFBIG_LDFLAGS "-m32"
95#define __LP64_OFF64_CFLAGS "-m64"
96#define __LP64_OFF64_LDFLAGS "-m64"
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h deleted-68
......@@ -1,68 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#define __O_DIRECTORY 040000 /* Must be a directory. */
26#define __O_NOFOLLOW 0100000 /* Do not follow links. */
27#define __O_DIRECT 0400000 /* Direct disk access. */
28
29#if __WORDSIZE == 64
30/* Not necessary, files are always with 64bit off_t. */
31# define __O_LARGEFILE 0
32#else
33# define __O_LARGEFILE 0200000
34#endif
35
36#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64
37# define F_GETLK 5
38# define F_SETLK 6
39# define F_SETLKW 7
40#endif
41
42struct flock
43 {
44 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
45 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
46#ifndef __USE_FILE_OFFSET64
47 __off_t l_start; /* Offset where the lock begins. */
48 __off_t l_len; /* Size of the locked area; zero means until EOF. */
49#else
50 __off64_t l_start; /* Offset where the lock begins. */
51 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
52#endif
53 __pid_t l_pid; /* Process holding the lock. */
54 };
55
56#ifdef __USE_LARGEFILE64
57struct flock64
58 {
59 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
60 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
61 __off64_t l_start; /* Offset where the lock begins. */
62 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
63 __pid_t l_pid; /* Process holding the lock. */
64 };
65#endif
66
67/* Include generic Linux declarations. */
68#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h deleted-180
......@@ -1,180 +0,0 @@
1/* Copyright (C) 1997-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22
23/* Define bits representing the exception. We use the bit positions of
24 the appropriate bits in the FPSCR... */
25enum
26 {
27 FE_INEXACT =
28#define FE_INEXACT (1 << (31 - 6))
29 FE_INEXACT,
30 FE_DIVBYZERO =
31#define FE_DIVBYZERO (1 << (31 - 5))
32 FE_DIVBYZERO,
33 FE_UNDERFLOW =
34#define FE_UNDERFLOW (1 << (31 - 4))
35 FE_UNDERFLOW,
36 FE_OVERFLOW =
37#define FE_OVERFLOW (1 << (31 - 3))
38 FE_OVERFLOW,
39
40 /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID
41 actually corresponds to bits 7 through 12 and 21 through 23
42 in the FPSCR, but we can't use that because the current draft
43 says that it must be a power of 2. Instead we use bit 2 which
44 is the summary bit for all the FE_INVALID exceptions, which
45 kind of makes sense. */
46 FE_INVALID =
47#define FE_INVALID (1 << (31 - 2))
48 FE_INVALID,
49
50#ifdef __USE_GNU
51 /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an
52 input to a routine is equivalent to setting all of these bits;
53 FE_INVALID will be set on output from a routine iff one of
54 these bits is set. Note, though, that you can't disable or
55 enable these exceptions individually. */
56
57 /* Operation with a sNaN. */
58 FE_INVALID_SNAN =
59# define FE_INVALID_SNAN (1 << (31 - 7))
60 FE_INVALID_SNAN,
61
62 /* Inf - Inf */
63 FE_INVALID_ISI =
64# define FE_INVALID_ISI (1 << (31 - 8))
65 FE_INVALID_ISI,
66
67 /* Inf / Inf */
68 FE_INVALID_IDI =
69# define FE_INVALID_IDI (1 << (31 - 9))
70 FE_INVALID_IDI,
71
72 /* 0 / 0 */
73 FE_INVALID_ZDZ =
74# define FE_INVALID_ZDZ (1 << (31 - 10))
75 FE_INVALID_ZDZ,
76
77 /* Inf * 0 */
78 FE_INVALID_IMZ =
79# define FE_INVALID_IMZ (1 << (31 - 11))
80 FE_INVALID_IMZ,
81
82 /* Comparison with a NaN. */
83 FE_INVALID_COMPARE =
84# define FE_INVALID_COMPARE (1 << (31 - 12))
85 FE_INVALID_COMPARE,
86
87 /* Invalid operation flag for software (not set by hardware). */
88 /* Note that some chips don't have this implemented, presumably
89 because no-one expected anyone to write software for them %-). */
90 FE_INVALID_SOFTWARE =
91# define FE_INVALID_SOFTWARE (1 << (31 - 21))
92 FE_INVALID_SOFTWARE,
93
94 /* Square root of negative number (including -Inf). */
95 /* Note that some chips don't have this implemented. */
96 FE_INVALID_SQRT =
97# define FE_INVALID_SQRT (1 << (31 - 22))
98 FE_INVALID_SQRT,
99
100 /* Conversion-to-integer of a NaN or a number too large or too small. */
101 FE_INVALID_INTEGER_CONVERSION =
102# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23))
103 FE_INVALID_INTEGER_CONVERSION
104
105# define FE_ALL_INVALID \
106 (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \
107 | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \
108 | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION)
109#endif
110 };
111
112#define FE_ALL_EXCEPT \
113 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
114
115/* PowerPC chips support all of the four defined rounding modes. We
116 use the bit pattern in the FPSCR as the values for the
117 appropriate macros. */
118enum
119 {
120 FE_TONEAREST =
121#define FE_TONEAREST 0
122 FE_TONEAREST,
123 FE_TOWARDZERO =
124#define FE_TOWARDZERO 1
125 FE_TOWARDZERO,
126 FE_UPWARD =
127#define FE_UPWARD 2
128 FE_UPWARD,
129 FE_DOWNWARD =
130#define FE_DOWNWARD 3
131 FE_DOWNWARD
132 };
133
134/* Type representing exception flags. */
135typedef unsigned int fexcept_t;
136
137/* Type representing floating-point environment. We leave it as 'double'
138 for efficiency reasons (rather than writing it to a 32-bit integer). */
139typedef double fenv_t;
140
141/* If the default argument is used we use this value. */
142extern const fenv_t __fe_dfl_env;
143#define FE_DFL_ENV (&__fe_dfl_env)
144
145#ifdef __USE_GNU
146/* Floating-point environment where all exceptions are enabled. Note that
147 this is not sufficient to give you SIGFPE. */
148extern const fenv_t __fe_enabled_env;
149# define FE_ENABLED_ENV (&__fe_enabled_env)
150
151/* Floating-point environment with (processor-dependent) non-IEEE floating
152 point. */
153extern const fenv_t __fe_nonieee_env;
154# define FE_NONIEEE_ENV (&__fe_nonieee_env)
155
156/* Floating-point environment with all exceptions enabled. Note that
157 just evaluating this value does not change the processor exception mode.
158 Passing this mask to fesetenv will result in a prctl syscall to change
159 the MSR FE0/FE1 bits to "Precise Mode". On some processors this will
160 result in slower floating point execution. This will last until an
161 fenv or exception mask is installed that disables all FP exceptions. */
162# define FE_NOMASK_ENV FE_ENABLED_ENV
163
164/* Floating-point environment with all exceptions disabled. Note that
165 just evaluating this value does not change the processor exception mode.
166 Passing this mask to fesetenv will result in a prctl syscall to change
167 the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors
168 this allows the fastest possible floating point execution.*/
169# define FE_MASK_ENV FE_DFL_ENV
170
171#endif
172
173#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
174/* Type representing floating-point control modes. */
175typedef double femode_t;
176
177/* Default floating-point control modes. */
178extern const femode_t __fe_dfl_mode;
179# define FE_DFL_MODE (&__fe_dfl_mode)
180#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h deleted-122
......@@ -1,122 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on powerpc.
2 Copyright (C) 2017-2025 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 glibc
27 includes corresponding *f128 interfaces for it. */
28#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \
29 && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH
30# define __HAVE_FLOAT128 1
31#else
32# define __HAVE_FLOAT128 0
33#endif
34
35/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
36 from the default float, double and long double types in this glibc, i.e.
37 calls to the binary128 functions go to *f128 symbols instead of *l. */
38#if __HAVE_FLOAT128
39# define __HAVE_DISTINCT_FLOAT128 1
40#else
41# define __HAVE_DISTINCT_FLOAT128 0
42#endif
43
44/* Defined to 1 if the current compiler invocation provides a
45 floating-point type with the right format for _Float64x, and this
46 glibc includes corresponding *f64x interfaces for it. */
47#define __HAVE_FLOAT64X __HAVE_FLOAT128
48
49/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
50 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
51 the format of _Float128, which must be different from that of long
52 double. */
53#define __HAVE_FLOAT64X_LONG_DOUBLE 0
54
55#ifndef __ASSEMBLER__
56
57/* Defined to concatenate the literal suffix to be used with _Float128
58 types, if __HAVE_FLOAT128 is 1. */
59# if __HAVE_FLOAT128
60# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
61/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */
62# if __LDBL_MANT_DIG__ == 113
63# define __f128(x) x##l
64# else
65# define __f128(x) x##q
66# endif
67# else
68# define __f128(x) x##f128
69# endif
70# endif
71
72/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
73# if __HAVE_FLOAT128
74# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0)
75typedef long double _Float128;
76# define __CFLOAT128 _Complex long double
77# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
78/* The type _Float128 exist for powerpc only since GCC 7.0. */
79typedef __float128 _Float128;
80/* Add a typedef for older GCC and C++ compilers which don't natively support
81 _Complex _Float128. */
82typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
83# define __CFLOAT128 __cfloat128
84# else
85# define __CFLOAT128 _Complex _Float128
86# endif
87# endif
88
89/* The remaining of this file provides support for older compilers. */
90# if __HAVE_FLOAT128
91/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */
92# if !__GNUC_PREREQ (7, 0)
93# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
94# endif
95
96/* The following builtins (suffixed with 'q') are available in GCC >= 6.2,
97 which is the minimum version required for float128 support on powerpc64le.
98 Since GCC 7.0 the builtins suffixed with f128 are also available, then
99 there is no need to redefined them. */
100# if !__GNUC_PREREQ (7, 0)
101# define __builtin_copysignf128 __builtin_copysignq
102# define __builtin_fabsf128 __builtin_fabsq
103# define __builtin_inff128 __builtin_infq
104# define __builtin_nanf128 __builtin_nanq
105# define __builtin_nansf128 __builtin_nansq
106# endif
107
108/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
109 e.g.: __builtin_signbitf128, before GCC 6. However, there has never
110 been a __builtin_signbitf128 in GCC and the type-generic builtin is
111 only available since GCC 6. */
112# if !__GNUC_PREREQ (6, 0)
113# define __builtin_signbitf128 __signbitf128
114# endif
115
116# endif
117
118#endif /* !__ASSEMBLER__. */
119
120#include <bits/floatn-common.h>
121
122#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h deleted-39
......@@ -1,39 +0,0 @@
1/* Define FP_FAST_* macros. PowerPC version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
21#endif
22
23#ifdef __USE_ISOC99
24
25/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
26 builtins are supported. */
27# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA
28# define FP_FAST_FMA 1
29# endif
30
31# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF
32# define FP_FAST_FMAF 1
33# endif
34
35# ifdef __FP_FAST_FMAL
36# define FP_FAST_FMAL 1
37# endif
38
39#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h deleted-78
......@@ -1,78 +0,0 @@
1/* Defines for bits in AT_HWCAP and AT_HWCAP2.
2 Copyright (C) 2012-2025 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(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The bit numbers must match those in the kernel's asm/cputable.h. */
24
25/* Feature definitions in AT_HWCAP. */
26#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */
27#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */
28#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */
29#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */
30#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */
31#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */
32#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */
33#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */
34#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */
35#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */
36#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */
37#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */
38#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */
39#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */
40#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */
41#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */
42#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */
43#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous
44 Multi-Threading */
45#define PPC_FEATURE_ICACHE_SNOOP 0x00002000
46#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */
47#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */
48#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */
49#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */
50#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */
51#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */
52#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040
53/* Reserved by the kernel. 0x00000004 Do not use. */
54#define PPC_FEATURE_TRUE_LE 0x00000002
55#define PPC_FEATURE_PPC_LE 0x00000001
56
57/* Feature definitions in AT_HWCAP2. */
58#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */
59#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional
60 Memory */
61#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control
62 Register */
63#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */
64#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */
65#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */
66#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector
67 instruction. */
68#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction
69 when a syscall is made. */
70#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */
71#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float
72 128-bit */
73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended
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-gnueabi/bits/ioctl-types.h deleted-77
......@@ -1,77 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.
2 Copyright (C) 2014-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26
27struct winsize
28 {
29 unsigned short int ws_row;
30 unsigned short int ws_col;
31 unsigned short int ws_xpixel;
32 unsigned short int ws_ypixel;
33 };
34
35#define NCC 10
36struct termio
37 {
38 unsigned short int c_iflag; /* input mode flags */
39 unsigned short int c_oflag; /* output mode flags */
40 unsigned short int c_cflag; /* control mode flags */
41 unsigned short int c_lflag; /* local mode flags */
42 unsigned char c_line; /* line discipline */
43 unsigned char c_cc[NCC]; /* control characters */
44};
45
46/* modem lines */
47#define TIOCM_LE 0x001
48#define TIOCM_DTR 0x002
49#define TIOCM_RTS 0x004
50#define TIOCM_ST 0x008
51#define TIOCM_SR 0x010
52#define TIOCM_CTS 0x020
53#define TIOCM_CAR 0x040
54#define TIOCM_RNG 0x080
55#define TIOCM_DSR 0x100
56#define TIOCM_CD TIOCM_CAR
57#define TIOCM_RI TIOCM_RNG
58
59/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
60
61/* line disciplines */
62#define N_TTY 0
63#define N_SLIP 1
64#define N_MOUSE 2
65#define N_PPP 3
66#define N_STRIP 4
67#define N_AX25 5
68#define N_X25 6 /* X.25 async */
69#define N_6PACK 7
70#define N_MASC 8 /* Mobitex module */
71#define N_R3964 9 /* Simatic R3964 module */
72#define N_PROFIBUS_FDL 10 /* Profibus */
73#define N_IRDA 11 /* Linux IR */
74#define N_SMSBLOCK 12 /* SMS block mode */
75#define N_HDLC 13 /* synchronous HDLC */
76#define N_SYNC_PPP 14 /* synchronous PPP */
77#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h deleted-36
......@@ -1,36 +0,0 @@
1/* struct ipc_perm definition. Linux/powerpc version.
2 Copyright (C) 1995-2025 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_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 __uint32_t __seq; /* Sequence number. */
33 __uint32_t __pad1;
34 __uint64_t __glibc_reserved1;
35 __uint64_t __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h deleted-58
......@@ -1,58 +0,0 @@
1/* Define iscanonical macro. ldbl-128ibm version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif
22
23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
25#else
26extern int __iscanonicall (long double __x)
27 __THROW __attribute__ ((__const__));
28# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
29# define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
30# if __HAVE_DISTINCT_FLOAT128
31# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
32# endif
33
34/* Return nonzero value if X is canonical. In IEEE interchange binary
35 formats, all values are canonical, but the argument must still be
36 converted to its semantic type for any exceptions arising from the
37 conversion, before being discarded; in IBM long double, there are
38 encodings that are not consistently handled as corresponding to any
39 particular value of the type, and we return 0 for those. */
40# ifndef __cplusplus
41# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
42# else
43/* In C++ mode, __MATH_TG cannot be used, because it relies on
44 __builtin_types_compatible_p, which is a C-only builtin. On the
45 other hand, overloading provides the means to distinguish between
46 the floating-point types. The overloading resolution will match
47 the correct parameter (regardless of type qualifiers (i.e.: const
48 and volatile)). */
49extern "C++" {
50inline int iscanonical (float __val) { return __iscanonicalf (__val); }
51inline int iscanonical (double __val) { return __iscanonical (__val); }
52inline int iscanonical (long double __val) { return __iscanonicall (__val); }
53# if __HAVE_DISTINCT_FLOAT128
54inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
55# endif
56}
57# endif /* __cplusplus */
58#endif /* __NO_LONG_DOUBLE_MATH */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/link.h deleted-156
......@@ -1,156 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface. PowerPC version
2 Copyright (C) 2004-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23
24#if __ELF_NATIVE_CLASS == 32
25
26/* Registers for entry into PLT on PPC32. */
27typedef struct La_ppc32_regs
28{
29 uint32_t lr_reg[8];
30 double lr_fp[8];
31 uint32_t lr_vreg[12][4];
32 uint32_t lr_r1;
33 uint32_t lr_lr;
34} La_ppc32_regs;
35
36/* Return values for calls from PLT on PPC32. */
37typedef struct La_ppc32_retval
38{
39 uint32_t lrv_r3;
40 uint32_t lrv_r4;
41 double lrv_fp[8];
42 uint32_t lrv_v2[4];
43} La_ppc32_retval;
44
45
46__BEGIN_DECLS
47
48extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym,
49 unsigned int __ndx,
50 uintptr_t *__refcook,
51 uintptr_t *__defcook,
52 La_ppc32_regs *__regs,
53 unsigned int *__flags,
54 const char *__symname,
55 long int *__framesizep);
56extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym,
57 unsigned int __ndx,
58 uintptr_t *__refcook,
59 uintptr_t *__defcook,
60 const La_ppc32_regs *__inregs,
61 La_ppc32_retval *__outregs,
62 const char *__symname);
63
64__END_DECLS
65
66#elif __ELF_NATIVE_CLASS == 64
67# if _CALL_ELF != 2
68
69/* Registers for entry into PLT on PPC64. */
70typedef struct La_ppc64_regs
71{
72 uint64_t lr_reg[8];
73 double lr_fp[13];
74 uint32_t __padding;
75 uint32_t lr_vrsave;
76 uint32_t lr_vreg[12][4];
77 uint64_t lr_r1;
78 uint64_t lr_lr;
79} La_ppc64_regs;
80
81/* Return values for calls from PLT on PPC64. */
82typedef struct La_ppc64_retval
83{
84 uint64_t lrv_r3;
85 uint64_t lrv_r4;
86 double lrv_fp[4]; /* f1-f4, float - complex long double. */
87 uint32_t lrv_v2[4]; /* v2. */
88} La_ppc64_retval;
89
90
91__BEGIN_DECLS
92
93extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym,
94 unsigned int __ndx,
95 uintptr_t *__refcook,
96 uintptr_t *__defcook,
97 La_ppc64_regs *__regs,
98 unsigned int *__flags,
99 const char *__symname,
100 long int *__framesizep);
101extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym,
102 unsigned int __ndx,
103 uintptr_t *__refcook,
104 uintptr_t *__defcook,
105 const La_ppc64_regs *__inregs,
106 La_ppc64_retval *__outregs,
107 const char *__symname);
108
109__END_DECLS
110
111# else
112
113/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */
114typedef struct La_ppc64v2_regs
115{
116 uint64_t lr_reg[8];
117 double lr_fp[13];
118 uint32_t __padding;
119 uint32_t lr_vrsave;
120 uint32_t lr_vreg[12][4] __attribute__ ((aligned (16)));
121 uint64_t lr_r1;
122 uint64_t lr_lr;
123} La_ppc64v2_regs;
124
125/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */
126typedef struct La_ppc64v2_retval
127{
128 uint64_t lrv_r3;
129 uint64_t lrv_r4;
130 double lrv_fp[10];
131 uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16)));
132} La_ppc64v2_retval;
133
134
135__BEGIN_DECLS
136
137extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym,
138 unsigned int __ndx,
139 uintptr_t *__refcook,
140 uintptr_t *__defcook,
141 La_ppc64v2_regs *__regs,
142 unsigned int *__flags,
143 const char *__symname,
144 long int *__framesizep);
145extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym,
146 unsigned int __ndx,
147 uintptr_t *__refcook,
148 uintptr_t *__defcook,
149 const La_ppc64v2_regs *__inregs,
150 La_ppc64v2_retval *__outregs,
151 const char *__symname);
152
153__END_DECLS
154
155# endif
156#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h deleted-25
......@@ -1,25 +0,0 @@
1/* Properties of long double type. ldbl-opt version.
2 Copyright (C) 2016-2025 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 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 __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 1
23# endif
24#endif
25#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/mman.h deleted-51
......@@ -1,51 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/PowerPC version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26#define PROT_SAO 0x10 /* Strong Access Ordering. */
27
28/* These are Linux-specific. */
29#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
30#define MAP_DENYWRITE 0x00800 /* ETXTBSY */
31#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
32#define MAP_LOCKED 0x00080 /* Lock the mapping. */
33#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */
34#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
35#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
36#define MAP_STACK 0x20000 /* Allocation is for a stack. */
37#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
38#define MAP_SYNC 0x80000 /* Perform synchronous page
39 faults for the mapping. */
40#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
41 underlying mapping. */
42
43/* Flags for `mlockall'. */
44#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */
45#define MCL_FUTURE 0x4000 /* Lock all additions to address
46 space. */
47#define MCL_ONFAULT 0x8000 /* Lock all pages that are
48 faulted in. */
49
50/* Include generic Linux declarations. */
51#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h deleted-49
......@@ -1,49 +0,0 @@
1/* Types for registers for sys/procfs.h. PowerPC version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <signal.h>
24#include <sys/ucontext.h>
25
26/* These definitions are normally provided by ucontext.h via
27 asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define
28 them here. */
29#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H
30#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */
31#define ELF_NFPREG 33 /* includes fpscr */
32#if __WORDSIZE == 32
33# define ELF_NVRREG 33 /* includes vscr */
34#else
35# define ELF_NVRREG 34 /* includes vscr */
36#endif
37
38typedef unsigned long elf_greg_t;
39typedef elf_greg_t elf_gregset_t[ELF_NGREG];
40
41typedef double elf_fpreg_t;
42typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
43
44/* Altivec registers */
45typedef struct {
46 unsigned int u[4];
47} __attribute__ ((__aligned__ (16))) elf_vrreg_t;
48typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
49#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h deleted-21
......@@ -1,21 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. Linux/PPC version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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; see the file COPYING.LIB. If
17 not, see <https://www.gnu.org/licenses/>. */
18
19/* Minimum size for a thread. At least two pages for systems with 64k
20 pages. */
21#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h deleted-37
......@@ -1,37 +0,0 @@
1/* Restartable Sequences Linux powerpc architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 RSEQ_SIG uses the following trap instruction:
32
33 powerpc-be: 0f e5 00 0b twui r5,11
34 powerpc64-le: 0b 00 e5 0f twui r5,11
35 powerpc64-be: 0f e5 00 0b twui r5,11 */
36
37#define RSEQ_SIG 0x0fe5000b
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h deleted-50
......@@ -1,50 +0,0 @@
1/* Copyright (C) 1997-2025 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/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 1
21
22#if !defined _SETJMP_H && !defined _PTHREAD_H
23# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
24#endif
25
26/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
27 We use an array of 'long int' instead, to make writing the
28 assembler easier. Naturally, user code should not depend on
29 either representation. */
30
31#include <bits/wordsize.h>
32
33/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI
34 the vrsave must be at byte 248 & v20 at byte 256. So we must pad this
35 correctly on 32 bit. It also insists that vecregs are only guaranteed
36 4 byte alignment so we need to use vperm in the setjmp/longjmp routines.
37 We have to version the code because members like int __mask_was_saved
38 in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We
39 cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */
40#ifndef _ASM
41# if __WORDSIZE == 64
42typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16)));
43# else
44/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte
45 aligned buffer as per the ABI it is just added for performance reasons. */
46typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16)));
47# endif
48#endif
49
50#endif /* bits/setjmp.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h deleted-37
......@@ -1,37 +0,0 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 1998-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26#ifdef __powerpc64__
27#define MINSIGSTKSZ 8192
28#define SIGSTKSZ 32768
29#else
30/* Minimum stack size for a signal handler. */
31#define MINSIGSTKSZ 4096
32
33/* System default stack size. */
34#define SIGSTKSZ 16384
35#endif
36
37#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 16
33#define SO_REUSEADDR 2
34#define SO_SNDBUF 7
35#define SO_SNDLOWAT 17
36#define SO_TYPE 3
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 18
40# define SO_SNDTIMEO 19
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 18
46# define SO_SNDTIMEO_OLD 19
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h deleted-63
......@@ -1,63 +0,0 @@
1/* PowerPC internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__elision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h deleted-61
......@@ -1,61 +0,0 @@
1/* PowerPC internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned char __rwelision;
35 unsigned char __pad1[7];
36 unsigned long int __pad2;
37 /* FLAGS must stay at this position in the structure to maintain
38 binary compatibility. */
39 unsigned int __flags;
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
41#else
42 unsigned char __rwelision;
43 unsigned char __pad2;
44 unsigned char __shared;
45 /* FLAGS must stay at this position in the structure to maintain
46 binary compatibility. */
47 unsigned char __flags;
48 int __cur_writer;
49# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
50#endif
51};
52
53#if __WORDSIZE == 64
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h deleted-231
......@@ -1,231 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/wordsize.h>
27
28#if __WORDSIZE == 32
29struct stat
30 {
31# ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33# else
34 __dev_t st_dev; /* Device. */
35# ifndef __USE_FILE_OFFSET64
36 unsigned short int __pad1;
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino64_t st_ino; /* File serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80 unsigned long int __glibc_reserved4;
81 unsigned long int __glibc_reserved5;
82# endif /* __USE_TIME64_REDIRECTS */
83 };
84
85# ifdef __USE_LARGEFILE64
86struct stat64
87 {
88# ifdef __USE_TIME64_REDIRECTS
89# include <bits/struct_stat_time64_helper.h>
90# else
91 __dev_t st_dev; /* Device. */
92 __ino64_t st_ino; /* File serial number. */
93 __mode_t st_mode; /* File mode. */
94 __nlink_t st_nlink; /* Link count. */
95 __uid_t st_uid; /* User ID of the file's owner. */
96 __gid_t st_gid; /* Group ID of the file's group.*/
97 __dev_t st_rdev; /* Device number, if device. */
98 unsigned short int __pad2;
99 __off64_t st_size; /* Size of file, in bytes. */
100 __blksize_t st_blksize; /* Optimal block size for I/O. */
101 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
102# ifdef __USE_XOPEN2K8
103 /* Nanosecond resolution timestamps are stored in a format
104 equivalent to 'struct timespec'. This is the type used
105 whenever possible but the Unix namespace rules do not allow the
106 identifier 'timespec' to appear in the <sys/stat.h> header.
107 Therefore we have to handle the use of this header in strictly
108 standard-compliant sources special. */
109 struct timespec st_atim; /* Time of last access. */
110 struct timespec st_mtim; /* Time of last modification. */
111 struct timespec st_ctim; /* Time of last status change. */
112# define st_atime st_atim.tv_sec /* Backward compatibility. */
113# define st_mtime st_mtim.tv_sec
114# define st_ctime st_ctim.tv_sec
115# else
116 __time_t st_atime; /* Time of last access. */
117 unsigned long int st_atimensec; /* Nscecs of last access. */
118 __time_t st_mtime; /* Time of last modification. */
119 unsigned long int st_mtimensec; /* Nsecs of last modification. */
120 __time_t st_ctime; /* Time of last status change. */
121 unsigned long int st_ctimensec; /* Nsecs of last status change. */
122# endif
123 unsigned long int __glibc_reserved4;
124 unsigned long int __glibc_reserved5;
125# endif /* __USE_TIME64_REDIRECTS */
126 };
127# endif /* __USE_LARGEFILE64 */
128
129#else /* __WORDSIZE == 32 */
130
131struct stat
132 {
133 __dev_t st_dev; /* Device. */
134# ifndef __USE_FILE_OFFSET64
135 __ino_t st_ino; /* File serial number. */
136# else
137 __ino64_t st_ino; /* File serial number. */
138# endif
139 __nlink_t st_nlink; /* Link count. */
140 __mode_t st_mode; /* File mode. */
141 __uid_t st_uid; /* User ID of the file's owner. */
142 __gid_t st_gid; /* Group ID of the file's group.*/
143 int __pad2;
144 __dev_t st_rdev; /* Device number, if device. */
145# ifndef __USE_FILE_OFFSET64
146 __off_t st_size; /* Size of file, in bytes. */
147# else
148 __off64_t st_size; /* Size of file, in bytes. */
149# endif
150 __blksize_t st_blksize; /* Optimal block size for I/O. */
151
152# ifndef __USE_FILE_OFFSET64
153 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
154# else
155 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
156# endif
157# ifdef __USE_XOPEN2K8
158 /* Nanosecond resolution timestamps are stored in a format
159 equivalent to 'struct timespec'. This is the type used
160 whenever possible but the Unix namespace rules do not allow the
161 identifier 'timespec' to appear in the <sys/stat.h> header.
162 Therefore we have to handle the use of this header in strictly
163 standard-compliant sources special. */
164 struct timespec st_atim; /* Time of last access. */
165 struct timespec st_mtim; /* Time of last modification. */
166 struct timespec st_ctim; /* Time of last status change. */
167# define st_atime st_atim.tv_sec /* Backward compatibility. */
168# define st_mtime st_mtim.tv_sec
169# define st_ctime st_ctim.tv_sec
170# else
171 __time_t st_atime; /* Time of last access. */
172 unsigned long int st_atimensec; /* Nscecs of last access. */
173 __time_t st_mtime; /* Time of last modification. */
174 unsigned long int st_mtimensec; /* Nsecs of last modification. */
175 __time_t st_ctime; /* Time of last status change. */
176 unsigned long int st_ctimensec; /* Nsecs of last status change. */
177# endif
178 unsigned long int __glibc_reserved4;
179 unsigned long int __glibc_reserved5;
180 unsigned long int __glibc_reserved6;
181 };
182
183# ifdef __USE_LARGEFILE64
184struct stat64
185 {
186 __dev_t st_dev; /* Device. */
187 __ino64_t st_ino; /* File serial number. */
188 __nlink_t st_nlink; /* Link count. */
189 __mode_t st_mode; /* File mode. */
190 __uid_t st_uid; /* User ID of the file's owner. */
191 __gid_t st_gid; /* Group ID of the file's group.*/
192 int __pad2;
193 __dev_t st_rdev; /* Device number, if device. */
194 __off64_t st_size; /* Size of file, in bytes. */
195 __blksize_t st_blksize; /* Optimal block size for I/O. */
196 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
197# ifdef __USE_XOPEN2K8
198 /* Nanosecond resolution timestamps are stored in a format
199 equivalent to 'struct timespec'. This is the type used
200 whenever possible but the Unix namespace rules do not allow the
201 identifier 'timespec' to appear in the <sys/stat.h> header.
202 Therefore we have to handle the use of this header in strictly
203 standard-compliant sources special. */
204 struct timespec st_atim; /* Time of last access. */
205 struct timespec st_mtim; /* Time of last modification. */
206 struct timespec st_ctim; /* Time of last status change. */
207# define st_atime st_atim.tv_sec /* Backward compatibility. */
208# define st_mtime st_mtim.tv_sec
209# define st_ctime st_ctim.tv_sec
210# else
211 __time_t st_atime; /* Time of last access. */
212 unsigned long int st_atimensec; /* Nscecs of last access. */
213 __time_t st_mtime; /* Time of last modification. */
214 unsigned long int st_mtimensec; /* Nsecs of last modification. */
215 __time_t st_ctime; /* Time of last status change. */
216 unsigned long int st_ctimensec; /* Nsecs of last status change. */
217# endif
218 unsigned long int __glibc_reserved4;
219 unsigned long int __glibc_reserved5;
220 unsigned long int __glibc_reserved6;
221 };
222# endif /* __USE_LARGEFILE64 */
223#endif
224
225/* Tell code we have these members. */
226#define _STATBUF_ST_BLKSIZE
227#define _STATBUF_ST_RDEV
228/* Nanosecond resolution time values are supported. */
229#define _STATBUF_ST_NSEC
230
231#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h deleted-45
......@@ -1,45 +0,0 @@
1/* termios baud rate selection definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24# define CBAUD 0000377
25# define CBAUDEX 0000020
26# define CMSPAR 010000000000 /* mark or space (stick) parity */
27# define CRTSCTS 020000000000 /* flow control */
28#endif
29
30#define B57600 00020
31#define B115200 00021
32#define B230400 00022
33#define B460800 00023
34#define B500000 00024
35#define B576000 00025
36#define B921600 00026
37#define B1000000 00027
38#define B1152000 00030
39#define B1500000 00031
40#define B2000000 00032
41#define B2500000 00033
42#define B3000000 00034
43#define B3500000 00035
44#define B4000000 00036
45#define __MAX_BAUD B4000000
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h deleted-41
......@@ -1,41 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0
25#define VQUIT 1
26#define VERASE 2
27#define VKILL 3
28#define VEOF 4
29#define VMIN 5
30#define VEOL 6
31#define VTIME 7
32#define VEOL2 8
33#define VSWTC 9
34
35#define VWERASE 10
36#define VREPRINT 11
37#define VSUSP 12
38#define VSTART 13
39#define VSTOP 14
40#define VLNEXT 15
41#define VDISCARD 16
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h deleted-39
......@@ -1,39 +0,0 @@
1/* termios control mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
21#endif
22
23#define CSIZE 00001400
24#define CS5 00000000
25#define CS6 00000400
26#define CS7 00001000
27#define CS8 00001400
28
29#define CSTOPB 00002000
30#define CREAD 00004000
31#define PARENB 00010000
32#define PARODD 00020000
33#define HUPCL 00040000
34
35#define CLOCAL 00100000
36
37#ifdef __USE_MISC
38# define ADDRB 04000000000
39#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h deleted-38
......@@ -1,38 +0,0 @@
1/* termios input mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."
21#endif
22
23/* c_iflag bits */
24#define IGNBRK 0000001
25#define BRKINT 0000002
26#define IGNPAR 0000004
27#define PARMRK 0000010
28#define INPCK 0000020
29#define ISTRIP 0000040
30#define INLCR 0000100
31#define IGNCR 0000200
32#define ICRNL 0000400
33#define IXON 0001000
34#define IXOFF 0002000
35#define IXANY 0004000
36#define IUCLC 0010000
37#define IMAXBEL 0020000
38#define IUTF8 0040000
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h deleted-45
......@@ -1,45 +0,0 @@
1/* termios local mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0x00000080
25#define ICANON 0x00000100
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0x00004000
28#endif
29#define ECHO 0x00000008
30#define ECHOE 0x00000002
31#define ECHOK 0x00000004
32#define ECHONL 0x00000010
33#define NOFLSH 0x80000000
34#define TOSTOP 0x00400000
35#ifdef __USE_MISC
36# define ECHOCTL 0x00000040
37# define ECHOPRT 0x00000020
38# define ECHOKE 0x00000001
39# define FLUSHO 0x00800000
40# define PENDIN 0x20000000
41#endif
42#define IEXTEN 0x00000400
43#ifdef __USE_MISC
44# define EXTPROC 0x10000000
45#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h deleted-65
......@@ -1,65 +0,0 @@
1/* termios output mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_oflag bits */
24#define OPOST 0000001
25#define ONLCR 0000002
26#define OLCUC 0000004
27
28#define OCRNL 0000010
29#define ONOCR 0000020
30#define ONLRET 0000040
31
32#define OFILL 00000100
33#define OFDEL 00000200
34#if defined __USE_MISC || defined __USE_XOPEN
35# define NLDLY 00001400
36# define NL0 00000000
37# define NL1 00000400
38# if defined __USE_MISC
39# define NL2 00001000
40# define NL3 00001400
41# endif
42# define TABDLY 00006000
43# define TAB0 00000000
44# define TAB1 00002000
45# define TAB2 00004000
46# define TAB3 00006000
47# define CRDLY 00030000
48# define CR0 00000000
49# define CR1 00010000
50# define CR2 00020000
51# define CR3 00030000
52# define FFDLY 00040000
53# define FF0 00000000
54# define FF1 00040000
55# define BSDLY 00100000
56# define BS0 00000000
57# define BS1 00100000
58#endif
59#define VTDLY 00200000
60#define VT0 00000000
61#define VT1 00200000
62
63#ifdef __USE_MISC
64# define XTABS 00006000
65#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h deleted-72
......@@ -1,72 +0,0 @@
1/* termios baud platform specific definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24
25struct sgttyb {
26 char sg_ispeed;
27 char sg_ospeed;
28 char sg_erase;
29 char sg_kill;
30 short sg_flags;
31};
32
33struct tchars {
34 char t_intrc;
35 char t_quitc;
36 char t_startc;
37 char t_stopc;
38 char t_eofc;
39 char t_brkc;
40};
41
42struct ltchars {
43 char t_suspc;
44 char t_dsuspc;
45 char t_rprntc;
46 char t_flushc;
47 char t_werasc;
48 char t_lnextc;
49};
50
51/* Used for packet mode */
52#define TIOCPKT_DATA 0
53#define TIOCPKT_FLUSHREAD 1
54#define TIOCPKT_FLUSHWRITE 2
55#define TIOCPKT_STOP 4
56#define TIOCPKT_START 8
57#define TIOCPKT_NOSTOP 16
58#define TIOCPKT_DOSTOP 32
59
60/* c_cc characters */
61#define _VINTR 0
62#define _VQUIT 1
63#define _VERASE 2
64#define _VKILL 3
65#define _VEOF 4
66#define _VMIN 5
67#define _VEOL 6
68#define _VTIME 7
69#define _VEOL2 8
70#define _VSWTC 9
71
72#endif /* __USE_MISC */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h deleted-22
......@@ -1,22 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/PowerPC.
2 Copyright (C) 2021-2025 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#include <bits/wordsize.h>
20
21/* Size in bits of the 'time_t' type of the default ABI. */
22#define __TIMESIZE __WORDSIZE
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/PowerPC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34 unsigned long int __msg_stime_high;
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_rtime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_ctime_high;
39 __time_t msg_ctime; /* time of last change */
40# else
41 __time_t msg_stime; /* time of last msgsnd command */
42 __time_t msg_rtime; /* time of last msgsnd command */
43 __time_t msg_ctime; /* time of last change */
44# endif
45 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
46 msgqnum_t msg_qnum; /* number of messages currently on queue */
47 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
48 __pid_t msg_lspid; /* pid of last msgsnd() */
49 __pid_t msg_lrpid; /* pid of last msgrcv() */
50 __syscall_ulong_t __glibc_reserved4;
51 __syscall_ulong_t __glibc_reserved5;
52#endif
53};
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h deleted-43
......@@ -1,43 +0,0 @@
1/* PowerPC implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 __syscall_ulong_t __sem_otime_high;
32 __time_t sem_otime; /* last semop() time */
33 __syscall_ulong_t __sem_ctime_high;
34 __time_t sem_ctime; /* last time changed by semctl() */
35# else
36 __time_t sem_otime; /* last semop() time */
37 __time_t sem_ctime; /* last time changed by semctl() */
38# endif
39 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
40 __syscall_ulong_t __glibc_reserved3;
41 __syscall_ulong_t __glibc_reserved4;
42#endif
43};
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h deleted-50
......@@ -1,50 +0,0 @@
1/* Linux/PowerPC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 unsigned long int __shm_atime_high;
32 __time_t shm_atime; /* time of last shmat() */
33 unsigned long int __shm_dtime_high;
34 __time_t shm_dtime; /* time of last shmdt() */
35 unsigned long int __shm_ctime_high;
36 __time_t shm_ctime; /* time of last change by shmctl() */
37 unsigned long int __glibc_reserved4;
38# else
39 __time_t shm_atime; /* time of last shmat() */
40 __time_t shm_dtime; /* time of last shmdt() */
41 __time_t shm_ctime; /* time of last change by shmctl() */
42# endif
43 size_t shm_segsz; /* size of segment in bytes */
44 __pid_t shm_cpid; /* pid of creator */
45 __pid_t shm_lpid; /* pid of last shmop */
46 shmatt_t shm_nattch; /* number of current attaches */
47 __syscall_ulong_t __glibc_reserved5;
48 __syscall_ulong_t __glibc_reserved6;
49#endif
50 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. PowerPC version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/bits/wordsize.h deleted-10
......@@ -1,10 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. */
2
3#if defined __powerpc64__
4# define __WORDSIZE 64
5#else
6# define __WORDSIZE 32
7# define __WORDSIZE32_SIZE_ULONG 0
8# define __WORDSIZE32_PTRDIFF_LONG 0
9#endif
10#define __WORDSIZE_TIME64_COMPAT32 1
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/fpu_control.h deleted-114
......@@ -1,114 +0,0 @@
1/* FPU control word definitions. PowerPC version.
2 Copyright (C) 1996-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
23# error "SPE/e500 is no longer supported"
24#endif
25
26#ifdef _SOFT_FLOAT
27
28# define _FPU_RESERVED 0xffffffff
29# define _FPU_DEFAULT 0x00000000 /* Default value. */
30typedef unsigned int fpu_control_t;
31# define _FPU_GETCW(cw) (cw) = 0
32# define _FPU_SETCW(cw) (void) (cw)
33extern fpu_control_t __fpu_control;
34
35#else /* PowerPC 6xx floating-point. */
36
37/* rounding control */
38# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
39# define _FPU_RC_DOWN 0x03
40# define _FPU_RC_UP 0x02
41# define _FPU_RC_ZERO 0x01
42
43# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO)
44
45# define _FPU_MASK_NI 0x04 /* non-ieee mode */
46
47/* masking of interrupts */
48# define _FPU_MASK_ZM 0x10 /* zero divide */
49# define _FPU_MASK_OM 0x40 /* overflow */
50# define _FPU_MASK_UM 0x20 /* underflow */
51# define _FPU_MASK_XM 0x08 /* inexact */
52# define _FPU_MASK_IM 0x80 /* invalid operation */
53
54# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
55
56/* The fdlibm code requires no interrupts for exceptions. */
57# define _FPU_DEFAULT 0x00000000 /* Default value. */
58
59/* IEEE: same as above, but (some) exceptions;
60 we leave the 'inexact' exception off.
61 */
62# define _FPU_IEEE 0x000000f0
63
64/* Type of the control word. */
65typedef unsigned int fpu_control_t;
66
67/* Macros for accessing the hardware control word. */
68# define _FPU_GETCW(cw) \
69 ({union { double __d; unsigned long long __ll; } __u; \
70 __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \
71 (cw) = (fpu_control_t) __u.__ll; \
72 (fpu_control_t) __u.__ll; \
73 })
74
75# define _FPU_GET_RC_ISA300() \
76 ({union { double __d; unsigned long long __ll; } __u; \
77 __asm__ __volatile__( \
78 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
79 : "=f" (__u.__d)); \
80 (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \
81 })
82
83# ifdef _ARCH_PWR9
84# define _FPU_GET_RC() _FPU_GET_RC_ISA300()
85# elif defined __BUILTIN_CPU_SUPPORTS__
86# define _FPU_GET_RC() \
87 ({fpu_control_t __rc; \
88 __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
89 ? _FPU_GET_RC_ISA300 () \
90 : _FPU_GETCW (__rc) & _FPU_MASK_RC; \
91 __rc; \
92 })
93# else
94# define _FPU_GET_RC() \
95 ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \
96 __rc; \
97 })
98# endif
99
100# define _FPU_SETCW(cw) \
101 { union { double __d; unsigned long long __ll; } __u; \
102 register double __fr; \
103 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \
104 __u.__ll |= (cw) & 0xffffffffLL; \
105 __fr = __u.__d; \
106 __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \
107 }
108
109/* Default control word set at startup. */
110extern fpu_control_t __fpu_control;
111
112#endif /* PowerPC 6xx floating-point. */
113
114#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h deleted-26
......@@ -1,26 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-32.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_SO "ld.so.1"
7#define LIBANL_SO "libanl.so.1"
8#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
9#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
10#define LIBC_SO "libc.so.6"
11#define LIBDL_SO "libdl.so.2"
12#define LIBGCC_S_SO "libgcc_s.so.1"
13#define LIBMVEC_SO "libmvec.so.1"
14#define LIBM_SO "libm.so.6"
15#define LIBNSL_SO "libnsl.so.1"
16#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
17#define LIBNSS_DB_SO "libnss_db.so.2"
18#define LIBNSS_DNS_SO "libnss_dns.so.2"
19#define LIBNSS_FILES_SO "libnss_files.so.2"
20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
22#define LIBPTHREAD_SO "libpthread.so.0"
23#define LIBRESOLV_SO "libresolv.so.2"
24#define LIBRT_SO "librt.so.1"
25#define LIBTHREAD_DB_SO "libthread_db.so.1"
26#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names.h deleted-19
......@@ -1,19 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32
10# include <gnu/lib-names-32.h>
11#endif
12#if __WORDSIZE == 64 && _CALL_ELF != 2
13# include <gnu/lib-names-64-v1.h>
14#endif
15#if __WORDSIZE == 64 && _CALL_ELF == 2
16# include <gnu/lib-names-64-v2.h>
17#endif
18
19#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/gnu/stubs.h deleted-15
......@@ -1,15 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32
8# include <gnu/stubs-32.h>
9#endif
10#if __WORDSIZE == 64 && _CALL_ELF != 2
11# include <gnu/stubs-64-v1.h>
12#endif
13#if __WORDSIZE == 64 && _CALL_ELF == 2
14# include <gnu/stubs-64-v2.h>
15#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/ieee754.h deleted-197
......@@ -1,197 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24#include <bits/floatn.h>
25
26__BEGIN_DECLS
27
28union ieee754_float
29 {
30 float f;
31
32 /* This is the IEEE 754 single-precision format. */
33 struct
34 {
35#if __BYTE_ORDER == __BIG_ENDIAN
36 unsigned int negative:1;
37 unsigned int exponent:8;
38 unsigned int mantissa:23;
39#endif /* Big endian. */
40#if __BYTE_ORDER == __LITTLE_ENDIAN
41 unsigned int mantissa:23;
42 unsigned int exponent:8;
43 unsigned int negative:1;
44#endif /* Little endian. */
45 } ieee;
46
47 /* This format makes it easier to see if a NaN is a signalling NaN. */
48 struct
49 {
50#if __BYTE_ORDER == __BIG_ENDIAN
51 unsigned int negative:1;
52 unsigned int exponent:8;
53 unsigned int quiet_nan:1;
54 unsigned int mantissa:22;
55#endif /* Big endian. */
56#if __BYTE_ORDER == __LITTLE_ENDIAN
57 unsigned int mantissa:22;
58 unsigned int quiet_nan:1;
59 unsigned int exponent:8;
60 unsigned int negative:1;
61#endif /* Little endian. */
62 } ieee_nan;
63 };
64
65#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
66
67
68union ieee754_double
69 {
70 double d;
71
72 /* This is the IEEE 754 double-precision format. */
73 struct
74 {
75#if __BYTE_ORDER == __BIG_ENDIAN
76 unsigned int negative:1;
77 unsigned int exponent:11;
78 /* Together these comprise the mantissa. */
79 unsigned int mantissa0:20;
80 unsigned int mantissa1:32;
81#endif /* Big endian. */
82#if __BYTE_ORDER == __LITTLE_ENDIAN
83 /* Together these comprise the mantissa. */
84 unsigned int mantissa1:32;
85 unsigned int mantissa0:20;
86 unsigned int exponent:11;
87 unsigned int negative:1;
88#endif /* Little endian. */
89 } ieee;
90
91 /* This format makes it easier to see if a NaN is a signalling NaN. */
92 struct
93 {
94#if __BYTE_ORDER == __BIG_ENDIAN
95 unsigned int negative:1;
96 unsigned int exponent:11;
97 unsigned int quiet_nan:1;
98 /* Together these comprise the mantissa. */
99 unsigned int mantissa0:19;
100 unsigned int mantissa1:32;
101#else
102 /* Together these comprise the mantissa. */
103 unsigned int mantissa1:32;
104 unsigned int mantissa0:19;
105 unsigned int quiet_nan:1;
106 unsigned int exponent:11;
107 unsigned int negative:1;
108#endif
109 } ieee_nan;
110 };
111
112#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
113
114
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)
174/* IBM extended format for long double.
175
176 Each long double is made up of two IEEE doubles. The value of the
177 long double is the sum of the values of the two parts. The most
178 significant part is required to be the value of the long double
179 rounded to the nearest double, as specified by IEEE. For Inf
180 values, the least significant part is required to be one of +0.0 or
181 -0.0. No other requirements are made; so, for example, 1.0 may be
182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
183 NaN is don't-care. */
184union ibm_extended_long_double
185 {
186# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
187 __ibm128 ld;
188# else
189 long double ld;
190# endif
191 union ieee754_double d[2];
192 };
193#endif
194
195__END_DECLS
196
197#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h deleted-289
......@@ -1,289 +0,0 @@
1/* `ptrace' debugger support interface. Linux/PowerPC version.
2 Copyright (C) 2001-2025 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_PTRACE_H
20#define _SYS_PTRACE_H 1
21
22#include <features.h>
23#include <bits/types.h>
24
25__BEGIN_DECLS
26
27#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H
28/* Do not let Linux headers macros interfere with enum __ptrace_request. */
29# undef PTRACE_ATTACH
30# undef PTRACE_CONT
31# undef PTRACE_DETACH
32# undef PTRACE_GET_DEBUGREG
33# undef PTRACE_GETEVENTMSG
34# undef PTRACE_GETEVRREGS
35# undef PTRACE_GETFPREGS
36# undef PTRACE_GETREGS
37# undef PTRACE_GETREGS64
38# undef PTRACE_GETREGSET
39# undef PTRACE_GET_RSEQ_CONFIGURATION
40# undef PTRACE_GETSIGINFO
41# undef PTRACE_GETSIGMASK
42# undef PTRACE_GET_SYSCALL_INFO
43# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
44# undef PTRACE_GETVRREGS
45# undef PTRACE_GETVSRREGS
46# undef PTRACE_INTERRUPT
47# undef PTRACE_KILL
48# undef PTRACE_LISTEN
49# undef PTRACE_PEEKDATA
50# undef PTRACE_PEEKSIGINFO
51# undef PTRACE_PEEKTEXT
52# undef PTRACE_POKEDATA
53# undef PTRACE_POKETEXT
54# undef PTRACE_SECCOMP_GET_FILTER
55# undef PTRACE_SECCOMP_GET_METADATA
56# undef PTRACE_SEIZE
57# undef PTRACE_SET_DEBUGREG
58# undef PTRACE_SETEVRREGS
59# undef PTRACE_SETFPREGS
60# undef PTRACE_SETOPTIONS
61# undef PTRACE_SETREGS
62# undef PTRACE_SETREGS64
63# undef PTRACE_SETREGSET
64# undef PTRACE_SETSIGINFO
65# undef PTRACE_SETSIGMASK
66# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
67# undef PTRACE_SETVRREGS
68# undef PTRACE_SETVSRREGS
69# undef PTRACE_SINGLEBLOCK
70# undef PTRACE_SINGLESTEP
71# undef PTRACE_SYSCALL
72# undef PTRACE_SYSCALL_INFO_NONE
73# undef PTRACE_SYSCALL_INFO_ENTRY
74# undef PTRACE_SYSCALL_INFO_EXIT
75# undef PTRACE_SYSCALL_INFO_SECCOMP
76# undef PTRACE_SYSEMU
77# undef PTRACE_SYSEMU_SINGLESTEP
78# undef PTRACE_TRACEME
79#endif
80
81/* Type of the REQUEST argument to `ptrace.' */
82enum __ptrace_request
83{
84 /* Indicate that the process making this request should be traced.
85 All signals received by this process can be intercepted by its
86 parent, and its parent can use the other `ptrace' requests. */
87 PTRACE_TRACEME = 0,
88#define PT_TRACE_ME PTRACE_TRACEME
89
90 /* Return the word in the process's text space at address ADDR. */
91 PTRACE_PEEKTEXT = 1,
92#define PT_READ_I PTRACE_PEEKTEXT
93
94 /* Return the word in the process's data space at address ADDR. */
95 PTRACE_PEEKDATA = 2,
96#define PT_READ_D PTRACE_PEEKDATA
97
98 /* Return the word in the process's user area at offset ADDR. */
99 PTRACE_PEEKUSER = 3,
100#define PT_READ_U PTRACE_PEEKUSER
101
102 /* Write the word DATA into the process's text space at address ADDR. */
103 PTRACE_POKETEXT = 4,
104#define PT_WRITE_I PTRACE_POKETEXT
105
106 /* Write the word DATA into the process's data space at address ADDR. */
107 PTRACE_POKEDATA = 5,
108#define PT_WRITE_D PTRACE_POKEDATA
109
110 /* Write the word DATA into the process's user area at offset ADDR. */
111 PTRACE_POKEUSER = 6,
112#define PT_WRITE_U PTRACE_POKEUSER
113
114 /* Continue the process. */
115 PTRACE_CONT = 7,
116#define PT_CONTINUE PTRACE_CONT
117
118 /* Kill the process. */
119 PTRACE_KILL = 8,
120#define PT_KILL PTRACE_KILL
121
122 /* Single step the process. */
123 PTRACE_SINGLESTEP = 9,
124#define PT_STEP PTRACE_SINGLESTEP
125
126 /* Get all general purpose registers used by a process. */
127 PTRACE_GETREGS = 12,
128#define PT_GETREGS PTRACE_GETREGS
129
130 /* Set all general purpose registers used by a process. */
131 PTRACE_SETREGS = 13,
132#define PT_SETREGS PTRACE_SETREGS
133
134 /* Get all floating point registers used by a process. */
135 PTRACE_GETFPREGS = 14,
136#define PT_GETFPREGS PTRACE_GETFPREGS
137
138 /* Set all floating point registers used by a process. */
139 PTRACE_SETFPREGS = 15,
140#define PT_SETFPREGS PTRACE_SETFPREGS
141
142 /* Attach to a process that is already running. */
143 PTRACE_ATTACH = 16,
144#define PT_ATTACH PTRACE_ATTACH
145
146 /* Detach from a process attached to with PTRACE_ATTACH. */
147 PTRACE_DETACH = 17,
148#define PT_DETACH PTRACE_DETACH
149
150 /* Get all altivec registers used by a process. */
151 PTRACE_GETVRREGS = 18,
152#define PT_GETVRREGS PTRACE_GETVRREGS
153
154 /* Set all altivec registers used by a process. */
155 PTRACE_SETVRREGS = 19,
156#define PT_SETVRREGS PTRACE_SETVRREGS
157
158 /* Get all SPE registers used by a process. */
159 PTRACE_GETEVRREGS = 20,
160#define PT_GETEVRREGS PTRACE_GETEVRREGS
161
162 /* Set all SPE registers used by a process. */
163 PTRACE_SETEVRREGS = 21,
164#define PT_SETEVRREGS PTRACE_SETEVRREGS
165
166 /* Same as PTRACE_GETREGS except a 32-bit process will obtain
167 the full 64-bit registers. Implemented by 64-bit kernels only. */
168 PTRACE_GETREGS64 = 22,
169#define PT_GETREGS64 PTRACE_GETREGS64
170
171 /* Same as PTRACE_SETREGS except a 32-bit process will set
172 the full 64-bit registers. Implemented by 64-bit kernels only. */
173 PTRACE_SETREGS64 = 23,
174#define PT_SETREGS64 PTRACE_SETREGS64
175
176 /* Continue and stop at the next entry to or return from syscall. */
177 PTRACE_SYSCALL = 24,
178#define PT_SYSCALL PTRACE_SYSCALL
179
180 /* Get a debug register of a process. */
181 PTRACE_GET_DEBUGREG = 25,
182#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
183
184 /* Set a debug register of a process. */
185 PTRACE_SET_DEBUGREG = 26,
186#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
187
188 /* Get the first 32 VSX registers of a process. */
189 PTRACE_GETVSRREGS = 27,
190#define PT_GETVSRREGS PTRACE_GETVSRREGS
191
192 /* Set the first 32 VSX registers of a process. */
193 PTRACE_SETVSRREGS = 28,
194#define PT_SETVSRREGS PTRACE_SETVSRREGS
195
196 /* Continue and stop at the next syscall, it will not be executed. */
197 PTRACE_SYSEMU = 29,
198#define PT_SYSEMU PTRACE_SYSEMU
199
200 /* Single step the process, the next syscall will not be executed. */
201 PTRACE_SYSEMU_SINGLESTEP = 30,
202#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
203
204 /* Execute process until next taken branch. */
205 PTRACE_SINGLEBLOCK = 256,
206#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
207
208 /* Set ptrace filter options. */
209 PTRACE_SETOPTIONS = 0x4200,
210#define PT_SETOPTIONS PTRACE_SETOPTIONS
211
212 /* Get last ptrace message. */
213 PTRACE_GETEVENTMSG = 0x4201,
214#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
215
216 /* Get siginfo for process. */
217 PTRACE_GETSIGINFO = 0x4202,
218#define PT_GETSIGINFO PTRACE_GETSIGINFO
219
220 /* Set new siginfo for process. */
221 PTRACE_SETSIGINFO = 0x4203,
222#define PT_SETSIGINFO PTRACE_SETSIGINFO
223
224 /* Get register content. */
225 PTRACE_GETREGSET = 0x4204,
226#define PTRACE_GETREGSET PTRACE_GETREGSET
227
228 /* Set register content. */
229 PTRACE_SETREGSET = 0x4205,
230#define PTRACE_SETREGSET PTRACE_SETREGSET
231
232 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
233 signal or group stop state. */
234 PTRACE_SEIZE = 0x4206,
235#define PTRACE_SEIZE PTRACE_SEIZE
236
237 /* Trap seized tracee. */
238 PTRACE_INTERRUPT = 0x4207,
239#define PTRACE_INTERRUPT PTRACE_INTERRUPT
240
241 /* Wait for next group event. */
242 PTRACE_LISTEN = 0x4208,
243#define PTRACE_LISTEN PTRACE_LISTEN
244
245 /* Retrieve siginfo_t structures without removing signals from a queue. */
246 PTRACE_PEEKSIGINFO = 0x4209,
247#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
248
249 /* Get the mask of blocked signals. */
250 PTRACE_GETSIGMASK = 0x420a,
251#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
252
253 /* Change the mask of blocked signals. */
254 PTRACE_SETSIGMASK = 0x420b,
255#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
256
257 /* Get seccomp BPF filters. */
258 PTRACE_SECCOMP_GET_FILTER = 0x420c,
259#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
260
261 /* Get seccomp BPF filter metadata. */
262 PTRACE_SECCOMP_GET_METADATA = 0x420d,
263#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
264
265 /* Get information about system call. */
266 PTRACE_GET_SYSCALL_INFO = 0x420e,
267#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
268
269 /* Get rseq configuration information. */
270 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
271#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
272
273 /* Set configuration for syscall user dispatch. */
274 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
275#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
276 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
277
278 /* Get configuration for syscall user dispatch. */
279 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
280#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
281 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
282};
283
284
285#include <bits/ptrace-shared.h>
286
287__END_DECLS
288
289#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h deleted-200
......@@ -1,200 +0,0 @@
1/* Copyright (C) 1998-2025 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_UCONTEXT_H
19#define _SYS_UCONTEXT_H 1
20
21#include <features.h>
22
23#include <bits/types/sigset_t.h>
24#include <bits/types/stack_t.h>
25
26
27#ifdef __USE_MISC
28# define __ctx(fld) fld
29#else
30# define __ctx(fld) __ ## fld
31#endif
32
33struct __ctx(pt_regs);
34
35#if __WORDSIZE == 32
36
37/* Number of general registers. */
38# define __NGREG 48
39# ifdef __USE_MISC
40# define NGREG __NGREG
41# endif
42
43/* Container for all general registers. */
44typedef unsigned long gregset_t[__NGREG];
45
46/* Container for floating-point registers and status */
47typedef struct _libc_fpstate
48{
49 double __ctx(fpregs)[32];
50 double __ctx(fpscr);
51 unsigned int _pad[2];
52} fpregset_t;
53
54/* Container for Altivec/VMX registers and status.
55 Needs to be aligned on a 16-byte boundary. */
56typedef struct _libc_vrstate
57{
58 unsigned int __ctx(vrregs)[32][4];
59 unsigned int __ctx(vrsave);
60 unsigned int _pad[2];
61 unsigned int __ctx(vscr);
62} vrregset_t;
63
64/* Context to describe whole processor state. */
65typedef struct
66{
67 gregset_t __ctx(gregs);
68 fpregset_t __ctx(fpregs);
69 vrregset_t __ctx(vrregs) __attribute__((__aligned__(16)));
70} mcontext_t;
71
72#else
73
74/* For 64-bit kernels with Altivec support, a machine context is exactly
75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches
76 * the mcontext upto but not including the v_regs field. For kernels that
77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
78 * v_regs field may not exist and should not be referenced. The v_regs field
79 * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
80 * is set in AT_HWCAP. */
81
82/* Number of general registers. */
83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
86 split vectors */
87# ifdef __USE_MISC
88# define NGREG __NGREG
89# define NFPREG __NFPREG
90# define NVRREG __NVRREG
91# endif
92
93typedef unsigned long gregset_t[__NGREG];
94typedef double fpregset_t[__NFPREG];
95
96/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits
97 but can only be copied to/from a 128-bit vector register. So we allocated
98 a whole quadword speedup save/restore. */
99typedef struct _libc_vscr
100{
101#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
102 unsigned int __pad[3];
103 unsigned int __ctx(vscr_word);
104#else
105 unsigned int __ctx(vscr_word);
106 unsigned int __pad[3];
107#endif
108} vscr_t;
109
110/* Container for Altivec/VMX registers and status.
111 Must to be aligned on a 16-byte boundary. */
112typedef struct _libc_vrstate
113{
114 unsigned int __ctx(vrregs)[32][4];
115 vscr_t __ctx(vscr);
116 unsigned int __ctx(vrsave);
117 unsigned int __pad[3];
118} vrregset_t __attribute__((__aligned__(16)));
119
120typedef struct {
121 unsigned long __glibc_reserved[4];
122 int __ctx(signal);
123 int __pad0;
124 unsigned long __ctx(handler);
125 unsigned long __ctx(oldmask);
126 struct __ctx(pt_regs) *__ctx(regs);
127 gregset_t __ctx(gp_regs);
128 fpregset_t __ctx(fp_regs);
129/*
130 * To maintain compatibility with current implementations the sigcontext is
131 * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
132 * followed by an unstructured (vmx_reserve) field of 69 doublewords. This
133 * allows the array of vector registers to be quadword aligned independent of
134 * the alignment of the containing sigcontext or ucontext. It is the
135 * responsibility of the code setting the sigcontext to set this pointer to
136 * either NULL (if this processor does not support the VMX feature) or the
137 * address of the first quadword within the allocated (vmx_reserve) area.
138 *
139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
140 * an array of 34 quadword entries. The entries with
141 * indexes 0-31 contain the corresponding vector registers. The entry with
142 * index 32 contains the vscr as the last word (offset 12) within the
143 * quadword. This allows the vscr to be stored as either a quadword (since
144 * it must be copied via a vector register to/from storage) or as a word.
145 * The entry with index 33 contains the vrsave as the first word (offset 0)
146 * within the quadword.
147 */
148 vrregset_t *__ctx(v_regs);
149 long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1];
150} mcontext_t;
151
152#endif
153
154/* Userlevel context. */
155typedef struct ucontext_t
156 {
157 unsigned long int __ctx(uc_flags);
158 struct ucontext_t *uc_link;
159 stack_t uc_stack;
160#if __WORDSIZE == 32
161 /*
162 * These fields are set up this way to maximize source and
163 * binary compatibility with code written for the old
164 * ucontext_t definition, which didn't include space for the
165 * registers.
166 *
167 * Different versions of the kernel have stored the registers on
168 * signal delivery at different offsets from the ucontext struct.
169 * Programs should thus use the uc_mcontext.uc_regs pointer to
170 * find where the registers are actually stored. The registers
171 * will be stored within the ucontext_t struct but not necessarily
172 * at a fixed address. As a side-effect, this lets us achieve
173 * 16-byte alignment for the register storage space if the
174 * Altivec registers are to be saved, without requiring 16-byte
175 * alignment on the whole ucontext_t.
176 *
177 * The uc_mcontext.regs field is included for source compatibility
178 * with programs written against the older ucontext_t definition,
179 * and its name should therefore not change. The uc_pad field
180 * is for binary compatibility with programs compiled against the
181 * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask
182 * are at the same offset as previously.
183 */
184 int __glibc_reserved1[7];
185 union __ctx(uc_regs_ptr) {
186 struct __ctx(pt_regs) *__ctx(regs);
187 mcontext_t *__ctx(uc_regs);
188 } uc_mcontext;
189 sigset_t uc_sigmask;
190 /* last for extensibility */
191 char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12];
192#else /* 64-bit */
193 sigset_t uc_sigmask;
194 mcontext_t uc_mcontext; /* last for extensibility */
195#endif
196 } ucontext_t;
197
198#undef __ctx
199
200#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabi/sys/user.h deleted-40
......@@ -1,40 +0,0 @@
1/* Copyright (C) 1998-2025 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_USER_H
19
20#define _SYS_USER_H 1
21#include <stddef.h>
22#include <features.h>
23
24#include <asm/ptrace.h>
25
26struct user {
27 struct pt_regs regs; /* entire machine state */
28 size_t u_tsize; /* text size (pages) */
29 size_t u_dsize; /* data size (pages) */
30 size_t u_ssize; /* stack size (pages) */
31 unsigned long start_code; /* text starting address */
32 unsigned long start_data; /* data starting address */
33 unsigned long start_stack; /* stack starting address */
34 long int signal; /* signal causing core dump */
35 struct regs * u_ar0; /* help gdb find registers */
36 unsigned long magic; /* identifies a core file */
37 char u_comm[32]; /* user command name */
38};
39
40#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/endianness.h deleted-16
......@@ -1,16 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* PowerPC has selectable endianness. */
9#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
10# define __BYTE_ORDER __BIG_ENDIAN
11#endif
12#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
13# define __BYTE_ORDER __LITTLE_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h deleted-96
......@@ -1,96 +0,0 @@
1/* Copyright (C) 1999-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* Environments with 32-bit wide pointers are optionally provided.
45 Therefore following macros aren't defined:
46 # undef _POSIX_V7_ILP32_OFF32
47 # undef _POSIX_V7_ILP32_OFFBIG
48 # undef _POSIX_V6_ILP32_OFF32
49 # undef _POSIX_V6_ILP32_OFFBIG
50 # undef _XBS5_ILP32_OFF32
51 # undef _XBS5_ILP32_OFFBIG
52 and users need to check at runtime. */
53
54/* We also have no use (for now) for an environment with bigger pointers
55 and offsets. */
56# define _POSIX_V7_LPBIG_OFFBIG -1
57# define _POSIX_V6_LPBIG_OFFBIG -1
58# define _XBS5_LPBIG_OFFBIG -1
59
60/* By default we have 64-bit wide `long int', pointers and `off_t'. */
61# define _POSIX_V7_LP64_OFF64 1
62# define _POSIX_V6_LP64_OFF64 1
63# define _XBS5_LP64_OFF64 1
64
65#else /* __WORDSIZE == 32 */
66
67/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
68 and all platforms support LFS. */
69# define _POSIX_V7_ILP32_OFF32 1
70# define _POSIX_V7_ILP32_OFFBIG 1
71# define _POSIX_V6_ILP32_OFF32 1
72# define _POSIX_V6_ILP32_OFFBIG 1
73# define _XBS5_ILP32_OFF32 1
74# define _XBS5_ILP32_OFFBIG 1
75
76/* We optionally provide an environment with the above size but an 64-bit
77 side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
78
79/* Environments with 64-bit wide pointers can be provided,
80 so these macros aren't defined:
81 # undef _POSIX_V7_LP64_OFF64
82 # undef _POSIX_V7_LPBIG_OFFBIG
83 # undef _POSIX_V6_LP64_OFF64
84 # undef _POSIX_V6_LPBIG_OFFBIG
85 # undef _XBS5_LP64_OFF64
86 # undef _XBS5_LPBIG_OFFBIG
87 and sysconf tests for it at runtime. */
88
89#endif /* __WORDSIZE == 32 */
90
91#define __ILP32_OFF32_CFLAGS "-m32"
92#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
93#define __ILP32_OFF32_LDFLAGS "-m32"
94#define __ILP32_OFFBIG_LDFLAGS "-m32"
95#define __LP64_OFF64_CFLAGS "-m64"
96#define __LP64_OFF64_LDFLAGS "-m64"
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h deleted-68
......@@ -1,68 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#define __O_DIRECTORY 040000 /* Must be a directory. */
26#define __O_NOFOLLOW 0100000 /* Do not follow links. */
27#define __O_DIRECT 0400000 /* Direct disk access. */
28
29#if __WORDSIZE == 64
30/* Not necessary, files are always with 64bit off_t. */
31# define __O_LARGEFILE 0
32#else
33# define __O_LARGEFILE 0200000
34#endif
35
36#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64
37# define F_GETLK 5
38# define F_SETLK 6
39# define F_SETLKW 7
40#endif
41
42struct flock
43 {
44 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
45 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
46#ifndef __USE_FILE_OFFSET64
47 __off_t l_start; /* Offset where the lock begins. */
48 __off_t l_len; /* Size of the locked area; zero means until EOF. */
49#else
50 __off64_t l_start; /* Offset where the lock begins. */
51 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
52#endif
53 __pid_t l_pid; /* Process holding the lock. */
54 };
55
56#ifdef __USE_LARGEFILE64
57struct flock64
58 {
59 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
60 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
61 __off64_t l_start; /* Offset where the lock begins. */
62 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
63 __pid_t l_pid; /* Process holding the lock. */
64 };
65#endif
66
67/* Include generic Linux declarations. */
68#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h deleted-180
......@@ -1,180 +0,0 @@
1/* Copyright (C) 1997-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22
23/* Define bits representing the exception. We use the bit positions of
24 the appropriate bits in the FPSCR... */
25enum
26 {
27 FE_INEXACT =
28#define FE_INEXACT (1 << (31 - 6))
29 FE_INEXACT,
30 FE_DIVBYZERO =
31#define FE_DIVBYZERO (1 << (31 - 5))
32 FE_DIVBYZERO,
33 FE_UNDERFLOW =
34#define FE_UNDERFLOW (1 << (31 - 4))
35 FE_UNDERFLOW,
36 FE_OVERFLOW =
37#define FE_OVERFLOW (1 << (31 - 3))
38 FE_OVERFLOW,
39
40 /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID
41 actually corresponds to bits 7 through 12 and 21 through 23
42 in the FPSCR, but we can't use that because the current draft
43 says that it must be a power of 2. Instead we use bit 2 which
44 is the summary bit for all the FE_INVALID exceptions, which
45 kind of makes sense. */
46 FE_INVALID =
47#define FE_INVALID (1 << (31 - 2))
48 FE_INVALID,
49
50#ifdef __USE_GNU
51 /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an
52 input to a routine is equivalent to setting all of these bits;
53 FE_INVALID will be set on output from a routine iff one of
54 these bits is set. Note, though, that you can't disable or
55 enable these exceptions individually. */
56
57 /* Operation with a sNaN. */
58 FE_INVALID_SNAN =
59# define FE_INVALID_SNAN (1 << (31 - 7))
60 FE_INVALID_SNAN,
61
62 /* Inf - Inf */
63 FE_INVALID_ISI =
64# define FE_INVALID_ISI (1 << (31 - 8))
65 FE_INVALID_ISI,
66
67 /* Inf / Inf */
68 FE_INVALID_IDI =
69# define FE_INVALID_IDI (1 << (31 - 9))
70 FE_INVALID_IDI,
71
72 /* 0 / 0 */
73 FE_INVALID_ZDZ =
74# define FE_INVALID_ZDZ (1 << (31 - 10))
75 FE_INVALID_ZDZ,
76
77 /* Inf * 0 */
78 FE_INVALID_IMZ =
79# define FE_INVALID_IMZ (1 << (31 - 11))
80 FE_INVALID_IMZ,
81
82 /* Comparison with a NaN. */
83 FE_INVALID_COMPARE =
84# define FE_INVALID_COMPARE (1 << (31 - 12))
85 FE_INVALID_COMPARE,
86
87 /* Invalid operation flag for software (not set by hardware). */
88 /* Note that some chips don't have this implemented, presumably
89 because no-one expected anyone to write software for them %-). */
90 FE_INVALID_SOFTWARE =
91# define FE_INVALID_SOFTWARE (1 << (31 - 21))
92 FE_INVALID_SOFTWARE,
93
94 /* Square root of negative number (including -Inf). */
95 /* Note that some chips don't have this implemented. */
96 FE_INVALID_SQRT =
97# define FE_INVALID_SQRT (1 << (31 - 22))
98 FE_INVALID_SQRT,
99
100 /* Conversion-to-integer of a NaN or a number too large or too small. */
101 FE_INVALID_INTEGER_CONVERSION =
102# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23))
103 FE_INVALID_INTEGER_CONVERSION
104
105# define FE_ALL_INVALID \
106 (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \
107 | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \
108 | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION)
109#endif
110 };
111
112#define FE_ALL_EXCEPT \
113 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
114
115/* PowerPC chips support all of the four defined rounding modes. We
116 use the bit pattern in the FPSCR as the values for the
117 appropriate macros. */
118enum
119 {
120 FE_TONEAREST =
121#define FE_TONEAREST 0
122 FE_TONEAREST,
123 FE_TOWARDZERO =
124#define FE_TOWARDZERO 1
125 FE_TOWARDZERO,
126 FE_UPWARD =
127#define FE_UPWARD 2
128 FE_UPWARD,
129 FE_DOWNWARD =
130#define FE_DOWNWARD 3
131 FE_DOWNWARD
132 };
133
134/* Type representing exception flags. */
135typedef unsigned int fexcept_t;
136
137/* Type representing floating-point environment. We leave it as 'double'
138 for efficiency reasons (rather than writing it to a 32-bit integer). */
139typedef double fenv_t;
140
141/* If the default argument is used we use this value. */
142extern const fenv_t __fe_dfl_env;
143#define FE_DFL_ENV (&__fe_dfl_env)
144
145#ifdef __USE_GNU
146/* Floating-point environment where all exceptions are enabled. Note that
147 this is not sufficient to give you SIGFPE. */
148extern const fenv_t __fe_enabled_env;
149# define FE_ENABLED_ENV (&__fe_enabled_env)
150
151/* Floating-point environment with (processor-dependent) non-IEEE floating
152 point. */
153extern const fenv_t __fe_nonieee_env;
154# define FE_NONIEEE_ENV (&__fe_nonieee_env)
155
156/* Floating-point environment with all exceptions enabled. Note that
157 just evaluating this value does not change the processor exception mode.
158 Passing this mask to fesetenv will result in a prctl syscall to change
159 the MSR FE0/FE1 bits to "Precise Mode". On some processors this will
160 result in slower floating point execution. This will last until an
161 fenv or exception mask is installed that disables all FP exceptions. */
162# define FE_NOMASK_ENV FE_ENABLED_ENV
163
164/* Floating-point environment with all exceptions disabled. Note that
165 just evaluating this value does not change the processor exception mode.
166 Passing this mask to fesetenv will result in a prctl syscall to change
167 the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors
168 this allows the fastest possible floating point execution.*/
169# define FE_MASK_ENV FE_DFL_ENV
170
171#endif
172
173#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
174/* Type representing floating-point control modes. */
175typedef double femode_t;
176
177/* Default floating-point control modes. */
178extern const femode_t __fe_dfl_mode;
179# define FE_DFL_MODE (&__fe_dfl_mode)
180#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h deleted-122
......@@ -1,122 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on powerpc.
2 Copyright (C) 2017-2025 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 glibc
27 includes corresponding *f128 interfaces for it. */
28#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \
29 && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH
30# define __HAVE_FLOAT128 1
31#else
32# define __HAVE_FLOAT128 0
33#endif
34
35/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
36 from the default float, double and long double types in this glibc, i.e.
37 calls to the binary128 functions go to *f128 symbols instead of *l. */
38#if __HAVE_FLOAT128
39# define __HAVE_DISTINCT_FLOAT128 1
40#else
41# define __HAVE_DISTINCT_FLOAT128 0
42#endif
43
44/* Defined to 1 if the current compiler invocation provides a
45 floating-point type with the right format for _Float64x, and this
46 glibc includes corresponding *f64x interfaces for it. */
47#define __HAVE_FLOAT64X __HAVE_FLOAT128
48
49/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
50 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
51 the format of _Float128, which must be different from that of long
52 double. */
53#define __HAVE_FLOAT64X_LONG_DOUBLE 0
54
55#ifndef __ASSEMBLER__
56
57/* Defined to concatenate the literal suffix to be used with _Float128
58 types, if __HAVE_FLOAT128 is 1. */
59# if __HAVE_FLOAT128
60# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
61/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */
62# if __LDBL_MANT_DIG__ == 113
63# define __f128(x) x##l
64# else
65# define __f128(x) x##q
66# endif
67# else
68# define __f128(x) x##f128
69# endif
70# endif
71
72/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
73# if __HAVE_FLOAT128
74# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0)
75typedef long double _Float128;
76# define __CFLOAT128 _Complex long double
77# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
78/* The type _Float128 exist for powerpc only since GCC 7.0. */
79typedef __float128 _Float128;
80/* Add a typedef for older GCC and C++ compilers which don't natively support
81 _Complex _Float128. */
82typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
83# define __CFLOAT128 __cfloat128
84# else
85# define __CFLOAT128 _Complex _Float128
86# endif
87# endif
88
89/* The remaining of this file provides support for older compilers. */
90# if __HAVE_FLOAT128
91/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */
92# if !__GNUC_PREREQ (7, 0)
93# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
94# endif
95
96/* The following builtins (suffixed with 'q') are available in GCC >= 6.2,
97 which is the minimum version required for float128 support on powerpc64le.
98 Since GCC 7.0 the builtins suffixed with f128 are also available, then
99 there is no need to redefined them. */
100# if !__GNUC_PREREQ (7, 0)
101# define __builtin_copysignf128 __builtin_copysignq
102# define __builtin_fabsf128 __builtin_fabsq
103# define __builtin_inff128 __builtin_infq
104# define __builtin_nanf128 __builtin_nanq
105# define __builtin_nansf128 __builtin_nansq
106# endif
107
108/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
109 e.g.: __builtin_signbitf128, before GCC 6. However, there has never
110 been a __builtin_signbitf128 in GCC and the type-generic builtin is
111 only available since GCC 6. */
112# if !__GNUC_PREREQ (6, 0)
113# define __builtin_signbitf128 __signbitf128
114# endif
115
116# endif
117
118#endif /* !__ASSEMBLER__. */
119
120#include <bits/floatn-common.h>
121
122#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h deleted-39
......@@ -1,39 +0,0 @@
1/* Define FP_FAST_* macros. PowerPC version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
21#endif
22
23#ifdef __USE_ISOC99
24
25/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
26 builtins are supported. */
27# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA
28# define FP_FAST_FMA 1
29# endif
30
31# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF
32# define FP_FAST_FMAF 1
33# endif
34
35# ifdef __FP_FAST_FMAL
36# define FP_FAST_FMAL 1
37# endif
38
39#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h deleted-78
......@@ -1,78 +0,0 @@
1/* Defines for bits in AT_HWCAP and AT_HWCAP2.
2 Copyright (C) 2012-2025 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(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The bit numbers must match those in the kernel's asm/cputable.h. */
24
25/* Feature definitions in AT_HWCAP. */
26#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */
27#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */
28#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */
29#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */
30#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */
31#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */
32#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */
33#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */
34#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */
35#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */
36#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */
37#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */
38#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */
39#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */
40#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */
41#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */
42#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */
43#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous
44 Multi-Threading */
45#define PPC_FEATURE_ICACHE_SNOOP 0x00002000
46#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */
47#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */
48#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */
49#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */
50#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */
51#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */
52#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040
53/* Reserved by the kernel. 0x00000004 Do not use. */
54#define PPC_FEATURE_TRUE_LE 0x00000002
55#define PPC_FEATURE_PPC_LE 0x00000001
56
57/* Feature definitions in AT_HWCAP2. */
58#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */
59#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional
60 Memory */
61#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control
62 Register */
63#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */
64#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */
65#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */
66#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector
67 instruction. */
68#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction
69 when a syscall is made. */
70#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */
71#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float
72 128-bit */
73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended
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-gnueabihf/bits/ioctl-types.h deleted-77
......@@ -1,77 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.
2 Copyright (C) 2014-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26
27struct winsize
28 {
29 unsigned short int ws_row;
30 unsigned short int ws_col;
31 unsigned short int ws_xpixel;
32 unsigned short int ws_ypixel;
33 };
34
35#define NCC 10
36struct termio
37 {
38 unsigned short int c_iflag; /* input mode flags */
39 unsigned short int c_oflag; /* output mode flags */
40 unsigned short int c_cflag; /* control mode flags */
41 unsigned short int c_lflag; /* local mode flags */
42 unsigned char c_line; /* line discipline */
43 unsigned char c_cc[NCC]; /* control characters */
44};
45
46/* modem lines */
47#define TIOCM_LE 0x001
48#define TIOCM_DTR 0x002
49#define TIOCM_RTS 0x004
50#define TIOCM_ST 0x008
51#define TIOCM_SR 0x010
52#define TIOCM_CTS 0x020
53#define TIOCM_CAR 0x040
54#define TIOCM_RNG 0x080
55#define TIOCM_DSR 0x100
56#define TIOCM_CD TIOCM_CAR
57#define TIOCM_RI TIOCM_RNG
58
59/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
60
61/* line disciplines */
62#define N_TTY 0
63#define N_SLIP 1
64#define N_MOUSE 2
65#define N_PPP 3
66#define N_STRIP 4
67#define N_AX25 5
68#define N_X25 6 /* X.25 async */
69#define N_6PACK 7
70#define N_MASC 8 /* Mobitex module */
71#define N_R3964 9 /* Simatic R3964 module */
72#define N_PROFIBUS_FDL 10 /* Profibus */
73#define N_IRDA 11 /* Linux IR */
74#define N_SMSBLOCK 12 /* SMS block mode */
75#define N_HDLC 13 /* synchronous HDLC */
76#define N_SYNC_PPP 14 /* synchronous PPP */
77#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h deleted-36
......@@ -1,36 +0,0 @@
1/* struct ipc_perm definition. Linux/powerpc version.
2 Copyright (C) 1995-2025 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_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 __uint32_t __seq; /* Sequence number. */
33 __uint32_t __pad1;
34 __uint64_t __glibc_reserved1;
35 __uint64_t __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h deleted-58
......@@ -1,58 +0,0 @@
1/* Define iscanonical macro. ldbl-128ibm version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif
22
23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
25#else
26extern int __iscanonicall (long double __x)
27 __THROW __attribute__ ((__const__));
28# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
29# define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
30# if __HAVE_DISTINCT_FLOAT128
31# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
32# endif
33
34/* Return nonzero value if X is canonical. In IEEE interchange binary
35 formats, all values are canonical, but the argument must still be
36 converted to its semantic type for any exceptions arising from the
37 conversion, before being discarded; in IBM long double, there are
38 encodings that are not consistently handled as corresponding to any
39 particular value of the type, and we return 0 for those. */
40# ifndef __cplusplus
41# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
42# else
43/* In C++ mode, __MATH_TG cannot be used, because it relies on
44 __builtin_types_compatible_p, which is a C-only builtin. On the
45 other hand, overloading provides the means to distinguish between
46 the floating-point types. The overloading resolution will match
47 the correct parameter (regardless of type qualifiers (i.e.: const
48 and volatile)). */
49extern "C++" {
50inline int iscanonical (float __val) { return __iscanonicalf (__val); }
51inline int iscanonical (double __val) { return __iscanonical (__val); }
52inline int iscanonical (long double __val) { return __iscanonicall (__val); }
53# if __HAVE_DISTINCT_FLOAT128
54inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
55# endif
56}
57# endif /* __cplusplus */
58#endif /* __NO_LONG_DOUBLE_MATH */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/link.h deleted-156
......@@ -1,156 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface. PowerPC version
2 Copyright (C) 2004-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23
24#if __ELF_NATIVE_CLASS == 32
25
26/* Registers for entry into PLT on PPC32. */
27typedef struct La_ppc32_regs
28{
29 uint32_t lr_reg[8];
30 double lr_fp[8];
31 uint32_t lr_vreg[12][4];
32 uint32_t lr_r1;
33 uint32_t lr_lr;
34} La_ppc32_regs;
35
36/* Return values for calls from PLT on PPC32. */
37typedef struct La_ppc32_retval
38{
39 uint32_t lrv_r3;
40 uint32_t lrv_r4;
41 double lrv_fp[8];
42 uint32_t lrv_v2[4];
43} La_ppc32_retval;
44
45
46__BEGIN_DECLS
47
48extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym,
49 unsigned int __ndx,
50 uintptr_t *__refcook,
51 uintptr_t *__defcook,
52 La_ppc32_regs *__regs,
53 unsigned int *__flags,
54 const char *__symname,
55 long int *__framesizep);
56extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym,
57 unsigned int __ndx,
58 uintptr_t *__refcook,
59 uintptr_t *__defcook,
60 const La_ppc32_regs *__inregs,
61 La_ppc32_retval *__outregs,
62 const char *__symname);
63
64__END_DECLS
65
66#elif __ELF_NATIVE_CLASS == 64
67# if _CALL_ELF != 2
68
69/* Registers for entry into PLT on PPC64. */
70typedef struct La_ppc64_regs
71{
72 uint64_t lr_reg[8];
73 double lr_fp[13];
74 uint32_t __padding;
75 uint32_t lr_vrsave;
76 uint32_t lr_vreg[12][4];
77 uint64_t lr_r1;
78 uint64_t lr_lr;
79} La_ppc64_regs;
80
81/* Return values for calls from PLT on PPC64. */
82typedef struct La_ppc64_retval
83{
84 uint64_t lrv_r3;
85 uint64_t lrv_r4;
86 double lrv_fp[4]; /* f1-f4, float - complex long double. */
87 uint32_t lrv_v2[4]; /* v2. */
88} La_ppc64_retval;
89
90
91__BEGIN_DECLS
92
93extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym,
94 unsigned int __ndx,
95 uintptr_t *__refcook,
96 uintptr_t *__defcook,
97 La_ppc64_regs *__regs,
98 unsigned int *__flags,
99 const char *__symname,
100 long int *__framesizep);
101extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym,
102 unsigned int __ndx,
103 uintptr_t *__refcook,
104 uintptr_t *__defcook,
105 const La_ppc64_regs *__inregs,
106 La_ppc64_retval *__outregs,
107 const char *__symname);
108
109__END_DECLS
110
111# else
112
113/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */
114typedef struct La_ppc64v2_regs
115{
116 uint64_t lr_reg[8];
117 double lr_fp[13];
118 uint32_t __padding;
119 uint32_t lr_vrsave;
120 uint32_t lr_vreg[12][4] __attribute__ ((aligned (16)));
121 uint64_t lr_r1;
122 uint64_t lr_lr;
123} La_ppc64v2_regs;
124
125/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */
126typedef struct La_ppc64v2_retval
127{
128 uint64_t lrv_r3;
129 uint64_t lrv_r4;
130 double lrv_fp[10];
131 uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16)));
132} La_ppc64v2_retval;
133
134
135__BEGIN_DECLS
136
137extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym,
138 unsigned int __ndx,
139 uintptr_t *__refcook,
140 uintptr_t *__defcook,
141 La_ppc64v2_regs *__regs,
142 unsigned int *__flags,
143 const char *__symname,
144 long int *__framesizep);
145extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym,
146 unsigned int __ndx,
147 uintptr_t *__refcook,
148 uintptr_t *__defcook,
149 const La_ppc64v2_regs *__inregs,
150 La_ppc64v2_retval *__outregs,
151 const char *__symname);
152
153__END_DECLS
154
155# endif
156#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h deleted-25
......@@ -1,25 +0,0 @@
1/* Properties of long double type. ldbl-opt version.
2 Copyright (C) 2016-2025 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 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 __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 1
23# endif
24#endif
25#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h deleted-51
......@@ -1,51 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/PowerPC version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26#define PROT_SAO 0x10 /* Strong Access Ordering. */
27
28/* These are Linux-specific. */
29#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
30#define MAP_DENYWRITE 0x00800 /* ETXTBSY */
31#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
32#define MAP_LOCKED 0x00080 /* Lock the mapping. */
33#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */
34#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
35#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
36#define MAP_STACK 0x20000 /* Allocation is for a stack. */
37#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
38#define MAP_SYNC 0x80000 /* Perform synchronous page
39 faults for the mapping. */
40#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
41 underlying mapping. */
42
43/* Flags for `mlockall'. */
44#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */
45#define MCL_FUTURE 0x4000 /* Lock all additions to address
46 space. */
47#define MCL_ONFAULT 0x8000 /* Lock all pages that are
48 faulted in. */
49
50/* Include generic Linux declarations. */
51#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h deleted-49
......@@ -1,49 +0,0 @@
1/* Types for registers for sys/procfs.h. PowerPC version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <signal.h>
24#include <sys/ucontext.h>
25
26/* These definitions are normally provided by ucontext.h via
27 asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define
28 them here. */
29#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H
30#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */
31#define ELF_NFPREG 33 /* includes fpscr */
32#if __WORDSIZE == 32
33# define ELF_NVRREG 33 /* includes vscr */
34#else
35# define ELF_NVRREG 34 /* includes vscr */
36#endif
37
38typedef unsigned long elf_greg_t;
39typedef elf_greg_t elf_gregset_t[ELF_NGREG];
40
41typedef double elf_fpreg_t;
42typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
43
44/* Altivec registers */
45typedef struct {
46 unsigned int u[4];
47} __attribute__ ((__aligned__ (16))) elf_vrreg_t;
48typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
49#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h deleted-21
......@@ -1,21 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. Linux/PPC version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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; see the file COPYING.LIB. If
17 not, see <https://www.gnu.org/licenses/>. */
18
19/* Minimum size for a thread. At least two pages for systems with 64k
20 pages. */
21#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h deleted-37
......@@ -1,37 +0,0 @@
1/* Restartable Sequences Linux powerpc architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 RSEQ_SIG uses the following trap instruction:
32
33 powerpc-be: 0f e5 00 0b twui r5,11
34 powerpc64-le: 0b 00 e5 0f twui r5,11
35 powerpc64-be: 0f e5 00 0b twui r5,11 */
36
37#define RSEQ_SIG 0x0fe5000b
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h deleted-50
......@@ -1,50 +0,0 @@
1/* Copyright (C) 1997-2025 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/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 1
21
22#if !defined _SETJMP_H && !defined _PTHREAD_H
23# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
24#endif
25
26/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
27 We use an array of 'long int' instead, to make writing the
28 assembler easier. Naturally, user code should not depend on
29 either representation. */
30
31#include <bits/wordsize.h>
32
33/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI
34 the vrsave must be at byte 248 & v20 at byte 256. So we must pad this
35 correctly on 32 bit. It also insists that vecregs are only guaranteed
36 4 byte alignment so we need to use vperm in the setjmp/longjmp routines.
37 We have to version the code because members like int __mask_was_saved
38 in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We
39 cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */
40#ifndef _ASM
41# if __WORDSIZE == 64
42typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16)));
43# else
44/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte
45 aligned buffer as per the ABI it is just added for performance reasons. */
46typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16)));
47# endif
48#endif
49
50#endif /* bits/setjmp.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h deleted-37
......@@ -1,37 +0,0 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 1998-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26#ifdef __powerpc64__
27#define MINSIGSTKSZ 8192
28#define SIGSTKSZ 32768
29#else
30/* Minimum stack size for a signal handler. */
31#define MINSIGSTKSZ 4096
32
33/* System default stack size. */
34#define SIGSTKSZ 16384
35#endif
36
37#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 16
33#define SO_REUSEADDR 2
34#define SO_SNDBUF 7
35#define SO_SNDLOWAT 17
36#define SO_TYPE 3
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 18
40# define SO_SNDTIMEO 19
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 18
46# define SO_SNDTIMEO_OLD 19
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h deleted-63
......@@ -1,63 +0,0 @@
1/* PowerPC internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__elision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h deleted-61
......@@ -1,61 +0,0 @@
1/* PowerPC internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned char __rwelision;
35 unsigned char __pad1[7];
36 unsigned long int __pad2;
37 /* FLAGS must stay at this position in the structure to maintain
38 binary compatibility. */
39 unsigned int __flags;
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
41#else
42 unsigned char __rwelision;
43 unsigned char __pad2;
44 unsigned char __shared;
45 /* FLAGS must stay at this position in the structure to maintain
46 binary compatibility. */
47 unsigned char __flags;
48 int __cur_writer;
49# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
50#endif
51};
52
53#if __WORDSIZE == 64
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h deleted-231
......@@ -1,231 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/wordsize.h>
27
28#if __WORDSIZE == 32
29struct stat
30 {
31# ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33# else
34 __dev_t st_dev; /* Device. */
35# ifndef __USE_FILE_OFFSET64
36 unsigned short int __pad1;
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino64_t st_ino; /* File serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80 unsigned long int __glibc_reserved4;
81 unsigned long int __glibc_reserved5;
82# endif /* __USE_TIME64_REDIRECTS */
83 };
84
85# ifdef __USE_LARGEFILE64
86struct stat64
87 {
88# ifdef __USE_TIME64_REDIRECTS
89# include <bits/struct_stat_time64_helper.h>
90# else
91 __dev_t st_dev; /* Device. */
92 __ino64_t st_ino; /* File serial number. */
93 __mode_t st_mode; /* File mode. */
94 __nlink_t st_nlink; /* Link count. */
95 __uid_t st_uid; /* User ID of the file's owner. */
96 __gid_t st_gid; /* Group ID of the file's group.*/
97 __dev_t st_rdev; /* Device number, if device. */
98 unsigned short int __pad2;
99 __off64_t st_size; /* Size of file, in bytes. */
100 __blksize_t st_blksize; /* Optimal block size for I/O. */
101 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
102# ifdef __USE_XOPEN2K8
103 /* Nanosecond resolution timestamps are stored in a format
104 equivalent to 'struct timespec'. This is the type used
105 whenever possible but the Unix namespace rules do not allow the
106 identifier 'timespec' to appear in the <sys/stat.h> header.
107 Therefore we have to handle the use of this header in strictly
108 standard-compliant sources special. */
109 struct timespec st_atim; /* Time of last access. */
110 struct timespec st_mtim; /* Time of last modification. */
111 struct timespec st_ctim; /* Time of last status change. */
112# define st_atime st_atim.tv_sec /* Backward compatibility. */
113# define st_mtime st_mtim.tv_sec
114# define st_ctime st_ctim.tv_sec
115# else
116 __time_t st_atime; /* Time of last access. */
117 unsigned long int st_atimensec; /* Nscecs of last access. */
118 __time_t st_mtime; /* Time of last modification. */
119 unsigned long int st_mtimensec; /* Nsecs of last modification. */
120 __time_t st_ctime; /* Time of last status change. */
121 unsigned long int st_ctimensec; /* Nsecs of last status change. */
122# endif
123 unsigned long int __glibc_reserved4;
124 unsigned long int __glibc_reserved5;
125# endif /* __USE_TIME64_REDIRECTS */
126 };
127# endif /* __USE_LARGEFILE64 */
128
129#else /* __WORDSIZE == 32 */
130
131struct stat
132 {
133 __dev_t st_dev; /* Device. */
134# ifndef __USE_FILE_OFFSET64
135 __ino_t st_ino; /* File serial number. */
136# else
137 __ino64_t st_ino; /* File serial number. */
138# endif
139 __nlink_t st_nlink; /* Link count. */
140 __mode_t st_mode; /* File mode. */
141 __uid_t st_uid; /* User ID of the file's owner. */
142 __gid_t st_gid; /* Group ID of the file's group.*/
143 int __pad2;
144 __dev_t st_rdev; /* Device number, if device. */
145# ifndef __USE_FILE_OFFSET64
146 __off_t st_size; /* Size of file, in bytes. */
147# else
148 __off64_t st_size; /* Size of file, in bytes. */
149# endif
150 __blksize_t st_blksize; /* Optimal block size for I/O. */
151
152# ifndef __USE_FILE_OFFSET64
153 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
154# else
155 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
156# endif
157# ifdef __USE_XOPEN2K8
158 /* Nanosecond resolution timestamps are stored in a format
159 equivalent to 'struct timespec'. This is the type used
160 whenever possible but the Unix namespace rules do not allow the
161 identifier 'timespec' to appear in the <sys/stat.h> header.
162 Therefore we have to handle the use of this header in strictly
163 standard-compliant sources special. */
164 struct timespec st_atim; /* Time of last access. */
165 struct timespec st_mtim; /* Time of last modification. */
166 struct timespec st_ctim; /* Time of last status change. */
167# define st_atime st_atim.tv_sec /* Backward compatibility. */
168# define st_mtime st_mtim.tv_sec
169# define st_ctime st_ctim.tv_sec
170# else
171 __time_t st_atime; /* Time of last access. */
172 unsigned long int st_atimensec; /* Nscecs of last access. */
173 __time_t st_mtime; /* Time of last modification. */
174 unsigned long int st_mtimensec; /* Nsecs of last modification. */
175 __time_t st_ctime; /* Time of last status change. */
176 unsigned long int st_ctimensec; /* Nsecs of last status change. */
177# endif
178 unsigned long int __glibc_reserved4;
179 unsigned long int __glibc_reserved5;
180 unsigned long int __glibc_reserved6;
181 };
182
183# ifdef __USE_LARGEFILE64
184struct stat64
185 {
186 __dev_t st_dev; /* Device. */
187 __ino64_t st_ino; /* File serial number. */
188 __nlink_t st_nlink; /* Link count. */
189 __mode_t st_mode; /* File mode. */
190 __uid_t st_uid; /* User ID of the file's owner. */
191 __gid_t st_gid; /* Group ID of the file's group.*/
192 int __pad2;
193 __dev_t st_rdev; /* Device number, if device. */
194 __off64_t st_size; /* Size of file, in bytes. */
195 __blksize_t st_blksize; /* Optimal block size for I/O. */
196 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
197# ifdef __USE_XOPEN2K8
198 /* Nanosecond resolution timestamps are stored in a format
199 equivalent to 'struct timespec'. This is the type used
200 whenever possible but the Unix namespace rules do not allow the
201 identifier 'timespec' to appear in the <sys/stat.h> header.
202 Therefore we have to handle the use of this header in strictly
203 standard-compliant sources special. */
204 struct timespec st_atim; /* Time of last access. */
205 struct timespec st_mtim; /* Time of last modification. */
206 struct timespec st_ctim; /* Time of last status change. */
207# define st_atime st_atim.tv_sec /* Backward compatibility. */
208# define st_mtime st_mtim.tv_sec
209# define st_ctime st_ctim.tv_sec
210# else
211 __time_t st_atime; /* Time of last access. */
212 unsigned long int st_atimensec; /* Nscecs of last access. */
213 __time_t st_mtime; /* Time of last modification. */
214 unsigned long int st_mtimensec; /* Nsecs of last modification. */
215 __time_t st_ctime; /* Time of last status change. */
216 unsigned long int st_ctimensec; /* Nsecs of last status change. */
217# endif
218 unsigned long int __glibc_reserved4;
219 unsigned long int __glibc_reserved5;
220 unsigned long int __glibc_reserved6;
221 };
222# endif /* __USE_LARGEFILE64 */
223#endif
224
225/* Tell code we have these members. */
226#define _STATBUF_ST_BLKSIZE
227#define _STATBUF_ST_RDEV
228/* Nanosecond resolution time values are supported. */
229#define _STATBUF_ST_NSEC
230
231#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h deleted-45
......@@ -1,45 +0,0 @@
1/* termios baud rate selection definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24# define CBAUD 0000377
25# define CBAUDEX 0000020
26# define CMSPAR 010000000000 /* mark or space (stick) parity */
27# define CRTSCTS 020000000000 /* flow control */
28#endif
29
30#define B57600 00020
31#define B115200 00021
32#define B230400 00022
33#define B460800 00023
34#define B500000 00024
35#define B576000 00025
36#define B921600 00026
37#define B1000000 00027
38#define B1152000 00030
39#define B1500000 00031
40#define B2000000 00032
41#define B2500000 00033
42#define B3000000 00034
43#define B3500000 00035
44#define B4000000 00036
45#define __MAX_BAUD B4000000
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h deleted-41
......@@ -1,41 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0
25#define VQUIT 1
26#define VERASE 2
27#define VKILL 3
28#define VEOF 4
29#define VMIN 5
30#define VEOL 6
31#define VTIME 7
32#define VEOL2 8
33#define VSWTC 9
34
35#define VWERASE 10
36#define VREPRINT 11
37#define VSUSP 12
38#define VSTART 13
39#define VSTOP 14
40#define VLNEXT 15
41#define VDISCARD 16
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h deleted-39
......@@ -1,39 +0,0 @@
1/* termios control mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
21#endif
22
23#define CSIZE 00001400
24#define CS5 00000000
25#define CS6 00000400
26#define CS7 00001000
27#define CS8 00001400
28
29#define CSTOPB 00002000
30#define CREAD 00004000
31#define PARENB 00010000
32#define PARODD 00020000
33#define HUPCL 00040000
34
35#define CLOCAL 00100000
36
37#ifdef __USE_MISC
38# define ADDRB 04000000000
39#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h deleted-38
......@@ -1,38 +0,0 @@
1/* termios input mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."
21#endif
22
23/* c_iflag bits */
24#define IGNBRK 0000001
25#define BRKINT 0000002
26#define IGNPAR 0000004
27#define PARMRK 0000010
28#define INPCK 0000020
29#define ISTRIP 0000040
30#define INLCR 0000100
31#define IGNCR 0000200
32#define ICRNL 0000400
33#define IXON 0001000
34#define IXOFF 0002000
35#define IXANY 0004000
36#define IUCLC 0010000
37#define IMAXBEL 0020000
38#define IUTF8 0040000
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h deleted-45
......@@ -1,45 +0,0 @@
1/* termios local mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0x00000080
25#define ICANON 0x00000100
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0x00004000
28#endif
29#define ECHO 0x00000008
30#define ECHOE 0x00000002
31#define ECHOK 0x00000004
32#define ECHONL 0x00000010
33#define NOFLSH 0x80000000
34#define TOSTOP 0x00400000
35#ifdef __USE_MISC
36# define ECHOCTL 0x00000040
37# define ECHOPRT 0x00000020
38# define ECHOKE 0x00000001
39# define FLUSHO 0x00800000
40# define PENDIN 0x20000000
41#endif
42#define IEXTEN 0x00000400
43#ifdef __USE_MISC
44# define EXTPROC 0x10000000
45#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h deleted-65
......@@ -1,65 +0,0 @@
1/* termios output mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_oflag bits */
24#define OPOST 0000001
25#define ONLCR 0000002
26#define OLCUC 0000004
27
28#define OCRNL 0000010
29#define ONOCR 0000020
30#define ONLRET 0000040
31
32#define OFILL 00000100
33#define OFDEL 00000200
34#if defined __USE_MISC || defined __USE_XOPEN
35# define NLDLY 00001400
36# define NL0 00000000
37# define NL1 00000400
38# if defined __USE_MISC
39# define NL2 00001000
40# define NL3 00001400
41# endif
42# define TABDLY 00006000
43# define TAB0 00000000
44# define TAB1 00002000
45# define TAB2 00004000
46# define TAB3 00006000
47# define CRDLY 00030000
48# define CR0 00000000
49# define CR1 00010000
50# define CR2 00020000
51# define CR3 00030000
52# define FFDLY 00040000
53# define FF0 00000000
54# define FF1 00040000
55# define BSDLY 00100000
56# define BS0 00000000
57# define BS1 00100000
58#endif
59#define VTDLY 00200000
60#define VT0 00000000
61#define VT1 00200000
62
63#ifdef __USE_MISC
64# define XTABS 00006000
65#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h deleted-72
......@@ -1,72 +0,0 @@
1/* termios baud platform specific definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24
25struct sgttyb {
26 char sg_ispeed;
27 char sg_ospeed;
28 char sg_erase;
29 char sg_kill;
30 short sg_flags;
31};
32
33struct tchars {
34 char t_intrc;
35 char t_quitc;
36 char t_startc;
37 char t_stopc;
38 char t_eofc;
39 char t_brkc;
40};
41
42struct ltchars {
43 char t_suspc;
44 char t_dsuspc;
45 char t_rprntc;
46 char t_flushc;
47 char t_werasc;
48 char t_lnextc;
49};
50
51/* Used for packet mode */
52#define TIOCPKT_DATA 0
53#define TIOCPKT_FLUSHREAD 1
54#define TIOCPKT_FLUSHWRITE 2
55#define TIOCPKT_STOP 4
56#define TIOCPKT_START 8
57#define TIOCPKT_NOSTOP 16
58#define TIOCPKT_DOSTOP 32
59
60/* c_cc characters */
61#define _VINTR 0
62#define _VQUIT 1
63#define _VERASE 2
64#define _VKILL 3
65#define _VEOF 4
66#define _VMIN 5
67#define _VEOL 6
68#define _VTIME 7
69#define _VEOL2 8
70#define _VSWTC 9
71
72#endif /* __USE_MISC */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h deleted-22
......@@ -1,22 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/PowerPC.
2 Copyright (C) 2021-2025 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#include <bits/wordsize.h>
20
21/* Size in bits of the 'time_t' type of the default ABI. */
22#define __TIMESIZE __WORDSIZE
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/PowerPC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34 unsigned long int __msg_stime_high;
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_rtime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_ctime_high;
39 __time_t msg_ctime; /* time of last change */
40# else
41 __time_t msg_stime; /* time of last msgsnd command */
42 __time_t msg_rtime; /* time of last msgsnd command */
43 __time_t msg_ctime; /* time of last change */
44# endif
45 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
46 msgqnum_t msg_qnum; /* number of messages currently on queue */
47 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
48 __pid_t msg_lspid; /* pid of last msgsnd() */
49 __pid_t msg_lrpid; /* pid of last msgrcv() */
50 __syscall_ulong_t __glibc_reserved4;
51 __syscall_ulong_t __glibc_reserved5;
52#endif
53};
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h deleted-43
......@@ -1,43 +0,0 @@
1/* PowerPC implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 __syscall_ulong_t __sem_otime_high;
32 __time_t sem_otime; /* last semop() time */
33 __syscall_ulong_t __sem_ctime_high;
34 __time_t sem_ctime; /* last time changed by semctl() */
35# else
36 __time_t sem_otime; /* last semop() time */
37 __time_t sem_ctime; /* last time changed by semctl() */
38# endif
39 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
40 __syscall_ulong_t __glibc_reserved3;
41 __syscall_ulong_t __glibc_reserved4;
42#endif
43};
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h deleted-50
......@@ -1,50 +0,0 @@
1/* Linux/PowerPC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 unsigned long int __shm_atime_high;
32 __time_t shm_atime; /* time of last shmat() */
33 unsigned long int __shm_dtime_high;
34 __time_t shm_dtime; /* time of last shmdt() */
35 unsigned long int __shm_ctime_high;
36 __time_t shm_ctime; /* time of last change by shmctl() */
37 unsigned long int __glibc_reserved4;
38# else
39 __time_t shm_atime; /* time of last shmat() */
40 __time_t shm_dtime; /* time of last shmdt() */
41 __time_t shm_ctime; /* time of last change by shmctl() */
42# endif
43 size_t shm_segsz; /* size of segment in bytes */
44 __pid_t shm_cpid; /* pid of creator */
45 __pid_t shm_lpid; /* pid of last shmop */
46 shmatt_t shm_nattch; /* number of current attaches */
47 __syscall_ulong_t __glibc_reserved5;
48 __syscall_ulong_t __glibc_reserved6;
49#endif
50 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. PowerPC version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/bits/wordsize.h deleted-10
......@@ -1,10 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. */
2
3#if defined __powerpc64__
4# define __WORDSIZE 64
5#else
6# define __WORDSIZE 32
7# define __WORDSIZE32_SIZE_ULONG 0
8# define __WORDSIZE32_PTRDIFF_LONG 0
9#endif
10#define __WORDSIZE_TIME64_COMPAT32 1
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h deleted-114
......@@ -1,114 +0,0 @@
1/* FPU control word definitions. PowerPC version.
2 Copyright (C) 1996-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
23# error "SPE/e500 is no longer supported"
24#endif
25
26#ifdef _SOFT_FLOAT
27
28# define _FPU_RESERVED 0xffffffff
29# define _FPU_DEFAULT 0x00000000 /* Default value. */
30typedef unsigned int fpu_control_t;
31# define _FPU_GETCW(cw) (cw) = 0
32# define _FPU_SETCW(cw) (void) (cw)
33extern fpu_control_t __fpu_control;
34
35#else /* PowerPC 6xx floating-point. */
36
37/* rounding control */
38# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
39# define _FPU_RC_DOWN 0x03
40# define _FPU_RC_UP 0x02
41# define _FPU_RC_ZERO 0x01
42
43# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO)
44
45# define _FPU_MASK_NI 0x04 /* non-ieee mode */
46
47/* masking of interrupts */
48# define _FPU_MASK_ZM 0x10 /* zero divide */
49# define _FPU_MASK_OM 0x40 /* overflow */
50# define _FPU_MASK_UM 0x20 /* underflow */
51# define _FPU_MASK_XM 0x08 /* inexact */
52# define _FPU_MASK_IM 0x80 /* invalid operation */
53
54# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
55
56/* The fdlibm code requires no interrupts for exceptions. */
57# define _FPU_DEFAULT 0x00000000 /* Default value. */
58
59/* IEEE: same as above, but (some) exceptions;
60 we leave the 'inexact' exception off.
61 */
62# define _FPU_IEEE 0x000000f0
63
64/* Type of the control word. */
65typedef unsigned int fpu_control_t;
66
67/* Macros for accessing the hardware control word. */
68# define _FPU_GETCW(cw) \
69 ({union { double __d; unsigned long long __ll; } __u; \
70 __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \
71 (cw) = (fpu_control_t) __u.__ll; \
72 (fpu_control_t) __u.__ll; \
73 })
74
75# define _FPU_GET_RC_ISA300() \
76 ({union { double __d; unsigned long long __ll; } __u; \
77 __asm__ __volatile__( \
78 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
79 : "=f" (__u.__d)); \
80 (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \
81 })
82
83# ifdef _ARCH_PWR9
84# define _FPU_GET_RC() _FPU_GET_RC_ISA300()
85# elif defined __BUILTIN_CPU_SUPPORTS__
86# define _FPU_GET_RC() \
87 ({fpu_control_t __rc; \
88 __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
89 ? _FPU_GET_RC_ISA300 () \
90 : _FPU_GETCW (__rc) & _FPU_MASK_RC; \
91 __rc; \
92 })
93# else
94# define _FPU_GET_RC() \
95 ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \
96 __rc; \
97 })
98# endif
99
100# define _FPU_SETCW(cw) \
101 { union { double __d; unsigned long long __ll; } __u; \
102 register double __fr; \
103 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \
104 __u.__ll |= (cw) & 0xffffffffLL; \
105 __fr = __u.__d; \
106 __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \
107 }
108
109/* Default control word set at startup. */
110extern fpu_control_t __fpu_control;
111
112#endif /* PowerPC 6xx floating-point. */
113
114#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h deleted-26
......@@ -1,26 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-32.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_SO "ld.so.1"
7#define LIBANL_SO "libanl.so.1"
8#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
9#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
10#define LIBC_SO "libc.so.6"
11#define LIBDL_SO "libdl.so.2"
12#define LIBGCC_S_SO "libgcc_s.so.1"
13#define LIBMVEC_SO "libmvec.so.1"
14#define LIBM_SO "libm.so.6"
15#define LIBNSL_SO "libnsl.so.1"
16#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
17#define LIBNSS_DB_SO "libnss_db.so.2"
18#define LIBNSS_DNS_SO "libnss_dns.so.2"
19#define LIBNSS_FILES_SO "libnss_files.so.2"
20#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
21#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
22#define LIBPTHREAD_SO "libpthread.so.0"
23#define LIBRESOLV_SO "libresolv.so.2"
24#define LIBRT_SO "librt.so.1"
25#define LIBTHREAD_DB_SO "libthread_db.so.1"
26#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names.h deleted-19
......@@ -1,19 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32
10# include <gnu/lib-names-32.h>
11#endif
12#if __WORDSIZE == 64 && _CALL_ELF != 2
13# include <gnu/lib-names-64-v1.h>
14#endif
15#if __WORDSIZE == 64 && _CALL_ELF == 2
16# include <gnu/lib-names-64-v2.h>
17#endif
18
19#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/gnu/stubs.h deleted-15
......@@ -1,15 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32
8# include <gnu/stubs-32.h>
9#endif
10#if __WORDSIZE == 64 && _CALL_ELF != 2
11# include <gnu/stubs-64-v1.h>
12#endif
13#if __WORDSIZE == 64 && _CALL_ELF == 2
14# include <gnu/stubs-64-v2.h>
15#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/ieee754.h deleted-197
......@@ -1,197 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24#include <bits/floatn.h>
25
26__BEGIN_DECLS
27
28union ieee754_float
29 {
30 float f;
31
32 /* This is the IEEE 754 single-precision format. */
33 struct
34 {
35#if __BYTE_ORDER == __BIG_ENDIAN
36 unsigned int negative:1;
37 unsigned int exponent:8;
38 unsigned int mantissa:23;
39#endif /* Big endian. */
40#if __BYTE_ORDER == __LITTLE_ENDIAN
41 unsigned int mantissa:23;
42 unsigned int exponent:8;
43 unsigned int negative:1;
44#endif /* Little endian. */
45 } ieee;
46
47 /* This format makes it easier to see if a NaN is a signalling NaN. */
48 struct
49 {
50#if __BYTE_ORDER == __BIG_ENDIAN
51 unsigned int negative:1;
52 unsigned int exponent:8;
53 unsigned int quiet_nan:1;
54 unsigned int mantissa:22;
55#endif /* Big endian. */
56#if __BYTE_ORDER == __LITTLE_ENDIAN
57 unsigned int mantissa:22;
58 unsigned int quiet_nan:1;
59 unsigned int exponent:8;
60 unsigned int negative:1;
61#endif /* Little endian. */
62 } ieee_nan;
63 };
64
65#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
66
67
68union ieee754_double
69 {
70 double d;
71
72 /* This is the IEEE 754 double-precision format. */
73 struct
74 {
75#if __BYTE_ORDER == __BIG_ENDIAN
76 unsigned int negative:1;
77 unsigned int exponent:11;
78 /* Together these comprise the mantissa. */
79 unsigned int mantissa0:20;
80 unsigned int mantissa1:32;
81#endif /* Big endian. */
82#if __BYTE_ORDER == __LITTLE_ENDIAN
83 /* Together these comprise the mantissa. */
84 unsigned int mantissa1:32;
85 unsigned int mantissa0:20;
86 unsigned int exponent:11;
87 unsigned int negative:1;
88#endif /* Little endian. */
89 } ieee;
90
91 /* This format makes it easier to see if a NaN is a signalling NaN. */
92 struct
93 {
94#if __BYTE_ORDER == __BIG_ENDIAN
95 unsigned int negative:1;
96 unsigned int exponent:11;
97 unsigned int quiet_nan:1;
98 /* Together these comprise the mantissa. */
99 unsigned int mantissa0:19;
100 unsigned int mantissa1:32;
101#else
102 /* Together these comprise the mantissa. */
103 unsigned int mantissa1:32;
104 unsigned int mantissa0:19;
105 unsigned int quiet_nan:1;
106 unsigned int exponent:11;
107 unsigned int negative:1;
108#endif
109 } ieee_nan;
110 };
111
112#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
113
114
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)
174/* IBM extended format for long double.
175
176 Each long double is made up of two IEEE doubles. The value of the
177 long double is the sum of the values of the two parts. The most
178 significant part is required to be the value of the long double
179 rounded to the nearest double, as specified by IEEE. For Inf
180 values, the least significant part is required to be one of +0.0 or
181 -0.0. No other requirements are made; so, for example, 1.0 may be
182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
183 NaN is don't-care. */
184union ibm_extended_long_double
185 {
186# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
187 __ibm128 ld;
188# else
189 long double ld;
190# endif
191 union ieee754_double d[2];
192 };
193#endif
194
195__END_DECLS
196
197#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h deleted-289
......@@ -1,289 +0,0 @@
1/* `ptrace' debugger support interface. Linux/PowerPC version.
2 Copyright (C) 2001-2025 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_PTRACE_H
20#define _SYS_PTRACE_H 1
21
22#include <features.h>
23#include <bits/types.h>
24
25__BEGIN_DECLS
26
27#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H
28/* Do not let Linux headers macros interfere with enum __ptrace_request. */
29# undef PTRACE_ATTACH
30# undef PTRACE_CONT
31# undef PTRACE_DETACH
32# undef PTRACE_GET_DEBUGREG
33# undef PTRACE_GETEVENTMSG
34# undef PTRACE_GETEVRREGS
35# undef PTRACE_GETFPREGS
36# undef PTRACE_GETREGS
37# undef PTRACE_GETREGS64
38# undef PTRACE_GETREGSET
39# undef PTRACE_GET_RSEQ_CONFIGURATION
40# undef PTRACE_GETSIGINFO
41# undef PTRACE_GETSIGMASK
42# undef PTRACE_GET_SYSCALL_INFO
43# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
44# undef PTRACE_GETVRREGS
45# undef PTRACE_GETVSRREGS
46# undef PTRACE_INTERRUPT
47# undef PTRACE_KILL
48# undef PTRACE_LISTEN
49# undef PTRACE_PEEKDATA
50# undef PTRACE_PEEKSIGINFO
51# undef PTRACE_PEEKTEXT
52# undef PTRACE_POKEDATA
53# undef PTRACE_POKETEXT
54# undef PTRACE_SECCOMP_GET_FILTER
55# undef PTRACE_SECCOMP_GET_METADATA
56# undef PTRACE_SEIZE
57# undef PTRACE_SET_DEBUGREG
58# undef PTRACE_SETEVRREGS
59# undef PTRACE_SETFPREGS
60# undef PTRACE_SETOPTIONS
61# undef PTRACE_SETREGS
62# undef PTRACE_SETREGS64
63# undef PTRACE_SETREGSET
64# undef PTRACE_SETSIGINFO
65# undef PTRACE_SETSIGMASK
66# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
67# undef PTRACE_SETVRREGS
68# undef PTRACE_SETVSRREGS
69# undef PTRACE_SINGLEBLOCK
70# undef PTRACE_SINGLESTEP
71# undef PTRACE_SYSCALL
72# undef PTRACE_SYSCALL_INFO_NONE
73# undef PTRACE_SYSCALL_INFO_ENTRY
74# undef PTRACE_SYSCALL_INFO_EXIT
75# undef PTRACE_SYSCALL_INFO_SECCOMP
76# undef PTRACE_SYSEMU
77# undef PTRACE_SYSEMU_SINGLESTEP
78# undef PTRACE_TRACEME
79#endif
80
81/* Type of the REQUEST argument to `ptrace.' */
82enum __ptrace_request
83{
84 /* Indicate that the process making this request should be traced.
85 All signals received by this process can be intercepted by its
86 parent, and its parent can use the other `ptrace' requests. */
87 PTRACE_TRACEME = 0,
88#define PT_TRACE_ME PTRACE_TRACEME
89
90 /* Return the word in the process's text space at address ADDR. */
91 PTRACE_PEEKTEXT = 1,
92#define PT_READ_I PTRACE_PEEKTEXT
93
94 /* Return the word in the process's data space at address ADDR. */
95 PTRACE_PEEKDATA = 2,
96#define PT_READ_D PTRACE_PEEKDATA
97
98 /* Return the word in the process's user area at offset ADDR. */
99 PTRACE_PEEKUSER = 3,
100#define PT_READ_U PTRACE_PEEKUSER
101
102 /* Write the word DATA into the process's text space at address ADDR. */
103 PTRACE_POKETEXT = 4,
104#define PT_WRITE_I PTRACE_POKETEXT
105
106 /* Write the word DATA into the process's data space at address ADDR. */
107 PTRACE_POKEDATA = 5,
108#define PT_WRITE_D PTRACE_POKEDATA
109
110 /* Write the word DATA into the process's user area at offset ADDR. */
111 PTRACE_POKEUSER = 6,
112#define PT_WRITE_U PTRACE_POKEUSER
113
114 /* Continue the process. */
115 PTRACE_CONT = 7,
116#define PT_CONTINUE PTRACE_CONT
117
118 /* Kill the process. */
119 PTRACE_KILL = 8,
120#define PT_KILL PTRACE_KILL
121
122 /* Single step the process. */
123 PTRACE_SINGLESTEP = 9,
124#define PT_STEP PTRACE_SINGLESTEP
125
126 /* Get all general purpose registers used by a process. */
127 PTRACE_GETREGS = 12,
128#define PT_GETREGS PTRACE_GETREGS
129
130 /* Set all general purpose registers used by a process. */
131 PTRACE_SETREGS = 13,
132#define PT_SETREGS PTRACE_SETREGS
133
134 /* Get all floating point registers used by a process. */
135 PTRACE_GETFPREGS = 14,
136#define PT_GETFPREGS PTRACE_GETFPREGS
137
138 /* Set all floating point registers used by a process. */
139 PTRACE_SETFPREGS = 15,
140#define PT_SETFPREGS PTRACE_SETFPREGS
141
142 /* Attach to a process that is already running. */
143 PTRACE_ATTACH = 16,
144#define PT_ATTACH PTRACE_ATTACH
145
146 /* Detach from a process attached to with PTRACE_ATTACH. */
147 PTRACE_DETACH = 17,
148#define PT_DETACH PTRACE_DETACH
149
150 /* Get all altivec registers used by a process. */
151 PTRACE_GETVRREGS = 18,
152#define PT_GETVRREGS PTRACE_GETVRREGS
153
154 /* Set all altivec registers used by a process. */
155 PTRACE_SETVRREGS = 19,
156#define PT_SETVRREGS PTRACE_SETVRREGS
157
158 /* Get all SPE registers used by a process. */
159 PTRACE_GETEVRREGS = 20,
160#define PT_GETEVRREGS PTRACE_GETEVRREGS
161
162 /* Set all SPE registers used by a process. */
163 PTRACE_SETEVRREGS = 21,
164#define PT_SETEVRREGS PTRACE_SETEVRREGS
165
166 /* Same as PTRACE_GETREGS except a 32-bit process will obtain
167 the full 64-bit registers. Implemented by 64-bit kernels only. */
168 PTRACE_GETREGS64 = 22,
169#define PT_GETREGS64 PTRACE_GETREGS64
170
171 /* Same as PTRACE_SETREGS except a 32-bit process will set
172 the full 64-bit registers. Implemented by 64-bit kernels only. */
173 PTRACE_SETREGS64 = 23,
174#define PT_SETREGS64 PTRACE_SETREGS64
175
176 /* Continue and stop at the next entry to or return from syscall. */
177 PTRACE_SYSCALL = 24,
178#define PT_SYSCALL PTRACE_SYSCALL
179
180 /* Get a debug register of a process. */
181 PTRACE_GET_DEBUGREG = 25,
182#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
183
184 /* Set a debug register of a process. */
185 PTRACE_SET_DEBUGREG = 26,
186#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
187
188 /* Get the first 32 VSX registers of a process. */
189 PTRACE_GETVSRREGS = 27,
190#define PT_GETVSRREGS PTRACE_GETVSRREGS
191
192 /* Set the first 32 VSX registers of a process. */
193 PTRACE_SETVSRREGS = 28,
194#define PT_SETVSRREGS PTRACE_SETVSRREGS
195
196 /* Continue and stop at the next syscall, it will not be executed. */
197 PTRACE_SYSEMU = 29,
198#define PT_SYSEMU PTRACE_SYSEMU
199
200 /* Single step the process, the next syscall will not be executed. */
201 PTRACE_SYSEMU_SINGLESTEP = 30,
202#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
203
204 /* Execute process until next taken branch. */
205 PTRACE_SINGLEBLOCK = 256,
206#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
207
208 /* Set ptrace filter options. */
209 PTRACE_SETOPTIONS = 0x4200,
210#define PT_SETOPTIONS PTRACE_SETOPTIONS
211
212 /* Get last ptrace message. */
213 PTRACE_GETEVENTMSG = 0x4201,
214#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
215
216 /* Get siginfo for process. */
217 PTRACE_GETSIGINFO = 0x4202,
218#define PT_GETSIGINFO PTRACE_GETSIGINFO
219
220 /* Set new siginfo for process. */
221 PTRACE_SETSIGINFO = 0x4203,
222#define PT_SETSIGINFO PTRACE_SETSIGINFO
223
224 /* Get register content. */
225 PTRACE_GETREGSET = 0x4204,
226#define PTRACE_GETREGSET PTRACE_GETREGSET
227
228 /* Set register content. */
229 PTRACE_SETREGSET = 0x4205,
230#define PTRACE_SETREGSET PTRACE_SETREGSET
231
232 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
233 signal or group stop state. */
234 PTRACE_SEIZE = 0x4206,
235#define PTRACE_SEIZE PTRACE_SEIZE
236
237 /* Trap seized tracee. */
238 PTRACE_INTERRUPT = 0x4207,
239#define PTRACE_INTERRUPT PTRACE_INTERRUPT
240
241 /* Wait for next group event. */
242 PTRACE_LISTEN = 0x4208,
243#define PTRACE_LISTEN PTRACE_LISTEN
244
245 /* Retrieve siginfo_t structures without removing signals from a queue. */
246 PTRACE_PEEKSIGINFO = 0x4209,
247#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
248
249 /* Get the mask of blocked signals. */
250 PTRACE_GETSIGMASK = 0x420a,
251#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
252
253 /* Change the mask of blocked signals. */
254 PTRACE_SETSIGMASK = 0x420b,
255#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
256
257 /* Get seccomp BPF filters. */
258 PTRACE_SECCOMP_GET_FILTER = 0x420c,
259#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
260
261 /* Get seccomp BPF filter metadata. */
262 PTRACE_SECCOMP_GET_METADATA = 0x420d,
263#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
264
265 /* Get information about system call. */
266 PTRACE_GET_SYSCALL_INFO = 0x420e,
267#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
268
269 /* Get rseq configuration information. */
270 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
271#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
272
273 /* Set configuration for syscall user dispatch. */
274 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
275#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
276 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
277
278 /* Get configuration for syscall user dispatch. */
279 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
280#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
281 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
282};
283
284
285#include <bits/ptrace-shared.h>
286
287__END_DECLS
288
289#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h deleted-200
......@@ -1,200 +0,0 @@
1/* Copyright (C) 1998-2025 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_UCONTEXT_H
19#define _SYS_UCONTEXT_H 1
20
21#include <features.h>
22
23#include <bits/types/sigset_t.h>
24#include <bits/types/stack_t.h>
25
26
27#ifdef __USE_MISC
28# define __ctx(fld) fld
29#else
30# define __ctx(fld) __ ## fld
31#endif
32
33struct __ctx(pt_regs);
34
35#if __WORDSIZE == 32
36
37/* Number of general registers. */
38# define __NGREG 48
39# ifdef __USE_MISC
40# define NGREG __NGREG
41# endif
42
43/* Container for all general registers. */
44typedef unsigned long gregset_t[__NGREG];
45
46/* Container for floating-point registers and status */
47typedef struct _libc_fpstate
48{
49 double __ctx(fpregs)[32];
50 double __ctx(fpscr);
51 unsigned int _pad[2];
52} fpregset_t;
53
54/* Container for Altivec/VMX registers and status.
55 Needs to be aligned on a 16-byte boundary. */
56typedef struct _libc_vrstate
57{
58 unsigned int __ctx(vrregs)[32][4];
59 unsigned int __ctx(vrsave);
60 unsigned int _pad[2];
61 unsigned int __ctx(vscr);
62} vrregset_t;
63
64/* Context to describe whole processor state. */
65typedef struct
66{
67 gregset_t __ctx(gregs);
68 fpregset_t __ctx(fpregs);
69 vrregset_t __ctx(vrregs) __attribute__((__aligned__(16)));
70} mcontext_t;
71
72#else
73
74/* For 64-bit kernels with Altivec support, a machine context is exactly
75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches
76 * the mcontext upto but not including the v_regs field. For kernels that
77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
78 * v_regs field may not exist and should not be referenced. The v_regs field
79 * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
80 * is set in AT_HWCAP. */
81
82/* Number of general registers. */
83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
86 split vectors */
87# ifdef __USE_MISC
88# define NGREG __NGREG
89# define NFPREG __NFPREG
90# define NVRREG __NVRREG
91# endif
92
93typedef unsigned long gregset_t[__NGREG];
94typedef double fpregset_t[__NFPREG];
95
96/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits
97 but can only be copied to/from a 128-bit vector register. So we allocated
98 a whole quadword speedup save/restore. */
99typedef struct _libc_vscr
100{
101#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
102 unsigned int __pad[3];
103 unsigned int __ctx(vscr_word);
104#else
105 unsigned int __ctx(vscr_word);
106 unsigned int __pad[3];
107#endif
108} vscr_t;
109
110/* Container for Altivec/VMX registers and status.
111 Must to be aligned on a 16-byte boundary. */
112typedef struct _libc_vrstate
113{
114 unsigned int __ctx(vrregs)[32][4];
115 vscr_t __ctx(vscr);
116 unsigned int __ctx(vrsave);
117 unsigned int __pad[3];
118} vrregset_t __attribute__((__aligned__(16)));
119
120typedef struct {
121 unsigned long __glibc_reserved[4];
122 int __ctx(signal);
123 int __pad0;
124 unsigned long __ctx(handler);
125 unsigned long __ctx(oldmask);
126 struct __ctx(pt_regs) *__ctx(regs);
127 gregset_t __ctx(gp_regs);
128 fpregset_t __ctx(fp_regs);
129/*
130 * To maintain compatibility with current implementations the sigcontext is
131 * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
132 * followed by an unstructured (vmx_reserve) field of 69 doublewords. This
133 * allows the array of vector registers to be quadword aligned independent of
134 * the alignment of the containing sigcontext or ucontext. It is the
135 * responsibility of the code setting the sigcontext to set this pointer to
136 * either NULL (if this processor does not support the VMX feature) or the
137 * address of the first quadword within the allocated (vmx_reserve) area.
138 *
139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
140 * an array of 34 quadword entries. The entries with
141 * indexes 0-31 contain the corresponding vector registers. The entry with
142 * index 32 contains the vscr as the last word (offset 12) within the
143 * quadword. This allows the vscr to be stored as either a quadword (since
144 * it must be copied via a vector register to/from storage) or as a word.
145 * The entry with index 33 contains the vrsave as the first word (offset 0)
146 * within the quadword.
147 */
148 vrregset_t *__ctx(v_regs);
149 long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1];
150} mcontext_t;
151
152#endif
153
154/* Userlevel context. */
155typedef struct ucontext_t
156 {
157 unsigned long int __ctx(uc_flags);
158 struct ucontext_t *uc_link;
159 stack_t uc_stack;
160#if __WORDSIZE == 32
161 /*
162 * These fields are set up this way to maximize source and
163 * binary compatibility with code written for the old
164 * ucontext_t definition, which didn't include space for the
165 * registers.
166 *
167 * Different versions of the kernel have stored the registers on
168 * signal delivery at different offsets from the ucontext struct.
169 * Programs should thus use the uc_mcontext.uc_regs pointer to
170 * find where the registers are actually stored. The registers
171 * will be stored within the ucontext_t struct but not necessarily
172 * at a fixed address. As a side-effect, this lets us achieve
173 * 16-byte alignment for the register storage space if the
174 * Altivec registers are to be saved, without requiring 16-byte
175 * alignment on the whole ucontext_t.
176 *
177 * The uc_mcontext.regs field is included for source compatibility
178 * with programs written against the older ucontext_t definition,
179 * and its name should therefore not change. The uc_pad field
180 * is for binary compatibility with programs compiled against the
181 * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask
182 * are at the same offset as previously.
183 */
184 int __glibc_reserved1[7];
185 union __ctx(uc_regs_ptr) {
186 struct __ctx(pt_regs) *__ctx(regs);
187 mcontext_t *__ctx(uc_regs);
188 } uc_mcontext;
189 sigset_t uc_sigmask;
190 /* last for extensibility */
191 char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12];
192#else /* 64-bit */
193 sigset_t uc_sigmask;
194 mcontext_t uc_mcontext; /* last for extensibility */
195#endif
196 } ucontext_t;
197
198#undef __ctx
199
200#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnueabihf/sys/user.h deleted-40
......@@ -1,40 +0,0 @@
1/* Copyright (C) 1998-2025 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_USER_H
19
20#define _SYS_USER_H 1
21#include <stddef.h>
22#include <features.h>
23
24#include <asm/ptrace.h>
25
26struct user {
27 struct pt_regs regs; /* entire machine state */
28 size_t u_tsize; /* text size (pages) */
29 size_t u_dsize; /* data size (pages) */
30 size_t u_ssize; /* stack size (pages) */
31 unsigned long start_code; /* text starting address */
32 unsigned long start_data; /* data starting address */
33 unsigned long start_stack; /* stack starting address */
34 long int signal; /* signal causing core dump */
35 struct regs * u_ar0; /* help gdb find registers */
36 unsigned long magic; /* identifies a core file */
37 char u_comm[32]; /* user command name */
38};
39
40#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/endianness.h deleted-16
......@@ -1,16 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* PowerPC has selectable endianness. */
9#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
10# define __BYTE_ORDER __BIG_ENDIAN
11#endif
12#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
13# define __BYTE_ORDER __LITTLE_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/environments.h deleted-96
......@@ -1,96 +0,0 @@
1/* Copyright (C) 1999-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* Environments with 32-bit wide pointers are optionally provided.
45 Therefore following macros aren't defined:
46 # undef _POSIX_V7_ILP32_OFF32
47 # undef _POSIX_V7_ILP32_OFFBIG
48 # undef _POSIX_V6_ILP32_OFF32
49 # undef _POSIX_V6_ILP32_OFFBIG
50 # undef _XBS5_ILP32_OFF32
51 # undef _XBS5_ILP32_OFFBIG
52 and users need to check at runtime. */
53
54/* We also have no use (for now) for an environment with bigger pointers
55 and offsets. */
56# define _POSIX_V7_LPBIG_OFFBIG -1
57# define _POSIX_V6_LPBIG_OFFBIG -1
58# define _XBS5_LPBIG_OFFBIG -1
59
60/* By default we have 64-bit wide `long int', pointers and `off_t'. */
61# define _POSIX_V7_LP64_OFF64 1
62# define _POSIX_V6_LP64_OFF64 1
63# define _XBS5_LP64_OFF64 1
64
65#else /* __WORDSIZE == 32 */
66
67/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
68 and all platforms support LFS. */
69# define _POSIX_V7_ILP32_OFF32 1
70# define _POSIX_V7_ILP32_OFFBIG 1
71# define _POSIX_V6_ILP32_OFF32 1
72# define _POSIX_V6_ILP32_OFFBIG 1
73# define _XBS5_ILP32_OFF32 1
74# define _XBS5_ILP32_OFFBIG 1
75
76/* We optionally provide an environment with the above size but an 64-bit
77 side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
78
79/* Environments with 64-bit wide pointers can be provided,
80 so these macros aren't defined:
81 # undef _POSIX_V7_LP64_OFF64
82 # undef _POSIX_V7_LPBIG_OFFBIG
83 # undef _POSIX_V6_LP64_OFF64
84 # undef _POSIX_V6_LPBIG_OFFBIG
85 # undef _XBS5_LP64_OFF64
86 # undef _XBS5_LPBIG_OFFBIG
87 and sysconf tests for it at runtime. */
88
89#endif /* __WORDSIZE == 32 */
90
91#define __ILP32_OFF32_CFLAGS "-m32"
92#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
93#define __ILP32_OFF32_LDFLAGS "-m32"
94#define __ILP32_OFFBIG_LDFLAGS "-m32"
95#define __LP64_OFF64_CFLAGS "-m64"
96#define __LP64_OFF64_LDFLAGS "-m64"
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h deleted-68
......@@ -1,68 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#define __O_DIRECTORY 040000 /* Must be a directory. */
26#define __O_NOFOLLOW 0100000 /* Do not follow links. */
27#define __O_DIRECT 0400000 /* Direct disk access. */
28
29#if __WORDSIZE == 64
30/* Not necessary, files are always with 64bit off_t. */
31# define __O_LARGEFILE 0
32#else
33# define __O_LARGEFILE 0200000
34#endif
35
36#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64
37# define F_GETLK 5
38# define F_SETLK 6
39# define F_SETLKW 7
40#endif
41
42struct flock
43 {
44 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
45 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
46#ifndef __USE_FILE_OFFSET64
47 __off_t l_start; /* Offset where the lock begins. */
48 __off_t l_len; /* Size of the locked area; zero means until EOF. */
49#else
50 __off64_t l_start; /* Offset where the lock begins. */
51 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
52#endif
53 __pid_t l_pid; /* Process holding the lock. */
54 };
55
56#ifdef __USE_LARGEFILE64
57struct flock64
58 {
59 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
60 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
61 __off64_t l_start; /* Offset where the lock begins. */
62 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
63 __pid_t l_pid; /* Process holding the lock. */
64 };
65#endif
66
67/* Include generic Linux declarations. */
68#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/fenv.h deleted-180
......@@ -1,180 +0,0 @@
1/* Copyright (C) 1997-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22
23/* Define bits representing the exception. We use the bit positions of
24 the appropriate bits in the FPSCR... */
25enum
26 {
27 FE_INEXACT =
28#define FE_INEXACT (1 << (31 - 6))
29 FE_INEXACT,
30 FE_DIVBYZERO =
31#define FE_DIVBYZERO (1 << (31 - 5))
32 FE_DIVBYZERO,
33 FE_UNDERFLOW =
34#define FE_UNDERFLOW (1 << (31 - 4))
35 FE_UNDERFLOW,
36 FE_OVERFLOW =
37#define FE_OVERFLOW (1 << (31 - 3))
38 FE_OVERFLOW,
39
40 /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID
41 actually corresponds to bits 7 through 12 and 21 through 23
42 in the FPSCR, but we can't use that because the current draft
43 says that it must be a power of 2. Instead we use bit 2 which
44 is the summary bit for all the FE_INVALID exceptions, which
45 kind of makes sense. */
46 FE_INVALID =
47#define FE_INVALID (1 << (31 - 2))
48 FE_INVALID,
49
50#ifdef __USE_GNU
51 /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an
52 input to a routine is equivalent to setting all of these bits;
53 FE_INVALID will be set on output from a routine iff one of
54 these bits is set. Note, though, that you can't disable or
55 enable these exceptions individually. */
56
57 /* Operation with a sNaN. */
58 FE_INVALID_SNAN =
59# define FE_INVALID_SNAN (1 << (31 - 7))
60 FE_INVALID_SNAN,
61
62 /* Inf - Inf */
63 FE_INVALID_ISI =
64# define FE_INVALID_ISI (1 << (31 - 8))
65 FE_INVALID_ISI,
66
67 /* Inf / Inf */
68 FE_INVALID_IDI =
69# define FE_INVALID_IDI (1 << (31 - 9))
70 FE_INVALID_IDI,
71
72 /* 0 / 0 */
73 FE_INVALID_ZDZ =
74# define FE_INVALID_ZDZ (1 << (31 - 10))
75 FE_INVALID_ZDZ,
76
77 /* Inf * 0 */
78 FE_INVALID_IMZ =
79# define FE_INVALID_IMZ (1 << (31 - 11))
80 FE_INVALID_IMZ,
81
82 /* Comparison with a NaN. */
83 FE_INVALID_COMPARE =
84# define FE_INVALID_COMPARE (1 << (31 - 12))
85 FE_INVALID_COMPARE,
86
87 /* Invalid operation flag for software (not set by hardware). */
88 /* Note that some chips don't have this implemented, presumably
89 because no-one expected anyone to write software for them %-). */
90 FE_INVALID_SOFTWARE =
91# define FE_INVALID_SOFTWARE (1 << (31 - 21))
92 FE_INVALID_SOFTWARE,
93
94 /* Square root of negative number (including -Inf). */
95 /* Note that some chips don't have this implemented. */
96 FE_INVALID_SQRT =
97# define FE_INVALID_SQRT (1 << (31 - 22))
98 FE_INVALID_SQRT,
99
100 /* Conversion-to-integer of a NaN or a number too large or too small. */
101 FE_INVALID_INTEGER_CONVERSION =
102# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23))
103 FE_INVALID_INTEGER_CONVERSION
104
105# define FE_ALL_INVALID \
106 (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \
107 | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \
108 | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION)
109#endif
110 };
111
112#define FE_ALL_EXCEPT \
113 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
114
115/* PowerPC chips support all of the four defined rounding modes. We
116 use the bit pattern in the FPSCR as the values for the
117 appropriate macros. */
118enum
119 {
120 FE_TONEAREST =
121#define FE_TONEAREST 0
122 FE_TONEAREST,
123 FE_TOWARDZERO =
124#define FE_TOWARDZERO 1
125 FE_TOWARDZERO,
126 FE_UPWARD =
127#define FE_UPWARD 2
128 FE_UPWARD,
129 FE_DOWNWARD =
130#define FE_DOWNWARD 3
131 FE_DOWNWARD
132 };
133
134/* Type representing exception flags. */
135typedef unsigned int fexcept_t;
136
137/* Type representing floating-point environment. We leave it as 'double'
138 for efficiency reasons (rather than writing it to a 32-bit integer). */
139typedef double fenv_t;
140
141/* If the default argument is used we use this value. */
142extern const fenv_t __fe_dfl_env;
143#define FE_DFL_ENV (&__fe_dfl_env)
144
145#ifdef __USE_GNU
146/* Floating-point environment where all exceptions are enabled. Note that
147 this is not sufficient to give you SIGFPE. */
148extern const fenv_t __fe_enabled_env;
149# define FE_ENABLED_ENV (&__fe_enabled_env)
150
151/* Floating-point environment with (processor-dependent) non-IEEE floating
152 point. */
153extern const fenv_t __fe_nonieee_env;
154# define FE_NONIEEE_ENV (&__fe_nonieee_env)
155
156/* Floating-point environment with all exceptions enabled. Note that
157 just evaluating this value does not change the processor exception mode.
158 Passing this mask to fesetenv will result in a prctl syscall to change
159 the MSR FE0/FE1 bits to "Precise Mode". On some processors this will
160 result in slower floating point execution. This will last until an
161 fenv or exception mask is installed that disables all FP exceptions. */
162# define FE_NOMASK_ENV FE_ENABLED_ENV
163
164/* Floating-point environment with all exceptions disabled. Note that
165 just evaluating this value does not change the processor exception mode.
166 Passing this mask to fesetenv will result in a prctl syscall to change
167 the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors
168 this allows the fastest possible floating point execution.*/
169# define FE_MASK_ENV FE_DFL_ENV
170
171#endif
172
173#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
174/* Type representing floating-point control modes. */
175typedef double femode_t;
176
177/* Default floating-point control modes. */
178extern const femode_t __fe_dfl_mode;
179# define FE_DFL_MODE (&__fe_dfl_mode)
180#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/floatn.h deleted-122
......@@ -1,122 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on powerpc.
2 Copyright (C) 2017-2025 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 glibc
27 includes corresponding *f128 interfaces for it. */
28#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \
29 && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH
30# define __HAVE_FLOAT128 1
31#else
32# define __HAVE_FLOAT128 0
33#endif
34
35/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
36 from the default float, double and long double types in this glibc, i.e.
37 calls to the binary128 functions go to *f128 symbols instead of *l. */
38#if __HAVE_FLOAT128
39# define __HAVE_DISTINCT_FLOAT128 1
40#else
41# define __HAVE_DISTINCT_FLOAT128 0
42#endif
43
44/* Defined to 1 if the current compiler invocation provides a
45 floating-point type with the right format for _Float64x, and this
46 glibc includes corresponding *f64x interfaces for it. */
47#define __HAVE_FLOAT64X __HAVE_FLOAT128
48
49/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
50 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
51 the format of _Float128, which must be different from that of long
52 double. */
53#define __HAVE_FLOAT64X_LONG_DOUBLE 0
54
55#ifndef __ASSEMBLER__
56
57/* Defined to concatenate the literal suffix to be used with _Float128
58 types, if __HAVE_FLOAT128 is 1. */
59# if __HAVE_FLOAT128
60# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
61/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */
62# if __LDBL_MANT_DIG__ == 113
63# define __f128(x) x##l
64# else
65# define __f128(x) x##q
66# endif
67# else
68# define __f128(x) x##f128
69# endif
70# endif
71
72/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
73# if __HAVE_FLOAT128
74# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0)
75typedef long double _Float128;
76# define __CFLOAT128 _Complex long double
77# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
78/* The type _Float128 exist for powerpc only since GCC 7.0. */
79typedef __float128 _Float128;
80/* Add a typedef for older GCC and C++ compilers which don't natively support
81 _Complex _Float128. */
82typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
83# define __CFLOAT128 __cfloat128
84# else
85# define __CFLOAT128 _Complex _Float128
86# endif
87# endif
88
89/* The remaining of this file provides support for older compilers. */
90# if __HAVE_FLOAT128
91/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */
92# if !__GNUC_PREREQ (7, 0)
93# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
94# endif
95
96/* The following builtins (suffixed with 'q') are available in GCC >= 6.2,
97 which is the minimum version required for float128 support on powerpc64le.
98 Since GCC 7.0 the builtins suffixed with f128 are also available, then
99 there is no need to redefined them. */
100# if !__GNUC_PREREQ (7, 0)
101# define __builtin_copysignf128 __builtin_copysignq
102# define __builtin_fabsf128 __builtin_fabsq
103# define __builtin_inff128 __builtin_infq
104# define __builtin_nanf128 __builtin_nanq
105# define __builtin_nansf128 __builtin_nansq
106# endif
107
108/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
109 e.g.: __builtin_signbitf128, before GCC 6. However, there has never
110 been a __builtin_signbitf128 in GCC and the type-generic builtin is
111 only available since GCC 6. */
112# if !__GNUC_PREREQ (6, 0)
113# define __builtin_signbitf128 __signbitf128
114# endif
115
116# endif
117
118#endif /* !__ASSEMBLER__. */
119
120#include <bits/floatn-common.h>
121
122#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h deleted-39
......@@ -1,39 +0,0 @@
1/* Define FP_FAST_* macros. PowerPC version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
21#endif
22
23#ifdef __USE_ISOC99
24
25/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
26 builtins are supported. */
27# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA
28# define FP_FAST_FMA 1
29# endif
30
31# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF
32# define FP_FAST_FMAF 1
33# endif
34
35# ifdef __FP_FAST_FMAL
36# define FP_FAST_FMAL 1
37# endif
38
39#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h deleted-78
......@@ -1,78 +0,0 @@
1/* Defines for bits in AT_HWCAP and AT_HWCAP2.
2 Copyright (C) 2012-2025 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(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The bit numbers must match those in the kernel's asm/cputable.h. */
24
25/* Feature definitions in AT_HWCAP. */
26#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */
27#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */
28#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */
29#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */
30#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */
31#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */
32#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */
33#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */
34#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */
35#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */
36#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */
37#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */
38#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */
39#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */
40#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */
41#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */
42#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */
43#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous
44 Multi-Threading */
45#define PPC_FEATURE_ICACHE_SNOOP 0x00002000
46#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */
47#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */
48#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */
49#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */
50#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */
51#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */
52#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040
53/* Reserved by the kernel. 0x00000004 Do not use. */
54#define PPC_FEATURE_TRUE_LE 0x00000002
55#define PPC_FEATURE_PPC_LE 0x00000001
56
57/* Feature definitions in AT_HWCAP2. */
58#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */
59#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional
60 Memory */
61#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control
62 Register */
63#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */
64#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */
65#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */
66#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector
67 instruction. */
68#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction
69 when a syscall is made. */
70#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */
71#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float
72 128-bit */
73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended
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/ioctl-types.h deleted-77
......@@ -1,77 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.
2 Copyright (C) 2014-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26
27struct winsize
28 {
29 unsigned short int ws_row;
30 unsigned short int ws_col;
31 unsigned short int ws_xpixel;
32 unsigned short int ws_ypixel;
33 };
34
35#define NCC 10
36struct termio
37 {
38 unsigned short int c_iflag; /* input mode flags */
39 unsigned short int c_oflag; /* output mode flags */
40 unsigned short int c_cflag; /* control mode flags */
41 unsigned short int c_lflag; /* local mode flags */
42 unsigned char c_line; /* line discipline */
43 unsigned char c_cc[NCC]; /* control characters */
44};
45
46/* modem lines */
47#define TIOCM_LE 0x001
48#define TIOCM_DTR 0x002
49#define TIOCM_RTS 0x004
50#define TIOCM_ST 0x008
51#define TIOCM_SR 0x010
52#define TIOCM_CTS 0x020
53#define TIOCM_CAR 0x040
54#define TIOCM_RNG 0x080
55#define TIOCM_DSR 0x100
56#define TIOCM_CD TIOCM_CAR
57#define TIOCM_RI TIOCM_RNG
58
59/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
60
61/* line disciplines */
62#define N_TTY 0
63#define N_SLIP 1
64#define N_MOUSE 2
65#define N_PPP 3
66#define N_STRIP 4
67#define N_AX25 5
68#define N_X25 6 /* X.25 async */
69#define N_6PACK 7
70#define N_MASC 8 /* Mobitex module */
71#define N_R3964 9 /* Simatic R3964 module */
72#define N_PROFIBUS_FDL 10 /* Profibus */
73#define N_IRDA 11 /* Linux IR */
74#define N_SMSBLOCK 12 /* SMS block mode */
75#define N_HDLC 13 /* synchronous HDLC */
76#define N_SYNC_PPP 14 /* synchronous PPP */
77#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h deleted-36
......@@ -1,36 +0,0 @@
1/* struct ipc_perm definition. Linux/powerpc version.
2 Copyright (C) 1995-2025 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_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 __uint32_t __seq; /* Sequence number. */
33 __uint32_t __pad1;
34 __uint64_t __glibc_reserved1;
35 __uint64_t __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h deleted-58
......@@ -1,58 +0,0 @@
1/* Define iscanonical macro. ldbl-128ibm version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif
22
23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
25#else
26extern int __iscanonicall (long double __x)
27 __THROW __attribute__ ((__const__));
28# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
29# define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
30# if __HAVE_DISTINCT_FLOAT128
31# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
32# endif
33
34/* Return nonzero value if X is canonical. In IEEE interchange binary
35 formats, all values are canonical, but the argument must still be
36 converted to its semantic type for any exceptions arising from the
37 conversion, before being discarded; in IBM long double, there are
38 encodings that are not consistently handled as corresponding to any
39 particular value of the type, and we return 0 for those. */
40# ifndef __cplusplus
41# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
42# else
43/* In C++ mode, __MATH_TG cannot be used, because it relies on
44 __builtin_types_compatible_p, which is a C-only builtin. On the
45 other hand, overloading provides the means to distinguish between
46 the floating-point types. The overloading resolution will match
47 the correct parameter (regardless of type qualifiers (i.e.: const
48 and volatile)). */
49extern "C++" {
50inline int iscanonical (float __val) { return __iscanonicalf (__val); }
51inline int iscanonical (double __val) { return __iscanonical (__val); }
52inline int iscanonical (long double __val) { return __iscanonicall (__val); }
53# if __HAVE_DISTINCT_FLOAT128
54inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
55# endif
56}
57# endif /* __cplusplus */
58#endif /* __NO_LONG_DOUBLE_MATH */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/link.h deleted-156
......@@ -1,156 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface. PowerPC version
2 Copyright (C) 2004-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23
24#if __ELF_NATIVE_CLASS == 32
25
26/* Registers for entry into PLT on PPC32. */
27typedef struct La_ppc32_regs
28{
29 uint32_t lr_reg[8];
30 double lr_fp[8];
31 uint32_t lr_vreg[12][4];
32 uint32_t lr_r1;
33 uint32_t lr_lr;
34} La_ppc32_regs;
35
36/* Return values for calls from PLT on PPC32. */
37typedef struct La_ppc32_retval
38{
39 uint32_t lrv_r3;
40 uint32_t lrv_r4;
41 double lrv_fp[8];
42 uint32_t lrv_v2[4];
43} La_ppc32_retval;
44
45
46__BEGIN_DECLS
47
48extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym,
49 unsigned int __ndx,
50 uintptr_t *__refcook,
51 uintptr_t *__defcook,
52 La_ppc32_regs *__regs,
53 unsigned int *__flags,
54 const char *__symname,
55 long int *__framesizep);
56extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym,
57 unsigned int __ndx,
58 uintptr_t *__refcook,
59 uintptr_t *__defcook,
60 const La_ppc32_regs *__inregs,
61 La_ppc32_retval *__outregs,
62 const char *__symname);
63
64__END_DECLS
65
66#elif __ELF_NATIVE_CLASS == 64
67# if _CALL_ELF != 2
68
69/* Registers for entry into PLT on PPC64. */
70typedef struct La_ppc64_regs
71{
72 uint64_t lr_reg[8];
73 double lr_fp[13];
74 uint32_t __padding;
75 uint32_t lr_vrsave;
76 uint32_t lr_vreg[12][4];
77 uint64_t lr_r1;
78 uint64_t lr_lr;
79} La_ppc64_regs;
80
81/* Return values for calls from PLT on PPC64. */
82typedef struct La_ppc64_retval
83{
84 uint64_t lrv_r3;
85 uint64_t lrv_r4;
86 double lrv_fp[4]; /* f1-f4, float - complex long double. */
87 uint32_t lrv_v2[4]; /* v2. */
88} La_ppc64_retval;
89
90
91__BEGIN_DECLS
92
93extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym,
94 unsigned int __ndx,
95 uintptr_t *__refcook,
96 uintptr_t *__defcook,
97 La_ppc64_regs *__regs,
98 unsigned int *__flags,
99 const char *__symname,
100 long int *__framesizep);
101extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym,
102 unsigned int __ndx,
103 uintptr_t *__refcook,
104 uintptr_t *__defcook,
105 const La_ppc64_regs *__inregs,
106 La_ppc64_retval *__outregs,
107 const char *__symname);
108
109__END_DECLS
110
111# else
112
113/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */
114typedef struct La_ppc64v2_regs
115{
116 uint64_t lr_reg[8];
117 double lr_fp[13];
118 uint32_t __padding;
119 uint32_t lr_vrsave;
120 uint32_t lr_vreg[12][4] __attribute__ ((aligned (16)));
121 uint64_t lr_r1;
122 uint64_t lr_lr;
123} La_ppc64v2_regs;
124
125/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */
126typedef struct La_ppc64v2_retval
127{
128 uint64_t lrv_r3;
129 uint64_t lrv_r4;
130 double lrv_fp[10];
131 uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16)));
132} La_ppc64v2_retval;
133
134
135__BEGIN_DECLS
136
137extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym,
138 unsigned int __ndx,
139 uintptr_t *__refcook,
140 uintptr_t *__defcook,
141 La_ppc64v2_regs *__regs,
142 unsigned int *__flags,
143 const char *__symname,
144 long int *__framesizep);
145extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym,
146 unsigned int __ndx,
147 uintptr_t *__refcook,
148 uintptr_t *__defcook,
149 const La_ppc64v2_regs *__inregs,
150 La_ppc64v2_retval *__outregs,
151 const char *__symname);
152
153__END_DECLS
154
155# endif
156#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/long-double.h deleted-25
......@@ -1,25 +0,0 @@
1/* Properties of long double type. ldbl-opt version.
2 Copyright (C) 2016-2025 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 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 __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 1
23# endif
24#endif
25#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/mman.h deleted-51
......@@ -1,51 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/PowerPC version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26#define PROT_SAO 0x10 /* Strong Access Ordering. */
27
28/* These are Linux-specific. */
29#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
30#define MAP_DENYWRITE 0x00800 /* ETXTBSY */
31#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
32#define MAP_LOCKED 0x00080 /* Lock the mapping. */
33#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */
34#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
35#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
36#define MAP_STACK 0x20000 /* Allocation is for a stack. */
37#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
38#define MAP_SYNC 0x80000 /* Perform synchronous page
39 faults for the mapping. */
40#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
41 underlying mapping. */
42
43/* Flags for `mlockall'. */
44#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */
45#define MCL_FUTURE 0x4000 /* Lock all additions to address
46 space. */
47#define MCL_ONFAULT 0x8000 /* Lock all pages that are
48 faulted in. */
49
50/* Include generic Linux declarations. */
51#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/procfs.h deleted-49
......@@ -1,49 +0,0 @@
1/* Types for registers for sys/procfs.h. PowerPC version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <signal.h>
24#include <sys/ucontext.h>
25
26/* These definitions are normally provided by ucontext.h via
27 asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define
28 them here. */
29#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H
30#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */
31#define ELF_NFPREG 33 /* includes fpscr */
32#if __WORDSIZE == 32
33# define ELF_NVRREG 33 /* includes vscr */
34#else
35# define ELF_NVRREG 34 /* includes vscr */
36#endif
37
38typedef unsigned long elf_greg_t;
39typedef elf_greg_t elf_gregset_t[ELF_NGREG];
40
41typedef double elf_fpreg_t;
42typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
43
44/* Altivec registers */
45typedef struct {
46 unsigned int u[4];
47} __attribute__ ((__aligned__ (16))) elf_vrreg_t;
48typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
49#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h deleted-21
......@@ -1,21 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. Linux/PPC version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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; see the file COPYING.LIB. If
17 not, see <https://www.gnu.org/licenses/>. */
18
19/* Minimum size for a thread. At least two pages for systems with 64k
20 pages. */
21#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/rseq.h deleted-37
......@@ -1,37 +0,0 @@
1/* Restartable Sequences Linux powerpc architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 RSEQ_SIG uses the following trap instruction:
32
33 powerpc-be: 0f e5 00 0b twui r5,11
34 powerpc64-le: 0b 00 e5 0f twui r5,11
35 powerpc64-be: 0f e5 00 0b twui r5,11 */
36
37#define RSEQ_SIG 0x0fe5000b
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h deleted-50
......@@ -1,50 +0,0 @@
1/* Copyright (C) 1997-2025 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/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 1
21
22#if !defined _SETJMP_H && !defined _PTHREAD_H
23# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
24#endif
25
26/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
27 We use an array of 'long int' instead, to make writing the
28 assembler easier. Naturally, user code should not depend on
29 either representation. */
30
31#include <bits/wordsize.h>
32
33/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI
34 the vrsave must be at byte 248 & v20 at byte 256. So we must pad this
35 correctly on 32 bit. It also insists that vecregs are only guaranteed
36 4 byte alignment so we need to use vperm in the setjmp/longjmp routines.
37 We have to version the code because members like int __mask_was_saved
38 in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We
39 cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */
40#ifndef _ASM
41# if __WORDSIZE == 64
42typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16)));
43# else
44/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte
45 aligned buffer as per the ABI it is just added for performance reasons. */
46typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16)));
47# endif
48#endif
49
50#endif /* bits/setjmp.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h deleted-37
......@@ -1,37 +0,0 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 1998-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26#ifdef __powerpc64__
27#define MINSIGSTKSZ 8192
28#define SIGSTKSZ 32768
29#else
30/* Minimum stack size for a signal handler. */
31#define MINSIGSTKSZ 4096
32
33/* System default stack size. */
34#define SIGSTKSZ 16384
35#endif
36
37#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 16
33#define SO_REUSEADDR 2
34#define SO_SNDBUF 7
35#define SO_SNDLOWAT 17
36#define SO_TYPE 3
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 18
40# define SO_SNDTIMEO 19
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 18
46# define SO_SNDTIMEO_OLD 19
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h deleted-63
......@@ -1,63 +0,0 @@
1/* PowerPC internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__elision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h deleted-61
......@@ -1,61 +0,0 @@
1/* PowerPC internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned char __rwelision;
35 unsigned char __pad1[7];
36 unsigned long int __pad2;
37 /* FLAGS must stay at this position in the structure to maintain
38 binary compatibility. */
39 unsigned int __flags;
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
41#else
42 unsigned char __rwelision;
43 unsigned char __pad2;
44 unsigned char __shared;
45 /* FLAGS must stay at this position in the structure to maintain
46 binary compatibility. */
47 unsigned char __flags;
48 int __cur_writer;
49# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
50#endif
51};
52
53#if __WORDSIZE == 64
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h deleted-231
......@@ -1,231 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/wordsize.h>
27
28#if __WORDSIZE == 32
29struct stat
30 {
31# ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33# else
34 __dev_t st_dev; /* Device. */
35# ifndef __USE_FILE_OFFSET64
36 unsigned short int __pad1;
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino64_t st_ino; /* File serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80 unsigned long int __glibc_reserved4;
81 unsigned long int __glibc_reserved5;
82# endif /* __USE_TIME64_REDIRECTS */
83 };
84
85# ifdef __USE_LARGEFILE64
86struct stat64
87 {
88# ifdef __USE_TIME64_REDIRECTS
89# include <bits/struct_stat_time64_helper.h>
90# else
91 __dev_t st_dev; /* Device. */
92 __ino64_t st_ino; /* File serial number. */
93 __mode_t st_mode; /* File mode. */
94 __nlink_t st_nlink; /* Link count. */
95 __uid_t st_uid; /* User ID of the file's owner. */
96 __gid_t st_gid; /* Group ID of the file's group.*/
97 __dev_t st_rdev; /* Device number, if device. */
98 unsigned short int __pad2;
99 __off64_t st_size; /* Size of file, in bytes. */
100 __blksize_t st_blksize; /* Optimal block size for I/O. */
101 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
102# ifdef __USE_XOPEN2K8
103 /* Nanosecond resolution timestamps are stored in a format
104 equivalent to 'struct timespec'. This is the type used
105 whenever possible but the Unix namespace rules do not allow the
106 identifier 'timespec' to appear in the <sys/stat.h> header.
107 Therefore we have to handle the use of this header in strictly
108 standard-compliant sources special. */
109 struct timespec st_atim; /* Time of last access. */
110 struct timespec st_mtim; /* Time of last modification. */
111 struct timespec st_ctim; /* Time of last status change. */
112# define st_atime st_atim.tv_sec /* Backward compatibility. */
113# define st_mtime st_mtim.tv_sec
114# define st_ctime st_ctim.tv_sec
115# else
116 __time_t st_atime; /* Time of last access. */
117 unsigned long int st_atimensec; /* Nscecs of last access. */
118 __time_t st_mtime; /* Time of last modification. */
119 unsigned long int st_mtimensec; /* Nsecs of last modification. */
120 __time_t st_ctime; /* Time of last status change. */
121 unsigned long int st_ctimensec; /* Nsecs of last status change. */
122# endif
123 unsigned long int __glibc_reserved4;
124 unsigned long int __glibc_reserved5;
125# endif /* __USE_TIME64_REDIRECTS */
126 };
127# endif /* __USE_LARGEFILE64 */
128
129#else /* __WORDSIZE == 32 */
130
131struct stat
132 {
133 __dev_t st_dev; /* Device. */
134# ifndef __USE_FILE_OFFSET64
135 __ino_t st_ino; /* File serial number. */
136# else
137 __ino64_t st_ino; /* File serial number. */
138# endif
139 __nlink_t st_nlink; /* Link count. */
140 __mode_t st_mode; /* File mode. */
141 __uid_t st_uid; /* User ID of the file's owner. */
142 __gid_t st_gid; /* Group ID of the file's group.*/
143 int __pad2;
144 __dev_t st_rdev; /* Device number, if device. */
145# ifndef __USE_FILE_OFFSET64
146 __off_t st_size; /* Size of file, in bytes. */
147# else
148 __off64_t st_size; /* Size of file, in bytes. */
149# endif
150 __blksize_t st_blksize; /* Optimal block size for I/O. */
151
152# ifndef __USE_FILE_OFFSET64
153 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
154# else
155 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
156# endif
157# ifdef __USE_XOPEN2K8
158 /* Nanosecond resolution timestamps are stored in a format
159 equivalent to 'struct timespec'. This is the type used
160 whenever possible but the Unix namespace rules do not allow the
161 identifier 'timespec' to appear in the <sys/stat.h> header.
162 Therefore we have to handle the use of this header in strictly
163 standard-compliant sources special. */
164 struct timespec st_atim; /* Time of last access. */
165 struct timespec st_mtim; /* Time of last modification. */
166 struct timespec st_ctim; /* Time of last status change. */
167# define st_atime st_atim.tv_sec /* Backward compatibility. */
168# define st_mtime st_mtim.tv_sec
169# define st_ctime st_ctim.tv_sec
170# else
171 __time_t st_atime; /* Time of last access. */
172 unsigned long int st_atimensec; /* Nscecs of last access. */
173 __time_t st_mtime; /* Time of last modification. */
174 unsigned long int st_mtimensec; /* Nsecs of last modification. */
175 __time_t st_ctime; /* Time of last status change. */
176 unsigned long int st_ctimensec; /* Nsecs of last status change. */
177# endif
178 unsigned long int __glibc_reserved4;
179 unsigned long int __glibc_reserved5;
180 unsigned long int __glibc_reserved6;
181 };
182
183# ifdef __USE_LARGEFILE64
184struct stat64
185 {
186 __dev_t st_dev; /* Device. */
187 __ino64_t st_ino; /* File serial number. */
188 __nlink_t st_nlink; /* Link count. */
189 __mode_t st_mode; /* File mode. */
190 __uid_t st_uid; /* User ID of the file's owner. */
191 __gid_t st_gid; /* Group ID of the file's group.*/
192 int __pad2;
193 __dev_t st_rdev; /* Device number, if device. */
194 __off64_t st_size; /* Size of file, in bytes. */
195 __blksize_t st_blksize; /* Optimal block size for I/O. */
196 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
197# ifdef __USE_XOPEN2K8
198 /* Nanosecond resolution timestamps are stored in a format
199 equivalent to 'struct timespec'. This is the type used
200 whenever possible but the Unix namespace rules do not allow the
201 identifier 'timespec' to appear in the <sys/stat.h> header.
202 Therefore we have to handle the use of this header in strictly
203 standard-compliant sources special. */
204 struct timespec st_atim; /* Time of last access. */
205 struct timespec st_mtim; /* Time of last modification. */
206 struct timespec st_ctim; /* Time of last status change. */
207# define st_atime st_atim.tv_sec /* Backward compatibility. */
208# define st_mtime st_mtim.tv_sec
209# define st_ctime st_ctim.tv_sec
210# else
211 __time_t st_atime; /* Time of last access. */
212 unsigned long int st_atimensec; /* Nscecs of last access. */
213 __time_t st_mtime; /* Time of last modification. */
214 unsigned long int st_mtimensec; /* Nsecs of last modification. */
215 __time_t st_ctime; /* Time of last status change. */
216 unsigned long int st_ctimensec; /* Nsecs of last status change. */
217# endif
218 unsigned long int __glibc_reserved4;
219 unsigned long int __glibc_reserved5;
220 unsigned long int __glibc_reserved6;
221 };
222# endif /* __USE_LARGEFILE64 */
223#endif
224
225/* Tell code we have these members. */
226#define _STATBUF_ST_BLKSIZE
227#define _STATBUF_ST_RDEV
228/* Nanosecond resolution time values are supported. */
229#define _STATBUF_ST_NSEC
230
231#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h deleted-45
......@@ -1,45 +0,0 @@
1/* termios baud rate selection definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24# define CBAUD 0000377
25# define CBAUDEX 0000020
26# define CMSPAR 010000000000 /* mark or space (stick) parity */
27# define CRTSCTS 020000000000 /* flow control */
28#endif
29
30#define B57600 00020
31#define B115200 00021
32#define B230400 00022
33#define B460800 00023
34#define B500000 00024
35#define B576000 00025
36#define B921600 00026
37#define B1000000 00027
38#define B1152000 00030
39#define B1500000 00031
40#define B2000000 00032
41#define B2500000 00033
42#define B3000000 00034
43#define B3500000 00035
44#define B4000000 00036
45#define __MAX_BAUD B4000000
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h deleted-41
......@@ -1,41 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0
25#define VQUIT 1
26#define VERASE 2
27#define VKILL 3
28#define VEOF 4
29#define VMIN 5
30#define VEOL 6
31#define VTIME 7
32#define VEOL2 8
33#define VSWTC 9
34
35#define VWERASE 10
36#define VREPRINT 11
37#define VSUSP 12
38#define VSTART 13
39#define VSTOP 14
40#define VLNEXT 15
41#define VDISCARD 16
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h deleted-39
......@@ -1,39 +0,0 @@
1/* termios control mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
21#endif
22
23#define CSIZE 00001400
24#define CS5 00000000
25#define CS6 00000400
26#define CS7 00001000
27#define CS8 00001400
28
29#define CSTOPB 00002000
30#define CREAD 00004000
31#define PARENB 00010000
32#define PARODD 00020000
33#define HUPCL 00040000
34
35#define CLOCAL 00100000
36
37#ifdef __USE_MISC
38# define ADDRB 04000000000
39#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h deleted-38
......@@ -1,38 +0,0 @@
1/* termios input mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."
21#endif
22
23/* c_iflag bits */
24#define IGNBRK 0000001
25#define BRKINT 0000002
26#define IGNPAR 0000004
27#define PARMRK 0000010
28#define INPCK 0000020
29#define ISTRIP 0000040
30#define INLCR 0000100
31#define IGNCR 0000200
32#define ICRNL 0000400
33#define IXON 0001000
34#define IXOFF 0002000
35#define IXANY 0004000
36#define IUCLC 0010000
37#define IMAXBEL 0020000
38#define IUTF8 0040000
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h deleted-45
......@@ -1,45 +0,0 @@
1/* termios local mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0x00000080
25#define ICANON 0x00000100
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0x00004000
28#endif
29#define ECHO 0x00000008
30#define ECHOE 0x00000002
31#define ECHOK 0x00000004
32#define ECHONL 0x00000010
33#define NOFLSH 0x80000000
34#define TOSTOP 0x00400000
35#ifdef __USE_MISC
36# define ECHOCTL 0x00000040
37# define ECHOPRT 0x00000020
38# define ECHOKE 0x00000001
39# define FLUSHO 0x00800000
40# define PENDIN 0x20000000
41#endif
42#define IEXTEN 0x00000400
43#ifdef __USE_MISC
44# define EXTPROC 0x10000000
45#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h deleted-65
......@@ -1,65 +0,0 @@
1/* termios output mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_oflag bits */
24#define OPOST 0000001
25#define ONLCR 0000002
26#define OLCUC 0000004
27
28#define OCRNL 0000010
29#define ONOCR 0000020
30#define ONLRET 0000040
31
32#define OFILL 00000100
33#define OFDEL 00000200
34#if defined __USE_MISC || defined __USE_XOPEN
35# define NLDLY 00001400
36# define NL0 00000000
37# define NL1 00000400
38# if defined __USE_MISC
39# define NL2 00001000
40# define NL3 00001400
41# endif
42# define TABDLY 00006000
43# define TAB0 00000000
44# define TAB1 00002000
45# define TAB2 00004000
46# define TAB3 00006000
47# define CRDLY 00030000
48# define CR0 00000000
49# define CR1 00010000
50# define CR2 00020000
51# define CR3 00030000
52# define FFDLY 00040000
53# define FF0 00000000
54# define FF1 00040000
55# define BSDLY 00100000
56# define BS0 00000000
57# define BS1 00100000
58#endif
59#define VTDLY 00200000
60#define VT0 00000000
61#define VT1 00200000
62
63#ifdef __USE_MISC
64# define XTABS 00006000
65#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h deleted-72
......@@ -1,72 +0,0 @@
1/* termios baud platform specific definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24
25struct sgttyb {
26 char sg_ispeed;
27 char sg_ospeed;
28 char sg_erase;
29 char sg_kill;
30 short sg_flags;
31};
32
33struct tchars {
34 char t_intrc;
35 char t_quitc;
36 char t_startc;
37 char t_stopc;
38 char t_eofc;
39 char t_brkc;
40};
41
42struct ltchars {
43 char t_suspc;
44 char t_dsuspc;
45 char t_rprntc;
46 char t_flushc;
47 char t_werasc;
48 char t_lnextc;
49};
50
51/* Used for packet mode */
52#define TIOCPKT_DATA 0
53#define TIOCPKT_FLUSHREAD 1
54#define TIOCPKT_FLUSHWRITE 2
55#define TIOCPKT_STOP 4
56#define TIOCPKT_START 8
57#define TIOCPKT_NOSTOP 16
58#define TIOCPKT_DOSTOP 32
59
60/* c_cc characters */
61#define _VINTR 0
62#define _VQUIT 1
63#define _VERASE 2
64#define _VKILL 3
65#define _VEOF 4
66#define _VMIN 5
67#define _VEOL 6
68#define _VTIME 7
69#define _VEOL2 8
70#define _VSWTC 9
71
72#endif /* __USE_MISC */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/timesize.h deleted-22
......@@ -1,22 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/PowerPC.
2 Copyright (C) 2021-2025 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#include <bits/wordsize.h>
20
21/* Size in bits of the 'time_t' type of the default ABI. */
22#define __TIMESIZE __WORDSIZE
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/PowerPC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34 unsigned long int __msg_stime_high;
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_rtime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_ctime_high;
39 __time_t msg_ctime; /* time of last change */
40# else
41 __time_t msg_stime; /* time of last msgsnd command */
42 __time_t msg_rtime; /* time of last msgsnd command */
43 __time_t msg_ctime; /* time of last change */
44# endif
45 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
46 msgqnum_t msg_qnum; /* number of messages currently on queue */
47 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
48 __pid_t msg_lspid; /* pid of last msgsnd() */
49 __pid_t msg_lrpid; /* pid of last msgrcv() */
50 __syscall_ulong_t __glibc_reserved4;
51 __syscall_ulong_t __glibc_reserved5;
52#endif
53};
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h deleted-43
......@@ -1,43 +0,0 @@
1/* PowerPC implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 __syscall_ulong_t __sem_otime_high;
32 __time_t sem_otime; /* last semop() time */
33 __syscall_ulong_t __sem_ctime_high;
34 __time_t sem_ctime; /* last time changed by semctl() */
35# else
36 __time_t sem_otime; /* last semop() time */
37 __time_t sem_ctime; /* last time changed by semctl() */
38# endif
39 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
40 __syscall_ulong_t __glibc_reserved3;
41 __syscall_ulong_t __glibc_reserved4;
42#endif
43};
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h deleted-50
......@@ -1,50 +0,0 @@
1/* Linux/PowerPC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 unsigned long int __shm_atime_high;
32 __time_t shm_atime; /* time of last shmat() */
33 unsigned long int __shm_dtime_high;
34 __time_t shm_dtime; /* time of last shmdt() */
35 unsigned long int __shm_ctime_high;
36 __time_t shm_ctime; /* time of last change by shmctl() */
37 unsigned long int __glibc_reserved4;
38# else
39 __time_t shm_atime; /* time of last shmat() */
40 __time_t shm_dtime; /* time of last shmdt() */
41 __time_t shm_ctime; /* time of last change by shmctl() */
42# endif
43 size_t shm_segsz; /* size of segment in bytes */
44 __pid_t shm_cpid; /* pid of creator */
45 __pid_t shm_lpid; /* pid of last shmop */
46 shmatt_t shm_nattch; /* number of current attaches */
47 __syscall_ulong_t __glibc_reserved5;
48 __syscall_ulong_t __glibc_reserved6;
49#endif
50 };
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. PowerPC version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/wordsize.h deleted-10
......@@ -1,10 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. */
2
3#if defined __powerpc64__
4# define __WORDSIZE 64
5#else
6# define __WORDSIZE 32
7# define __WORDSIZE32_SIZE_ULONG 0
8# define __WORDSIZE32_PTRDIFF_LONG 0
9#endif
10#define __WORDSIZE_TIME64_COMPAT32 1
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/fpu_control.h deleted-114
......@@ -1,114 +0,0 @@
1/* FPU control word definitions. PowerPC version.
2 Copyright (C) 1996-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
23# error "SPE/e500 is no longer supported"
24#endif
25
26#ifdef _SOFT_FLOAT
27
28# define _FPU_RESERVED 0xffffffff
29# define _FPU_DEFAULT 0x00000000 /* Default value. */
30typedef unsigned int fpu_control_t;
31# define _FPU_GETCW(cw) (cw) = 0
32# define _FPU_SETCW(cw) (void) (cw)
33extern fpu_control_t __fpu_control;
34
35#else /* PowerPC 6xx floating-point. */
36
37/* rounding control */
38# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
39# define _FPU_RC_DOWN 0x03
40# define _FPU_RC_UP 0x02
41# define _FPU_RC_ZERO 0x01
42
43# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO)
44
45# define _FPU_MASK_NI 0x04 /* non-ieee mode */
46
47/* masking of interrupts */
48# define _FPU_MASK_ZM 0x10 /* zero divide */
49# define _FPU_MASK_OM 0x40 /* overflow */
50# define _FPU_MASK_UM 0x20 /* underflow */
51# define _FPU_MASK_XM 0x08 /* inexact */
52# define _FPU_MASK_IM 0x80 /* invalid operation */
53
54# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
55
56/* The fdlibm code requires no interrupts for exceptions. */
57# define _FPU_DEFAULT 0x00000000 /* Default value. */
58
59/* IEEE: same as above, but (some) exceptions;
60 we leave the 'inexact' exception off.
61 */
62# define _FPU_IEEE 0x000000f0
63
64/* Type of the control word. */
65typedef unsigned int fpu_control_t;
66
67/* Macros for accessing the hardware control word. */
68# define _FPU_GETCW(cw) \
69 ({union { double __d; unsigned long long __ll; } __u; \
70 __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \
71 (cw) = (fpu_control_t) __u.__ll; \
72 (fpu_control_t) __u.__ll; \
73 })
74
75# define _FPU_GET_RC_ISA300() \
76 ({union { double __d; unsigned long long __ll; } __u; \
77 __asm__ __volatile__( \
78 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
79 : "=f" (__u.__d)); \
80 (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \
81 })
82
83# ifdef _ARCH_PWR9
84# define _FPU_GET_RC() _FPU_GET_RC_ISA300()
85# elif defined __BUILTIN_CPU_SUPPORTS__
86# define _FPU_GET_RC() \
87 ({fpu_control_t __rc; \
88 __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
89 ? _FPU_GET_RC_ISA300 () \
90 : _FPU_GETCW (__rc) & _FPU_MASK_RC; \
91 __rc; \
92 })
93# else
94# define _FPU_GET_RC() \
95 ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \
96 __rc; \
97 })
98# endif
99
100# define _FPU_SETCW(cw) \
101 { union { double __d; unsigned long long __ll; } __u; \
102 register double __fr; \
103 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \
104 __u.__ll |= (cw) & 0xffffffffLL; \
105 __fr = __u.__d; \
106 __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \
107 }
108
109/* Default control word set at startup. */
110extern fpu_control_t __fpu_control;
111
112#endif /* PowerPC 6xx floating-point. */
113
114#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h deleted-27
......@@ -1,27 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-64-v1.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD64_SO "ld64.so.1"
7#define LD_SO "ld64.so.1"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/gnu/lib-names.h deleted-19
......@@ -1,19 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32
10# include <gnu/lib-names-32.h>
11#endif
12#if __WORDSIZE == 64 && _CALL_ELF != 2
13# include <gnu/lib-names-64-v1.h>
14#endif
15#if __WORDSIZE == 64 && _CALL_ELF == 2
16# include <gnu/lib-names-64-v2.h>
17#endif
18
19#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/gnu/stubs-64-v1.h deleted-16
......@@ -1,16 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub_chflags
11#define __stub_fchflags
12#define __stub_gtty
13#define __stub_revoke
14#define __stub_setlogin
15#define __stub_sigreturn
16#define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/gnu/stubs.h deleted-15
......@@ -1,15 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32
8# include <gnu/stubs-32.h>
9#endif
10#if __WORDSIZE == 64 && _CALL_ELF != 2
11# include <gnu/stubs-64-v1.h>
12#endif
13#if __WORDSIZE == 64 && _CALL_ELF == 2
14# include <gnu/stubs-64-v2.h>
15#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/ieee754.h deleted-197
......@@ -1,197 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24#include <bits/floatn.h>
25
26__BEGIN_DECLS
27
28union ieee754_float
29 {
30 float f;
31
32 /* This is the IEEE 754 single-precision format. */
33 struct
34 {
35#if __BYTE_ORDER == __BIG_ENDIAN
36 unsigned int negative:1;
37 unsigned int exponent:8;
38 unsigned int mantissa:23;
39#endif /* Big endian. */
40#if __BYTE_ORDER == __LITTLE_ENDIAN
41 unsigned int mantissa:23;
42 unsigned int exponent:8;
43 unsigned int negative:1;
44#endif /* Little endian. */
45 } ieee;
46
47 /* This format makes it easier to see if a NaN is a signalling NaN. */
48 struct
49 {
50#if __BYTE_ORDER == __BIG_ENDIAN
51 unsigned int negative:1;
52 unsigned int exponent:8;
53 unsigned int quiet_nan:1;
54 unsigned int mantissa:22;
55#endif /* Big endian. */
56#if __BYTE_ORDER == __LITTLE_ENDIAN
57 unsigned int mantissa:22;
58 unsigned int quiet_nan:1;
59 unsigned int exponent:8;
60 unsigned int negative:1;
61#endif /* Little endian. */
62 } ieee_nan;
63 };
64
65#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
66
67
68union ieee754_double
69 {
70 double d;
71
72 /* This is the IEEE 754 double-precision format. */
73 struct
74 {
75#if __BYTE_ORDER == __BIG_ENDIAN
76 unsigned int negative:1;
77 unsigned int exponent:11;
78 /* Together these comprise the mantissa. */
79 unsigned int mantissa0:20;
80 unsigned int mantissa1:32;
81#endif /* Big endian. */
82#if __BYTE_ORDER == __LITTLE_ENDIAN
83 /* Together these comprise the mantissa. */
84 unsigned int mantissa1:32;
85 unsigned int mantissa0:20;
86 unsigned int exponent:11;
87 unsigned int negative:1;
88#endif /* Little endian. */
89 } ieee;
90
91 /* This format makes it easier to see if a NaN is a signalling NaN. */
92 struct
93 {
94#if __BYTE_ORDER == __BIG_ENDIAN
95 unsigned int negative:1;
96 unsigned int exponent:11;
97 unsigned int quiet_nan:1;
98 /* Together these comprise the mantissa. */
99 unsigned int mantissa0:19;
100 unsigned int mantissa1:32;
101#else
102 /* Together these comprise the mantissa. */
103 unsigned int mantissa1:32;
104 unsigned int mantissa0:19;
105 unsigned int quiet_nan:1;
106 unsigned int exponent:11;
107 unsigned int negative:1;
108#endif
109 } ieee_nan;
110 };
111
112#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
113
114
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)
174/* IBM extended format for long double.
175
176 Each long double is made up of two IEEE doubles. The value of the
177 long double is the sum of the values of the two parts. The most
178 significant part is required to be the value of the long double
179 rounded to the nearest double, as specified by IEEE. For Inf
180 values, the least significant part is required to be one of +0.0 or
181 -0.0. No other requirements are made; so, for example, 1.0 may be
182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
183 NaN is don't-care. */
184union ibm_extended_long_double
185 {
186# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
187 __ibm128 ld;
188# else
189 long double ld;
190# endif
191 union ieee754_double d[2];
192 };
193#endif
194
195__END_DECLS
196
197#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h deleted-289
......@@ -1,289 +0,0 @@
1/* `ptrace' debugger support interface. Linux/PowerPC version.
2 Copyright (C) 2001-2025 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_PTRACE_H
20#define _SYS_PTRACE_H 1
21
22#include <features.h>
23#include <bits/types.h>
24
25__BEGIN_DECLS
26
27#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H
28/* Do not let Linux headers macros interfere with enum __ptrace_request. */
29# undef PTRACE_ATTACH
30# undef PTRACE_CONT
31# undef PTRACE_DETACH
32# undef PTRACE_GET_DEBUGREG
33# undef PTRACE_GETEVENTMSG
34# undef PTRACE_GETEVRREGS
35# undef PTRACE_GETFPREGS
36# undef PTRACE_GETREGS
37# undef PTRACE_GETREGS64
38# undef PTRACE_GETREGSET
39# undef PTRACE_GET_RSEQ_CONFIGURATION
40# undef PTRACE_GETSIGINFO
41# undef PTRACE_GETSIGMASK
42# undef PTRACE_GET_SYSCALL_INFO
43# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
44# undef PTRACE_GETVRREGS
45# undef PTRACE_GETVSRREGS
46# undef PTRACE_INTERRUPT
47# undef PTRACE_KILL
48# undef PTRACE_LISTEN
49# undef PTRACE_PEEKDATA
50# undef PTRACE_PEEKSIGINFO
51# undef PTRACE_PEEKTEXT
52# undef PTRACE_POKEDATA
53# undef PTRACE_POKETEXT
54# undef PTRACE_SECCOMP_GET_FILTER
55# undef PTRACE_SECCOMP_GET_METADATA
56# undef PTRACE_SEIZE
57# undef PTRACE_SET_DEBUGREG
58# undef PTRACE_SETEVRREGS
59# undef PTRACE_SETFPREGS
60# undef PTRACE_SETOPTIONS
61# undef PTRACE_SETREGS
62# undef PTRACE_SETREGS64
63# undef PTRACE_SETREGSET
64# undef PTRACE_SETSIGINFO
65# undef PTRACE_SETSIGMASK
66# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
67# undef PTRACE_SETVRREGS
68# undef PTRACE_SETVSRREGS
69# undef PTRACE_SINGLEBLOCK
70# undef PTRACE_SINGLESTEP
71# undef PTRACE_SYSCALL
72# undef PTRACE_SYSCALL_INFO_NONE
73# undef PTRACE_SYSCALL_INFO_ENTRY
74# undef PTRACE_SYSCALL_INFO_EXIT
75# undef PTRACE_SYSCALL_INFO_SECCOMP
76# undef PTRACE_SYSEMU
77# undef PTRACE_SYSEMU_SINGLESTEP
78# undef PTRACE_TRACEME
79#endif
80
81/* Type of the REQUEST argument to `ptrace.' */
82enum __ptrace_request
83{
84 /* Indicate that the process making this request should be traced.
85 All signals received by this process can be intercepted by its
86 parent, and its parent can use the other `ptrace' requests. */
87 PTRACE_TRACEME = 0,
88#define PT_TRACE_ME PTRACE_TRACEME
89
90 /* Return the word in the process's text space at address ADDR. */
91 PTRACE_PEEKTEXT = 1,
92#define PT_READ_I PTRACE_PEEKTEXT
93
94 /* Return the word in the process's data space at address ADDR. */
95 PTRACE_PEEKDATA = 2,
96#define PT_READ_D PTRACE_PEEKDATA
97
98 /* Return the word in the process's user area at offset ADDR. */
99 PTRACE_PEEKUSER = 3,
100#define PT_READ_U PTRACE_PEEKUSER
101
102 /* Write the word DATA into the process's text space at address ADDR. */
103 PTRACE_POKETEXT = 4,
104#define PT_WRITE_I PTRACE_POKETEXT
105
106 /* Write the word DATA into the process's data space at address ADDR. */
107 PTRACE_POKEDATA = 5,
108#define PT_WRITE_D PTRACE_POKEDATA
109
110 /* Write the word DATA into the process's user area at offset ADDR. */
111 PTRACE_POKEUSER = 6,
112#define PT_WRITE_U PTRACE_POKEUSER
113
114 /* Continue the process. */
115 PTRACE_CONT = 7,
116#define PT_CONTINUE PTRACE_CONT
117
118 /* Kill the process. */
119 PTRACE_KILL = 8,
120#define PT_KILL PTRACE_KILL
121
122 /* Single step the process. */
123 PTRACE_SINGLESTEP = 9,
124#define PT_STEP PTRACE_SINGLESTEP
125
126 /* Get all general purpose registers used by a process. */
127 PTRACE_GETREGS = 12,
128#define PT_GETREGS PTRACE_GETREGS
129
130 /* Set all general purpose registers used by a process. */
131 PTRACE_SETREGS = 13,
132#define PT_SETREGS PTRACE_SETREGS
133
134 /* Get all floating point registers used by a process. */
135 PTRACE_GETFPREGS = 14,
136#define PT_GETFPREGS PTRACE_GETFPREGS
137
138 /* Set all floating point registers used by a process. */
139 PTRACE_SETFPREGS = 15,
140#define PT_SETFPREGS PTRACE_SETFPREGS
141
142 /* Attach to a process that is already running. */
143 PTRACE_ATTACH = 16,
144#define PT_ATTACH PTRACE_ATTACH
145
146 /* Detach from a process attached to with PTRACE_ATTACH. */
147 PTRACE_DETACH = 17,
148#define PT_DETACH PTRACE_DETACH
149
150 /* Get all altivec registers used by a process. */
151 PTRACE_GETVRREGS = 18,
152#define PT_GETVRREGS PTRACE_GETVRREGS
153
154 /* Set all altivec registers used by a process. */
155 PTRACE_SETVRREGS = 19,
156#define PT_SETVRREGS PTRACE_SETVRREGS
157
158 /* Get all SPE registers used by a process. */
159 PTRACE_GETEVRREGS = 20,
160#define PT_GETEVRREGS PTRACE_GETEVRREGS
161
162 /* Set all SPE registers used by a process. */
163 PTRACE_SETEVRREGS = 21,
164#define PT_SETEVRREGS PTRACE_SETEVRREGS
165
166 /* Same as PTRACE_GETREGS except a 32-bit process will obtain
167 the full 64-bit registers. Implemented by 64-bit kernels only. */
168 PTRACE_GETREGS64 = 22,
169#define PT_GETREGS64 PTRACE_GETREGS64
170
171 /* Same as PTRACE_SETREGS except a 32-bit process will set
172 the full 64-bit registers. Implemented by 64-bit kernels only. */
173 PTRACE_SETREGS64 = 23,
174#define PT_SETREGS64 PTRACE_SETREGS64
175
176 /* Continue and stop at the next entry to or return from syscall. */
177 PTRACE_SYSCALL = 24,
178#define PT_SYSCALL PTRACE_SYSCALL
179
180 /* Get a debug register of a process. */
181 PTRACE_GET_DEBUGREG = 25,
182#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
183
184 /* Set a debug register of a process. */
185 PTRACE_SET_DEBUGREG = 26,
186#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
187
188 /* Get the first 32 VSX registers of a process. */
189 PTRACE_GETVSRREGS = 27,
190#define PT_GETVSRREGS PTRACE_GETVSRREGS
191
192 /* Set the first 32 VSX registers of a process. */
193 PTRACE_SETVSRREGS = 28,
194#define PT_SETVSRREGS PTRACE_SETVSRREGS
195
196 /* Continue and stop at the next syscall, it will not be executed. */
197 PTRACE_SYSEMU = 29,
198#define PT_SYSEMU PTRACE_SYSEMU
199
200 /* Single step the process, the next syscall will not be executed. */
201 PTRACE_SYSEMU_SINGLESTEP = 30,
202#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
203
204 /* Execute process until next taken branch. */
205 PTRACE_SINGLEBLOCK = 256,
206#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
207
208 /* Set ptrace filter options. */
209 PTRACE_SETOPTIONS = 0x4200,
210#define PT_SETOPTIONS PTRACE_SETOPTIONS
211
212 /* Get last ptrace message. */
213 PTRACE_GETEVENTMSG = 0x4201,
214#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
215
216 /* Get siginfo for process. */
217 PTRACE_GETSIGINFO = 0x4202,
218#define PT_GETSIGINFO PTRACE_GETSIGINFO
219
220 /* Set new siginfo for process. */
221 PTRACE_SETSIGINFO = 0x4203,
222#define PT_SETSIGINFO PTRACE_SETSIGINFO
223
224 /* Get register content. */
225 PTRACE_GETREGSET = 0x4204,
226#define PTRACE_GETREGSET PTRACE_GETREGSET
227
228 /* Set register content. */
229 PTRACE_SETREGSET = 0x4205,
230#define PTRACE_SETREGSET PTRACE_SETREGSET
231
232 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
233 signal or group stop state. */
234 PTRACE_SEIZE = 0x4206,
235#define PTRACE_SEIZE PTRACE_SEIZE
236
237 /* Trap seized tracee. */
238 PTRACE_INTERRUPT = 0x4207,
239#define PTRACE_INTERRUPT PTRACE_INTERRUPT
240
241 /* Wait for next group event. */
242 PTRACE_LISTEN = 0x4208,
243#define PTRACE_LISTEN PTRACE_LISTEN
244
245 /* Retrieve siginfo_t structures without removing signals from a queue. */
246 PTRACE_PEEKSIGINFO = 0x4209,
247#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
248
249 /* Get the mask of blocked signals. */
250 PTRACE_GETSIGMASK = 0x420a,
251#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
252
253 /* Change the mask of blocked signals. */
254 PTRACE_SETSIGMASK = 0x420b,
255#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
256
257 /* Get seccomp BPF filters. */
258 PTRACE_SECCOMP_GET_FILTER = 0x420c,
259#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
260
261 /* Get seccomp BPF filter metadata. */
262 PTRACE_SECCOMP_GET_METADATA = 0x420d,
263#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
264
265 /* Get information about system call. */
266 PTRACE_GET_SYSCALL_INFO = 0x420e,
267#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
268
269 /* Get rseq configuration information. */
270 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
271#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
272
273 /* Set configuration for syscall user dispatch. */
274 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
275#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
276 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
277
278 /* Get configuration for syscall user dispatch. */
279 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
280#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
281 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
282};
283
284
285#include <bits/ptrace-shared.h>
286
287__END_DECLS
288
289#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h deleted-200
......@@ -1,200 +0,0 @@
1/* Copyright (C) 1998-2025 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_UCONTEXT_H
19#define _SYS_UCONTEXT_H 1
20
21#include <features.h>
22
23#include <bits/types/sigset_t.h>
24#include <bits/types/stack_t.h>
25
26
27#ifdef __USE_MISC
28# define __ctx(fld) fld
29#else
30# define __ctx(fld) __ ## fld
31#endif
32
33struct __ctx(pt_regs);
34
35#if __WORDSIZE == 32
36
37/* Number of general registers. */
38# define __NGREG 48
39# ifdef __USE_MISC
40# define NGREG __NGREG
41# endif
42
43/* Container for all general registers. */
44typedef unsigned long gregset_t[__NGREG];
45
46/* Container for floating-point registers and status */
47typedef struct _libc_fpstate
48{
49 double __ctx(fpregs)[32];
50 double __ctx(fpscr);
51 unsigned int _pad[2];
52} fpregset_t;
53
54/* Container for Altivec/VMX registers and status.
55 Needs to be aligned on a 16-byte boundary. */
56typedef struct _libc_vrstate
57{
58 unsigned int __ctx(vrregs)[32][4];
59 unsigned int __ctx(vrsave);
60 unsigned int _pad[2];
61 unsigned int __ctx(vscr);
62} vrregset_t;
63
64/* Context to describe whole processor state. */
65typedef struct
66{
67 gregset_t __ctx(gregs);
68 fpregset_t __ctx(fpregs);
69 vrregset_t __ctx(vrregs) __attribute__((__aligned__(16)));
70} mcontext_t;
71
72#else
73
74/* For 64-bit kernels with Altivec support, a machine context is exactly
75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches
76 * the mcontext upto but not including the v_regs field. For kernels that
77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
78 * v_regs field may not exist and should not be referenced. The v_regs field
79 * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
80 * is set in AT_HWCAP. */
81
82/* Number of general registers. */
83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
86 split vectors */
87# ifdef __USE_MISC
88# define NGREG __NGREG
89# define NFPREG __NFPREG
90# define NVRREG __NVRREG
91# endif
92
93typedef unsigned long gregset_t[__NGREG];
94typedef double fpregset_t[__NFPREG];
95
96/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits
97 but can only be copied to/from a 128-bit vector register. So we allocated
98 a whole quadword speedup save/restore. */
99typedef struct _libc_vscr
100{
101#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
102 unsigned int __pad[3];
103 unsigned int __ctx(vscr_word);
104#else
105 unsigned int __ctx(vscr_word);
106 unsigned int __pad[3];
107#endif
108} vscr_t;
109
110/* Container for Altivec/VMX registers and status.
111 Must to be aligned on a 16-byte boundary. */
112typedef struct _libc_vrstate
113{
114 unsigned int __ctx(vrregs)[32][4];
115 vscr_t __ctx(vscr);
116 unsigned int __ctx(vrsave);
117 unsigned int __pad[3];
118} vrregset_t __attribute__((__aligned__(16)));
119
120typedef struct {
121 unsigned long __glibc_reserved[4];
122 int __ctx(signal);
123 int __pad0;
124 unsigned long __ctx(handler);
125 unsigned long __ctx(oldmask);
126 struct __ctx(pt_regs) *__ctx(regs);
127 gregset_t __ctx(gp_regs);
128 fpregset_t __ctx(fp_regs);
129/*
130 * To maintain compatibility with current implementations the sigcontext is
131 * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
132 * followed by an unstructured (vmx_reserve) field of 69 doublewords. This
133 * allows the array of vector registers to be quadword aligned independent of
134 * the alignment of the containing sigcontext or ucontext. It is the
135 * responsibility of the code setting the sigcontext to set this pointer to
136 * either NULL (if this processor does not support the VMX feature) or the
137 * address of the first quadword within the allocated (vmx_reserve) area.
138 *
139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
140 * an array of 34 quadword entries. The entries with
141 * indexes 0-31 contain the corresponding vector registers. The entry with
142 * index 32 contains the vscr as the last word (offset 12) within the
143 * quadword. This allows the vscr to be stored as either a quadword (since
144 * it must be copied via a vector register to/from storage) or as a word.
145 * The entry with index 33 contains the vrsave as the first word (offset 0)
146 * within the quadword.
147 */
148 vrregset_t *__ctx(v_regs);
149 long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1];
150} mcontext_t;
151
152#endif
153
154/* Userlevel context. */
155typedef struct ucontext_t
156 {
157 unsigned long int __ctx(uc_flags);
158 struct ucontext_t *uc_link;
159 stack_t uc_stack;
160#if __WORDSIZE == 32
161 /*
162 * These fields are set up this way to maximize source and
163 * binary compatibility with code written for the old
164 * ucontext_t definition, which didn't include space for the
165 * registers.
166 *
167 * Different versions of the kernel have stored the registers on
168 * signal delivery at different offsets from the ucontext struct.
169 * Programs should thus use the uc_mcontext.uc_regs pointer to
170 * find where the registers are actually stored. The registers
171 * will be stored within the ucontext_t struct but not necessarily
172 * at a fixed address. As a side-effect, this lets us achieve
173 * 16-byte alignment for the register storage space if the
174 * Altivec registers are to be saved, without requiring 16-byte
175 * alignment on the whole ucontext_t.
176 *
177 * The uc_mcontext.regs field is included for source compatibility
178 * with programs written against the older ucontext_t definition,
179 * and its name should therefore not change. The uc_pad field
180 * is for binary compatibility with programs compiled against the
181 * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask
182 * are at the same offset as previously.
183 */
184 int __glibc_reserved1[7];
185 union __ctx(uc_regs_ptr) {
186 struct __ctx(pt_regs) *__ctx(regs);
187 mcontext_t *__ctx(uc_regs);
188 } uc_mcontext;
189 sigset_t uc_sigmask;
190 /* last for extensibility */
191 char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12];
192#else /* 64-bit */
193 sigset_t uc_sigmask;
194 mcontext_t uc_mcontext; /* last for extensibility */
195#endif
196 } ucontext_t;
197
198#undef __ctx
199
200#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/sys/user.h deleted-40
......@@ -1,40 +0,0 @@
1/* Copyright (C) 1998-2025 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_USER_H
19
20#define _SYS_USER_H 1
21#include <stddef.h>
22#include <features.h>
23
24#include <asm/ptrace.h>
25
26struct user {
27 struct pt_regs regs; /* entire machine state */
28 size_t u_tsize; /* text size (pages) */
29 size_t u_dsize; /* data size (pages) */
30 size_t u_ssize; /* stack size (pages) */
31 unsigned long start_code; /* text starting address */
32 unsigned long start_data; /* data starting address */
33 unsigned long start_stack; /* stack starting address */
34 long int signal; /* signal causing core dump */
35 struct regs * u_ar0; /* help gdb find registers */
36 unsigned long magic; /* identifies a core file */
37 char u_comm[32]; /* user command name */
38};
39
40#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/endianness.h deleted-16
......@@ -1,16 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* PowerPC has selectable endianness. */
9#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
10# define __BYTE_ORDER __BIG_ENDIAN
11#endif
12#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
13# define __BYTE_ORDER __LITTLE_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/environments.h deleted-96
......@@ -1,96 +0,0 @@
1/* Copyright (C) 1999-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* Environments with 32-bit wide pointers are optionally provided.
45 Therefore following macros aren't defined:
46 # undef _POSIX_V7_ILP32_OFF32
47 # undef _POSIX_V7_ILP32_OFFBIG
48 # undef _POSIX_V6_ILP32_OFF32
49 # undef _POSIX_V6_ILP32_OFFBIG
50 # undef _XBS5_ILP32_OFF32
51 # undef _XBS5_ILP32_OFFBIG
52 and users need to check at runtime. */
53
54/* We also have no use (for now) for an environment with bigger pointers
55 and offsets. */
56# define _POSIX_V7_LPBIG_OFFBIG -1
57# define _POSIX_V6_LPBIG_OFFBIG -1
58# define _XBS5_LPBIG_OFFBIG -1
59
60/* By default we have 64-bit wide `long int', pointers and `off_t'. */
61# define _POSIX_V7_LP64_OFF64 1
62# define _POSIX_V6_LP64_OFF64 1
63# define _XBS5_LP64_OFF64 1
64
65#else /* __WORDSIZE == 32 */
66
67/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
68 and all platforms support LFS. */
69# define _POSIX_V7_ILP32_OFF32 1
70# define _POSIX_V7_ILP32_OFFBIG 1
71# define _POSIX_V6_ILP32_OFF32 1
72# define _POSIX_V6_ILP32_OFFBIG 1
73# define _XBS5_ILP32_OFF32 1
74# define _XBS5_ILP32_OFFBIG 1
75
76/* We optionally provide an environment with the above size but an 64-bit
77 side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
78
79/* Environments with 64-bit wide pointers can be provided,
80 so these macros aren't defined:
81 # undef _POSIX_V7_LP64_OFF64
82 # undef _POSIX_V7_LPBIG_OFFBIG
83 # undef _POSIX_V6_LP64_OFF64
84 # undef _POSIX_V6_LPBIG_OFFBIG
85 # undef _XBS5_LP64_OFF64
86 # undef _XBS5_LPBIG_OFFBIG
87 and sysconf tests for it at runtime. */
88
89#endif /* __WORDSIZE == 32 */
90
91#define __ILP32_OFF32_CFLAGS "-m32"
92#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
93#define __ILP32_OFF32_LDFLAGS "-m32"
94#define __ILP32_OFFBIG_LDFLAGS "-m32"
95#define __LP64_OFF64_CFLAGS "-m64"
96#define __LP64_OFF64_LDFLAGS "-m64"
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h deleted-68
......@@ -1,68 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#define __O_DIRECTORY 040000 /* Must be a directory. */
26#define __O_NOFOLLOW 0100000 /* Do not follow links. */
27#define __O_DIRECT 0400000 /* Direct disk access. */
28
29#if __WORDSIZE == 64
30/* Not necessary, files are always with 64bit off_t. */
31# define __O_LARGEFILE 0
32#else
33# define __O_LARGEFILE 0200000
34#endif
35
36#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64
37# define F_GETLK 5
38# define F_SETLK 6
39# define F_SETLKW 7
40#endif
41
42struct flock
43 {
44 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
45 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
46#ifndef __USE_FILE_OFFSET64
47 __off_t l_start; /* Offset where the lock begins. */
48 __off_t l_len; /* Size of the locked area; zero means until EOF. */
49#else
50 __off64_t l_start; /* Offset where the lock begins. */
51 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
52#endif
53 __pid_t l_pid; /* Process holding the lock. */
54 };
55
56#ifdef __USE_LARGEFILE64
57struct flock64
58 {
59 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
60 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
61 __off64_t l_start; /* Offset where the lock begins. */
62 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
63 __pid_t l_pid; /* Process holding the lock. */
64 };
65#endif
66
67/* Include generic Linux declarations. */
68#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h deleted-180
......@@ -1,180 +0,0 @@
1/* Copyright (C) 1997-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22
23/* Define bits representing the exception. We use the bit positions of
24 the appropriate bits in the FPSCR... */
25enum
26 {
27 FE_INEXACT =
28#define FE_INEXACT (1 << (31 - 6))
29 FE_INEXACT,
30 FE_DIVBYZERO =
31#define FE_DIVBYZERO (1 << (31 - 5))
32 FE_DIVBYZERO,
33 FE_UNDERFLOW =
34#define FE_UNDERFLOW (1 << (31 - 4))
35 FE_UNDERFLOW,
36 FE_OVERFLOW =
37#define FE_OVERFLOW (1 << (31 - 3))
38 FE_OVERFLOW,
39
40 /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID
41 actually corresponds to bits 7 through 12 and 21 through 23
42 in the FPSCR, but we can't use that because the current draft
43 says that it must be a power of 2. Instead we use bit 2 which
44 is the summary bit for all the FE_INVALID exceptions, which
45 kind of makes sense. */
46 FE_INVALID =
47#define FE_INVALID (1 << (31 - 2))
48 FE_INVALID,
49
50#ifdef __USE_GNU
51 /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an
52 input to a routine is equivalent to setting all of these bits;
53 FE_INVALID will be set on output from a routine iff one of
54 these bits is set. Note, though, that you can't disable or
55 enable these exceptions individually. */
56
57 /* Operation with a sNaN. */
58 FE_INVALID_SNAN =
59# define FE_INVALID_SNAN (1 << (31 - 7))
60 FE_INVALID_SNAN,
61
62 /* Inf - Inf */
63 FE_INVALID_ISI =
64# define FE_INVALID_ISI (1 << (31 - 8))
65 FE_INVALID_ISI,
66
67 /* Inf / Inf */
68 FE_INVALID_IDI =
69# define FE_INVALID_IDI (1 << (31 - 9))
70 FE_INVALID_IDI,
71
72 /* 0 / 0 */
73 FE_INVALID_ZDZ =
74# define FE_INVALID_ZDZ (1 << (31 - 10))
75 FE_INVALID_ZDZ,
76
77 /* Inf * 0 */
78 FE_INVALID_IMZ =
79# define FE_INVALID_IMZ (1 << (31 - 11))
80 FE_INVALID_IMZ,
81
82 /* Comparison with a NaN. */
83 FE_INVALID_COMPARE =
84# define FE_INVALID_COMPARE (1 << (31 - 12))
85 FE_INVALID_COMPARE,
86
87 /* Invalid operation flag for software (not set by hardware). */
88 /* Note that some chips don't have this implemented, presumably
89 because no-one expected anyone to write software for them %-). */
90 FE_INVALID_SOFTWARE =
91# define FE_INVALID_SOFTWARE (1 << (31 - 21))
92 FE_INVALID_SOFTWARE,
93
94 /* Square root of negative number (including -Inf). */
95 /* Note that some chips don't have this implemented. */
96 FE_INVALID_SQRT =
97# define FE_INVALID_SQRT (1 << (31 - 22))
98 FE_INVALID_SQRT,
99
100 /* Conversion-to-integer of a NaN or a number too large or too small. */
101 FE_INVALID_INTEGER_CONVERSION =
102# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23))
103 FE_INVALID_INTEGER_CONVERSION
104
105# define FE_ALL_INVALID \
106 (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \
107 | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \
108 | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION)
109#endif
110 };
111
112#define FE_ALL_EXCEPT \
113 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
114
115/* PowerPC chips support all of the four defined rounding modes. We
116 use the bit pattern in the FPSCR as the values for the
117 appropriate macros. */
118enum
119 {
120 FE_TONEAREST =
121#define FE_TONEAREST 0
122 FE_TONEAREST,
123 FE_TOWARDZERO =
124#define FE_TOWARDZERO 1
125 FE_TOWARDZERO,
126 FE_UPWARD =
127#define FE_UPWARD 2
128 FE_UPWARD,
129 FE_DOWNWARD =
130#define FE_DOWNWARD 3
131 FE_DOWNWARD
132 };
133
134/* Type representing exception flags. */
135typedef unsigned int fexcept_t;
136
137/* Type representing floating-point environment. We leave it as 'double'
138 for efficiency reasons (rather than writing it to a 32-bit integer). */
139typedef double fenv_t;
140
141/* If the default argument is used we use this value. */
142extern const fenv_t __fe_dfl_env;
143#define FE_DFL_ENV (&__fe_dfl_env)
144
145#ifdef __USE_GNU
146/* Floating-point environment where all exceptions are enabled. Note that
147 this is not sufficient to give you SIGFPE. */
148extern const fenv_t __fe_enabled_env;
149# define FE_ENABLED_ENV (&__fe_enabled_env)
150
151/* Floating-point environment with (processor-dependent) non-IEEE floating
152 point. */
153extern const fenv_t __fe_nonieee_env;
154# define FE_NONIEEE_ENV (&__fe_nonieee_env)
155
156/* Floating-point environment with all exceptions enabled. Note that
157 just evaluating this value does not change the processor exception mode.
158 Passing this mask to fesetenv will result in a prctl syscall to change
159 the MSR FE0/FE1 bits to "Precise Mode". On some processors this will
160 result in slower floating point execution. This will last until an
161 fenv or exception mask is installed that disables all FP exceptions. */
162# define FE_NOMASK_ENV FE_ENABLED_ENV
163
164/* Floating-point environment with all exceptions disabled. Note that
165 just evaluating this value does not change the processor exception mode.
166 Passing this mask to fesetenv will result in a prctl syscall to change
167 the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors
168 this allows the fastest possible floating point execution.*/
169# define FE_MASK_ENV FE_DFL_ENV
170
171#endif
172
173#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
174/* Type representing floating-point control modes. */
175typedef double femode_t;
176
177/* Default floating-point control modes. */
178extern const femode_t __fe_dfl_mode;
179# define FE_DFL_MODE (&__fe_dfl_mode)
180#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h deleted-122
......@@ -1,122 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on powerpc.
2 Copyright (C) 2017-2025 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 glibc
27 includes corresponding *f128 interfaces for it. */
28#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \
29 && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH
30# define __HAVE_FLOAT128 1
31#else
32# define __HAVE_FLOAT128 0
33#endif
34
35/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
36 from the default float, double and long double types in this glibc, i.e.
37 calls to the binary128 functions go to *f128 symbols instead of *l. */
38#if __HAVE_FLOAT128
39# define __HAVE_DISTINCT_FLOAT128 1
40#else
41# define __HAVE_DISTINCT_FLOAT128 0
42#endif
43
44/* Defined to 1 if the current compiler invocation provides a
45 floating-point type with the right format for _Float64x, and this
46 glibc includes corresponding *f64x interfaces for it. */
47#define __HAVE_FLOAT64X __HAVE_FLOAT128
48
49/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
50 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
51 the format of _Float128, which must be different from that of long
52 double. */
53#define __HAVE_FLOAT64X_LONG_DOUBLE 0
54
55#ifndef __ASSEMBLER__
56
57/* Defined to concatenate the literal suffix to be used with _Float128
58 types, if __HAVE_FLOAT128 is 1. */
59# if __HAVE_FLOAT128
60# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
61/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */
62# if __LDBL_MANT_DIG__ == 113
63# define __f128(x) x##l
64# else
65# define __f128(x) x##q
66# endif
67# else
68# define __f128(x) x##f128
69# endif
70# endif
71
72/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
73# if __HAVE_FLOAT128
74# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0)
75typedef long double _Float128;
76# define __CFLOAT128 _Complex long double
77# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
78/* The type _Float128 exist for powerpc only since GCC 7.0. */
79typedef __float128 _Float128;
80/* Add a typedef for older GCC and C++ compilers which don't natively support
81 _Complex _Float128. */
82typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
83# define __CFLOAT128 __cfloat128
84# else
85# define __CFLOAT128 _Complex _Float128
86# endif
87# endif
88
89/* The remaining of this file provides support for older compilers. */
90# if __HAVE_FLOAT128
91/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */
92# if !__GNUC_PREREQ (7, 0)
93# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
94# endif
95
96/* The following builtins (suffixed with 'q') are available in GCC >= 6.2,
97 which is the minimum version required for float128 support on powerpc64le.
98 Since GCC 7.0 the builtins suffixed with f128 are also available, then
99 there is no need to redefined them. */
100# if !__GNUC_PREREQ (7, 0)
101# define __builtin_copysignf128 __builtin_copysignq
102# define __builtin_fabsf128 __builtin_fabsq
103# define __builtin_inff128 __builtin_infq
104# define __builtin_nanf128 __builtin_nanq
105# define __builtin_nansf128 __builtin_nansq
106# endif
107
108/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
109 e.g.: __builtin_signbitf128, before GCC 6. However, there has never
110 been a __builtin_signbitf128 in GCC and the type-generic builtin is
111 only available since GCC 6. */
112# if !__GNUC_PREREQ (6, 0)
113# define __builtin_signbitf128 __signbitf128
114# endif
115
116# endif
117
118#endif /* !__ASSEMBLER__. */
119
120#include <bits/floatn-common.h>
121
122#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h deleted-39
......@@ -1,39 +0,0 @@
1/* Define FP_FAST_* macros. PowerPC version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
21#endif
22
23#ifdef __USE_ISOC99
24
25/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
26 builtins are supported. */
27# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA
28# define FP_FAST_FMA 1
29# endif
30
31# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF
32# define FP_FAST_FMAF 1
33# endif
34
35# ifdef __FP_FAST_FMAL
36# define FP_FAST_FMAL 1
37# endif
38
39#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h deleted-78
......@@ -1,78 +0,0 @@
1/* Defines for bits in AT_HWCAP and AT_HWCAP2.
2 Copyright (C) 2012-2025 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(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23/* The bit numbers must match those in the kernel's asm/cputable.h. */
24
25/* Feature definitions in AT_HWCAP. */
26#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */
27#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */
28#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */
29#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */
30#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */
31#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */
32#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */
33#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */
34#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */
35#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */
36#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */
37#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */
38#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */
39#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */
40#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */
41#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */
42#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */
43#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous
44 Multi-Threading */
45#define PPC_FEATURE_ICACHE_SNOOP 0x00002000
46#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */
47#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */
48#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */
49#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */
50#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */
51#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */
52#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040
53/* Reserved by the kernel. 0x00000004 Do not use. */
54#define PPC_FEATURE_TRUE_LE 0x00000002
55#define PPC_FEATURE_PPC_LE 0x00000001
56
57/* Feature definitions in AT_HWCAP2. */
58#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */
59#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional
60 Memory */
61#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control
62 Register */
63#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */
64#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */
65#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */
66#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector
67 instruction. */
68#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction
69 when a syscall is made. */
70#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */
71#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float
72 128-bit */
73#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */
74#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */
75#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended
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/ioctl-types.h deleted-77
......@@ -1,77 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.
2 Copyright (C) 2014-2025 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_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
21#endif
22
23/* Get definition of constants for use with `ioctl'. */
24#include <asm/ioctls.h>
25
26
27struct winsize
28 {
29 unsigned short int ws_row;
30 unsigned short int ws_col;
31 unsigned short int ws_xpixel;
32 unsigned short int ws_ypixel;
33 };
34
35#define NCC 10
36struct termio
37 {
38 unsigned short int c_iflag; /* input mode flags */
39 unsigned short int c_oflag; /* output mode flags */
40 unsigned short int c_cflag; /* control mode flags */
41 unsigned short int c_lflag; /* local mode flags */
42 unsigned char c_line; /* line discipline */
43 unsigned char c_cc[NCC]; /* control characters */
44};
45
46/* modem lines */
47#define TIOCM_LE 0x001
48#define TIOCM_DTR 0x002
49#define TIOCM_RTS 0x004
50#define TIOCM_ST 0x008
51#define TIOCM_SR 0x010
52#define TIOCM_CTS 0x020
53#define TIOCM_CAR 0x040
54#define TIOCM_RNG 0x080
55#define TIOCM_DSR 0x100
56#define TIOCM_CD TIOCM_CAR
57#define TIOCM_RI TIOCM_RNG
58
59/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
60
61/* line disciplines */
62#define N_TTY 0
63#define N_SLIP 1
64#define N_MOUSE 2
65#define N_PPP 3
66#define N_STRIP 4
67#define N_AX25 5
68#define N_X25 6 /* X.25 async */
69#define N_6PACK 7
70#define N_MASC 8 /* Mobitex module */
71#define N_R3964 9 /* Simatic R3964 module */
72#define N_PROFIBUS_FDL 10 /* Profibus */
73#define N_IRDA 11 /* Linux IR */
74#define N_SMSBLOCK 12 /* SMS block mode */
75#define N_HDLC 13 /* synchronous HDLC */
76#define N_SYNC_PPP 14 /* synchronous PPP */
77#define N_HCI 15 /* Bluetooth HCI UART */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h deleted-36
......@@ -1,36 +0,0 @@
1/* struct ipc_perm definition. Linux/powerpc version.
2 Copyright (C) 1995-2025 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_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 __uint32_t __seq; /* Sequence number. */
33 __uint32_t __pad1;
34 __uint64_t __glibc_reserved1;
35 __uint64_t __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h deleted-58
......@@ -1,58 +0,0 @@
1/* Define iscanonical macro. ldbl-128ibm version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif
22
23#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
24# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
25#else
26extern int __iscanonicall (long double __x)
27 __THROW __attribute__ ((__const__));
28# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
29# define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
30# if __HAVE_DISTINCT_FLOAT128
31# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
32# endif
33
34/* Return nonzero value if X is canonical. In IEEE interchange binary
35 formats, all values are canonical, but the argument must still be
36 converted to its semantic type for any exceptions arising from the
37 conversion, before being discarded; in IBM long double, there are
38 encodings that are not consistently handled as corresponding to any
39 particular value of the type, and we return 0 for those. */
40# ifndef __cplusplus
41# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
42# else
43/* In C++ mode, __MATH_TG cannot be used, because it relies on
44 __builtin_types_compatible_p, which is a C-only builtin. On the
45 other hand, overloading provides the means to distinguish between
46 the floating-point types. The overloading resolution will match
47 the correct parameter (regardless of type qualifiers (i.e.: const
48 and volatile)). */
49extern "C++" {
50inline int iscanonical (float __val) { return __iscanonicalf (__val); }
51inline int iscanonical (double __val) { return __iscanonical (__val); }
52inline int iscanonical (long double __val) { return __iscanonicall (__val); }
53# if __HAVE_DISTINCT_FLOAT128
54inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
55# endif
56}
57# endif /* __cplusplus */
58#endif /* __NO_LONG_DOUBLE_MATH */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/link.h deleted-156
......@@ -1,156 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface. PowerPC version
2 Copyright (C) 2004-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23
24#if __ELF_NATIVE_CLASS == 32
25
26/* Registers for entry into PLT on PPC32. */
27typedef struct La_ppc32_regs
28{
29 uint32_t lr_reg[8];
30 double lr_fp[8];
31 uint32_t lr_vreg[12][4];
32 uint32_t lr_r1;
33 uint32_t lr_lr;
34} La_ppc32_regs;
35
36/* Return values for calls from PLT on PPC32. */
37typedef struct La_ppc32_retval
38{
39 uint32_t lrv_r3;
40 uint32_t lrv_r4;
41 double lrv_fp[8];
42 uint32_t lrv_v2[4];
43} La_ppc32_retval;
44
45
46__BEGIN_DECLS
47
48extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym,
49 unsigned int __ndx,
50 uintptr_t *__refcook,
51 uintptr_t *__defcook,
52 La_ppc32_regs *__regs,
53 unsigned int *__flags,
54 const char *__symname,
55 long int *__framesizep);
56extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym,
57 unsigned int __ndx,
58 uintptr_t *__refcook,
59 uintptr_t *__defcook,
60 const La_ppc32_regs *__inregs,
61 La_ppc32_retval *__outregs,
62 const char *__symname);
63
64__END_DECLS
65
66#elif __ELF_NATIVE_CLASS == 64
67# if _CALL_ELF != 2
68
69/* Registers for entry into PLT on PPC64. */
70typedef struct La_ppc64_regs
71{
72 uint64_t lr_reg[8];
73 double lr_fp[13];
74 uint32_t __padding;
75 uint32_t lr_vrsave;
76 uint32_t lr_vreg[12][4];
77 uint64_t lr_r1;
78 uint64_t lr_lr;
79} La_ppc64_regs;
80
81/* Return values for calls from PLT on PPC64. */
82typedef struct La_ppc64_retval
83{
84 uint64_t lrv_r3;
85 uint64_t lrv_r4;
86 double lrv_fp[4]; /* f1-f4, float - complex long double. */
87 uint32_t lrv_v2[4]; /* v2. */
88} La_ppc64_retval;
89
90
91__BEGIN_DECLS
92
93extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym,
94 unsigned int __ndx,
95 uintptr_t *__refcook,
96 uintptr_t *__defcook,
97 La_ppc64_regs *__regs,
98 unsigned int *__flags,
99 const char *__symname,
100 long int *__framesizep);
101extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym,
102 unsigned int __ndx,
103 uintptr_t *__refcook,
104 uintptr_t *__defcook,
105 const La_ppc64_regs *__inregs,
106 La_ppc64_retval *__outregs,
107 const char *__symname);
108
109__END_DECLS
110
111# else
112
113/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */
114typedef struct La_ppc64v2_regs
115{
116 uint64_t lr_reg[8];
117 double lr_fp[13];
118 uint32_t __padding;
119 uint32_t lr_vrsave;
120 uint32_t lr_vreg[12][4] __attribute__ ((aligned (16)));
121 uint64_t lr_r1;
122 uint64_t lr_lr;
123} La_ppc64v2_regs;
124
125/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */
126typedef struct La_ppc64v2_retval
127{
128 uint64_t lrv_r3;
129 uint64_t lrv_r4;
130 double lrv_fp[10];
131 uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16)));
132} La_ppc64v2_retval;
133
134
135__BEGIN_DECLS
136
137extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym,
138 unsigned int __ndx,
139 uintptr_t *__refcook,
140 uintptr_t *__defcook,
141 La_ppc64v2_regs *__regs,
142 unsigned int *__flags,
143 const char *__symname,
144 long int *__framesizep);
145extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym,
146 unsigned int __ndx,
147 uintptr_t *__refcook,
148 uintptr_t *__defcook,
149 const La_ppc64v2_regs *__inregs,
150 La_ppc64v2_retval *__outregs,
151 const char *__symname);
152
153__END_DECLS
154
155# endif
156#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h deleted-26
......@@ -1,26 +0,0 @@
1/* Properties of long double type. ldbl-opt version.
2 Copyright (C) 2019-2025 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 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 __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 1
23# endif
24#endif
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/mman.h deleted-51
......@@ -1,51 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/PowerPC version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26#define PROT_SAO 0x10 /* Strong Access Ordering. */
27
28/* These are Linux-specific. */
29#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
30#define MAP_DENYWRITE 0x00800 /* ETXTBSY */
31#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
32#define MAP_LOCKED 0x00080 /* Lock the mapping. */
33#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */
34#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
35#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
36#define MAP_STACK 0x20000 /* Allocation is for a stack. */
37#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
38#define MAP_SYNC 0x80000 /* Perform synchronous page
39 faults for the mapping. */
40#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
41 underlying mapping. */
42
43/* Flags for `mlockall'. */
44#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */
45#define MCL_FUTURE 0x4000 /* Lock all additions to address
46 space. */
47#define MCL_ONFAULT 0x8000 /* Lock all pages that are
48 faulted in. */
49
50/* Include generic Linux declarations. */
51#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h deleted-49
......@@ -1,49 +0,0 @@
1/* Types for registers for sys/procfs.h. PowerPC version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <signal.h>
24#include <sys/ucontext.h>
25
26/* These definitions are normally provided by ucontext.h via
27 asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define
28 them here. */
29#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H
30#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */
31#define ELF_NFPREG 33 /* includes fpscr */
32#if __WORDSIZE == 32
33# define ELF_NVRREG 33 /* includes vscr */
34#else
35# define ELF_NVRREG 34 /* includes vscr */
36#endif
37
38typedef unsigned long elf_greg_t;
39typedef elf_greg_t elf_gregset_t[ELF_NGREG];
40
41typedef double elf_fpreg_t;
42typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
43
44/* Altivec registers */
45typedef struct {
46 unsigned int u[4];
47} __attribute__ ((__aligned__ (16))) elf_vrreg_t;
48typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
49#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h deleted-21
......@@ -1,21 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. Linux/PPC version.
2 Copyright (C) 2021-2025 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 License as
7 published by the Free Software Foundation; either version 2.1 of the
8 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; see the file COPYING.LIB. If
17 not, see <https://www.gnu.org/licenses/>. */
18
19/* Minimum size for a thread. At least two pages for systems with 64k
20 pages. */
21#define PTHREAD_STACK_MIN 131072
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h deleted-37
......@@ -1,37 +0,0 @@
1/* Restartable Sequences Linux powerpc architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases.
30
31 RSEQ_SIG uses the following trap instruction:
32
33 powerpc-be: 0f e5 00 0b twui r5,11
34 powerpc64-le: 0b 00 e5 0f twui r5,11
35 powerpc64-be: 0f e5 00 0b twui r5,11 */
36
37#define RSEQ_SIG 0x0fe5000b
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h deleted-50
......@@ -1,50 +0,0 @@
1/* Copyright (C) 1997-2025 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/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 1
21
22#if !defined _SETJMP_H && !defined _PTHREAD_H
23# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
24#endif
25
26/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
27 We use an array of 'long int' instead, to make writing the
28 assembler easier. Naturally, user code should not depend on
29 either representation. */
30
31#include <bits/wordsize.h>
32
33/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI
34 the vrsave must be at byte 248 & v20 at byte 256. So we must pad this
35 correctly on 32 bit. It also insists that vecregs are only guaranteed
36 4 byte alignment so we need to use vperm in the setjmp/longjmp routines.
37 We have to version the code because members like int __mask_was_saved
38 in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We
39 cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */
40#ifndef _ASM
41# if __WORDSIZE == 64
42typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16)));
43# else
44/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte
45 aligned buffer as per the ABI it is just added for performance reasons. */
46typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16)));
47# endif
48#endif
49
50#endif /* bits/setjmp.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h deleted-37
......@@ -1,37 +0,0 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 1998-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26#ifdef __powerpc64__
27#define MINSIGSTKSZ 8192
28#define SIGSTKSZ 32768
29#else
30/* Minimum stack size for a signal handler. */
31#define MINSIGSTKSZ 4096
32
33/* System default stack size. */
34#define SIGSTKSZ 16384
35#endif
36
37#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 16
33#define SO_REUSEADDR 2
34#define SO_SNDBUF 7
35#define SO_SNDLOWAT 17
36#define SO_TYPE 3
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 18
40# define SO_SNDTIMEO 19
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 35
43# define SO_TIMESTAMPING 37
44#else
45# define SO_RCVTIMEO_OLD 18
46# define SO_SNDTIMEO_OLD 19
47# define SO_RCVTIMEO_NEW 66
48# define SO_SNDTIMEO_NEW 67
49
50# define SO_TIMESTAMP_OLD 29
51# define SO_TIMESTAMPNS_OLD 35
52# define SO_TIMESTAMPING_OLD 37
53# define SO_TIMESTAMP_NEW 63
54# define SO_TIMESTAMPNS_NEW 64
55# define SO_TIMESTAMPING_NEW 65
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h deleted-63
......@@ -1,63 +0,0 @@
1/* PowerPC internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__elision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h deleted-61
......@@ -1,61 +0,0 @@
1/* PowerPC internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned char __rwelision;
35 unsigned char __pad1[7];
36 unsigned long int __pad2;
37 /* FLAGS must stay at this position in the structure to maintain
38 binary compatibility. */
39 unsigned int __flags;
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
41#else
42 unsigned char __rwelision;
43 unsigned char __pad2;
44 unsigned char __shared;
45 /* FLAGS must stay at this position in the structure to maintain
46 binary compatibility. */
47 unsigned char __flags;
48 int __cur_writer;
49# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
50#endif
51};
52
53#if __WORDSIZE == 64
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h deleted-231
......@@ -1,231 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/wordsize.h>
27
28#if __WORDSIZE == 32
29struct stat
30 {
31# ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33# else
34 __dev_t st_dev; /* Device. */
35# ifndef __USE_FILE_OFFSET64
36 unsigned short int __pad1;
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino64_t st_ino; /* File serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80 unsigned long int __glibc_reserved4;
81 unsigned long int __glibc_reserved5;
82# endif /* __USE_TIME64_REDIRECTS */
83 };
84
85# ifdef __USE_LARGEFILE64
86struct stat64
87 {
88# ifdef __USE_TIME64_REDIRECTS
89# include <bits/struct_stat_time64_helper.h>
90# else
91 __dev_t st_dev; /* Device. */
92 __ino64_t st_ino; /* File serial number. */
93 __mode_t st_mode; /* File mode. */
94 __nlink_t st_nlink; /* Link count. */
95 __uid_t st_uid; /* User ID of the file's owner. */
96 __gid_t st_gid; /* Group ID of the file's group.*/
97 __dev_t st_rdev; /* Device number, if device. */
98 unsigned short int __pad2;
99 __off64_t st_size; /* Size of file, in bytes. */
100 __blksize_t st_blksize; /* Optimal block size for I/O. */
101 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
102# ifdef __USE_XOPEN2K8
103 /* Nanosecond resolution timestamps are stored in a format
104 equivalent to 'struct timespec'. This is the type used
105 whenever possible but the Unix namespace rules do not allow the
106 identifier 'timespec' to appear in the <sys/stat.h> header.
107 Therefore we have to handle the use of this header in strictly
108 standard-compliant sources special. */
109 struct timespec st_atim; /* Time of last access. */
110 struct timespec st_mtim; /* Time of last modification. */
111 struct timespec st_ctim; /* Time of last status change. */
112# define st_atime st_atim.tv_sec /* Backward compatibility. */
113# define st_mtime st_mtim.tv_sec
114# define st_ctime st_ctim.tv_sec
115# else
116 __time_t st_atime; /* Time of last access. */
117 unsigned long int st_atimensec; /* Nscecs of last access. */
118 __time_t st_mtime; /* Time of last modification. */
119 unsigned long int st_mtimensec; /* Nsecs of last modification. */
120 __time_t st_ctime; /* Time of last status change. */
121 unsigned long int st_ctimensec; /* Nsecs of last status change. */
122# endif
123 unsigned long int __glibc_reserved4;
124 unsigned long int __glibc_reserved5;
125# endif /* __USE_TIME64_REDIRECTS */
126 };
127# endif /* __USE_LARGEFILE64 */
128
129#else /* __WORDSIZE == 32 */
130
131struct stat
132 {
133 __dev_t st_dev; /* Device. */
134# ifndef __USE_FILE_OFFSET64
135 __ino_t st_ino; /* File serial number. */
136# else
137 __ino64_t st_ino; /* File serial number. */
138# endif
139 __nlink_t st_nlink; /* Link count. */
140 __mode_t st_mode; /* File mode. */
141 __uid_t st_uid; /* User ID of the file's owner. */
142 __gid_t st_gid; /* Group ID of the file's group.*/
143 int __pad2;
144 __dev_t st_rdev; /* Device number, if device. */
145# ifndef __USE_FILE_OFFSET64
146 __off_t st_size; /* Size of file, in bytes. */
147# else
148 __off64_t st_size; /* Size of file, in bytes. */
149# endif
150 __blksize_t st_blksize; /* Optimal block size for I/O. */
151
152# ifndef __USE_FILE_OFFSET64
153 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
154# else
155 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
156# endif
157# ifdef __USE_XOPEN2K8
158 /* Nanosecond resolution timestamps are stored in a format
159 equivalent to 'struct timespec'. This is the type used
160 whenever possible but the Unix namespace rules do not allow the
161 identifier 'timespec' to appear in the <sys/stat.h> header.
162 Therefore we have to handle the use of this header in strictly
163 standard-compliant sources special. */
164 struct timespec st_atim; /* Time of last access. */
165 struct timespec st_mtim; /* Time of last modification. */
166 struct timespec st_ctim; /* Time of last status change. */
167# define st_atime st_atim.tv_sec /* Backward compatibility. */
168# define st_mtime st_mtim.tv_sec
169# define st_ctime st_ctim.tv_sec
170# else
171 __time_t st_atime; /* Time of last access. */
172 unsigned long int st_atimensec; /* Nscecs of last access. */
173 __time_t st_mtime; /* Time of last modification. */
174 unsigned long int st_mtimensec; /* Nsecs of last modification. */
175 __time_t st_ctime; /* Time of last status change. */
176 unsigned long int st_ctimensec; /* Nsecs of last status change. */
177# endif
178 unsigned long int __glibc_reserved4;
179 unsigned long int __glibc_reserved5;
180 unsigned long int __glibc_reserved6;
181 };
182
183# ifdef __USE_LARGEFILE64
184struct stat64
185 {
186 __dev_t st_dev; /* Device. */
187 __ino64_t st_ino; /* File serial number. */
188 __nlink_t st_nlink; /* Link count. */
189 __mode_t st_mode; /* File mode. */
190 __uid_t st_uid; /* User ID of the file's owner. */
191 __gid_t st_gid; /* Group ID of the file's group.*/
192 int __pad2;
193 __dev_t st_rdev; /* Device number, if device. */
194 __off64_t st_size; /* Size of file, in bytes. */
195 __blksize_t st_blksize; /* Optimal block size for I/O. */
196 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
197# ifdef __USE_XOPEN2K8
198 /* Nanosecond resolution timestamps are stored in a format
199 equivalent to 'struct timespec'. This is the type used
200 whenever possible but the Unix namespace rules do not allow the
201 identifier 'timespec' to appear in the <sys/stat.h> header.
202 Therefore we have to handle the use of this header in strictly
203 standard-compliant sources special. */
204 struct timespec st_atim; /* Time of last access. */
205 struct timespec st_mtim; /* Time of last modification. */
206 struct timespec st_ctim; /* Time of last status change. */
207# define st_atime st_atim.tv_sec /* Backward compatibility. */
208# define st_mtime st_mtim.tv_sec
209# define st_ctime st_ctim.tv_sec
210# else
211 __time_t st_atime; /* Time of last access. */
212 unsigned long int st_atimensec; /* Nscecs of last access. */
213 __time_t st_mtime; /* Time of last modification. */
214 unsigned long int st_mtimensec; /* Nsecs of last modification. */
215 __time_t st_ctime; /* Time of last status change. */
216 unsigned long int st_ctimensec; /* Nsecs of last status change. */
217# endif
218 unsigned long int __glibc_reserved4;
219 unsigned long int __glibc_reserved5;
220 unsigned long int __glibc_reserved6;
221 };
222# endif /* __USE_LARGEFILE64 */
223#endif
224
225/* Tell code we have these members. */
226#define _STATBUF_ST_BLKSIZE
227#define _STATBUF_ST_RDEV
228/* Nanosecond resolution time values are supported. */
229#define _STATBUF_ST_NSEC
230
231#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h deleted-45
......@@ -1,45 +0,0 @@
1/* termios baud rate selection definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24# define CBAUD 0000377
25# define CBAUDEX 0000020
26# define CMSPAR 010000000000 /* mark or space (stick) parity */
27# define CRTSCTS 020000000000 /* flow control */
28#endif
29
30#define B57600 00020
31#define B115200 00021
32#define B230400 00022
33#define B460800 00023
34#define B500000 00024
35#define B576000 00025
36#define B921600 00026
37#define B1000000 00027
38#define B1152000 00030
39#define B1500000 00031
40#define B2000000 00032
41#define B2500000 00033
42#define B3000000 00034
43#define B3500000 00035
44#define B4000000 00036
45#define __MAX_BAUD B4000000
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h deleted-41
......@@ -1,41 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0
25#define VQUIT 1
26#define VERASE 2
27#define VKILL 3
28#define VEOF 4
29#define VMIN 5
30#define VEOL 6
31#define VTIME 7
32#define VEOL2 8
33#define VSWTC 9
34
35#define VWERASE 10
36#define VREPRINT 11
37#define VSUSP 12
38#define VSTART 13
39#define VSTOP 14
40#define VLNEXT 15
41#define VDISCARD 16
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h deleted-39
......@@ -1,39 +0,0 @@
1/* termios control mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
21#endif
22
23#define CSIZE 00001400
24#define CS5 00000000
25#define CS6 00000400
26#define CS7 00001000
27#define CS8 00001400
28
29#define CSTOPB 00002000
30#define CREAD 00004000
31#define PARENB 00010000
32#define PARODD 00020000
33#define HUPCL 00040000
34
35#define CLOCAL 00100000
36
37#ifdef __USE_MISC
38# define ADDRB 04000000000
39#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h deleted-38
......@@ -1,38 +0,0 @@
1/* termios input mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."
21#endif
22
23/* c_iflag bits */
24#define IGNBRK 0000001
25#define BRKINT 0000002
26#define IGNPAR 0000004
27#define PARMRK 0000010
28#define INPCK 0000020
29#define ISTRIP 0000040
30#define INLCR 0000100
31#define IGNCR 0000200
32#define ICRNL 0000400
33#define IXON 0001000
34#define IXOFF 0002000
35#define IXANY 0004000
36#define IUCLC 0010000
37#define IMAXBEL 0020000
38#define IUTF8 0040000
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h deleted-45
......@@ -1,45 +0,0 @@
1/* termios local mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_lflag bits */
24#define ISIG 0x00000080
25#define ICANON 0x00000100
26#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
27# define XCASE 0x00004000
28#endif
29#define ECHO 0x00000008
30#define ECHOE 0x00000002
31#define ECHOK 0x00000004
32#define ECHONL 0x00000010
33#define NOFLSH 0x80000000
34#define TOSTOP 0x00400000
35#ifdef __USE_MISC
36# define ECHOCTL 0x00000040
37# define ECHOPRT 0x00000020
38# define ECHOKE 0x00000001
39# define FLUSHO 0x00800000
40# define PENDIN 0x20000000
41#endif
42#define IEXTEN 0x00000400
43#ifdef __USE_MISC
44# define EXTPROC 0x10000000
45#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h deleted-65
......@@ -1,65 +0,0 @@
1/* termios output mode definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_oflag bits */
24#define OPOST 0000001
25#define ONLCR 0000002
26#define OLCUC 0000004
27
28#define OCRNL 0000010
29#define ONOCR 0000020
30#define ONLRET 0000040
31
32#define OFILL 00000100
33#define OFDEL 00000200
34#if defined __USE_MISC || defined __USE_XOPEN
35# define NLDLY 00001400
36# define NL0 00000000
37# define NL1 00000400
38# if defined __USE_MISC
39# define NL2 00001000
40# define NL3 00001400
41# endif
42# define TABDLY 00006000
43# define TAB0 00000000
44# define TAB1 00002000
45# define TAB2 00004000
46# define TAB3 00006000
47# define CRDLY 00030000
48# define CR0 00000000
49# define CR1 00010000
50# define CR2 00020000
51# define CR3 00030000
52# define FFDLY 00040000
53# define FF0 00000000
54# define FF1 00040000
55# define BSDLY 00100000
56# define BS0 00000000
57# define BS1 00100000
58#endif
59#define VTDLY 00200000
60#define VT0 00000000
61#define VT1 00200000
62
63#ifdef __USE_MISC
64# define XTABS 00006000
65#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h deleted-72
......@@ -1,72 +0,0 @@
1/* termios baud platform specific definitions. Linux/powerpc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24
25struct sgttyb {
26 char sg_ispeed;
27 char sg_ospeed;
28 char sg_erase;
29 char sg_kill;
30 short sg_flags;
31};
32
33struct tchars {
34 char t_intrc;
35 char t_quitc;
36 char t_startc;
37 char t_stopc;
38 char t_eofc;
39 char t_brkc;
40};
41
42struct ltchars {
43 char t_suspc;
44 char t_dsuspc;
45 char t_rprntc;
46 char t_flushc;
47 char t_werasc;
48 char t_lnextc;
49};
50
51/* Used for packet mode */
52#define TIOCPKT_DATA 0
53#define TIOCPKT_FLUSHREAD 1
54#define TIOCPKT_FLUSHWRITE 2
55#define TIOCPKT_STOP 4
56#define TIOCPKT_START 8
57#define TIOCPKT_NOSTOP 16
58#define TIOCPKT_DOSTOP 32
59
60/* c_cc characters */
61#define _VINTR 0
62#define _VQUIT 1
63#define _VERASE 2
64#define _VKILL 3
65#define _VEOF 4
66#define _VMIN 5
67#define _VEOL 6
68#define _VTIME 7
69#define _VEOL2 8
70#define _VSWTC 9
71
72#endif /* __USE_MISC */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h deleted-22
......@@ -1,22 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/PowerPC.
2 Copyright (C) 2021-2025 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#include <bits/wordsize.h>
20
21/* Size in bits of the 'time_t' type of the default ABI. */
22#define __TIMESIZE __WORDSIZE
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/PowerPC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34 unsigned long int __msg_stime_high;
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_rtime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_ctime_high;
39 __time_t msg_ctime; /* time of last change */
40# else
41 __time_t msg_stime; /* time of last msgsnd command */
42 __time_t msg_rtime; /* time of last msgsnd command */
43 __time_t msg_ctime; /* time of last change */
44# endif
45 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
46 msgqnum_t msg_qnum; /* number of messages currently on queue */
47 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
48 __pid_t msg_lspid; /* pid of last msgsnd() */
49 __pid_t msg_lrpid; /* pid of last msgrcv() */
50 __syscall_ulong_t __glibc_reserved4;
51 __syscall_ulong_t __glibc_reserved5;
52#endif
53};
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h deleted-43
......@@ -1,43 +0,0 @@
1/* PowerPC implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 __syscall_ulong_t __sem_otime_high;
32 __time_t sem_otime; /* last semop() time */
33 __syscall_ulong_t __sem_ctime_high;
34 __time_t sem_ctime; /* last time changed by semctl() */
35# else
36 __time_t sem_otime; /* last semop() time */
37 __time_t sem_ctime; /* last time changed by semctl() */
38# endif
39 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
40 __syscall_ulong_t __glibc_reserved3;
41 __syscall_ulong_t __glibc_reserved4;
42#endif
43};
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h deleted-50
......@@ -1,50 +0,0 @@
1/* Linux/PowerPC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 unsigned long int __shm_atime_high;
32 __time_t shm_atime; /* time of last shmat() */
33 unsigned long int __shm_dtime_high;
34 __time_t shm_dtime; /* time of last shmdt() */
35 unsigned long int __shm_ctime_high;
36 __time_t shm_ctime; /* time of last change by shmctl() */
37 unsigned long int __glibc_reserved4;
38# else
39 __time_t shm_atime; /* time of last shmat() */
40 __time_t shm_dtime; /* time of last shmdt() */
41 __time_t shm_ctime; /* time of last change by shmctl() */
42# endif
43 size_t shm_segsz; /* size of segment in bytes */
44 __pid_t shm_cpid; /* pid of creator */
45 __pid_t shm_lpid; /* pid of last shmop */
46 shmatt_t shm_nattch; /* number of current attaches */
47 __syscall_ulong_t __glibc_reserved5;
48 __syscall_ulong_t __glibc_reserved6;
49#endif
50 };
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. PowerPC version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __UWORD_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#ifdef __LP64__
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for rlim_t and rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/wordsize.h deleted-10
......@@ -1,10 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. */
2
3#if defined __powerpc64__
4# define __WORDSIZE 64
5#else
6# define __WORDSIZE 32
7# define __WORDSIZE32_SIZE_ULONG 0
8# define __WORDSIZE32_PTRDIFF_LONG 0
9#endif
10#define __WORDSIZE_TIME64_COMPAT32 1
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/fpu_control.h deleted-114
......@@ -1,114 +0,0 @@
1/* FPU control word definitions. PowerPC version.
2 Copyright (C) 1996-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
23# error "SPE/e500 is no longer supported"
24#endif
25
26#ifdef _SOFT_FLOAT
27
28# define _FPU_RESERVED 0xffffffff
29# define _FPU_DEFAULT 0x00000000 /* Default value. */
30typedef unsigned int fpu_control_t;
31# define _FPU_GETCW(cw) (cw) = 0
32# define _FPU_SETCW(cw) (void) (cw)
33extern fpu_control_t __fpu_control;
34
35#else /* PowerPC 6xx floating-point. */
36
37/* rounding control */
38# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
39# define _FPU_RC_DOWN 0x03
40# define _FPU_RC_UP 0x02
41# define _FPU_RC_ZERO 0x01
42
43# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO)
44
45# define _FPU_MASK_NI 0x04 /* non-ieee mode */
46
47/* masking of interrupts */
48# define _FPU_MASK_ZM 0x10 /* zero divide */
49# define _FPU_MASK_OM 0x40 /* overflow */
50# define _FPU_MASK_UM 0x20 /* underflow */
51# define _FPU_MASK_XM 0x08 /* inexact */
52# define _FPU_MASK_IM 0x80 /* invalid operation */
53
54# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
55
56/* The fdlibm code requires no interrupts for exceptions. */
57# define _FPU_DEFAULT 0x00000000 /* Default value. */
58
59/* IEEE: same as above, but (some) exceptions;
60 we leave the 'inexact' exception off.
61 */
62# define _FPU_IEEE 0x000000f0
63
64/* Type of the control word. */
65typedef unsigned int fpu_control_t;
66
67/* Macros for accessing the hardware control word. */
68# define _FPU_GETCW(cw) \
69 ({union { double __d; unsigned long long __ll; } __u; \
70 __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \
71 (cw) = (fpu_control_t) __u.__ll; \
72 (fpu_control_t) __u.__ll; \
73 })
74
75# define _FPU_GET_RC_ISA300() \
76 ({union { double __d; unsigned long long __ll; } __u; \
77 __asm__ __volatile__( \
78 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
79 : "=f" (__u.__d)); \
80 (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \
81 })
82
83# ifdef _ARCH_PWR9
84# define _FPU_GET_RC() _FPU_GET_RC_ISA300()
85# elif defined __BUILTIN_CPU_SUPPORTS__
86# define _FPU_GET_RC() \
87 ({fpu_control_t __rc; \
88 __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
89 ? _FPU_GET_RC_ISA300 () \
90 : _FPU_GETCW (__rc) & _FPU_MASK_RC; \
91 __rc; \
92 })
93# else
94# define _FPU_GET_RC() \
95 ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \
96 __rc; \
97 })
98# endif
99
100# define _FPU_SETCW(cw) \
101 { union { double __d; unsigned long long __ll; } __u; \
102 register double __fr; \
103 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \
104 __u.__ll |= (cw) & 0xffffffffLL; \
105 __fr = __u.__d; \
106 __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \
107 }
108
109/* Default control word set at startup. */
110extern fpu_control_t __fpu_control;
111
112#endif /* PowerPC 6xx floating-point. */
113
114#endif /* _FPU_CONTROL_H */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h deleted-27
......@@ -1,27 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-64-v2.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD64_SO "ld64.so.2"
7#define LD_SO "ld64.so.2"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names.h deleted-19
......@@ -1,19 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32
10# include <gnu/lib-names-32.h>
11#endif
12#if __WORDSIZE == 64 && _CALL_ELF != 2
13# include <gnu/lib-names-64-v1.h>
14#endif
15#if __WORDSIZE == 64 && _CALL_ELF == 2
16# include <gnu/lib-names-64-v2.h>
17#endif
18
19#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h deleted-16
......@@ -1,16 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub_chflags
11#define __stub_fchflags
12#define __stub_gtty
13#define __stub_revoke
14#define __stub_setlogin
15#define __stub_sigreturn
16#define __stub_stty
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/gnu/stubs.h deleted-15
......@@ -1,15 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32
8# include <gnu/stubs-32.h>
9#endif
10#if __WORDSIZE == 64 && _CALL_ELF != 2
11# include <gnu/stubs-64-v1.h>
12#endif
13#if __WORDSIZE == 64 && _CALL_ELF == 2
14# include <gnu/stubs-64-v2.h>
15#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/ieee754.h deleted-197
......@@ -1,197 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24#include <bits/floatn.h>
25
26__BEGIN_DECLS
27
28union ieee754_float
29 {
30 float f;
31
32 /* This is the IEEE 754 single-precision format. */
33 struct
34 {
35#if __BYTE_ORDER == __BIG_ENDIAN
36 unsigned int negative:1;
37 unsigned int exponent:8;
38 unsigned int mantissa:23;
39#endif /* Big endian. */
40#if __BYTE_ORDER == __LITTLE_ENDIAN
41 unsigned int mantissa:23;
42 unsigned int exponent:8;
43 unsigned int negative:1;
44#endif /* Little endian. */
45 } ieee;
46
47 /* This format makes it easier to see if a NaN is a signalling NaN. */
48 struct
49 {
50#if __BYTE_ORDER == __BIG_ENDIAN
51 unsigned int negative:1;
52 unsigned int exponent:8;
53 unsigned int quiet_nan:1;
54 unsigned int mantissa:22;
55#endif /* Big endian. */
56#if __BYTE_ORDER == __LITTLE_ENDIAN
57 unsigned int mantissa:22;
58 unsigned int quiet_nan:1;
59 unsigned int exponent:8;
60 unsigned int negative:1;
61#endif /* Little endian. */
62 } ieee_nan;
63 };
64
65#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
66
67
68union ieee754_double
69 {
70 double d;
71
72 /* This is the IEEE 754 double-precision format. */
73 struct
74 {
75#if __BYTE_ORDER == __BIG_ENDIAN
76 unsigned int negative:1;
77 unsigned int exponent:11;
78 /* Together these comprise the mantissa. */
79 unsigned int mantissa0:20;
80 unsigned int mantissa1:32;
81#endif /* Big endian. */
82#if __BYTE_ORDER == __LITTLE_ENDIAN
83 /* Together these comprise the mantissa. */
84 unsigned int mantissa1:32;
85 unsigned int mantissa0:20;
86 unsigned int exponent:11;
87 unsigned int negative:1;
88#endif /* Little endian. */
89 } ieee;
90
91 /* This format makes it easier to see if a NaN is a signalling NaN. */
92 struct
93 {
94#if __BYTE_ORDER == __BIG_ENDIAN
95 unsigned int negative:1;
96 unsigned int exponent:11;
97 unsigned int quiet_nan:1;
98 /* Together these comprise the mantissa. */
99 unsigned int mantissa0:19;
100 unsigned int mantissa1:32;
101#else
102 /* Together these comprise the mantissa. */
103 unsigned int mantissa1:32;
104 unsigned int mantissa0:19;
105 unsigned int quiet_nan:1;
106 unsigned int exponent:11;
107 unsigned int negative:1;
108#endif
109 } ieee_nan;
110 };
111
112#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
113
114
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)
174/* IBM extended format for long double.
175
176 Each long double is made up of two IEEE doubles. The value of the
177 long double is the sum of the values of the two parts. The most
178 significant part is required to be the value of the long double
179 rounded to the nearest double, as specified by IEEE. For Inf
180 values, the least significant part is required to be one of +0.0 or
181 -0.0. No other requirements are made; so, for example, 1.0 may be
182 represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a
183 NaN is don't-care. */
184union ibm_extended_long_double
185 {
186# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
187 __ibm128 ld;
188# else
189 long double ld;
190# endif
191 union ieee754_double d[2];
192 };
193#endif
194
195__END_DECLS
196
197#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h deleted-289
......@@ -1,289 +0,0 @@
1/* `ptrace' debugger support interface. Linux/PowerPC version.
2 Copyright (C) 2001-2025 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_PTRACE_H
20#define _SYS_PTRACE_H 1
21
22#include <features.h>
23#include <bits/types.h>
24
25__BEGIN_DECLS
26
27#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H
28/* Do not let Linux headers macros interfere with enum __ptrace_request. */
29# undef PTRACE_ATTACH
30# undef PTRACE_CONT
31# undef PTRACE_DETACH
32# undef PTRACE_GET_DEBUGREG
33# undef PTRACE_GETEVENTMSG
34# undef PTRACE_GETEVRREGS
35# undef PTRACE_GETFPREGS
36# undef PTRACE_GETREGS
37# undef PTRACE_GETREGS64
38# undef PTRACE_GETREGSET
39# undef PTRACE_GET_RSEQ_CONFIGURATION
40# undef PTRACE_GETSIGINFO
41# undef PTRACE_GETSIGMASK
42# undef PTRACE_GET_SYSCALL_INFO
43# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
44# undef PTRACE_GETVRREGS
45# undef PTRACE_GETVSRREGS
46# undef PTRACE_INTERRUPT
47# undef PTRACE_KILL
48# undef PTRACE_LISTEN
49# undef PTRACE_PEEKDATA
50# undef PTRACE_PEEKSIGINFO
51# undef PTRACE_PEEKTEXT
52# undef PTRACE_POKEDATA
53# undef PTRACE_POKETEXT
54# undef PTRACE_SECCOMP_GET_FILTER
55# undef PTRACE_SECCOMP_GET_METADATA
56# undef PTRACE_SEIZE
57# undef PTRACE_SET_DEBUGREG
58# undef PTRACE_SETEVRREGS
59# undef PTRACE_SETFPREGS
60# undef PTRACE_SETOPTIONS
61# undef PTRACE_SETREGS
62# undef PTRACE_SETREGS64
63# undef PTRACE_SETREGSET
64# undef PTRACE_SETSIGINFO
65# undef PTRACE_SETSIGMASK
66# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
67# undef PTRACE_SETVRREGS
68# undef PTRACE_SETVSRREGS
69# undef PTRACE_SINGLEBLOCK
70# undef PTRACE_SINGLESTEP
71# undef PTRACE_SYSCALL
72# undef PTRACE_SYSCALL_INFO_NONE
73# undef PTRACE_SYSCALL_INFO_ENTRY
74# undef PTRACE_SYSCALL_INFO_EXIT
75# undef PTRACE_SYSCALL_INFO_SECCOMP
76# undef PTRACE_SYSEMU
77# undef PTRACE_SYSEMU_SINGLESTEP
78# undef PTRACE_TRACEME
79#endif
80
81/* Type of the REQUEST argument to `ptrace.' */
82enum __ptrace_request
83{
84 /* Indicate that the process making this request should be traced.
85 All signals received by this process can be intercepted by its
86 parent, and its parent can use the other `ptrace' requests. */
87 PTRACE_TRACEME = 0,
88#define PT_TRACE_ME PTRACE_TRACEME
89
90 /* Return the word in the process's text space at address ADDR. */
91 PTRACE_PEEKTEXT = 1,
92#define PT_READ_I PTRACE_PEEKTEXT
93
94 /* Return the word in the process's data space at address ADDR. */
95 PTRACE_PEEKDATA = 2,
96#define PT_READ_D PTRACE_PEEKDATA
97
98 /* Return the word in the process's user area at offset ADDR. */
99 PTRACE_PEEKUSER = 3,
100#define PT_READ_U PTRACE_PEEKUSER
101
102 /* Write the word DATA into the process's text space at address ADDR. */
103 PTRACE_POKETEXT = 4,
104#define PT_WRITE_I PTRACE_POKETEXT
105
106 /* Write the word DATA into the process's data space at address ADDR. */
107 PTRACE_POKEDATA = 5,
108#define PT_WRITE_D PTRACE_POKEDATA
109
110 /* Write the word DATA into the process's user area at offset ADDR. */
111 PTRACE_POKEUSER = 6,
112#define PT_WRITE_U PTRACE_POKEUSER
113
114 /* Continue the process. */
115 PTRACE_CONT = 7,
116#define PT_CONTINUE PTRACE_CONT
117
118 /* Kill the process. */
119 PTRACE_KILL = 8,
120#define PT_KILL PTRACE_KILL
121
122 /* Single step the process. */
123 PTRACE_SINGLESTEP = 9,
124#define PT_STEP PTRACE_SINGLESTEP
125
126 /* Get all general purpose registers used by a process. */
127 PTRACE_GETREGS = 12,
128#define PT_GETREGS PTRACE_GETREGS
129
130 /* Set all general purpose registers used by a process. */
131 PTRACE_SETREGS = 13,
132#define PT_SETREGS PTRACE_SETREGS
133
134 /* Get all floating point registers used by a process. */
135 PTRACE_GETFPREGS = 14,
136#define PT_GETFPREGS PTRACE_GETFPREGS
137
138 /* Set all floating point registers used by a process. */
139 PTRACE_SETFPREGS = 15,
140#define PT_SETFPREGS PTRACE_SETFPREGS
141
142 /* Attach to a process that is already running. */
143 PTRACE_ATTACH = 16,
144#define PT_ATTACH PTRACE_ATTACH
145
146 /* Detach from a process attached to with PTRACE_ATTACH. */
147 PTRACE_DETACH = 17,
148#define PT_DETACH PTRACE_DETACH
149
150 /* Get all altivec registers used by a process. */
151 PTRACE_GETVRREGS = 18,
152#define PT_GETVRREGS PTRACE_GETVRREGS
153
154 /* Set all altivec registers used by a process. */
155 PTRACE_SETVRREGS = 19,
156#define PT_SETVRREGS PTRACE_SETVRREGS
157
158 /* Get all SPE registers used by a process. */
159 PTRACE_GETEVRREGS = 20,
160#define PT_GETEVRREGS PTRACE_GETEVRREGS
161
162 /* Set all SPE registers used by a process. */
163 PTRACE_SETEVRREGS = 21,
164#define PT_SETEVRREGS PTRACE_SETEVRREGS
165
166 /* Same as PTRACE_GETREGS except a 32-bit process will obtain
167 the full 64-bit registers. Implemented by 64-bit kernels only. */
168 PTRACE_GETREGS64 = 22,
169#define PT_GETREGS64 PTRACE_GETREGS64
170
171 /* Same as PTRACE_SETREGS except a 32-bit process will set
172 the full 64-bit registers. Implemented by 64-bit kernels only. */
173 PTRACE_SETREGS64 = 23,
174#define PT_SETREGS64 PTRACE_SETREGS64
175
176 /* Continue and stop at the next entry to or return from syscall. */
177 PTRACE_SYSCALL = 24,
178#define PT_SYSCALL PTRACE_SYSCALL
179
180 /* Get a debug register of a process. */
181 PTRACE_GET_DEBUGREG = 25,
182#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
183
184 /* Set a debug register of a process. */
185 PTRACE_SET_DEBUGREG = 26,
186#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
187
188 /* Get the first 32 VSX registers of a process. */
189 PTRACE_GETVSRREGS = 27,
190#define PT_GETVSRREGS PTRACE_GETVSRREGS
191
192 /* Set the first 32 VSX registers of a process. */
193 PTRACE_SETVSRREGS = 28,
194#define PT_SETVSRREGS PTRACE_SETVSRREGS
195
196 /* Continue and stop at the next syscall, it will not be executed. */
197 PTRACE_SYSEMU = 29,
198#define PT_SYSEMU PTRACE_SYSEMU
199
200 /* Single step the process, the next syscall will not be executed. */
201 PTRACE_SYSEMU_SINGLESTEP = 30,
202#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
203
204 /* Execute process until next taken branch. */
205 PTRACE_SINGLEBLOCK = 256,
206#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
207
208 /* Set ptrace filter options. */
209 PTRACE_SETOPTIONS = 0x4200,
210#define PT_SETOPTIONS PTRACE_SETOPTIONS
211
212 /* Get last ptrace message. */
213 PTRACE_GETEVENTMSG = 0x4201,
214#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
215
216 /* Get siginfo for process. */
217 PTRACE_GETSIGINFO = 0x4202,
218#define PT_GETSIGINFO PTRACE_GETSIGINFO
219
220 /* Set new siginfo for process. */
221 PTRACE_SETSIGINFO = 0x4203,
222#define PT_SETSIGINFO PTRACE_SETSIGINFO
223
224 /* Get register content. */
225 PTRACE_GETREGSET = 0x4204,
226#define PTRACE_GETREGSET PTRACE_GETREGSET
227
228 /* Set register content. */
229 PTRACE_SETREGSET = 0x4205,
230#define PTRACE_SETREGSET PTRACE_SETREGSET
231
232 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
233 signal or group stop state. */
234 PTRACE_SEIZE = 0x4206,
235#define PTRACE_SEIZE PTRACE_SEIZE
236
237 /* Trap seized tracee. */
238 PTRACE_INTERRUPT = 0x4207,
239#define PTRACE_INTERRUPT PTRACE_INTERRUPT
240
241 /* Wait for next group event. */
242 PTRACE_LISTEN = 0x4208,
243#define PTRACE_LISTEN PTRACE_LISTEN
244
245 /* Retrieve siginfo_t structures without removing signals from a queue. */
246 PTRACE_PEEKSIGINFO = 0x4209,
247#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
248
249 /* Get the mask of blocked signals. */
250 PTRACE_GETSIGMASK = 0x420a,
251#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
252
253 /* Change the mask of blocked signals. */
254 PTRACE_SETSIGMASK = 0x420b,
255#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
256
257 /* Get seccomp BPF filters. */
258 PTRACE_SECCOMP_GET_FILTER = 0x420c,
259#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
260
261 /* Get seccomp BPF filter metadata. */
262 PTRACE_SECCOMP_GET_METADATA = 0x420d,
263#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
264
265 /* Get information about system call. */
266 PTRACE_GET_SYSCALL_INFO = 0x420e,
267#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
268
269 /* Get rseq configuration information. */
270 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
271#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
272
273 /* Set configuration for syscall user dispatch. */
274 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
275#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
276 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
277
278 /* Get configuration for syscall user dispatch. */
279 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
280#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
281 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
282};
283
284
285#include <bits/ptrace-shared.h>
286
287__END_DECLS
288
289#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h deleted-200
......@@ -1,200 +0,0 @@
1/* Copyright (C) 1998-2025 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_UCONTEXT_H
19#define _SYS_UCONTEXT_H 1
20
21#include <features.h>
22
23#include <bits/types/sigset_t.h>
24#include <bits/types/stack_t.h>
25
26
27#ifdef __USE_MISC
28# define __ctx(fld) fld
29#else
30# define __ctx(fld) __ ## fld
31#endif
32
33struct __ctx(pt_regs);
34
35#if __WORDSIZE == 32
36
37/* Number of general registers. */
38# define __NGREG 48
39# ifdef __USE_MISC
40# define NGREG __NGREG
41# endif
42
43/* Container for all general registers. */
44typedef unsigned long gregset_t[__NGREG];
45
46/* Container for floating-point registers and status */
47typedef struct _libc_fpstate
48{
49 double __ctx(fpregs)[32];
50 double __ctx(fpscr);
51 unsigned int _pad[2];
52} fpregset_t;
53
54/* Container for Altivec/VMX registers and status.
55 Needs to be aligned on a 16-byte boundary. */
56typedef struct _libc_vrstate
57{
58 unsigned int __ctx(vrregs)[32][4];
59 unsigned int __ctx(vrsave);
60 unsigned int _pad[2];
61 unsigned int __ctx(vscr);
62} vrregset_t;
63
64/* Context to describe whole processor state. */
65typedef struct
66{
67 gregset_t __ctx(gregs);
68 fpregset_t __ctx(fpregs);
69 vrregset_t __ctx(vrregs) __attribute__((__aligned__(16)));
70} mcontext_t;
71
72#else
73
74/* For 64-bit kernels with Altivec support, a machine context is exactly
75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches
76 * the mcontext upto but not including the v_regs field. For kernels that
77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
78 * v_regs field may not exist and should not be referenced. The v_regs field
79 * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
80 * is set in AT_HWCAP. */
81
82/* Number of general registers. */
83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
86 split vectors */
87# ifdef __USE_MISC
88# define NGREG __NGREG
89# define NFPREG __NFPREG
90# define NVRREG __NVRREG
91# endif
92
93typedef unsigned long gregset_t[__NGREG];
94typedef double fpregset_t[__NFPREG];
95
96/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits
97 but can only be copied to/from a 128-bit vector register. So we allocated
98 a whole quadword speedup save/restore. */
99typedef struct _libc_vscr
100{
101#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
102 unsigned int __pad[3];
103 unsigned int __ctx(vscr_word);
104#else
105 unsigned int __ctx(vscr_word);
106 unsigned int __pad[3];
107#endif
108} vscr_t;
109
110/* Container for Altivec/VMX registers and status.
111 Must to be aligned on a 16-byte boundary. */
112typedef struct _libc_vrstate
113{
114 unsigned int __ctx(vrregs)[32][4];
115 vscr_t __ctx(vscr);
116 unsigned int __ctx(vrsave);
117 unsigned int __pad[3];
118} vrregset_t __attribute__((__aligned__(16)));
119
120typedef struct {
121 unsigned long __glibc_reserved[4];
122 int __ctx(signal);
123 int __pad0;
124 unsigned long __ctx(handler);
125 unsigned long __ctx(oldmask);
126 struct __ctx(pt_regs) *__ctx(regs);
127 gregset_t __ctx(gp_regs);
128 fpregset_t __ctx(fp_regs);
129/*
130 * To maintain compatibility with current implementations the sigcontext is
131 * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
132 * followed by an unstructured (vmx_reserve) field of 69 doublewords. This
133 * allows the array of vector registers to be quadword aligned independent of
134 * the alignment of the containing sigcontext or ucontext. It is the
135 * responsibility of the code setting the sigcontext to set this pointer to
136 * either NULL (if this processor does not support the VMX feature) or the
137 * address of the first quadword within the allocated (vmx_reserve) area.
138 *
139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
140 * an array of 34 quadword entries. The entries with
141 * indexes 0-31 contain the corresponding vector registers. The entry with
142 * index 32 contains the vscr as the last word (offset 12) within the
143 * quadword. This allows the vscr to be stored as either a quadword (since
144 * it must be copied via a vector register to/from storage) or as a word.
145 * The entry with index 33 contains the vrsave as the first word (offset 0)
146 * within the quadword.
147 */
148 vrregset_t *__ctx(v_regs);
149 long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1];
150} mcontext_t;
151
152#endif
153
154/* Userlevel context. */
155typedef struct ucontext_t
156 {
157 unsigned long int __ctx(uc_flags);
158 struct ucontext_t *uc_link;
159 stack_t uc_stack;
160#if __WORDSIZE == 32
161 /*
162 * These fields are set up this way to maximize source and
163 * binary compatibility with code written for the old
164 * ucontext_t definition, which didn't include space for the
165 * registers.
166 *
167 * Different versions of the kernel have stored the registers on
168 * signal delivery at different offsets from the ucontext struct.
169 * Programs should thus use the uc_mcontext.uc_regs pointer to
170 * find where the registers are actually stored. The registers
171 * will be stored within the ucontext_t struct but not necessarily
172 * at a fixed address. As a side-effect, this lets us achieve
173 * 16-byte alignment for the register storage space if the
174 * Altivec registers are to be saved, without requiring 16-byte
175 * alignment on the whole ucontext_t.
176 *
177 * The uc_mcontext.regs field is included for source compatibility
178 * with programs written against the older ucontext_t definition,
179 * and its name should therefore not change. The uc_pad field
180 * is for binary compatibility with programs compiled against the
181 * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask
182 * are at the same offset as previously.
183 */
184 int __glibc_reserved1[7];
185 union __ctx(uc_regs_ptr) {
186 struct __ctx(pt_regs) *__ctx(regs);
187 mcontext_t *__ctx(uc_regs);
188 } uc_mcontext;
189 sigset_t uc_sigmask;
190 /* last for extensibility */
191 char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12];
192#else /* 64-bit */
193 sigset_t uc_sigmask;
194 mcontext_t uc_mcontext; /* last for extensibility */
195#endif
196 } ucontext_t;
197
198#undef __ctx
199
200#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/sys/user.h deleted-40
......@@ -1,40 +0,0 @@
1/* Copyright (C) 1998-2025 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_USER_H
19
20#define _SYS_USER_H 1
21#include <stddef.h>
22#include <features.h>
23
24#include <asm/ptrace.h>
25
26struct user {
27 struct pt_regs regs; /* entire machine state */
28 size_t u_tsize; /* text size (pages) */
29 size_t u_dsize; /* data size (pages) */
30 size_t u_ssize; /* stack size (pages) */
31 unsigned long start_code; /* text starting address */
32 unsigned long start_data; /* data starting address */
33 unsigned long start_stack; /* stack starting address */
34 long int signal; /* signal causing core dump */
35 struct regs * u_ar0; /* help gdb find registers */
36 unsigned long magic; /* identifies a core file */
37 char u_comm[32]; /* user command name */
38};
39
40#endif /* sys/user.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/endianness.h created+11
......@@ -0,0 +1,11 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* RISC-V is little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/environments.h created+81
......@@ -0,0 +1,81 @@
1/* Copyright (C) 2020-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* We can never provide environments with 32-bit wide pointers. */
45# define _POSIX_V7_ILP32_OFF32 -1
46# define _POSIX_V7_ILP32_OFFBIG -1
47# define _POSIX_V6_ILP32_OFF32 -1
48# define _POSIX_V6_ILP32_OFFBIG -1
49# define _XBS5_ILP32_OFF32 -1
50# define _XBS5_ILP32_OFFBIG -1
51/* We also have no use (for now) for an environment with bigger pointers
52 and offsets. */
53# define _POSIX_V7_LPBIG_OFFBIG -1
54# define _POSIX_V6_LPBIG_OFFBIG -1
55# define _XBS5_LPBIG_OFFBIG -1
56
57/* By default we have 64-bit wide `long int', pointers and `off_t'. */
58# define _POSIX_V7_LP64_OFF64 1
59# define _POSIX_V6_LP64_OFF64 1
60# define _XBS5_LP64_OFF64 1
61
62#else /* __WORDSIZE == 32 */
63
64/* RISC-V requires 64-bit off_t */
65# define _POSIX_V7_ILP32_OFF32 -1
66# define _POSIX_V6_ILP32_OFF32 -1
67# define _XBS5_ILP32_OFF32 -1
68
69# define _POSIX_V7_ILP32_OFFBIG 1
70# define _POSIX_V6_ILP32_OFFBIG 1
71# define _XBS5_ILP32_OFFBIG 1
72
73/* We can never provide environments with 64-bit wide pointers. */
74# define _POSIX_V7_LP64_OFF64 -1
75# define _POSIX_V7_LPBIG_OFFBIG -1
76# define _POSIX_V6_LP64_OFF64 -1
77# define _POSIX_V6_LPBIG_OFFBIG -1
78# define _XBS5_LP64_OFF64 -1
79# define _XBS5_LPBIG_OFFBIG -1
80
81#endif /* __WORDSIZE == 32 */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/fcntl.h created+62
......@@ -0,0 +1,62 @@
1/* O_*, F_*, FD_* bit values for Linux / RISC-V.
2 Copyright (C) 2011-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _FCNTL_H
21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
22#endif
23
24#include <bits/wordsize.h>
25
26/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
27 non-64-bit versions. It will need to be revised for 128-bit. */
28#if __WORDSIZE == 64
29# define __O_LARGEFILE 0
30
31# define F_GETLK64 5 /* Get record locking info. */
32# define F_SETLK64 6 /* Set record locking info (non-blocking). */
33# define F_SETLKW64 7 /* Set record locking info (blocking). */
34#endif
35
36struct flock
37 {
38 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
39 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
40#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
41 __off_t l_start; /* Offset where the lock begins. */
42 __off_t l_len; /* Size of the locked area; zero means until EOF. */
43#else
44 __off64_t l_start; /* Offset where the lock begins. */
45 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
46#endif
47 __pid_t l_pid; /* Process holding the lock. */
48 };
49
50#ifdef __USE_LARGEFILE64
51struct flock64
52 {
53 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
54 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
55 __off64_t l_start; /* Offset where the lock begins. */
56 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
57 __pid_t l_pid; /* Process holding the lock. */
58 };
59#endif
60
61/* Include generic Linux declarations. */
62#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/fenv.h created+74
......@@ -0,0 +1,74 @@
1/* Floating point environment, RISC-V version.
2 Copyright (C) 1998-2025 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 _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23enum
24 {
25 FE_INEXACT =
26#define FE_INEXACT (0x01)
27 FE_INEXACT,
28 FE_UNDERFLOW =
29#define FE_UNDERFLOW (0x02)
30 FE_UNDERFLOW,
31 FE_OVERFLOW =
32#define FE_OVERFLOW (0x04)
33 FE_OVERFLOW,
34 FE_DIVBYZERO =
35#define FE_DIVBYZERO (0x08)
36 FE_DIVBYZERO,
37 FE_INVALID =
38#define FE_INVALID (0x10)
39 FE_INVALID
40 };
41
42#define FE_ALL_EXCEPT \
43 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
44
45enum
46 {
47 FE_TONEAREST =
48#define FE_TONEAREST (0x0)
49 FE_TONEAREST,
50 FE_TOWARDZERO =
51#define FE_TOWARDZERO (0x1)
52 FE_TOWARDZERO,
53 FE_DOWNWARD =
54#define FE_DOWNWARD (0x2)
55 FE_DOWNWARD,
56 FE_UPWARD =
57#define FE_UPWARD (0x3)
58 FE_UPWARD
59 };
60
61
62typedef unsigned int fexcept_t;
63typedef unsigned int fenv_t;
64
65/* If the default argument is used we use this value. */
66#define FE_DFL_ENV ((__const fenv_t *) -1)
67
68#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
69/* Type representing floating-point control modes. */
70typedef unsigned int femode_t;
71
72/* Default floating-point control modes. */
73# define FE_DFL_MODE ((const femode_t *) -1L)
74#endif
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/link.h created+56
......@@ -0,0 +1,56 @@
1/* Machine-specific declarations for dynamic linker interface. RISC-V version.
2 Copyright (C) 2005-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23typedef struct La_riscv_regs
24{
25 unsigned long int lr_reg[8]; /* a0 - a7 */
26 double lr_fpreg[8]; /* fa0 - fa7 */
27 unsigned long int lr_ra;
28 unsigned long int lr_sp;
29} La_riscv_regs;
30
31/* Return values for calls from PLT on RISC-V. */
32typedef struct La_riscv_retval
33{
34 unsigned long int lrv_a0;
35 unsigned long int lrv_a1;
36 double lrv_fa0;
37 double lrv_fa1;
38} La_riscv_retval;
39
40__BEGIN_DECLS
41
42extern ElfW(Addr) la_riscv_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx,
43 uintptr_t *__refcook,
44 uintptr_t *__defcook,
45 La_riscv_regs *__regs,
46 unsigned int *__flags,
47 const char *__symname,
48 long int *__framesizep);
49extern unsigned int la_riscv_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx,
50 uintptr_t *__refcook,
51 uintptr_t *__defcook,
52 const La_riscv_regs *__inregs,
53 La_riscv_retval *__outregs,
54 const char *__symname);
55
56__END_DECLS
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/long-double.h created+21
......@@ -0,0 +1,21 @@
1/* Properties of long double type. ldbl-128 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/procfs.h created+31
......@@ -0,0 +1,31 @@
1/* Types for registers for sys/procfs.h. RISC-V version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <sys/ucontext.h>
24
25/* ELF register definitions */
26#define ELF_NGREG NGREG
27#define ELF_NFPREG NFPREG
28
29typedef unsigned long int elf_greg_t;
30typedef unsigned long int elf_gregset_t[32];
31typedef union __riscv_mc_fp_state elf_fpregset_t;
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/pthreadtypes-arch.h created+45
......@@ -0,0 +1,45 @@
1/* Machine-specific pthread type layouts. RISC-V version.
2 Copyright (C) 2011-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
25#define __SIZEOF_PTHREAD_COND_T 48
26#define __SIZEOF_PTHREAD_CONDATTR_T 4
27#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
28#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
29
30#if __WORDSIZE == 64
31# define __SIZEOF_PTHREAD_ATTR_T 56
32# define __SIZEOF_PTHREAD_MUTEX_T 40
33# define __SIZEOF_PTHREAD_RWLOCK_T 56
34# define __SIZEOF_PTHREAD_BARRIER_T 32
35#else
36# define __SIZEOF_PTHREAD_ATTR_T 32
37# define __SIZEOF_PTHREAD_MUTEX_T 32
38# define __SIZEOF_PTHREAD_RWLOCK_T 48
39# define __SIZEOF_PTHREAD_BARRIER_T 20
40#endif
41
42#define __LOCK_ALIGNMENT
43#define __ONCE_ALIGNMENT
44
45#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/rseq.h created+44
......@@ -0,0 +1,44 @@
1/* Restartable Sequences Linux riscv architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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#include <bits/endian.h>
19
20#ifndef _SYS_RSEQ_H
21# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
22#endif
23
24/* RSEQ_SIG is a signature required before each abort handler code.
25
26 It is a 32-bit value that maps to actual architecture code compiled
27 into applications and libraries. It needs to be defined for each
28 architecture. When choosing this value, it needs to be taken into
29 account that generating invalid instructions may have ill effects on
30 tools like objdump, and may also have impact on the CPU speculative
31 execution efficiency in some cases.
32
33 Select the instruction "csrw mhartid, x0" as the RSEQ_SIG. Unlike
34 other architectures, the ebreak instruction has no immediate field for
35 distinguishing purposes. Hence, ebreak is not suitable as RSEQ_SIG.
36 "csrw mhartid, x0" can also satisfy the RSEQ requirement because it
37 is an uncommon instruction and will raise an illegal instruction
38 exception when executed in all modes. */
39
40#if __BYTE_ORDER == __LITTLE_ENDIAN
41#define RSEQ_SIG 0xf1401073
42#else
43/* RSEQ is currently only supported on Little-Endian. */
44#endif
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/setjmp.h created+39
......@@ -0,0 +1,39 @@
1/* Define the machine-dependent type `jmp_buf'. RISC-V version.
2 Copyright (C) 2011-2025 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 _RISCV_BITS_SETJMP_H
20#define _RISCV_BITS_SETJMP_H
21
22typedef struct __jmp_buf_internal_tag
23 {
24 /* Program counter. */
25 long int __pc;
26 /* Callee-saved registers. */
27 long int __regs[12];
28 /* Stack pointer. */
29 long int __sp;
30
31 /* Callee-saved floating point registers. */
32#if defined __riscv_float_abi_double
33 double __fpregs[12];
34#elif !defined __riscv_float_abi_soft
35# error unsupported FLEN
36#endif
37 } __jmp_buf[1];
38
39#endif /* _RISCV_BITS_SETJMP_H */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/sigcontext.h created+31
......@@ -0,0 +1,31 @@
1/* Machine-dependent signal context structure for Linux. RISC-V version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc. 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 _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 1
20
21#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
22# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
23#endif
24
25struct sigcontext {
26 /* gregs[0] holds the program counter. */
27 unsigned long int gregs[32];
28 unsigned long long int fpregs[66] __attribute__ ((__aligned__ (16)));
29};
30
31#endif
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/struct_rwlock.h created+68
......@@ -0,0 +1,68 @@
1/* RISC-V internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23/* There is a lot of padding in this structure. While it's not strictly
24 necessary on RISC-V, we're going to leave it in to be on the safe side in
25 case it's needed in the future. Most other architectures have the padding,
26 so this gives us the same extensibility as everyone else has. */
27struct __pthread_rwlock_arch_t
28{
29 unsigned int __readers;
30 unsigned int __writers;
31 unsigned int __wrphase_futex;
32 unsigned int __writers_futex;
33 unsigned int __pad3;
34 unsigned int __pad4;
35#if __WORDSIZE == 64
36 int __cur_writer;
37 int __shared;
38 unsigned long int __pad1;
39 unsigned long int __pad2;
40 unsigned int __flags;
41#else
42# if __BYTE_ORDER == __BIG_ENDIAN
43 unsigned char __pad1;
44 unsigned char __pad2;
45 unsigned char __shared;
46 unsigned char __flags;
47# else
48 unsigned char __flags;
49 unsigned char __shared;
50 unsigned char __pad1;
51 unsigned char __pad2;
52# endif
53 int __cur_writer;
54#endif
55};
56
57#if __WORDSIZE == 64
58# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
59 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
60#elif __BYTE_ORDER == __BIG_ENDIAN
61# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
62 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
63#else
64# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
65 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
66#endif
67
68#endif
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/struct_stat.h created+127
......@@ -0,0 +1,127 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46 __dev_t st_dev; /* Device. */
47 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
48 __mode_t st_mode; /* File mode. */
49 __nlink_t st_nlink; /* Link count. */
50 __uid_t st_uid; /* User ID of the file's owner. */
51 __gid_t st_gid; /* Group ID of the file's group.*/
52 __dev_t st_rdev; /* Device number, if device. */
53 __dev_t __pad1;
54 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
55 __blksize_t st_blksize; /* Optimal block size for I/O. */
56 int __pad2;
57 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
58#ifdef __USE_XOPEN2K8
59 /* Nanosecond resolution timestamps are stored in a format
60 equivalent to 'struct timespec'. This is the type used
61 whenever possible but the Unix namespace rules do not allow the
62 identifier 'timespec' to appear in the <sys/stat.h> header.
63 Therefore we have to handle the use of this header in strictly
64 standard-compliant sources special. */
65 struct timespec st_atim; /* Time of last access. */
66 struct timespec st_mtim; /* Time of last modification. */
67 struct timespec st_ctim; /* Time of last status change. */
68# define st_atime st_atim.tv_sec /* Backward compatibility. */
69# define st_mtime st_mtim.tv_sec
70# define st_ctime st_ctim.tv_sec
71#else
72 __time_t st_atime; /* Time of last access. */
73 unsigned long int st_atimensec; /* Nscecs of last access. */
74 __time_t st_mtime; /* Time of last modification. */
75 unsigned long int st_mtimensec; /* Nsecs of last modification. */
76 __time_t st_ctime; /* Time of last status change. */
77 unsigned long int st_ctimensec; /* Nsecs of last status change. */
78#endif
79 int __glibc_reserved[2];
80 };
81
82#undef __field64
83
84#ifdef __USE_LARGEFILE64
85struct stat64
86 {
87 __dev_t st_dev; /* Device. */
88 __ino64_t st_ino; /* File serial number. */
89 __mode_t st_mode; /* File mode. */
90 __nlink_t st_nlink; /* Link count. */
91 __uid_t st_uid; /* User ID of the file's owner. */
92 __gid_t st_gid; /* Group ID of the file's group.*/
93 __dev_t st_rdev; /* Device number, if device. */
94 __dev_t __pad1;
95 __off64_t st_size; /* Size of file, in bytes. */
96 __blksize_t st_blksize; /* Optimal block size for I/O. */
97 int __pad2;
98 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
99#ifdef __USE_XOPEN2K8
100 /* Nanosecond resolution timestamps are stored in a format
101 equivalent to 'struct timespec'. This is the type used
102 whenever possible but the Unix namespace rules do not allow the
103 identifier 'timespec' to appear in the <sys/stat.h> header.
104 Therefore we have to handle the use of this header in strictly
105 standard-compliant sources special. */
106 struct timespec st_atim; /* Time of last access. */
107 struct timespec st_mtim; /* Time of last modification. */
108 struct timespec st_ctim; /* Time of last status change. */
109#else
110 __time_t st_atime; /* Time of last access. */
111 unsigned long int st_atimensec; /* Nscecs of last access. */
112 __time_t st_mtime; /* Time of last modification. */
113 unsigned long int st_mtimensec; /* Nsecs of last modification. */
114 __time_t st_ctime; /* Time of last status change. */
115 unsigned long int st_ctimensec; /* Nsecs of last status change. */
116#endif
117 int __glibc_reserved[2];
118 };
119#endif
120
121/* Tell code we have these members. */
122#define _STATBUF_ST_BLKSIZE
123#define _STATBUF_ST_RDEV
124/* Nanosecond resolution time values are supported. */
125#define _STATBUF_ST_NSEC
126
127#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/time64.h created+36
......@@ -0,0 +1,36 @@
1/* bits/time64.h -- underlying types for __time64_t. RISC-V version.
2 Copyright (C) 2020-2025 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_TYPES_H
20# error "Never include <bits/time64.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TIME64_H
24#define _BITS_TIME64_H 1
25
26/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */
27
28#if __WORDSIZE == 64
29/* If we already have 64-bit time type then use it. */
30# define __TIME64_T_TYPE __TIME_T_TYPE
31#else
32/* Define a 64-bit time type alongsize the 32-bit one. */
33# define __TIME64_T_TYPE __SQUAD_TYPE
34#endif
35
36#endif /* bits/time64.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/timesize.h created+20
......@@ -0,0 +1,20 @@
1/* Bit size of the time_t type at glibc build time, general case.
2 Copyright (C) 2018-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 64
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/bits/wordsize.h created+30
......@@ -0,0 +1,30 @@
1/* Determine the wordsize from the preprocessor defines. RISC-V version.
2 Copyright (C) 2002-2025 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 __riscv_xlen == (__SIZEOF_POINTER__ * 8)
20# define __WORDSIZE __riscv_xlen
21#else
22# error unsupported ABI
23#endif
24
25#define __WORDSIZE_TIME64_COMPAT32 1
26
27#if __WORDSIZE == 32
28# define __WORDSIZE32_SIZE_ULONG 0
29# define __WORDSIZE32_PTRDIFF_LONG 0
30#endif
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/fpu_control.h created+74
......@@ -0,0 +1,74 @@
1/* FPU control word bits. RISC-V version.
2 Copyright (C) 1996-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#include <features.h>
23
24#ifndef __riscv_flen
25
26# define _FPU_RESERVED 0xffffffff
27# define _FPU_DEFAULT 0x00000000
28typedef unsigned int fpu_control_t;
29# define _FPU_GETCW(cw) (cw) = 0
30# define _FPU_SETCW(cw) do { } while (0)
31extern fpu_control_t __fpu_control;
32
33#else /* __riscv_flen */
34
35# define _FPU_RESERVED 0
36# define _FPU_DEFAULT 0
37# define _FPU_IEEE _FPU_DEFAULT
38
39/* Type of the control word. */
40typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
41
42/* Macros for accessing the hardware control word. */
43# define _FPU_GETCW(cw) __asm__ volatile ("frsr %0" : "=r" (cw))
44# define _FPU_SETCW(cw) __asm__ volatile ("fssr %z0" : : "rJ" (cw))
45
46/* Default control word set at startup. */
47extern fpu_control_t __fpu_control;
48
49# define _FCLASS(x) (__extension__ ({ int __res; \
50 if (sizeof (x) * 8 > __riscv_flen) __builtin_trap (); \
51 if (sizeof (x) == 4) asm ("fclass.s %0, %1" : "=r" (__res) : "f" (x)); \
52 else if (sizeof (x) == 8) asm ("fclass.d %0, %1" : "=r" (__res) : "f" (x)); \
53 else __builtin_trap (); \
54 __res; }))
55
56# define _FCLASS_MINF (1 << 0)
57# define _FCLASS_MNORM (1 << 1)
58# define _FCLASS_MSUBNORM (1 << 2)
59# define _FCLASS_MZERO (1 << 3)
60# define _FCLASS_PZERO (1 << 4)
61# define _FCLASS_PSUBNORM (1 << 5)
62# define _FCLASS_PNORM (1 << 6)
63# define _FCLASS_PINF (1 << 7)
64# define _FCLASS_SNAN (1 << 8)
65# define _FCLASS_QNAN (1 << 9)
66# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO)
67# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM)
68# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM)
69# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF)
70# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN)
71
72#endif /* __riscv_flen */
73
74#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/gnu/lib-names-ilp32d.h created+27
......@@ -0,0 +1,27 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-ilp32d.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_RISCV32_ILP32D_SO "ld-linux-riscv32-ilp32d.so.1"
7#define LD_SO "ld-linux-riscv32-ilp32d.so.1"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/gnu/lib-names-lp64d.h created+27
......@@ -0,0 +1,27 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-lp64d.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_RISCV64_LP64D_SO "ld-linux-riscv64-lp64d.so.1"
7#define LD_SO "ld-linux-riscv64-lp64d.so.1"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/gnu/lib-names.h created+22
......@@ -0,0 +1,22 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32 && defined __riscv_float_abi_soft
10# include <gnu/lib-names-ilp32.h>
11#endif
12#if __WORDSIZE == 32 && defined __riscv_float_abi_double
13# include <gnu/lib-names-ilp32d.h>
14#endif
15#if __WORDSIZE == 64 && defined __riscv_float_abi_soft
16# include <gnu/lib-names-lp64.h>
17#endif
18#if __WORDSIZE == 64 && defined __riscv_float_abi_double
19# include <gnu/lib-names-lp64d.h>
20#endif
21
22#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/gnu/stubs-ilp32d.h created+24
......@@ -0,0 +1,24 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_fedisableexcept
18#define __stub_feenableexcept
19#define __stub_fegetexcept
20#define __stub_gtty
21#define __stub_revoke
22#define __stub_setlogin
23#define __stub_sigreturn
24#define __stub_stty
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/gnu/stubs-lp64d.h created+24
......@@ -0,0 +1,24 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_fedisableexcept
18#define __stub_feenableexcept
19#define __stub_fegetexcept
20#define __stub_gtty
21#define __stub_revoke
22#define __stub_setlogin
23#define __stub_sigreturn
24#define __stub_stty
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/gnu/stubs.h created+18
......@@ -0,0 +1,18 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32 && defined __riscv_float_abi_soft
8# include <gnu/stubs-ilp32.h>
9#endif
10#if __WORDSIZE == 32 && defined __riscv_float_abi_double
11# include <gnu/stubs-ilp32d.h>
12#endif
13#if __WORDSIZE == 64 && defined __riscv_float_abi_soft
14# include <gnu/stubs-lp64.h>
15#endif
16#if __WORDSIZE == 64 && defined __riscv_float_abi_double
17# include <gnu/stubs-lp64d.h>
18#endif
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/ieee754.h created+170
......@@ -0,0 +1,170 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25__BEGIN_DECLS
26
27union ieee754_float
28 {
29 float f;
30
31 /* This is the IEEE 754 single-precision format. */
32 struct
33 {
34#if __BYTE_ORDER == __BIG_ENDIAN
35 unsigned int negative:1;
36 unsigned int exponent:8;
37 unsigned int mantissa:23;
38#endif /* Big endian. */
39#if __BYTE_ORDER == __LITTLE_ENDIAN
40 unsigned int mantissa:23;
41 unsigned int exponent:8;
42 unsigned int negative:1;
43#endif /* Little endian. */
44 } ieee;
45
46 /* This format makes it easier to see if a NaN is a signalling NaN. */
47 struct
48 {
49#if __BYTE_ORDER == __BIG_ENDIAN
50 unsigned int negative:1;
51 unsigned int exponent:8;
52 unsigned int quiet_nan:1;
53 unsigned int mantissa:22;
54#endif /* Big endian. */
55#if __BYTE_ORDER == __LITTLE_ENDIAN
56 unsigned int mantissa:22;
57 unsigned int quiet_nan:1;
58 unsigned int exponent:8;
59 unsigned int negative:1;
60#endif /* Little endian. */
61 } ieee_nan;
62 };
63
64#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
65
66
67union ieee754_double
68 {
69 double d;
70
71 /* This is the IEEE 754 double-precision format. */
72 struct
73 {
74#if __BYTE_ORDER == __BIG_ENDIAN
75 unsigned int negative:1;
76 unsigned int exponent:11;
77 /* Together these comprise the mantissa. */
78 unsigned int mantissa0:20;
79 unsigned int mantissa1:32;
80#endif /* Big endian. */
81#if __BYTE_ORDER == __LITTLE_ENDIAN
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa1:32;
84 unsigned int mantissa0:20;
85 unsigned int exponent:11;
86 unsigned int negative:1;
87#endif /* Little endian. */
88 } ieee;
89
90 /* This format makes it easier to see if a NaN is a signalling NaN. */
91 struct
92 {
93#if __BYTE_ORDER == __BIG_ENDIAN
94 unsigned int negative:1;
95 unsigned int exponent:11;
96 unsigned int quiet_nan:1;
97 /* Together these comprise the mantissa. */
98 unsigned int mantissa0:19;
99 unsigned int mantissa1:32;
100#else
101 /* Together these comprise the mantissa. */
102 unsigned int mantissa1:32;
103 unsigned int mantissa0:19;
104 unsigned int quiet_nan:1;
105 unsigned int exponent:11;
106 unsigned int negative:1;
107#endif
108 } ieee_nan;
109 };
110
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112
113
114union ieee854_long_double
115 {
116 long double d;
117
118 /* This is the IEEE 854 quad-precision format. */
119 struct
120 {
121#if __BYTE_ORDER == __BIG_ENDIAN
122 unsigned int negative:1;
123 unsigned int exponent:15;
124 /* Together these comprise the mantissa. */
125 unsigned int mantissa0:16;
126 unsigned int mantissa1:32;
127 unsigned int mantissa2:32;
128 unsigned int mantissa3:32;
129#endif /* Big endian. */
130#if __BYTE_ORDER == __LITTLE_ENDIAN
131 /* Together these comprise the mantissa. */
132 unsigned int mantissa3:32;
133 unsigned int mantissa2:32;
134 unsigned int mantissa1:32;
135 unsigned int mantissa0:16;
136 unsigned int exponent:15;
137 unsigned int negative:1;
138#endif /* Little endian. */
139 } ieee;
140
141 /* This format makes it easier to see if a NaN is a signalling NaN. */
142 struct
143 {
144#if __BYTE_ORDER == __BIG_ENDIAN
145 unsigned int negative:1;
146 unsigned int exponent:15;
147 unsigned int quiet_nan:1;
148 /* Together these comprise the mantissa. */
149 unsigned int mantissa0:15;
150 unsigned int mantissa1:32;
151 unsigned int mantissa2:32;
152 unsigned int mantissa3:32;
153#else
154 /* Together these comprise the mantissa. */
155 unsigned int mantissa3:32;
156 unsigned int mantissa2:32;
157 unsigned int mantissa1:32;
158 unsigned int mantissa0:15;
159 unsigned int quiet_nan:1;
160 unsigned int exponent:15;
161 unsigned int negative:1;
162#endif
163 } ieee_nan;
164 };
165
166#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
167
168__END_DECLS
169
170#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/sys/asm.h created+66
......@@ -0,0 +1,66 @@
1/* Miscellaneous macros.
2 Copyright (C) 2000-2025 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_ASM_H
20#define _SYS_ASM_H
21
22/* Macros to handle different pointer/register sizes for 32/64-bit code. */
23#if __riscv_xlen == 64
24# define PTRLOG 3
25# define SZREG 8
26# define REG_S sd
27# define REG_L ld
28#elif __riscv_xlen == 32
29# define PTRLOG 2
30# define SZREG 4
31# define REG_S sw
32# define REG_L lw
33#else
34# error __riscv_xlen must equal 32 or 64
35#endif
36
37#if !defined __riscv_float_abi_soft
38/* For ABI uniformity, reserve 8 bytes for floats, even if double-precision
39 floating-point is not supported in hardware. */
40# if defined __riscv_float_abi_double
41# define FREG_L fld
42# define FREG_S fsd
43# define SZFREG 8
44# else
45# error unsupported FLEN
46# endif
47#endif
48
49/* Declare leaf routine. */
50#define LEAF(symbol) \
51 .globl symbol; \
52 .align 2; \
53 .type symbol,@function; \
54symbol: \
55 cfi_startproc;
56
57/* Mark end of function. */
58#undef END
59#define END(function) \
60 cfi_endproc; \
61 .size function,.-function
62
63/* Stack alignment. */
64#define ALMASK ~15
65
66#endif /* sys/asm.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/sys/cachectl.h created+32
......@@ -0,0 +1,32 @@
1/* RISC-V instruction cache flushing interface
2 Copyright (C) 2017-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_CACHECTL_H
21#define _SYS_CACHECTL_H 1
22
23#include <features.h>
24
25__BEGIN_DECLS
26
27extern int __riscv_flush_icache (void *__start, void *__end,
28 unsigned long int __flags);
29
30__END_DECLS
31
32#endif /* sys/cachectl.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/sys/ucontext.h created+110
......@@ -0,0 +1,110 @@
1/* struct ucontext definition, RISC-V version.
2 Copyright (C) 1997-2025 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/* Don't rely on this, the interface is currently messed up and may need to
20 be broken to be fixed. */
21#ifndef _SYS_UCONTEXT_H
22#define _SYS_UCONTEXT_H 1
23
24#include <features.h>
25
26#include <bits/types/sigset_t.h>
27#include <bits/types/stack_t.h>
28
29typedef unsigned long int __riscv_mc_gp_state[32];
30
31#ifdef __USE_MISC
32# define NGREG 32
33
34# define REG_PC 0
35# define REG_RA 1
36# define REG_SP 2
37# define REG_TP 4
38# define REG_S0 8
39# define REG_S1 9
40# define REG_A0 10
41# define REG_S2 18
42# define REG_NARGS 8
43
44typedef unsigned long int greg_t;
45
46/* Container for all general registers. */
47typedef __riscv_mc_gp_state gregset_t;
48
49/* Container for floating-point state. */
50typedef union __riscv_mc_fp_state fpregset_t;
51#endif
52
53struct __riscv_mc_f_ext_state
54 {
55 unsigned int __f[32];
56 unsigned int __fcsr;
57 };
58
59struct __riscv_mc_d_ext_state
60 {
61 unsigned long long int __f[32];
62 unsigned int __fcsr;
63 };
64
65struct __riscv_mc_q_ext_state
66 {
67 unsigned long long int __f[64] __attribute__ ((__aligned__ (16)));
68 unsigned int __fcsr;
69 /* Reserved for expansion of sigcontext structure. Currently zeroed
70 upon signal, and must be zero upon sigreturn. */
71 unsigned int __glibc_reserved[3];
72 };
73
74union __riscv_mc_fp_state
75 {
76 struct __riscv_mc_f_ext_state __f;
77 struct __riscv_mc_d_ext_state __d;
78 struct __riscv_mc_q_ext_state __q;
79 };
80
81typedef struct mcontext_t
82 {
83 __riscv_mc_gp_state __gregs;
84 union __riscv_mc_fp_state __fpregs;
85 } mcontext_t;
86
87/* Userlevel context. */
88typedef struct ucontext_t
89 {
90 unsigned long int __uc_flags;
91 struct ucontext_t *uc_link;
92 stack_t uc_stack;
93 sigset_t uc_sigmask;
94 /* There's some padding here to allow sigset_t to be expanded in the
95 future. Though this is unlikely, other architectures put uc_sigmask
96 at the end of this structure and explicitly state it can be
97 expanded, so we didn't want to box ourselves in here. */
98 char __glibc_reserved[1024 / 8 - sizeof (sigset_t)];
99 /* We can't put uc_sigmask at the end of this structure because we need
100 to be able to expand sigcontext in the future. For example, the
101 vector ISA extension will almost certainly add ISA state. We want
102 to ensure all user-visible ISA state can be saved and restored via a
103 ucontext, so we're putting this at the end in order to allow for
104 infinite extensibility. Since we know this will be extended and we
105 assume sigset_t won't be extended an extreme amount, we're
106 prioritizing this. */
107 mcontext_t uc_mcontext;
108 } ucontext_t;
109
110#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/riscv-linux-gnu/sys/user.h created+23
......@@ -0,0 +1,23 @@
1/* Copyright (C) 2001-2025 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_USER_H
19#define _SYS_USER_H 1
20
21
22
23#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/endianness.h deleted-11
......@@ -1,11 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* RISC-V is little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/environments.h deleted-81
......@@ -1,81 +0,0 @@
1/* Copyright (C) 2020-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* We can never provide environments with 32-bit wide pointers. */
45# define _POSIX_V7_ILP32_OFF32 -1
46# define _POSIX_V7_ILP32_OFFBIG -1
47# define _POSIX_V6_ILP32_OFF32 -1
48# define _POSIX_V6_ILP32_OFFBIG -1
49# define _XBS5_ILP32_OFF32 -1
50# define _XBS5_ILP32_OFFBIG -1
51/* We also have no use (for now) for an environment with bigger pointers
52 and offsets. */
53# define _POSIX_V7_LPBIG_OFFBIG -1
54# define _POSIX_V6_LPBIG_OFFBIG -1
55# define _XBS5_LPBIG_OFFBIG -1
56
57/* By default we have 64-bit wide `long int', pointers and `off_t'. */
58# define _POSIX_V7_LP64_OFF64 1
59# define _POSIX_V6_LP64_OFF64 1
60# define _XBS5_LP64_OFF64 1
61
62#else /* __WORDSIZE == 32 */
63
64/* RISC-V requires 64-bit off_t */
65# define _POSIX_V7_ILP32_OFF32 -1
66# define _POSIX_V6_ILP32_OFF32 -1
67# define _XBS5_ILP32_OFF32 -1
68
69# define _POSIX_V7_ILP32_OFFBIG 1
70# define _POSIX_V6_ILP32_OFFBIG 1
71# define _XBS5_ILP32_OFFBIG 1
72
73/* We can never provide environments with 64-bit wide pointers. */
74# define _POSIX_V7_LP64_OFF64 -1
75# define _POSIX_V7_LPBIG_OFFBIG -1
76# define _POSIX_V6_LP64_OFF64 -1
77# define _POSIX_V6_LPBIG_OFFBIG -1
78# define _XBS5_LP64_OFF64 -1
79# define _XBS5_LPBIG_OFFBIG -1
80
81#endif /* __WORDSIZE == 32 */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/fcntl.h deleted-62
......@@ -1,62 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux / RISC-V.
2 Copyright (C) 2011-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _FCNTL_H
21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
22#endif
23
24#include <bits/wordsize.h>
25
26/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
27 non-64-bit versions. It will need to be revised for 128-bit. */
28#if __WORDSIZE == 64
29# define __O_LARGEFILE 0
30
31# define F_GETLK64 5 /* Get record locking info. */
32# define F_SETLK64 6 /* Set record locking info (non-blocking). */
33# define F_SETLKW64 7 /* Set record locking info (blocking). */
34#endif
35
36struct flock
37 {
38 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
39 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
40#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
41 __off_t l_start; /* Offset where the lock begins. */
42 __off_t l_len; /* Size of the locked area; zero means until EOF. */
43#else
44 __off64_t l_start; /* Offset where the lock begins. */
45 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
46#endif
47 __pid_t l_pid; /* Process holding the lock. */
48 };
49
50#ifdef __USE_LARGEFILE64
51struct flock64
52 {
53 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
54 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
55 __off64_t l_start; /* Offset where the lock begins. */
56 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
57 __pid_t l_pid; /* Process holding the lock. */
58 };
59#endif
60
61/* Include generic Linux declarations. */
62#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/fenv.h deleted-74
......@@ -1,74 +0,0 @@
1/* Floating point environment, RISC-V version.
2 Copyright (C) 1998-2025 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 _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23enum
24 {
25 FE_INEXACT =
26#define FE_INEXACT (0x01)
27 FE_INEXACT,
28 FE_UNDERFLOW =
29#define FE_UNDERFLOW (0x02)
30 FE_UNDERFLOW,
31 FE_OVERFLOW =
32#define FE_OVERFLOW (0x04)
33 FE_OVERFLOW,
34 FE_DIVBYZERO =
35#define FE_DIVBYZERO (0x08)
36 FE_DIVBYZERO,
37 FE_INVALID =
38#define FE_INVALID (0x10)
39 FE_INVALID
40 };
41
42#define FE_ALL_EXCEPT \
43 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
44
45enum
46 {
47 FE_TONEAREST =
48#define FE_TONEAREST (0x0)
49 FE_TONEAREST,
50 FE_TOWARDZERO =
51#define FE_TOWARDZERO (0x1)
52 FE_TOWARDZERO,
53 FE_DOWNWARD =
54#define FE_DOWNWARD (0x2)
55 FE_DOWNWARD,
56 FE_UPWARD =
57#define FE_UPWARD (0x3)
58 FE_UPWARD
59 };
60
61
62typedef unsigned int fexcept_t;
63typedef unsigned int fenv_t;
64
65/* If the default argument is used we use this value. */
66#define FE_DFL_ENV ((__const fenv_t *) -1)
67
68#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
69/* Type representing floating-point control modes. */
70typedef unsigned int femode_t;
71
72/* Default floating-point control modes. */
73# define FE_DFL_MODE ((const femode_t *) -1L)
74#endif
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/link.h deleted-56
......@@ -1,56 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface. RISC-V version.
2 Copyright (C) 2005-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23typedef struct La_riscv_regs
24{
25 unsigned long int lr_reg[8]; /* a0 - a7 */
26 double lr_fpreg[8]; /* fa0 - fa7 */
27 unsigned long int lr_ra;
28 unsigned long int lr_sp;
29} La_riscv_regs;
30
31/* Return values for calls from PLT on RISC-V. */
32typedef struct La_riscv_retval
33{
34 unsigned long int lrv_a0;
35 unsigned long int lrv_a1;
36 double lrv_fa0;
37 double lrv_fa1;
38} La_riscv_retval;
39
40__BEGIN_DECLS
41
42extern ElfW(Addr) la_riscv_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx,
43 uintptr_t *__refcook,
44 uintptr_t *__defcook,
45 La_riscv_regs *__regs,
46 unsigned int *__flags,
47 const char *__symname,
48 long int *__framesizep);
49extern unsigned int la_riscv_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx,
50 uintptr_t *__refcook,
51 uintptr_t *__defcook,
52 const La_riscv_regs *__inregs,
53 La_riscv_retval *__outregs,
54 const char *__symname);
55
56__END_DECLS
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/long-double.h deleted-21
......@@ -1,21 +0,0 @@
1/* Properties of long double type. ldbl-128 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/procfs.h deleted-31
......@@ -1,31 +0,0 @@
1/* Types for registers for sys/procfs.h. RISC-V version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <sys/ucontext.h>
24
25/* ELF register definitions */
26#define ELF_NGREG NGREG
27#define ELF_NFPREG NFPREG
28
29typedef unsigned long int elf_greg_t;
30typedef unsigned long int elf_gregset_t[32];
31typedef union __riscv_mc_fp_state elf_fpregset_t;
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/pthreadtypes-arch.h deleted-45
......@@ -1,45 +0,0 @@
1/* Machine-specific pthread type layouts. RISC-V version.
2 Copyright (C) 2011-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
25#define __SIZEOF_PTHREAD_COND_T 48
26#define __SIZEOF_PTHREAD_CONDATTR_T 4
27#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
28#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
29
30#if __WORDSIZE == 64
31# define __SIZEOF_PTHREAD_ATTR_T 56
32# define __SIZEOF_PTHREAD_MUTEX_T 40
33# define __SIZEOF_PTHREAD_RWLOCK_T 56
34# define __SIZEOF_PTHREAD_BARRIER_T 32
35#else
36# define __SIZEOF_PTHREAD_ATTR_T 32
37# define __SIZEOF_PTHREAD_MUTEX_T 32
38# define __SIZEOF_PTHREAD_RWLOCK_T 48
39# define __SIZEOF_PTHREAD_BARRIER_T 20
40#endif
41
42#define __LOCK_ALIGNMENT
43#define __ONCE_ALIGNMENT
44
45#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/rseq.h deleted-44
......@@ -1,44 +0,0 @@
1/* Restartable Sequences Linux riscv architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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#include <bits/endian.h>
19
20#ifndef _SYS_RSEQ_H
21# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
22#endif
23
24/* RSEQ_SIG is a signature required before each abort handler code.
25
26 It is a 32-bit value that maps to actual architecture code compiled
27 into applications and libraries. It needs to be defined for each
28 architecture. When choosing this value, it needs to be taken into
29 account that generating invalid instructions may have ill effects on
30 tools like objdump, and may also have impact on the CPU speculative
31 execution efficiency in some cases.
32
33 Select the instruction "csrw mhartid, x0" as the RSEQ_SIG. Unlike
34 other architectures, the ebreak instruction has no immediate field for
35 distinguishing purposes. Hence, ebreak is not suitable as RSEQ_SIG.
36 "csrw mhartid, x0" can also satisfy the RSEQ requirement because it
37 is an uncommon instruction and will raise an illegal instruction
38 exception when executed in all modes. */
39
40#if __BYTE_ORDER == __LITTLE_ENDIAN
41#define RSEQ_SIG 0xf1401073
42#else
43/* RSEQ is currently only supported on Little-Endian. */
44#endif
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/setjmp.h deleted-39
......@@ -1,39 +0,0 @@
1/* Define the machine-dependent type `jmp_buf'. RISC-V version.
2 Copyright (C) 2011-2025 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 _RISCV_BITS_SETJMP_H
20#define _RISCV_BITS_SETJMP_H
21
22typedef struct __jmp_buf_internal_tag
23 {
24 /* Program counter. */
25 long int __pc;
26 /* Callee-saved registers. */
27 long int __regs[12];
28 /* Stack pointer. */
29 long int __sp;
30
31 /* Callee-saved floating point registers. */
32#if defined __riscv_float_abi_double
33 double __fpregs[12];
34#elif !defined __riscv_float_abi_soft
35# error unsupported FLEN
36#endif
37 } __jmp_buf[1];
38
39#endif /* _RISCV_BITS_SETJMP_H */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/sigcontext.h deleted-31
......@@ -1,31 +0,0 @@
1/* Machine-dependent signal context structure for Linux. RISC-V version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc. 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 _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 1
20
21#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
22# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
23#endif
24
25struct sigcontext {
26 /* gregs[0] holds the program counter. */
27 unsigned long int gregs[32];
28 unsigned long long int fpregs[66] __attribute__ ((__aligned__ (16)));
29};
30
31#endif
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/struct_rwlock.h deleted-68
......@@ -1,68 +0,0 @@
1/* RISC-V internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23/* There is a lot of padding in this structure. While it's not strictly
24 necessary on RISC-V, we're going to leave it in to be on the safe side in
25 case it's needed in the future. Most other architectures have the padding,
26 so this gives us the same extensibility as everyone else has. */
27struct __pthread_rwlock_arch_t
28{
29 unsigned int __readers;
30 unsigned int __writers;
31 unsigned int __wrphase_futex;
32 unsigned int __writers_futex;
33 unsigned int __pad3;
34 unsigned int __pad4;
35#if __WORDSIZE == 64
36 int __cur_writer;
37 int __shared;
38 unsigned long int __pad1;
39 unsigned long int __pad2;
40 unsigned int __flags;
41#else
42# if __BYTE_ORDER == __BIG_ENDIAN
43 unsigned char __pad1;
44 unsigned char __pad2;
45 unsigned char __shared;
46 unsigned char __flags;
47# else
48 unsigned char __flags;
49 unsigned char __shared;
50 unsigned char __pad1;
51 unsigned char __pad2;
52# endif
53 int __cur_writer;
54#endif
55};
56
57#if __WORDSIZE == 64
58# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
59 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
60#elif __BYTE_ORDER == __BIG_ENDIAN
61# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
62 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
63#else
64# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
65 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
66#endif
67
68#endif
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/struct_stat.h deleted-127
......@@ -1,127 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46 __dev_t st_dev; /* Device. */
47 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
48 __mode_t st_mode; /* File mode. */
49 __nlink_t st_nlink; /* Link count. */
50 __uid_t st_uid; /* User ID of the file's owner. */
51 __gid_t st_gid; /* Group ID of the file's group.*/
52 __dev_t st_rdev; /* Device number, if device. */
53 __dev_t __pad1;
54 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
55 __blksize_t st_blksize; /* Optimal block size for I/O. */
56 int __pad2;
57 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
58#ifdef __USE_XOPEN2K8
59 /* Nanosecond resolution timestamps are stored in a format
60 equivalent to 'struct timespec'. This is the type used
61 whenever possible but the Unix namespace rules do not allow the
62 identifier 'timespec' to appear in the <sys/stat.h> header.
63 Therefore we have to handle the use of this header in strictly
64 standard-compliant sources special. */
65 struct timespec st_atim; /* Time of last access. */
66 struct timespec st_mtim; /* Time of last modification. */
67 struct timespec st_ctim; /* Time of last status change. */
68# define st_atime st_atim.tv_sec /* Backward compatibility. */
69# define st_mtime st_mtim.tv_sec
70# define st_ctime st_ctim.tv_sec
71#else
72 __time_t st_atime; /* Time of last access. */
73 unsigned long int st_atimensec; /* Nscecs of last access. */
74 __time_t st_mtime; /* Time of last modification. */
75 unsigned long int st_mtimensec; /* Nsecs of last modification. */
76 __time_t st_ctime; /* Time of last status change. */
77 unsigned long int st_ctimensec; /* Nsecs of last status change. */
78#endif
79 int __glibc_reserved[2];
80 };
81
82#undef __field64
83
84#ifdef __USE_LARGEFILE64
85struct stat64
86 {
87 __dev_t st_dev; /* Device. */
88 __ino64_t st_ino; /* File serial number. */
89 __mode_t st_mode; /* File mode. */
90 __nlink_t st_nlink; /* Link count. */
91 __uid_t st_uid; /* User ID of the file's owner. */
92 __gid_t st_gid; /* Group ID of the file's group.*/
93 __dev_t st_rdev; /* Device number, if device. */
94 __dev_t __pad1;
95 __off64_t st_size; /* Size of file, in bytes. */
96 __blksize_t st_blksize; /* Optimal block size for I/O. */
97 int __pad2;
98 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
99#ifdef __USE_XOPEN2K8
100 /* Nanosecond resolution timestamps are stored in a format
101 equivalent to 'struct timespec'. This is the type used
102 whenever possible but the Unix namespace rules do not allow the
103 identifier 'timespec' to appear in the <sys/stat.h> header.
104 Therefore we have to handle the use of this header in strictly
105 standard-compliant sources special. */
106 struct timespec st_atim; /* Time of last access. */
107 struct timespec st_mtim; /* Time of last modification. */
108 struct timespec st_ctim; /* Time of last status change. */
109#else
110 __time_t st_atime; /* Time of last access. */
111 unsigned long int st_atimensec; /* Nscecs of last access. */
112 __time_t st_mtime; /* Time of last modification. */
113 unsigned long int st_mtimensec; /* Nsecs of last modification. */
114 __time_t st_ctime; /* Time of last status change. */
115 unsigned long int st_ctimensec; /* Nsecs of last status change. */
116#endif
117 int __glibc_reserved[2];
118 };
119#endif
120
121/* Tell code we have these members. */
122#define _STATBUF_ST_BLKSIZE
123#define _STATBUF_ST_RDEV
124/* Nanosecond resolution time values are supported. */
125#define _STATBUF_ST_NSEC
126
127#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/time64.h deleted-36
......@@ -1,36 +0,0 @@
1/* bits/time64.h -- underlying types for __time64_t. RISC-V version.
2 Copyright (C) 2020-2025 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_TYPES_H
20# error "Never include <bits/time64.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TIME64_H
24#define _BITS_TIME64_H 1
25
26/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */
27
28#if __WORDSIZE == 64
29/* If we already have 64-bit time type then use it. */
30# define __TIME64_T_TYPE __TIME_T_TYPE
31#else
32/* Define a 64-bit time type alongsize the 32-bit one. */
33# define __TIME64_T_TYPE __SQUAD_TYPE
34#endif
35
36#endif /* bits/time64.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, general case.
2 Copyright (C) 2018-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 64
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/bits/wordsize.h deleted-30
......@@ -1,30 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. RISC-V version.
2 Copyright (C) 2002-2025 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 __riscv_xlen == (__SIZEOF_POINTER__ * 8)
20# define __WORDSIZE __riscv_xlen
21#else
22# error unsupported ABI
23#endif
24
25#define __WORDSIZE_TIME64_COMPAT32 1
26
27#if __WORDSIZE == 32
28# define __WORDSIZE32_SIZE_ULONG 0
29# define __WORDSIZE32_PTRDIFF_LONG 0
30#endif
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/fpu_control.h deleted-74
......@@ -1,74 +0,0 @@
1/* FPU control word bits. RISC-V version.
2 Copyright (C) 1996-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#include <features.h>
23
24#ifndef __riscv_flen
25
26# define _FPU_RESERVED 0xffffffff
27# define _FPU_DEFAULT 0x00000000
28typedef unsigned int fpu_control_t;
29# define _FPU_GETCW(cw) (cw) = 0
30# define _FPU_SETCW(cw) do { } while (0)
31extern fpu_control_t __fpu_control;
32
33#else /* __riscv_flen */
34
35# define _FPU_RESERVED 0
36# define _FPU_DEFAULT 0
37# define _FPU_IEEE _FPU_DEFAULT
38
39/* Type of the control word. */
40typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
41
42/* Macros for accessing the hardware control word. */
43# define _FPU_GETCW(cw) __asm__ volatile ("frsr %0" : "=r" (cw))
44# define _FPU_SETCW(cw) __asm__ volatile ("fssr %z0" : : "rJ" (cw))
45
46/* Default control word set at startup. */
47extern fpu_control_t __fpu_control;
48
49# define _FCLASS(x) (__extension__ ({ int __res; \
50 if (sizeof (x) * 8 > __riscv_flen) __builtin_trap (); \
51 if (sizeof (x) == 4) asm ("fclass.s %0, %1" : "=r" (__res) : "f" (x)); \
52 else if (sizeof (x) == 8) asm ("fclass.d %0, %1" : "=r" (__res) : "f" (x)); \
53 else __builtin_trap (); \
54 __res; }))
55
56# define _FCLASS_MINF (1 << 0)
57# define _FCLASS_MNORM (1 << 1)
58# define _FCLASS_MSUBNORM (1 << 2)
59# define _FCLASS_MZERO (1 << 3)
60# define _FCLASS_PZERO (1 << 4)
61# define _FCLASS_PSUBNORM (1 << 5)
62# define _FCLASS_PNORM (1 << 6)
63# define _FCLASS_PINF (1 << 7)
64# define _FCLASS_SNAN (1 << 8)
65# define _FCLASS_QNAN (1 << 9)
66# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO)
67# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM)
68# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM)
69# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF)
70# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN)
71
72#endif /* __riscv_flen */
73
74#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/gnu/lib-names-ilp32d.h deleted-27
......@@ -1,27 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-ilp32d.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_RISCV32_ILP32D_SO "ld-linux-riscv32-ilp32d.so.1"
7#define LD_SO "ld-linux-riscv32-ilp32d.so.1"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/gnu/lib-names.h deleted-22
......@@ -1,22 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32 && defined __riscv_float_abi_soft
10# include <gnu/lib-names-ilp32.h>
11#endif
12#if __WORDSIZE == 32 && defined __riscv_float_abi_double
13# include <gnu/lib-names-ilp32d.h>
14#endif
15#if __WORDSIZE == 64 && defined __riscv_float_abi_soft
16# include <gnu/lib-names-lp64.h>
17#endif
18#if __WORDSIZE == 64 && defined __riscv_float_abi_double
19# include <gnu/lib-names-lp64d.h>
20#endif
21
22#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/gnu/stubs-ilp32d.h deleted-24
......@@ -1,24 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_fedisableexcept
18#define __stub_feenableexcept
19#define __stub_fegetexcept
20#define __stub_gtty
21#define __stub_revoke
22#define __stub_setlogin
23#define __stub_sigreturn
24#define __stub_stty
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/gnu/stubs.h deleted-18
......@@ -1,18 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32 && defined __riscv_float_abi_soft
8# include <gnu/stubs-ilp32.h>
9#endif
10#if __WORDSIZE == 32 && defined __riscv_float_abi_double
11# include <gnu/stubs-ilp32d.h>
12#endif
13#if __WORDSIZE == 64 && defined __riscv_float_abi_soft
14# include <gnu/stubs-lp64.h>
15#endif
16#if __WORDSIZE == 64 && defined __riscv_float_abi_double
17# include <gnu/stubs-lp64d.h>
18#endif
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/ieee754.h deleted-170
......@@ -1,170 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25__BEGIN_DECLS
26
27union ieee754_float
28 {
29 float f;
30
31 /* This is the IEEE 754 single-precision format. */
32 struct
33 {
34#if __BYTE_ORDER == __BIG_ENDIAN
35 unsigned int negative:1;
36 unsigned int exponent:8;
37 unsigned int mantissa:23;
38#endif /* Big endian. */
39#if __BYTE_ORDER == __LITTLE_ENDIAN
40 unsigned int mantissa:23;
41 unsigned int exponent:8;
42 unsigned int negative:1;
43#endif /* Little endian. */
44 } ieee;
45
46 /* This format makes it easier to see if a NaN is a signalling NaN. */
47 struct
48 {
49#if __BYTE_ORDER == __BIG_ENDIAN
50 unsigned int negative:1;
51 unsigned int exponent:8;
52 unsigned int quiet_nan:1;
53 unsigned int mantissa:22;
54#endif /* Big endian. */
55#if __BYTE_ORDER == __LITTLE_ENDIAN
56 unsigned int mantissa:22;
57 unsigned int quiet_nan:1;
58 unsigned int exponent:8;
59 unsigned int negative:1;
60#endif /* Little endian. */
61 } ieee_nan;
62 };
63
64#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
65
66
67union ieee754_double
68 {
69 double d;
70
71 /* This is the IEEE 754 double-precision format. */
72 struct
73 {
74#if __BYTE_ORDER == __BIG_ENDIAN
75 unsigned int negative:1;
76 unsigned int exponent:11;
77 /* Together these comprise the mantissa. */
78 unsigned int mantissa0:20;
79 unsigned int mantissa1:32;
80#endif /* Big endian. */
81#if __BYTE_ORDER == __LITTLE_ENDIAN
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa1:32;
84 unsigned int mantissa0:20;
85 unsigned int exponent:11;
86 unsigned int negative:1;
87#endif /* Little endian. */
88 } ieee;
89
90 /* This format makes it easier to see if a NaN is a signalling NaN. */
91 struct
92 {
93#if __BYTE_ORDER == __BIG_ENDIAN
94 unsigned int negative:1;
95 unsigned int exponent:11;
96 unsigned int quiet_nan:1;
97 /* Together these comprise the mantissa. */
98 unsigned int mantissa0:19;
99 unsigned int mantissa1:32;
100#else
101 /* Together these comprise the mantissa. */
102 unsigned int mantissa1:32;
103 unsigned int mantissa0:19;
104 unsigned int quiet_nan:1;
105 unsigned int exponent:11;
106 unsigned int negative:1;
107#endif
108 } ieee_nan;
109 };
110
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112
113
114union ieee854_long_double
115 {
116 long double d;
117
118 /* This is the IEEE 854 quad-precision format. */
119 struct
120 {
121#if __BYTE_ORDER == __BIG_ENDIAN
122 unsigned int negative:1;
123 unsigned int exponent:15;
124 /* Together these comprise the mantissa. */
125 unsigned int mantissa0:16;
126 unsigned int mantissa1:32;
127 unsigned int mantissa2:32;
128 unsigned int mantissa3:32;
129#endif /* Big endian. */
130#if __BYTE_ORDER == __LITTLE_ENDIAN
131 /* Together these comprise the mantissa. */
132 unsigned int mantissa3:32;
133 unsigned int mantissa2:32;
134 unsigned int mantissa1:32;
135 unsigned int mantissa0:16;
136 unsigned int exponent:15;
137 unsigned int negative:1;
138#endif /* Little endian. */
139 } ieee;
140
141 /* This format makes it easier to see if a NaN is a signalling NaN. */
142 struct
143 {
144#if __BYTE_ORDER == __BIG_ENDIAN
145 unsigned int negative:1;
146 unsigned int exponent:15;
147 unsigned int quiet_nan:1;
148 /* Together these comprise the mantissa. */
149 unsigned int mantissa0:15;
150 unsigned int mantissa1:32;
151 unsigned int mantissa2:32;
152 unsigned int mantissa3:32;
153#else
154 /* Together these comprise the mantissa. */
155 unsigned int mantissa3:32;
156 unsigned int mantissa2:32;
157 unsigned int mantissa1:32;
158 unsigned int mantissa0:15;
159 unsigned int quiet_nan:1;
160 unsigned int exponent:15;
161 unsigned int negative:1;
162#endif
163 } ieee_nan;
164 };
165
166#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
167
168__END_DECLS
169
170#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/sys/asm.h deleted-66
......@@ -1,66 +0,0 @@
1/* Miscellaneous macros.
2 Copyright (C) 2000-2025 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_ASM_H
20#define _SYS_ASM_H
21
22/* Macros to handle different pointer/register sizes for 32/64-bit code. */
23#if __riscv_xlen == 64
24# define PTRLOG 3
25# define SZREG 8
26# define REG_S sd
27# define REG_L ld
28#elif __riscv_xlen == 32
29# define PTRLOG 2
30# define SZREG 4
31# define REG_S sw
32# define REG_L lw
33#else
34# error __riscv_xlen must equal 32 or 64
35#endif
36
37#if !defined __riscv_float_abi_soft
38/* For ABI uniformity, reserve 8 bytes for floats, even if double-precision
39 floating-point is not supported in hardware. */
40# if defined __riscv_float_abi_double
41# define FREG_L fld
42# define FREG_S fsd
43# define SZFREG 8
44# else
45# error unsupported FLEN
46# endif
47#endif
48
49/* Declare leaf routine. */
50#define LEAF(symbol) \
51 .globl symbol; \
52 .align 2; \
53 .type symbol,@function; \
54symbol: \
55 cfi_startproc;
56
57/* Mark end of function. */
58#undef END
59#define END(function) \
60 cfi_endproc; \
61 .size function,.-function
62
63/* Stack alignment. */
64#define ALMASK ~15
65
66#endif /* sys/asm.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/sys/cachectl.h deleted-32
......@@ -1,32 +0,0 @@
1/* RISC-V instruction cache flushing interface
2 Copyright (C) 2017-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_CACHECTL_H
21#define _SYS_CACHECTL_H 1
22
23#include <features.h>
24
25__BEGIN_DECLS
26
27extern int __riscv_flush_icache (void *__start, void *__end,
28 unsigned long int __flags);
29
30__END_DECLS
31
32#endif /* sys/cachectl.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/sys/ucontext.h deleted-110
......@@ -1,110 +0,0 @@
1/* struct ucontext definition, RISC-V version.
2 Copyright (C) 1997-2025 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/* Don't rely on this, the interface is currently messed up and may need to
20 be broken to be fixed. */
21#ifndef _SYS_UCONTEXT_H
22#define _SYS_UCONTEXT_H 1
23
24#include <features.h>
25
26#include <bits/types/sigset_t.h>
27#include <bits/types/stack_t.h>
28
29typedef unsigned long int __riscv_mc_gp_state[32];
30
31#ifdef __USE_MISC
32# define NGREG 32
33
34# define REG_PC 0
35# define REG_RA 1
36# define REG_SP 2
37# define REG_TP 4
38# define REG_S0 8
39# define REG_S1 9
40# define REG_A0 10
41# define REG_S2 18
42# define REG_NARGS 8
43
44typedef unsigned long int greg_t;
45
46/* Container for all general registers. */
47typedef __riscv_mc_gp_state gregset_t;
48
49/* Container for floating-point state. */
50typedef union __riscv_mc_fp_state fpregset_t;
51#endif
52
53struct __riscv_mc_f_ext_state
54 {
55 unsigned int __f[32];
56 unsigned int __fcsr;
57 };
58
59struct __riscv_mc_d_ext_state
60 {
61 unsigned long long int __f[32];
62 unsigned int __fcsr;
63 };
64
65struct __riscv_mc_q_ext_state
66 {
67 unsigned long long int __f[64] __attribute__ ((__aligned__ (16)));
68 unsigned int __fcsr;
69 /* Reserved for expansion of sigcontext structure. Currently zeroed
70 upon signal, and must be zero upon sigreturn. */
71 unsigned int __glibc_reserved[3];
72 };
73
74union __riscv_mc_fp_state
75 {
76 struct __riscv_mc_f_ext_state __f;
77 struct __riscv_mc_d_ext_state __d;
78 struct __riscv_mc_q_ext_state __q;
79 };
80
81typedef struct mcontext_t
82 {
83 __riscv_mc_gp_state __gregs;
84 union __riscv_mc_fp_state __fpregs;
85 } mcontext_t;
86
87/* Userlevel context. */
88typedef struct ucontext_t
89 {
90 unsigned long int __uc_flags;
91 struct ucontext_t *uc_link;
92 stack_t uc_stack;
93 sigset_t uc_sigmask;
94 /* There's some padding here to allow sigset_t to be expanded in the
95 future. Though this is unlikely, other architectures put uc_sigmask
96 at the end of this structure and explicitly state it can be
97 expanded, so we didn't want to box ourselves in here. */
98 char __glibc_reserved[1024 / 8 - sizeof (sigset_t)];
99 /* We can't put uc_sigmask at the end of this structure because we need
100 to be able to expand sigcontext in the future. For example, the
101 vector ISA extension will almost certainly add ISA state. We want
102 to ensure all user-visible ISA state can be saved and restored via a
103 ucontext, so we're putting this at the end in order to allow for
104 infinite extensibility. Since we know this will be extended and we
105 assume sigset_t won't be extended an extreme amount, we're
106 prioritizing this. */
107 mcontext_t uc_mcontext;
108 } ucontext_t;
109
110#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/riscv32-linux-gnu/sys/user.h deleted-23
......@@ -1,23 +0,0 @@
1/* Copyright (C) 2001-2025 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_USER_H
19#define _SYS_USER_H 1
20
21
22
23#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/endianness.h deleted-11
......@@ -1,11 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* RISC-V is little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/environments.h deleted-81
......@@ -1,81 +0,0 @@
1/* Copyright (C) 2020-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* We can never provide environments with 32-bit wide pointers. */
45# define _POSIX_V7_ILP32_OFF32 -1
46# define _POSIX_V7_ILP32_OFFBIG -1
47# define _POSIX_V6_ILP32_OFF32 -1
48# define _POSIX_V6_ILP32_OFFBIG -1
49# define _XBS5_ILP32_OFF32 -1
50# define _XBS5_ILP32_OFFBIG -1
51/* We also have no use (for now) for an environment with bigger pointers
52 and offsets. */
53# define _POSIX_V7_LPBIG_OFFBIG -1
54# define _POSIX_V6_LPBIG_OFFBIG -1
55# define _XBS5_LPBIG_OFFBIG -1
56
57/* By default we have 64-bit wide `long int', pointers and `off_t'. */
58# define _POSIX_V7_LP64_OFF64 1
59# define _POSIX_V6_LP64_OFF64 1
60# define _XBS5_LP64_OFF64 1
61
62#else /* __WORDSIZE == 32 */
63
64/* RISC-V requires 64-bit off_t */
65# define _POSIX_V7_ILP32_OFF32 -1
66# define _POSIX_V6_ILP32_OFF32 -1
67# define _XBS5_ILP32_OFF32 -1
68
69# define _POSIX_V7_ILP32_OFFBIG 1
70# define _POSIX_V6_ILP32_OFFBIG 1
71# define _XBS5_ILP32_OFFBIG 1
72
73/* We can never provide environments with 64-bit wide pointers. */
74# define _POSIX_V7_LP64_OFF64 -1
75# define _POSIX_V7_LPBIG_OFFBIG -1
76# define _POSIX_V6_LP64_OFF64 -1
77# define _POSIX_V6_LPBIG_OFFBIG -1
78# define _XBS5_LP64_OFF64 -1
79# define _XBS5_LPBIG_OFFBIG -1
80
81#endif /* __WORDSIZE == 32 */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/fcntl.h deleted-62
......@@ -1,62 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux / RISC-V.
2 Copyright (C) 2011-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _FCNTL_H
21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
22#endif
23
24#include <bits/wordsize.h>
25
26/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
27 non-64-bit versions. It will need to be revised for 128-bit. */
28#if __WORDSIZE == 64
29# define __O_LARGEFILE 0
30
31# define F_GETLK64 5 /* Get record locking info. */
32# define F_SETLK64 6 /* Set record locking info (non-blocking). */
33# define F_SETLKW64 7 /* Set record locking info (blocking). */
34#endif
35
36struct flock
37 {
38 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
39 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
40#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
41 __off_t l_start; /* Offset where the lock begins. */
42 __off_t l_len; /* Size of the locked area; zero means until EOF. */
43#else
44 __off64_t l_start; /* Offset where the lock begins. */
45 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
46#endif
47 __pid_t l_pid; /* Process holding the lock. */
48 };
49
50#ifdef __USE_LARGEFILE64
51struct flock64
52 {
53 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
54 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
55 __off64_t l_start; /* Offset where the lock begins. */
56 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
57 __pid_t l_pid; /* Process holding the lock. */
58 };
59#endif
60
61/* Include generic Linux declarations. */
62#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/fenv.h deleted-74
......@@ -1,74 +0,0 @@
1/* Floating point environment, RISC-V version.
2 Copyright (C) 1998-2025 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 _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21#endif
22
23enum
24 {
25 FE_INEXACT =
26#define FE_INEXACT (0x01)
27 FE_INEXACT,
28 FE_UNDERFLOW =
29#define FE_UNDERFLOW (0x02)
30 FE_UNDERFLOW,
31 FE_OVERFLOW =
32#define FE_OVERFLOW (0x04)
33 FE_OVERFLOW,
34 FE_DIVBYZERO =
35#define FE_DIVBYZERO (0x08)
36 FE_DIVBYZERO,
37 FE_INVALID =
38#define FE_INVALID (0x10)
39 FE_INVALID
40 };
41
42#define FE_ALL_EXCEPT \
43 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
44
45enum
46 {
47 FE_TONEAREST =
48#define FE_TONEAREST (0x0)
49 FE_TONEAREST,
50 FE_TOWARDZERO =
51#define FE_TOWARDZERO (0x1)
52 FE_TOWARDZERO,
53 FE_DOWNWARD =
54#define FE_DOWNWARD (0x2)
55 FE_DOWNWARD,
56 FE_UPWARD =
57#define FE_UPWARD (0x3)
58 FE_UPWARD
59 };
60
61
62typedef unsigned int fexcept_t;
63typedef unsigned int fenv_t;
64
65/* If the default argument is used we use this value. */
66#define FE_DFL_ENV ((__const fenv_t *) -1)
67
68#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
69/* Type representing floating-point control modes. */
70typedef unsigned int femode_t;
71
72/* Default floating-point control modes. */
73# define FE_DFL_MODE ((const femode_t *) -1L)
74#endif
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/link.h deleted-56
......@@ -1,56 +0,0 @@
1/* Machine-specific declarations for dynamic linker interface. RISC-V version.
2 Copyright (C) 2005-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23typedef struct La_riscv_regs
24{
25 unsigned long int lr_reg[8]; /* a0 - a7 */
26 double lr_fpreg[8]; /* fa0 - fa7 */
27 unsigned long int lr_ra;
28 unsigned long int lr_sp;
29} La_riscv_regs;
30
31/* Return values for calls from PLT on RISC-V. */
32typedef struct La_riscv_retval
33{
34 unsigned long int lrv_a0;
35 unsigned long int lrv_a1;
36 double lrv_fa0;
37 double lrv_fa1;
38} La_riscv_retval;
39
40__BEGIN_DECLS
41
42extern ElfW(Addr) la_riscv_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx,
43 uintptr_t *__refcook,
44 uintptr_t *__defcook,
45 La_riscv_regs *__regs,
46 unsigned int *__flags,
47 const char *__symname,
48 long int *__framesizep);
49extern unsigned int la_riscv_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx,
50 uintptr_t *__refcook,
51 uintptr_t *__defcook,
52 const La_riscv_regs *__inregs,
53 La_riscv_retval *__outregs,
54 const char *__symname);
55
56__END_DECLS
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/long-double.h deleted-21
......@@ -1,21 +0,0 @@
1/* Properties of long double type. ldbl-128 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/procfs.h deleted-31
......@@ -1,31 +0,0 @@
1/* Types for registers for sys/procfs.h. RISC-V version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <sys/ucontext.h>
24
25/* ELF register definitions */
26#define ELF_NGREG NGREG
27#define ELF_NFPREG NFPREG
28
29typedef unsigned long int elf_greg_t;
30typedef unsigned long int elf_gregset_t[32];
31typedef union __riscv_mc_fp_state elf_fpregset_t;
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h deleted-45
......@@ -1,45 +0,0 @@
1/* Machine-specific pthread type layouts. RISC-V version.
2 Copyright (C) 2011-2025 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
25#define __SIZEOF_PTHREAD_COND_T 48
26#define __SIZEOF_PTHREAD_CONDATTR_T 4
27#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
28#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
29
30#if __WORDSIZE == 64
31# define __SIZEOF_PTHREAD_ATTR_T 56
32# define __SIZEOF_PTHREAD_MUTEX_T 40
33# define __SIZEOF_PTHREAD_RWLOCK_T 56
34# define __SIZEOF_PTHREAD_BARRIER_T 32
35#else
36# define __SIZEOF_PTHREAD_ATTR_T 32
37# define __SIZEOF_PTHREAD_MUTEX_T 32
38# define __SIZEOF_PTHREAD_RWLOCK_T 48
39# define __SIZEOF_PTHREAD_BARRIER_T 20
40#endif
41
42#define __LOCK_ALIGNMENT
43#define __ONCE_ALIGNMENT
44
45#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/rseq.h deleted-44
......@@ -1,44 +0,0 @@
1/* Restartable Sequences Linux riscv architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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#include <bits/endian.h>
19
20#ifndef _SYS_RSEQ_H
21# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
22#endif
23
24/* RSEQ_SIG is a signature required before each abort handler code.
25
26 It is a 32-bit value that maps to actual architecture code compiled
27 into applications and libraries. It needs to be defined for each
28 architecture. When choosing this value, it needs to be taken into
29 account that generating invalid instructions may have ill effects on
30 tools like objdump, and may also have impact on the CPU speculative
31 execution efficiency in some cases.
32
33 Select the instruction "csrw mhartid, x0" as the RSEQ_SIG. Unlike
34 other architectures, the ebreak instruction has no immediate field for
35 distinguishing purposes. Hence, ebreak is not suitable as RSEQ_SIG.
36 "csrw mhartid, x0" can also satisfy the RSEQ requirement because it
37 is an uncommon instruction and will raise an illegal instruction
38 exception when executed in all modes. */
39
40#if __BYTE_ORDER == __LITTLE_ENDIAN
41#define RSEQ_SIG 0xf1401073
42#else
43/* RSEQ is currently only supported on Little-Endian. */
44#endif
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/setjmp.h deleted-39
......@@ -1,39 +0,0 @@
1/* Define the machine-dependent type `jmp_buf'. RISC-V version.
2 Copyright (C) 2011-2025 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 _RISCV_BITS_SETJMP_H
20#define _RISCV_BITS_SETJMP_H
21
22typedef struct __jmp_buf_internal_tag
23 {
24 /* Program counter. */
25 long int __pc;
26 /* Callee-saved registers. */
27 long int __regs[12];
28 /* Stack pointer. */
29 long int __sp;
30
31 /* Callee-saved floating point registers. */
32#if defined __riscv_float_abi_double
33 double __fpregs[12];
34#elif !defined __riscv_float_abi_soft
35# error unsupported FLEN
36#endif
37 } __jmp_buf[1];
38
39#endif /* _RISCV_BITS_SETJMP_H */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h deleted-31
......@@ -1,31 +0,0 @@
1/* Machine-dependent signal context structure for Linux. RISC-V version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc. 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 _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 1
20
21#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
22# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
23#endif
24
25struct sigcontext {
26 /* gregs[0] holds the program counter. */
27 unsigned long int gregs[32];
28 unsigned long long int fpregs[66] __attribute__ ((__aligned__ (16)));
29};
30
31#endif
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h deleted-68
......@@ -1,68 +0,0 @@
1/* RISC-V internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23/* There is a lot of padding in this structure. While it's not strictly
24 necessary on RISC-V, we're going to leave it in to be on the safe side in
25 case it's needed in the future. Most other architectures have the padding,
26 so this gives us the same extensibility as everyone else has. */
27struct __pthread_rwlock_arch_t
28{
29 unsigned int __readers;
30 unsigned int __writers;
31 unsigned int __wrphase_futex;
32 unsigned int __writers_futex;
33 unsigned int __pad3;
34 unsigned int __pad4;
35#if __WORDSIZE == 64
36 int __cur_writer;
37 int __shared;
38 unsigned long int __pad1;
39 unsigned long int __pad2;
40 unsigned int __flags;
41#else
42# if __BYTE_ORDER == __BIG_ENDIAN
43 unsigned char __pad1;
44 unsigned char __pad2;
45 unsigned char __shared;
46 unsigned char __flags;
47# else
48 unsigned char __flags;
49 unsigned char __shared;
50 unsigned char __pad1;
51 unsigned char __pad2;
52# endif
53 int __cur_writer;
54#endif
55};
56
57#if __WORDSIZE == 64
58# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
59 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
60#elif __BYTE_ORDER == __BIG_ENDIAN
61# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
62 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
63#else
64# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
65 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
66#endif
67
68#endif
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h deleted-127
......@@ -1,127 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29#if defined __USE_FILE_OFFSET64
30# define __field64(type, type64, name) type64 name
31#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
32# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
33# error "ino_t and off_t must both be the same type"
34# endif
35# define __field64(type, type64, name) type name
36#elif __BYTE_ORDER == __LITTLE_ENDIAN
37# define __field64(type, type64, name) \
38 type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
39#else
40# define __field64(type, type64, name) \
41 int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
42#endif
43
44struct stat
45 {
46 __dev_t st_dev; /* Device. */
47 __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */
48 __mode_t st_mode; /* File mode. */
49 __nlink_t st_nlink; /* Link count. */
50 __uid_t st_uid; /* User ID of the file's owner. */
51 __gid_t st_gid; /* Group ID of the file's group.*/
52 __dev_t st_rdev; /* Device number, if device. */
53 __dev_t __pad1;
54 __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */
55 __blksize_t st_blksize; /* Optimal block size for I/O. */
56 int __pad2;
57 __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */
58#ifdef __USE_XOPEN2K8
59 /* Nanosecond resolution timestamps are stored in a format
60 equivalent to 'struct timespec'. This is the type used
61 whenever possible but the Unix namespace rules do not allow the
62 identifier 'timespec' to appear in the <sys/stat.h> header.
63 Therefore we have to handle the use of this header in strictly
64 standard-compliant sources special. */
65 struct timespec st_atim; /* Time of last access. */
66 struct timespec st_mtim; /* Time of last modification. */
67 struct timespec st_ctim; /* Time of last status change. */
68# define st_atime st_atim.tv_sec /* Backward compatibility. */
69# define st_mtime st_mtim.tv_sec
70# define st_ctime st_ctim.tv_sec
71#else
72 __time_t st_atime; /* Time of last access. */
73 unsigned long int st_atimensec; /* Nscecs of last access. */
74 __time_t st_mtime; /* Time of last modification. */
75 unsigned long int st_mtimensec; /* Nsecs of last modification. */
76 __time_t st_ctime; /* Time of last status change. */
77 unsigned long int st_ctimensec; /* Nsecs of last status change. */
78#endif
79 int __glibc_reserved[2];
80 };
81
82#undef __field64
83
84#ifdef __USE_LARGEFILE64
85struct stat64
86 {
87 __dev_t st_dev; /* Device. */
88 __ino64_t st_ino; /* File serial number. */
89 __mode_t st_mode; /* File mode. */
90 __nlink_t st_nlink; /* Link count. */
91 __uid_t st_uid; /* User ID of the file's owner. */
92 __gid_t st_gid; /* Group ID of the file's group.*/
93 __dev_t st_rdev; /* Device number, if device. */
94 __dev_t __pad1;
95 __off64_t st_size; /* Size of file, in bytes. */
96 __blksize_t st_blksize; /* Optimal block size for I/O. */
97 int __pad2;
98 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
99#ifdef __USE_XOPEN2K8
100 /* Nanosecond resolution timestamps are stored in a format
101 equivalent to 'struct timespec'. This is the type used
102 whenever possible but the Unix namespace rules do not allow the
103 identifier 'timespec' to appear in the <sys/stat.h> header.
104 Therefore we have to handle the use of this header in strictly
105 standard-compliant sources special. */
106 struct timespec st_atim; /* Time of last access. */
107 struct timespec st_mtim; /* Time of last modification. */
108 struct timespec st_ctim; /* Time of last status change. */
109#else
110 __time_t st_atime; /* Time of last access. */
111 unsigned long int st_atimensec; /* Nscecs of last access. */
112 __time_t st_mtime; /* Time of last modification. */
113 unsigned long int st_mtimensec; /* Nsecs of last modification. */
114 __time_t st_ctime; /* Time of last status change. */
115 unsigned long int st_ctimensec; /* Nsecs of last status change. */
116#endif
117 int __glibc_reserved[2];
118 };
119#endif
120
121/* Tell code we have these members. */
122#define _STATBUF_ST_BLKSIZE
123#define _STATBUF_ST_RDEV
124/* Nanosecond resolution time values are supported. */
125#define _STATBUF_ST_NSEC
126
127#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/time64.h deleted-36
......@@ -1,36 +0,0 @@
1/* bits/time64.h -- underlying types for __time64_t. RISC-V version.
2 Copyright (C) 2020-2025 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_TYPES_H
20# error "Never include <bits/time64.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TIME64_H
24#define _BITS_TIME64_H 1
25
26/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */
27
28#if __WORDSIZE == 64
29/* If we already have 64-bit time type then use it. */
30# define __TIME64_T_TYPE __TIME_T_TYPE
31#else
32/* Define a 64-bit time type alongsize the 32-bit one. */
33# define __TIME64_T_TYPE __SQUAD_TYPE
34#endif
35
36#endif /* bits/time64.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/timesize.h deleted-20
......@@ -1,20 +0,0 @@
1/* Bit size of the time_t type at glibc build time, general case.
2 Copyright (C) 2018-2025 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/* Size in bits of the 'time_t' type of the default ABI. */
20#define __TIMESIZE 64
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/wordsize.h deleted-30
......@@ -1,30 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. RISC-V version.
2 Copyright (C) 2002-2025 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 __riscv_xlen == (__SIZEOF_POINTER__ * 8)
20# define __WORDSIZE __riscv_xlen
21#else
22# error unsupported ABI
23#endif
24
25#define __WORDSIZE_TIME64_COMPAT32 1
26
27#if __WORDSIZE == 32
28# define __WORDSIZE32_SIZE_ULONG 0
29# define __WORDSIZE32_PTRDIFF_LONG 0
30#endif
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/fpu_control.h deleted-74
......@@ -1,74 +0,0 @@
1/* FPU control word bits. RISC-V version.
2 Copyright (C) 1996-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H
21
22#include <features.h>
23
24#ifndef __riscv_flen
25
26# define _FPU_RESERVED 0xffffffff
27# define _FPU_DEFAULT 0x00000000
28typedef unsigned int fpu_control_t;
29# define _FPU_GETCW(cw) (cw) = 0
30# define _FPU_SETCW(cw) do { } while (0)
31extern fpu_control_t __fpu_control;
32
33#else /* __riscv_flen */
34
35# define _FPU_RESERVED 0
36# define _FPU_DEFAULT 0
37# define _FPU_IEEE _FPU_DEFAULT
38
39/* Type of the control word. */
40typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
41
42/* Macros for accessing the hardware control word. */
43# define _FPU_GETCW(cw) __asm__ volatile ("frsr %0" : "=r" (cw))
44# define _FPU_SETCW(cw) __asm__ volatile ("fssr %z0" : : "rJ" (cw))
45
46/* Default control word set at startup. */
47extern fpu_control_t __fpu_control;
48
49# define _FCLASS(x) (__extension__ ({ int __res; \
50 if (sizeof (x) * 8 > __riscv_flen) __builtin_trap (); \
51 if (sizeof (x) == 4) asm ("fclass.s %0, %1" : "=r" (__res) : "f" (x)); \
52 else if (sizeof (x) == 8) asm ("fclass.d %0, %1" : "=r" (__res) : "f" (x)); \
53 else __builtin_trap (); \
54 __res; }))
55
56# define _FCLASS_MINF (1 << 0)
57# define _FCLASS_MNORM (1 << 1)
58# define _FCLASS_MSUBNORM (1 << 2)
59# define _FCLASS_MZERO (1 << 3)
60# define _FCLASS_PZERO (1 << 4)
61# define _FCLASS_PSUBNORM (1 << 5)
62# define _FCLASS_PNORM (1 << 6)
63# define _FCLASS_PINF (1 << 7)
64# define _FCLASS_SNAN (1 << 8)
65# define _FCLASS_QNAN (1 << 9)
66# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO)
67# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM)
68# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM)
69# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF)
70# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN)
71
72#endif /* __riscv_flen */
73
74#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h deleted-27
......@@ -1,27 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-lp64d.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_RISCV64_LP64D_SO "ld-linux-riscv64-lp64d.so.1"
7#define LD_SO "ld-linux-riscv64-lp64d.so.1"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/gnu/lib-names.h deleted-22
......@@ -1,22 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32 && defined __riscv_float_abi_soft
10# include <gnu/lib-names-ilp32.h>
11#endif
12#if __WORDSIZE == 32 && defined __riscv_float_abi_double
13# include <gnu/lib-names-ilp32d.h>
14#endif
15#if __WORDSIZE == 64 && defined __riscv_float_abi_soft
16# include <gnu/lib-names-lp64.h>
17#endif
18#if __WORDSIZE == 64 && defined __riscv_float_abi_double
19# include <gnu/lib-names-lp64d.h>
20#endif
21
22#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h deleted-24
......@@ -1,24 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_query_module
14#define __stub___compat_uselib
15#define __stub_chflags
16#define __stub_fchflags
17#define __stub_fedisableexcept
18#define __stub_feenableexcept
19#define __stub_fegetexcept
20#define __stub_gtty
21#define __stub_revoke
22#define __stub_setlogin
23#define __stub_sigreturn
24#define __stub_stty
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/gnu/stubs.h deleted-18
......@@ -1,18 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32 && defined __riscv_float_abi_soft
8# include <gnu/stubs-ilp32.h>
9#endif
10#if __WORDSIZE == 32 && defined __riscv_float_abi_double
11# include <gnu/stubs-ilp32d.h>
12#endif
13#if __WORDSIZE == 64 && defined __riscv_float_abi_soft
14# include <gnu/stubs-lp64.h>
15#endif
16#if __WORDSIZE == 64 && defined __riscv_float_abi_double
17# include <gnu/stubs-lp64d.h>
18#endif
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/ieee754.h deleted-170
......@@ -1,170 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25__BEGIN_DECLS
26
27union ieee754_float
28 {
29 float f;
30
31 /* This is the IEEE 754 single-precision format. */
32 struct
33 {
34#if __BYTE_ORDER == __BIG_ENDIAN
35 unsigned int negative:1;
36 unsigned int exponent:8;
37 unsigned int mantissa:23;
38#endif /* Big endian. */
39#if __BYTE_ORDER == __LITTLE_ENDIAN
40 unsigned int mantissa:23;
41 unsigned int exponent:8;
42 unsigned int negative:1;
43#endif /* Little endian. */
44 } ieee;
45
46 /* This format makes it easier to see if a NaN is a signalling NaN. */
47 struct
48 {
49#if __BYTE_ORDER == __BIG_ENDIAN
50 unsigned int negative:1;
51 unsigned int exponent:8;
52 unsigned int quiet_nan:1;
53 unsigned int mantissa:22;
54#endif /* Big endian. */
55#if __BYTE_ORDER == __LITTLE_ENDIAN
56 unsigned int mantissa:22;
57 unsigned int quiet_nan:1;
58 unsigned int exponent:8;
59 unsigned int negative:1;
60#endif /* Little endian. */
61 } ieee_nan;
62 };
63
64#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
65
66
67union ieee754_double
68 {
69 double d;
70
71 /* This is the IEEE 754 double-precision format. */
72 struct
73 {
74#if __BYTE_ORDER == __BIG_ENDIAN
75 unsigned int negative:1;
76 unsigned int exponent:11;
77 /* Together these comprise the mantissa. */
78 unsigned int mantissa0:20;
79 unsigned int mantissa1:32;
80#endif /* Big endian. */
81#if __BYTE_ORDER == __LITTLE_ENDIAN
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa1:32;
84 unsigned int mantissa0:20;
85 unsigned int exponent:11;
86 unsigned int negative:1;
87#endif /* Little endian. */
88 } ieee;
89
90 /* This format makes it easier to see if a NaN is a signalling NaN. */
91 struct
92 {
93#if __BYTE_ORDER == __BIG_ENDIAN
94 unsigned int negative:1;
95 unsigned int exponent:11;
96 unsigned int quiet_nan:1;
97 /* Together these comprise the mantissa. */
98 unsigned int mantissa0:19;
99 unsigned int mantissa1:32;
100#else
101 /* Together these comprise the mantissa. */
102 unsigned int mantissa1:32;
103 unsigned int mantissa0:19;
104 unsigned int quiet_nan:1;
105 unsigned int exponent:11;
106 unsigned int negative:1;
107#endif
108 } ieee_nan;
109 };
110
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112
113
114union ieee854_long_double
115 {
116 long double d;
117
118 /* This is the IEEE 854 quad-precision format. */
119 struct
120 {
121#if __BYTE_ORDER == __BIG_ENDIAN
122 unsigned int negative:1;
123 unsigned int exponent:15;
124 /* Together these comprise the mantissa. */
125 unsigned int mantissa0:16;
126 unsigned int mantissa1:32;
127 unsigned int mantissa2:32;
128 unsigned int mantissa3:32;
129#endif /* Big endian. */
130#if __BYTE_ORDER == __LITTLE_ENDIAN
131 /* Together these comprise the mantissa. */
132 unsigned int mantissa3:32;
133 unsigned int mantissa2:32;
134 unsigned int mantissa1:32;
135 unsigned int mantissa0:16;
136 unsigned int exponent:15;
137 unsigned int negative:1;
138#endif /* Little endian. */
139 } ieee;
140
141 /* This format makes it easier to see if a NaN is a signalling NaN. */
142 struct
143 {
144#if __BYTE_ORDER == __BIG_ENDIAN
145 unsigned int negative:1;
146 unsigned int exponent:15;
147 unsigned int quiet_nan:1;
148 /* Together these comprise the mantissa. */
149 unsigned int mantissa0:15;
150 unsigned int mantissa1:32;
151 unsigned int mantissa2:32;
152 unsigned int mantissa3:32;
153#else
154 /* Together these comprise the mantissa. */
155 unsigned int mantissa3:32;
156 unsigned int mantissa2:32;
157 unsigned int mantissa1:32;
158 unsigned int mantissa0:15;
159 unsigned int quiet_nan:1;
160 unsigned int exponent:15;
161 unsigned int negative:1;
162#endif
163 } ieee_nan;
164 };
165
166#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
167
168__END_DECLS
169
170#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/sys/asm.h deleted-66
......@@ -1,66 +0,0 @@
1/* Miscellaneous macros.
2 Copyright (C) 2000-2025 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_ASM_H
20#define _SYS_ASM_H
21
22/* Macros to handle different pointer/register sizes for 32/64-bit code. */
23#if __riscv_xlen == 64
24# define PTRLOG 3
25# define SZREG 8
26# define REG_S sd
27# define REG_L ld
28#elif __riscv_xlen == 32
29# define PTRLOG 2
30# define SZREG 4
31# define REG_S sw
32# define REG_L lw
33#else
34# error __riscv_xlen must equal 32 or 64
35#endif
36
37#if !defined __riscv_float_abi_soft
38/* For ABI uniformity, reserve 8 bytes for floats, even if double-precision
39 floating-point is not supported in hardware. */
40# if defined __riscv_float_abi_double
41# define FREG_L fld
42# define FREG_S fsd
43# define SZFREG 8
44# else
45# error unsupported FLEN
46# endif
47#endif
48
49/* Declare leaf routine. */
50#define LEAF(symbol) \
51 .globl symbol; \
52 .align 2; \
53 .type symbol,@function; \
54symbol: \
55 cfi_startproc;
56
57/* Mark end of function. */
58#undef END
59#define END(function) \
60 cfi_endproc; \
61 .size function,.-function
62
63/* Stack alignment. */
64#define ALMASK ~15
65
66#endif /* sys/asm.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/sys/cachectl.h deleted-32
......@@ -1,32 +0,0 @@
1/* RISC-V instruction cache flushing interface
2 Copyright (C) 2017-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_CACHECTL_H
21#define _SYS_CACHECTL_H 1
22
23#include <features.h>
24
25__BEGIN_DECLS
26
27extern int __riscv_flush_icache (void *__start, void *__end,
28 unsigned long int __flags);
29
30__END_DECLS
31
32#endif /* sys/cachectl.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/sys/ucontext.h deleted-110
......@@ -1,110 +0,0 @@
1/* struct ucontext definition, RISC-V version.
2 Copyright (C) 1997-2025 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/* Don't rely on this, the interface is currently messed up and may need to
20 be broken to be fixed. */
21#ifndef _SYS_UCONTEXT_H
22#define _SYS_UCONTEXT_H 1
23
24#include <features.h>
25
26#include <bits/types/sigset_t.h>
27#include <bits/types/stack_t.h>
28
29typedef unsigned long int __riscv_mc_gp_state[32];
30
31#ifdef __USE_MISC
32# define NGREG 32
33
34# define REG_PC 0
35# define REG_RA 1
36# define REG_SP 2
37# define REG_TP 4
38# define REG_S0 8
39# define REG_S1 9
40# define REG_A0 10
41# define REG_S2 18
42# define REG_NARGS 8
43
44typedef unsigned long int greg_t;
45
46/* Container for all general registers. */
47typedef __riscv_mc_gp_state gregset_t;
48
49/* Container for floating-point state. */
50typedef union __riscv_mc_fp_state fpregset_t;
51#endif
52
53struct __riscv_mc_f_ext_state
54 {
55 unsigned int __f[32];
56 unsigned int __fcsr;
57 };
58
59struct __riscv_mc_d_ext_state
60 {
61 unsigned long long int __f[32];
62 unsigned int __fcsr;
63 };
64
65struct __riscv_mc_q_ext_state
66 {
67 unsigned long long int __f[64] __attribute__ ((__aligned__ (16)));
68 unsigned int __fcsr;
69 /* Reserved for expansion of sigcontext structure. Currently zeroed
70 upon signal, and must be zero upon sigreturn. */
71 unsigned int __glibc_reserved[3];
72 };
73
74union __riscv_mc_fp_state
75 {
76 struct __riscv_mc_f_ext_state __f;
77 struct __riscv_mc_d_ext_state __d;
78 struct __riscv_mc_q_ext_state __q;
79 };
80
81typedef struct mcontext_t
82 {
83 __riscv_mc_gp_state __gregs;
84 union __riscv_mc_fp_state __fpregs;
85 } mcontext_t;
86
87/* Userlevel context. */
88typedef struct ucontext_t
89 {
90 unsigned long int __uc_flags;
91 struct ucontext_t *uc_link;
92 stack_t uc_stack;
93 sigset_t uc_sigmask;
94 /* There's some padding here to allow sigset_t to be expanded in the
95 future. Though this is unlikely, other architectures put uc_sigmask
96 at the end of this structure and explicitly state it can be
97 expanded, so we didn't want to box ourselves in here. */
98 char __glibc_reserved[1024 / 8 - sizeof (sigset_t)];
99 /* We can't put uc_sigmask at the end of this structure because we need
100 to be able to expand sigcontext in the future. For example, the
101 vector ISA extension will almost certainly add ISA state. We want
102 to ensure all user-visible ISA state can be saved and restored via a
103 ucontext, so we're putting this at the end in order to allow for
104 infinite extensibility. Since we know this will be extended and we
105 assume sigset_t won't be extended an extreme amount, we're
106 prioritizing this. */
107 mcontext_t uc_mcontext;
108 } ucontext_t;
109
110#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/sys/user.h deleted-23
......@@ -1,23 +0,0 @@
1/* Copyright (C) 2001-2025 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_USER_H
19#define _SYS_USER_H 1
20
21
22
23#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h created+27
......@@ -0,0 +1,27 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-64.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_SO "ld-linux.so.2"
7#define LD_SO "ld-linux.so.2"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/a.out.h deleted-174
......@@ -1,174 +0,0 @@
1#ifndef __A_OUT_GNU_H__
2#define __A_OUT_GNU_H__
3
4#include <bits/a.out.h>
5
6#define __GNU_EXEC_MACROS__
7
8struct exec
9{
10 unsigned char a_dynamic:1; /* A __DYNAMIC is in this image. */
11 unsigned char a_toolversion:7;
12 unsigned char a_machtype;
13 unsigned short a_info;
14 unsigned int a_text; /* Length of text, in bytes. */
15 unsigned int a_data; /* Length of data, in bytes. */
16 unsigned int a_bss; /* Length of bss, in bytes. */
17 unsigned int a_syms; /* Length of symbol table, in bytes. */
18 unsigned int a_entry; /* Where program begins. */
19 unsigned int a_trsize;
20 unsigned int a_drsize;
21};
22
23enum machine_type
24{
25 M_OLDSUN2 = 0,
26 M_68010 = 1,
27 M_68020 = 2,
28 M_SPARC = 3,
29 M_386 = 100,
30 M_MIPS1 = 151,
31 M_MIPS2 = 152
32};
33
34#define N_MAGIC(exec) ((exec).a_info & 0xffff)
35#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
36#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff)
37#define N_SET_INFO(exec, magic, type, flags) \
38 ((exec).a_info = ((magic) & 0xffff) \
39 | (((int)(type) & 0xff) << 16) \
40 | (((flags) & 0xff) << 24))
41#define N_SET_MAGIC(exec, magic) \
42 ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff))
43#define N_SET_MACHTYPE(exec, machtype) \
44 ((exec).a_info = \
45 ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
46#define N_SET_FLAGS(exec, flags) \
47 ((exec).a_info = \
48 ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
49
50/* Code indicating object file or impure executable. */
51#define OMAGIC 0407
52/* Code indicating pure executable. */
53#define NMAGIC 0410
54/* Code indicating demand-paged executable. */
55#define ZMAGIC 0413
56/* This indicates a demand-paged executable with the header in the text.
57 The first page is unmapped to help trap NULL pointer references. */
58#define QMAGIC 0314
59/* Code indicating core file. */
60#define CMAGIC 0421
61
62#define N_TRSIZE(a) ((a).a_trsize)
63#define N_DRSIZE(a) ((a).a_drsize)
64#define N_SYMSIZE(a) ((a).a_syms)
65#define N_BADMAG(x) \
66 (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \
67 && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC)
68#define _N_HDROFF(x) (1024 - sizeof (struct exec))
69#define N_TXTOFF(x) \
70 (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
71#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text)
72#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data)
73#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x))
74#define N_SYMOFF(x) \
75 (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize)
76#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x))
77
78#define SPARC_PGSIZE 0x2000
79
80/* Address of text segment in memory after it is loaded. */
81#define N_TXTADDR(x) \
82 (unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \
83 ? 0 : SPARC_PGSIZE)
84
85/* Address of data segment in memory after it is loaded. */
86#define SEGMENT_SIZE SPARC_PGSIZE
87
88#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))
89#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text)
90
91#define N_DATADDR(x) \
92 (N_MAGIC(x)==OMAGIC \
93 ? (N_TXTADDR(x) + (x).a_text) \
94 : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
95#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
96
97#if !defined (N_NLIST_DECLARED)
98struct nlist
99{
100 union
101 {
102 char *n_name;
103 struct nlist *n_next;
104 long n_strx;
105 } n_un;
106 unsigned char n_type;
107 char n_other;
108 short n_desc;
109 unsigned long n_value;
110};
111#endif /* no N_NLIST_DECLARED. */
112
113#define N_UNDF 0
114#define N_ABS 2
115#define N_TEXT 4
116#define N_DATA 6
117#define N_BSS 8
118#define N_FN 15
119#define N_EXT 1
120#define N_TYPE 036
121#define N_STAB 0340
122#define N_INDR 0xa
123#define N_SETA 0x14 /* Absolute set element symbol. */
124#define N_SETT 0x16 /* Text set element symbol. */
125#define N_SETD 0x18 /* Data set element symbol. */
126#define N_SETB 0x1A /* Bss set element symbol. */
127#define N_SETV 0x1C /* Pointer to set vector in data area. */
128
129#if !defined (N_RELOCATION_INFO_DECLARED)
130enum reloc_type
131{
132 RELOC_8,
133 RELOC_16,
134 RELOC_32,
135 RELOC_DISP8,
136 RELOC_DISP16,
137 RELOC_DISP32,
138 RELOC_WDISP30,
139 RELOC_WDISP22,
140 RELOC_HI22,
141 RELOC_22,
142 RELOC_13,
143 RELOC_LO10,
144 RELOC_SFA_BASE,
145 RELOC_SFA_OFF13,
146 RELOC_BASE10,
147 RELOC_BASE13,
148 RELOC_BASE22,
149 RELOC_PC10,
150 RELOC_PC22,
151 RELOC_JMP_TBL,
152 RELOC_SEGOFF16,
153 RELOC_GLOB_DAT,
154 RELOC_JMP_SLOT,
155 RELOC_RELATIVE
156};
157
158/* This structure describes a single relocation to be performed.
159 The text-relocation section of the file is a vector of these structures,
160 all of which apply to the text section.
161 Likewise, the data-relocation section applies to the data section. */
162
163struct relocation_info
164{
165 unsigned int r_address;
166 unsigned int r_index:24;
167 unsigned int r_extern:1;
168 int r_pad:2;
169 enum reloc_type r_type:5;
170 int r_addend;
171};
172#endif /* no N_RELOCATION_INFO_DECLARED. */
173
174#endif /* __A_OUT_GNU_H__ */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/a.out.h deleted-13
......@@ -1,13 +0,0 @@
1#ifndef __A_OUT_GNU_H__
2# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
3#endif
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 64
8
9/* Signal to users of this header that this architecture really doesn't
10 support a.out binary format. */
11#define __NO_A_OUT_SUPPORT 1
12
13#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/endianness.h deleted-16
......@@ -1,16 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* Sparc is big-endian, but v9 supports endian conversion on loads/stores
9 and GCC supports such a mode. Be prepared. */
10#ifdef __LITTLE_ENDIAN__
11# define __BYTE_ORDER __LITTLE_ENDIAN
12#else
13# define __BYTE_ORDER __BIG_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/environments.h deleted-96
......@@ -1,96 +0,0 @@
1/* Copyright (C) 1999-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* Environments with 32-bit wide pointers are optionally provided.
45 Therefore following macros aren't defined:
46 # undef _POSIX_V7_ILP32_OFF32
47 # undef _POSIX_V7_ILP32_OFFBIG
48 # undef _POSIX_V6_ILP32_OFF32
49 # undef _POSIX_V6_ILP32_OFFBIG
50 # undef _XBS5_ILP32_OFF32
51 # undef _XBS5_ILP32_OFFBIG
52 and users need to check at runtime. */
53
54/* We also have no use (for now) for an environment with bigger pointers
55 and offsets. */
56# define _POSIX_V7_LPBIG_OFFBIG -1
57# define _POSIX_V6_LPBIG_OFFBIG -1
58# define _XBS5_LPBIG_OFFBIG -1
59
60/* By default we have 64-bit wide `long int', pointers and `off_t'. */
61# define _POSIX_V7_LP64_OFF64 1
62# define _POSIX_V6_LP64_OFF64 1
63# define _XBS5_LP64_OFF64 1
64
65#else /* __WORDSIZE == 32 */
66
67/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
68 and all platforms support LFS. */
69# define _POSIX_V7_ILP32_OFF32 1
70# define _POSIX_V7_ILP32_OFFBIG 1
71# define _POSIX_V6_ILP32_OFF32 1
72# define _POSIX_V6_ILP32_OFFBIG 1
73# define _XBS5_ILP32_OFF32 1
74# define _XBS5_ILP32_OFFBIG 1
75
76/* We optionally provide an environment with the above size but an 64-bit
77 side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
78
79/* Environments with 64-bit wide pointers can be provided,
80 so these macros aren't defined:
81 # undef _POSIX_V7_LP64_OFF64
82 # undef _POSIX_V7_LPBIG_OFFBIG
83 # undef _POSIX_V6_LP64_OFF64
84 # undef _POSIX_V6_LPBIG_OFFBIG
85 # undef _XBS5_LP64_OFF64
86 # undef _XBS5_LPBIG_OFFBIG
87 and sysconf tests for it at runtime. */
88
89#endif /* __WORDSIZE == 32 */
90
91#define __ILP32_OFF32_CFLAGS "-m32"
92#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
93#define __ILP32_OFF32_LDFLAGS "-m32"
94#define __ILP32_OFFBIG_LDFLAGS "-m32"
95#define __LP64_OFF64_CFLAGS "-m64"
96#define __LP64_OFF64_LDFLAGS "-m64"
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/epoll.h deleted-27
......@@ -1,27 +0,0 @@
1/* Copyright (C) 2002-2025 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_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
20#endif
21
22/* Flags to be passed to epoll_create1. */
23enum
24 {
25 EPOLL_CLOEXEC = 0x400000
26#define EPOLL_CLOEXEC EPOLL_CLOEXEC
27 };
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/errno.h deleted-53
......@@ -1,53 +0,0 @@
1/* Error constants. Linux/Sparc specific version.
2 Copyright (C) 1996-2025 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_ERRNO_H
20#define _BITS_ERRNO_H 1
21
22#if !defined _ERRNO_H
23# error "Never include <bits/errno.h> directly; use <errno.h> instead."
24#endif
25
26# include <linux/errno.h>
27
28/* Older Linux headers do not define these constants. */
29# ifndef ENOTSUP
30# define ENOTSUP EOPNOTSUPP
31# endif
32
33# ifndef ECANCELED
34# define ECANCELED 127
35# endif
36
37# ifndef EOWNERDEAD
38# define EOWNERDEAD 132
39# endif
40
41# ifndef ENOTRECOVERABLE
42# define ENOTRECOVERABLE 133
43# endif
44
45# ifndef ERFKILL
46# define ERFKILL 134
47# endif
48
49# ifndef EHWPOISON
50# define EHWPOISON 135
51# endif
52
53#endif /* bits/errno.h. */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2025 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_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
20#endif
21
22/* Flags for eventfd. */
23enum
24 {
25 EFD_SEMAPHORE = 0x000001,
26#define EFD_SEMAPHORE EFD_SEMAPHORE
27 EFD_CLOEXEC = 0x400000,
28#define EFD_CLOEXEC EFD_CLOEXEC
29 EFD_NONBLOCK = 0x004000
30#define EFD_NONBLOCK EFD_NONBLOCK
31 };
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/fcntl.h deleted-101
......@@ -1,101 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux/SPARC.
2 Copyright (C) 1995-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#include <bits/wordsize.h>
24
25#define O_APPEND 0x0008
26#define O_ASYNC 0x0040
27#define O_CREAT 0x0200 /* not fcntl */
28#define O_TRUNC 0x0400 /* not fcntl */
29#define O_EXCL 0x0800 /* not fcntl */
30#define O_SYNC 0x802000
31#define O_NONBLOCK 0x4000
32#define O_NDELAY (0x0004 | O_NONBLOCK)
33#define O_NOCTTY 0x8000 /* not fcntl */
34
35#define __O_DIRECTORY 0x10000 /* must be a directory */
36#define __O_NOFOLLOW 0x20000 /* don't follow links */
37#define __O_CLOEXEC 0x400000 /* Set close_on_exit. */
38
39#define __O_DIRECT 0x100000 /* direct disk access hint */
40#define __O_NOATIME 0x200000 /* Do not set atime. */
41#define __O_PATH 0x1000000 /* Resolve pathname but do not open file. */
42#define __O_TMPFILE 0x2010000 /* Atomically create nameless file. */
43
44#if __WORDSIZE == 64
45# define __O_LARGEFILE 0
46#else
47# define __O_LARGEFILE 0x40000
48#endif
49
50#define __O_DSYNC 0x2000 /* Synchronize data. */
51
52
53#define __F_GETOWN 5 /* Get owner (process receiving SIGIO). */
54#define __F_SETOWN 6 /* Set owner (process receiving SIGIO). */
55
56#ifndef __USE_FILE_OFFSET64
57# define F_GETLK 7 /* Get record locking info. */
58# define F_SETLK 8 /* Set record locking info (non-blocking). */
59# define F_SETLKW 9 /* Set record locking info (blocking). */
60#endif
61
62#if __WORDSIZE == 64
63# define F_GETLK64 7 /* Get record locking info. */
64# define F_SETLK64 8 /* Set record locking info (non-blocking). */
65# define F_SETLKW64 9 /* Set record locking info (blocking). */
66#endif
67
68/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */
69#define F_RDLCK 1 /* Read lock. */
70#define F_WRLCK 2 /* Write lock. */
71#define F_UNLCK 3 /* Remove lock. */
72
73struct flock
74 {
75 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
76 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
77#ifndef __USE_FILE_OFFSET64
78 __off_t l_start; /* Offset where the lock begins. */
79 __off_t l_len; /* Size of the locked area; zero means until EOF. */
80#else
81 __off64_t l_start; /* Offset where the lock begins. */
82 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
83#endif
84 __pid_t l_pid; /* Process holding the lock. */
85 short int __glibc_reserved;
86 };
87
88#ifdef __USE_LARGEFILE64
89struct flock64
90 {
91 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
92 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
93 __off64_t l_start; /* Offset where the lock begins. */
94 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
95 __pid_t l_pid; /* Process holding the lock. */
96 short int __glibc_reserved;
97 };
98#endif
99
100/* Include generic Linux declarations. */
101#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/fenv.h deleted-92
......@@ -1,92 +0,0 @@
1/* Copyright (C) 1997-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22#include <bits/wordsize.h>
23
24
25/* Define bits representing the exception. We use the bit positions
26 of the appropriate accrued exception bits from the FSR. */
27enum
28 {
29 FE_INVALID =
30#define FE_INVALID (1 << 9)
31 FE_INVALID,
32 FE_OVERFLOW =
33#define FE_OVERFLOW (1 << 8)
34 FE_OVERFLOW,
35 FE_UNDERFLOW =
36#define FE_UNDERFLOW (1 << 7)
37 FE_UNDERFLOW,
38 FE_DIVBYZERO =
39#define FE_DIVBYZERO (1 << 6)
40 FE_DIVBYZERO,
41 FE_INEXACT =
42#define FE_INEXACT (1 << 5)
43 FE_INEXACT
44 };
45
46#define FE_ALL_EXCEPT \
47 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
48
49/* The Sparc FPU supports all of the four defined rounding modes. We
50 use again the bit positions in the FPU control word as the values
51 for the appropriate macros. */
52enum
53 {
54 FE_TONEAREST =
55#define FE_TONEAREST (0 << 30)
56 FE_TONEAREST,
57 FE_TOWARDZERO =
58#define FE_TOWARDZERO (1 << 30)
59 FE_TOWARDZERO,
60 FE_UPWARD =
61#define FE_UPWARD (-0x7fffffff - 1) /* (2 << 30) */
62 FE_UPWARD,
63 FE_DOWNWARD =
64#define FE_DOWNWARD (-0x40000000) /* (3 << 30) */
65 FE_DOWNWARD
66 };
67
68#define __FE_ROUND_MASK (3U << 30)
69
70
71/* Type representing exception flags. */
72typedef unsigned long int fexcept_t;
73
74
75/* Type representing floating-point environment. */
76typedef unsigned long int fenv_t;
77
78/* If the default argument is used we use this value. */
79#define FE_DFL_ENV ((const fenv_t *) -1)
80
81#ifdef __USE_GNU
82/* Floating-point environment where none of the exception is masked. */
83# define FE_NOMASK_ENV ((const fenv_t *) -2)
84#endif
85
86#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
87/* Type representing floating-point control modes. */
88typedef unsigned long int femode_t;
89
90/* Default floating-point control modes. */
91# define FE_DFL_MODE ((const femode_t *) -1L)
92#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/hwcap.h deleted-51
......@@ -1,51 +0,0 @@
1/* Defines for bits in AT_HWCAP.
2 Copyright (C) 2011-2025 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(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
21#endif
22
23#define HWCAP_SPARC_FLUSH 0x00000001
24#define HWCAP_SPARC_STBAR 0x00000002
25#define HWCAP_SPARC_SWAP 0x00000004
26#define HWCAP_SPARC_MULDIV 0x00000008
27#define HWCAP_SPARC_V9 0x00000010
28#define HWCAP_SPARC_ULTRA3 0x00000020
29#define HWCAP_SPARC_BLKINIT 0x00000040
30#define HWCAP_SPARC_N2 0x00000080
31#define HWCAP_SPARC_MUL32 0x00000100
32#define HWCAP_SPARC_DIV32 0x00000200
33#define HWCAP_SPARC_FSMULD 0x00000400
34#define HWCAP_SPARC_V8PLUS 0x00000800
35#define HWCAP_SPARC_POPC 0x00001000
36#define HWCAP_SPARC_VIS 0x00002000
37#define HWCAP_SPARC_VIS2 0x00004000
38#define HWCAP_SPARC_ASI_BLK_INIT 0x00008000
39#define HWCAP_SPARC_FMAF 0x00010000
40#define HWCAP_SPARC_VIS3 0x00020000
41#define HWCAP_SPARC_HPC 0x00040000
42#define HWCAP_SPARC_RANDOM 0x00080000
43#define HWCAP_SPARC_TRANS 0x00100000
44#define HWCAP_SPARC_FJFMAU 0x00200000
45#define HWCAP_SPARC_IMA 0x00400000
46#define HWCAP_SPARC_ASI_CACHE_SPARING \
47 0x00800000
48#define HWCAP_SPARC_PAUSE 0x01000000
49#define HWCAP_SPARC_CBCOND 0x02000000
50#define HWCAP_SPARC_CRYPTO 0x04000000
51#define HWCAP_SPARC_ADP 0x08000000
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2025 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_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
20#endif
21
22/* Flags for the parameter of inotify_init1. */
23enum
24 {
25 IN_CLOEXEC = 0x400000,
26#define IN_CLOEXEC IN_CLOEXEC
27 IN_NONBLOCK = 0x004000
28#define IN_NONBLOCK IN_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/ioctls.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 1996-2025 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_IOCTL_H
19# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
20#endif
21
22/* Use the definitions from the kernel header files. */
23#include <asm/ioctls.h>
24
25/* Oh well, this is necessary since the kernel data structure is
26 different from the user-level version. */
27#undef TCGETS
28#undef TCSETS
29#undef TCSETSW
30#undef TCSETSF
31#define TCGETS _IOR ('T', 8, char[36])
32#define TCSETS _IOW ('T', 9, char[36])
33#define TCSETSW _IOW ('T', 10, char[36])
34#define TCSETSF _IOW ('T', 11, char[36])
35
36#include <linux/sockios.h>
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h deleted-36
......@@ -1,36 +0,0 @@
1/* struct ipc_perm definition. Linux/sparc version.
2 Copyright (C) 1995-2025 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_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 unsigned short int __pad1;
33 unsigned short int __seq; /* Sequence number. */
34 __extension__ unsigned long long int __glibc_reserved1;
35 __extension__ unsigned long long int __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/link.h deleted-99
......@@ -1,99 +0,0 @@
1/* Machine-specific audit interfaces for dynamic linker. SPARC version.
2 Copyright (C) 2005-2025 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 _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."
21#endif
22
23#if __WORDSIZE == 32
24
25typedef struct La_sparc32_regs
26{
27 uint32_t lr_lreg[8]; /* %l0 through %l7 */
28 uint32_t lr_reg[6]; /* %o0 through %o5 */
29 uint32_t lr_sp; /* %o6 */
30 uint32_t lr_ra; /* %o7 */
31 uint32_t lr_struct; /* Pass-by-reference struct pointer */
32} La_sparc32_regs;
33
34typedef struct La_sparc32_retval
35{
36 uint32_t lrv_reg[2]; /* %o0 and %o1 */
37 double lrv_fpreg[2]; /* %f0 and %f2 */
38} La_sparc32_retval;
39
40#else
41
42typedef struct La_sparc64_regs
43{
44 uint64_t lr_lreg[8]; /* %l0 through %l7 */
45 uint64_t lr_reg[6]; /* %o0 through %o5 */
46 uint64_t lr_sp; /* %o6 */
47 uint64_t lr_ra; /* %o7 */
48 double lr_fpreg[16]; /* %f0 through %f30 */
49} La_sparc64_regs;
50
51typedef struct La_sparc64_retval
52{
53 uint64_t lrv_reg[4]; /* %o0 through %o3 */
54 double lrv_fprev[4]; /* %f0 through %f8 */
55} La_sparc64_retval;
56
57#endif
58
59__BEGIN_DECLS
60
61#if __WORDSIZE == 32
62
63extern Elf32_Addr la_sparc32_gnu_pltenter (Elf32_Sym *__sym,
64 unsigned int __ndx,
65 uintptr_t *__refcook,
66 uintptr_t *__defcook,
67 La_sparc32_regs *__regs,
68 unsigned int *__flags,
69 const char *__symname,
70 long int *__framesizep);
71extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym,
72 unsigned int __ndx,
73 uintptr_t *__refcook,
74 uintptr_t *__defcook,
75 const La_sparc32_regs *__inregs,
76 La_sparc32_retval *__outregs,
77 const char *__symname);
78
79#else
80
81extern Elf64_Addr la_sparc64_gnu_pltenter (Elf64_Sym *__sym,
82 unsigned int __ndx,
83 uintptr_t *__refcook,
84 uintptr_t *__defcook,
85 La_sparc64_regs *__regs,
86 unsigned int *__flags,
87 const char *__symname,
88 long int *__framesizep);
89extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym,
90 unsigned int __ndx,
91 uintptr_t *__refcook,
92 uintptr_t *__defcook,
93 const La_sparc64_regs *__inregs,
94 La_sparc64_retval *__outregs,
95 const char *__symname);
96
97#endif
98
99__END_DECLS
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/long-double.h deleted-27
......@@ -1,27 +0,0 @@
1/* Properties of long double type. SPARC version.
2 Copyright (C) 2016-2025 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 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#include <bits/wordsize.h>
20
21#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32
22# define __LONG_DOUBLE_MATH_OPTIONAL 1
23# ifndef __LONG_DOUBLE_128__
24# define __NO_LONG_DOUBLE_MATH 1
25# endif
26#endif
27#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/mman.h deleted-53
......@@ -1,53 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/SPARC version.
2 Copyright (C) 1997-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26
27/* These are Linux-specific. */
28#define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */
29#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
30#define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */
31#define MAP_LOCKED 0x0100 /* Lock the mapping. */
32#define MAP_NORESERVE 0x0040 /* Don't check for reservations. */
33#define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */
34#define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */
35#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
36#define MAP_STACK 0x20000 /* Allocation is for a stack. */
37#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
38#define MAP_SYNC 0x80000 /* Perform synchronous page
39 faults for the mapping. */
40#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
41 underlying mapping. */
42
43/* Flags for `mlockall'. */
44#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */
45#define MCL_FUTURE 0x4000 /* Lock all additions to address
46 space. */
47#define MCL_ONFAULT 0x8000 /* Lock all pages that are
48 faulted in. */
49/* Include generic Linux declarations. */
50#include <bits/mman-linux.h>
51
52/* Other flags. */
53#define MAP_RENAME MAP_ANONYMOUS
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2025 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_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
20#endif
21
22/* Event types that can be polled for. These bits may be set in `events'
23 to indicate the interesting event types; they will appear in `revents'
24 to indicate the status of the file descriptor. */
25#define POLLIN 0x001 /* There is data to read. */
26#define POLLPRI 0x002 /* There is urgent data to read. */
27#define POLLOUT 0x004 /* Writing now will not block. */
28
29#if defined __USE_XOPEN || defined __USE_XOPEN2K8
30/* These values are defined in XPG4.2. */
31# define POLLRDNORM 0x040 /* Normal data may be read. */
32# define POLLRDBAND 0x080 /* Priority data may be read. */
33# define POLLWRNORM POLLOUT /* Writing now will not block. */
34# define POLLWRBAND 0x100 /* Priority data may be written. */
35#endif
36
37#ifdef __USE_GNU
38/* These are extensions for Linux. */
39# define POLLMSG 0x200
40# define POLLREMOVE 0x400
41# define POLLRDHUP 0x800
42#endif
43
44/* Event types always implicitly polled for. These bits need not be set in
45 `events', but they will appear in `revents' to indicate the status of
46 the file descriptor. */
47#define POLLERR 0x008 /* Error condition. */
48#define POLLHUP 0x010 /* Hung up. */
49#define POLLNVAL 0x020 /* Invalid polling request. */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h deleted-88
......@@ -1,88 +0,0 @@
1/* Extra sys/procfs.h definitions. SPARC version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#if __WORDSIZE == 64
24
25/* Provide 32-bit variants so that BFD can read 32-bit
26 core files. */
27#define ELF_NGREG32 38
28typedef struct
29 {
30 union
31 {
32 unsigned int pr_regs[32];
33 double pr_dregs[16];
34 } pr_fr;
35 unsigned int __glibc_reserved;
36 unsigned int pr_fsr;
37 unsigned char pr_qcnt;
38 unsigned char pr_q_entrysize;
39 unsigned char pr_en;
40 unsigned int pr_q[64];
41 } elf_fpregset_t32;
42
43typedef unsigned int elf_greg_t32;
44typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32];
45
46struct elf_prstatus32
47 {
48 struct elf_siginfo pr_info; /* Info associated with signal. */
49 short int pr_cursig; /* Current signal. */
50 unsigned int pr_sigpend; /* Set of pending signals. */
51 unsigned int pr_sighold; /* Set of held signals. */
52 __pid_t pr_pid;
53 __pid_t pr_ppid;
54 __pid_t pr_pgrp;
55 __pid_t pr_sid;
56 struct
57 {
58 int tv_sec, tv_usec;
59 } pr_utime, /* User time. */
60 pr_stime, /* System time. */
61 pr_cutime, /* Cumulative user time. */
62 pr_cstime; /* Cumulative system time. */
63 elf_gregset_t32 pr_reg; /* GP registers. */
64 int pr_fpvalid; /* True if math copro being used. */
65 };
66
67struct elf_prpsinfo32
68 {
69 char pr_state; /* Numeric process state. */
70 char pr_sname; /* Char for pr_state. */
71 char pr_zomb; /* Zombie. */
72 char pr_nice; /* Nice val. */
73 unsigned int pr_flag; /* Flags. */
74 unsigned short int pr_uid;
75 unsigned short int pr_gid;
76 int pr_pid, pr_ppid, pr_pgrp, pr_sid;
77 /* Lots missing */
78 char pr_fname[16]; /* Filename of executable. */
79 char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
80 };
81
82typedef elf_gregset_t32 prgregset32_t;
83typedef elf_fpregset_t32 prfpregset32_t;
84
85typedef struct elf_prstatus32 prstatus32_t;
86typedef struct elf_prpsinfo32 prpsinfo32_t;
87
88#endif /* sparc64 */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h deleted-30
......@@ -1,30 +0,0 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version.
2 Copyright (C) 2018-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
22#endif
23
24#if __WORDSIZE == 64
25typedef unsigned int __pr_uid_t;
26typedef unsigned int __pr_gid_t;
27#else
28typedef unsigned short int __pr_uid_t;
29typedef unsigned short int __pr_gid_t;
30#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/procfs.h deleted-61
......@@ -1,61 +0,0 @@
1/* Types for registers for sys/procfs.h. SPARC version.
2 Copyright (C) 1996-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23#include <signal.h>
24#include <sys/ucontext.h>
25#include <bits/wordsize.h>
26
27#if __WORDSIZE == 64
28
29#define ELF_NGREG 36
30
31typedef struct
32 {
33 unsigned long pr_regs[32];
34 unsigned long pr_fsr;
35 unsigned long pr_gsr;
36 unsigned long pr_fprs;
37 } elf_fpregset_t;
38
39#else /* sparc32 */
40
41#define ELF_NGREG 38
42
43typedef struct
44 {
45 union
46 {
47 unsigned long pr_regs[32];
48 double pr_dregs[16];
49 } pr_fr;
50 unsigned long __glibc_reserved;
51 unsigned long pr_fsr;
52 unsigned char pr_qcnt;
53 unsigned char pr_q_entrysize;
54 unsigned char pr_en;
55 unsigned int pr_q[64];
56 } elf_fpregset_t;
57
58#endif /* sparc32 */
59
60typedef unsigned long elf_greg_t;
61typedef elf_greg_t elf_gregset_t[ELF_NGREG];
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. Linux/SPARC version.
2 Copyright (C) 2021-2025 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 Library General Public License as
7 published by the Free Software Foundation; either version 2 of the
8 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 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public
16 License along with the GNU C Library; see the file COPYING.LIB. If
17 not, see <https://www.gnu.org/licenses/>. */
18
19/* Minimum size for a thread. We are free to choose a reasonable value. */
20#define PTHREAD_STACK_MIN 24576
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/resource.h deleted-238
......@@ -1,238 +0,0 @@
1/* Bit values & structures for resource limits. Linux/SPARC version.
2 Copyright (C) 1994-2025 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_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
21#endif
22
23#include <bits/types.h>
24
25/* Transmute defines to enumerations. The macro re-definitions are
26 necessary because some programs want to test for operating system
27 features with #ifdef RUSAGE_SELF. In ISO C the reflexive
28 definition is a no-op. */
29
30/* Kinds of resource limit. */
31enum __rlimit_resource
32{
33 /* Per-process CPU limit, in seconds. */
34 RLIMIT_CPU = 0,
35#define RLIMIT_CPU RLIMIT_CPU
36
37 /* Largest file that can be created, in bytes. */
38 RLIMIT_FSIZE = 1,
39#define RLIMIT_FSIZE RLIMIT_FSIZE
40
41 /* Maximum size of data segment, in bytes. */
42 RLIMIT_DATA = 2,
43#define RLIMIT_DATA RLIMIT_DATA
44
45 /* Maximum size of stack segment, in bytes. */
46 RLIMIT_STACK = 3,
47#define RLIMIT_STACK RLIMIT_STACK
48
49 /* Largest core file that can be created, in bytes. */
50 RLIMIT_CORE = 4,
51#define RLIMIT_CORE RLIMIT_CORE
52
53 /* Largest resident set size, in bytes.
54 This affects swapping; processes that are exceeding their
55 resident set size will be more likely to have physical memory
56 taken from them. */
57 __RLIMIT_RSS = 5,
58#define RLIMIT_RSS __RLIMIT_RSS
59
60 /* Number of open files. */
61 RLIMIT_NOFILE = 6,
62 __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
63#define RLIMIT_NOFILE RLIMIT_NOFILE
64#define RLIMIT_OFILE __RLIMIT_OFILE
65
66 /* Address space limit (?) */
67 RLIMIT_AS = 9,
68#define RLIMIT_AS RLIMIT_AS
69
70 /* Number of processes. */
71 __RLIMIT_NPROC = 7,
72#define RLIMIT_NPROC __RLIMIT_NPROC
73
74 /* Locked-in-memory address space. */
75 __RLIMIT_MEMLOCK = 8,
76#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
77
78 /* Maximum number of file locks. */
79 __RLIMIT_LOCKS = 10,
80#define RLIMIT_LOCKS __RLIMIT_LOCKS
81
82 /* Maximum number of pending signals. */
83 __RLIMIT_SIGPENDING = 11,
84#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
85
86 /* Maximum bytes in POSIX message queues. */
87 __RLIMIT_MSGQUEUE = 12,
88#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
89
90 /* Maximum nice priority allowed to raise to.
91 Nice levels 19 .. -20 correspond to 0 .. 39
92 values of this resource limit. */
93 __RLIMIT_NICE = 13,
94#define RLIMIT_NICE __RLIMIT_NICE
95
96 /* Maximum realtime priority allowed for non-priviledged
97 processes. */
98 __RLIMIT_RTPRIO = 14,
99#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
100
101 /* Maximum CPU time in microseconds that a process scheduled under a real-time
102 scheduling policy may consume without making a blocking system
103 call before being forcibly descheduled. */
104 __RLIMIT_RTTIME = 15,
105#define RLIMIT_RTTIME __RLIMIT_RTTIME
106
107 __RLIMIT_NLIMITS = 16,
108 __RLIM_NLIMITS = __RLIMIT_NLIMITS
109#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
110#define RLIM_NLIMITS __RLIM_NLIMITS
111};
112
113/* Value to indicate that there is no limit. */
114#if __WORDSIZE == 64
115
116#ifndef __USE_FILE_OFFSET64
117# define RLIM_INFINITY ((unsigned long int)(~0UL))
118#else
119# define RLIM_INFINITY 0xffffffffffffffffuLL
120#endif
121
122#ifdef __USE_LARGEFILE64
123# define RLIM64_INFINITY 0xffffffffffffffffuLL
124#endif
125
126#else
127
128#ifndef __USE_FILE_OFFSET64
129# define RLIM_INFINITY ((long int)(~0UL >> 1))
130#else
131# define RLIM_INFINITY 0xffffffffffffffffLL
132#endif
133
134#ifdef __USE_LARGEFILE64
135# define RLIM64_INFINITY 0xffffffffffffffffLL
136#endif
137
138#endif
139
140/* We can represent all limits. */
141#define RLIM_SAVED_MAX RLIM_INFINITY
142#define RLIM_SAVED_CUR RLIM_INFINITY
143
144
145/* Type for resource quantity measurement. */
146#ifndef __USE_FILE_OFFSET64
147typedef __rlim_t rlim_t;
148#else
149typedef __rlim64_t rlim_t;
150#endif
151#ifdef __USE_LARGEFILE64
152typedef __rlim64_t rlim64_t;
153#endif
154
155struct rlimit
156 {
157 /* The current (soft) limit. */
158 rlim_t rlim_cur;
159 /* The hard limit. */
160 rlim_t rlim_max;
161 };
162
163#ifdef __USE_LARGEFILE64
164struct rlimit64
165 {
166 /* The current (soft) limit. */
167 rlim64_t rlim_cur;
168 /* The hard limit. */
169 rlim64_t rlim_max;
170 };
171#endif
172
173/* Whose usage statistics do you want? */
174enum __rusage_who
175{
176 /* The calling process. */
177 RUSAGE_SELF = 0,
178#define RUSAGE_SELF RUSAGE_SELF
179
180 /* All of its terminated child processes. */
181 RUSAGE_CHILDREN = -1
182#define RUSAGE_CHILDREN RUSAGE_CHILDREN
183
184#ifdef __USE_GNU
185 ,
186 /* The calling thread. */
187 RUSAGE_THREAD = 1
188# define RUSAGE_THREAD RUSAGE_THREAD
189 /* Name for the same functionality on Solaris. */
190# define RUSAGE_LWP RUSAGE_THREAD
191#endif
192};
193
194#include <bits/types/struct_timeval.h>
195#include <bits/types/struct_rusage.h>
196
197/* Priority limits. */
198#define PRIO_MIN -20 /* Minimum priority a process can have. */
199#define PRIO_MAX 20 /* Maximum priority a process can have. */
200
201/* The type of the WHICH argument to `getpriority' and `setpriority',
202 indicating what flavor of entity the WHO argument specifies. */
203enum __priority_which
204{
205 PRIO_PROCESS = 0, /* WHO is a process ID. */
206#define PRIO_PROCESS PRIO_PROCESS
207 PRIO_PGRP = 1, /* WHO is a process group ID. */
208#define PRIO_PGRP PRIO_PGRP
209 PRIO_USER = 2 /* WHO is a user ID. */
210#define PRIO_USER PRIO_USER
211};
212
213__BEGIN_DECLS
214
215#ifdef __USE_GNU
216/* Modify and return resource limits of a process atomically. */
217# ifndef __USE_FILE_OFFSET64
218extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
219 const struct rlimit *__new_limit,
220 struct rlimit *__old_limit) __THROW;
221# else
222# ifdef __REDIRECT_NTH
223extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
224 enum __rlimit_resource __resource,
225 const struct rlimit *__new_limit,
226 struct rlimit *__old_limit), prlimit64);
227# else
228# define prlimit prlimit64
229# endif
230# endif
231# ifdef __USE_LARGEFILE64
232extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
233 const struct rlimit64 *__new_limit,
234 struct rlimit64 *__old_limit) __THROW;
235# endif
236#endif
237
238__END_DECLS
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/rseq.h deleted-29
......@@ -1,29 +0,0 @@
1/* Restartable Sequences architecture header. Stub version.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 It is a 32-bit value that maps to actual architecture code compiled
25 into applications and libraries. It needs to be defined for each
26 architecture. When choosing this value, it needs to be taken into
27 account that generating invalid instructions may have ill effects on
28 tools like objdump, and may also have impact on the CPU speculative
29 execution efficiency in some cases. */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/setjmp.h deleted-67
......@@ -1,67 +0,0 @@
1/* Copyright (C) 1997-2025 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 _BITS_SETJMP_H
19#define _BITS_SETJMP_H 1
20
21#if !defined _SETJMP_H && !defined _PTHREAD_H
22# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
23#endif
24
25#include <bits/wordsize.h>
26
27#if __WORDSIZE == 64
28
29#ifndef _ASM
30typedef struct __sparc64_jmp_buf
31 {
32 struct __sparc64_jmp_buf *__uc_link;
33 unsigned long __uc_flags;
34 unsigned long __uc_sigmask;
35 struct __sparc64_jmp_buf_mcontext
36 {
37 unsigned long __mc_gregs[19];
38 unsigned long __mc_fp;
39 unsigned long __mc_i7;
40 struct __sparc64_jmp_buf_fpu
41 {
42 union
43 {
44 unsigned int __sregs[32];
45 unsigned long __dregs[32];
46 long double __qregs[16];
47 } __mcfpu_fpregs;
48 unsigned long __mcfpu_fprs;
49 unsigned long __mcfpu_gsr;
50 void *__mcfpu_fq;
51 unsigned char __mcfpu_qcnt;
52 unsigned char __mcfpu_qentsz;
53 unsigned char __mcfpu_enab;
54 } __mc_fpregs;
55 } __uc_mcontext;
56 } __jmp_buf[1];
57#endif
58
59#else
60
61#ifndef _ASM
62typedef int __jmp_buf[3];
63#endif
64
65#endif
66
67#endif /* bits/setjmp.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/shmlba.h deleted-29
......@@ -1,29 +0,0 @@
1/* Define SHMLBA. SPARC version.
2 Copyright (C) 2018-2025 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/shmlba.h> directly; include <sys/shm.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25/* Segment low boundary address multiple. */
26#define SHMLBA (__getshmlba ())
27extern int __getshmlba (void) __attribute__ ((__const__));
28
29__END_DECLS
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/sigaction.h deleted-89
......@@ -1,89 +0,0 @@
1/* The proper definitions for Linux/SPARC sigaction.
2 Copyright (C) 1996-2025 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_SIGACTION_H
20#define _BITS_SIGACTION_H 1
21
22#ifndef _SIGNAL_H
23# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
24#endif
25
26#include <bits/wordsize.h>
27
28/* Structure describing the action to be taken when a signal arrives. */
29struct sigaction
30 {
31 /* Signal handler. */
32#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
33 union
34 {
35 /* Used if SA_SIGINFO is not set. */
36 __sighandler_t sa_handler;
37 /* Used if SA_SIGINFO is set. */
38 void (*sa_sigaction) (int, siginfo_t *, void *);
39 }
40 __sigaction_handler;
41# define sa_handler __sigaction_handler.sa_handler
42# define sa_sigaction __sigaction_handler.sa_sigaction
43#else
44 __sighandler_t sa_handler;
45#endif
46
47 /* Additional set of signals to be blocked. */
48 __sigset_t sa_mask;
49
50 /* Special flags. */
51#if __WORDSIZE == 64
52 int __glibc_reserved0;
53#endif
54 int sa_flags;
55
56 /* Not used by Linux/Sparc yet. */
57 void (*sa_restorer) (void);
58 };
59
60
61/* Bits in `sa_flags'. */
62#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */
63#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */
64#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with
65 three arguments instead of one. */
66#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
67# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
68#endif
69#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
70# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */
71# define SA_NODEFER 0x00000020 /* Don't automatically block the signal when
72 its handler is being executed. */
73# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler. */
74#endif
75#ifdef __USE_MISC
76# define SA_INTERRUPT 0x00000010 /* Historical no-op. */
77
78/* Some aliases for the SA_ constants. */
79# define SA_NOMASK SA_NODEFER
80# define SA_ONESHOT SA_RESETHAND
81# define SA_STACK SA_ONSTACK
82#endif
83
84/* Values for the HOW argument to `sigprocmask'. */
85#define SIG_BLOCK 1 /* Block signals. */
86#define SIG_UNBLOCK 2 /* Unblock signals. */
87#define SIG_SETMASK 4 /* Set the set of blocked signals. */
88
89#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 2000-2025 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 _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 1
20
21#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
22# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
23#endif
24
25#include <bits/wordsize.h>
26
27#if __WORDSIZE == 32
28
29/* It is quite hard to choose what to put here, because
30 Linux/sparc32 had at least 3 totally incompatible
31 signal stack layouts.
32 This one is for the "new" style signals, which are
33 now delivered unless SA_SIGINFO is requested. */
34
35struct sigcontext
36 {
37 struct
38 {
39 unsigned int psr;
40 unsigned int pc;
41 unsigned int npc;
42 unsigned int y;
43 unsigned int u_regs[16]; /* globals and ins */
44 } si_regs;
45 int si_mask;
46 };
47
48#else /* sparc64 */
49
50typedef struct
51 {
52 unsigned int si_float_regs [64];
53 unsigned long si_fsr;
54 unsigned long si_gsr;
55 unsigned long si_fprs;
56 } __siginfo_fpu_t;
57
58struct sigcontext
59 {
60 char sigc_info[128];
61 struct
62 {
63 unsigned long u_regs[16]; /* globals and ins */
64 unsigned long tstate;
65 unsigned long tpc;
66 unsigned long tnpc;
67 unsigned int y;
68 unsigned int fprs;
69 } sigc_regs;
70 __siginfo_fpu_t * sigc_fpu_save;
71 struct
72 {
73 void * ss_sp;
74 int ss_flags;
75 unsigned long ss_size;
76 } sigc_stack;
77 unsigned long sigc_mask;
78};
79
80#endif /* sparc64 */
81
82#endif /* bits/sigcontext.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h deleted-17
......@@ -1,17 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. SPARC version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5/* The kernel uses int instead of long int (as in POSIX). In 32-bit
6 mode, we can still use long int, but in 64-bit mode, we need to
7 deviate from POSIX. */
8#if __WORDSIZE == 64
9# define __SI_BAND_TYPE int
10#endif
11
12#define __SI_SIGFAULT_ADDL \
13 int _si_trapno;
14
15#define si_trapno _sifields._sigfault._si_trapno
16
17#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h deleted-12
......@@ -1,12 +0,0 @@
1/* Architecture-specific additional siginfo constants. SPARC version. */
2#ifndef _BITS_SIGINFO_CONSTS_ARCH_H
3#define _BITS_SIGINFO_CONSTS_ARCH_H 1
4
5/* `si_code' values for SIGEMT signal. */
6enum
7{
8 EMT_TAGOVF = 1 /* Tag overflow. */
9#define EMT_TAGOVF EMT_TAGOVF
10};
11
12#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2025 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_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
20#endif
21
22/* Flags for signalfd. */
23enum
24 {
25 SFD_CLOEXEC = 0x400000,
26#define SFD_CLOEXEC SFD_CLOEXEC
27 SFD_NONBLOCK = 0x004000
28#define SFD_NONBLOCK SFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h deleted-66
......@@ -1,66 +0,0 @@
1/* Signal number definitions. Linux/SPARC version.
2 Copyright (C) 1996-2025 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/sparc64-linux-gnu/bits/sigstack.h deleted-32
......@@ -1,32 +0,0 @@
1/* sigstack, sigaltstack definitions.
2 Copyright (C) 1998-2025 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_SIGSTACK_H
20#define _BITS_SIGSTACK_H 1
21
22#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
23# error "Never include this file directly. Use <signal.h> instead"
24#endif
25
26/* Minimum stack size for a signal handler. */
27#define MINSIGSTKSZ 4096
28
29/* System default stack size. */
30#define SIGSTKSZ 16384
31
32#endif /* bits/sigstack.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for SPARC.
2 Copyright (C) 2019-2025 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_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 32768
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 2048
33#define SO_REUSEADDR 4
34#define SO_SNDBUF 4097
35#define SO_SNDLOWAT 4096
36#define SO_TYPE 4104
37
38#if __TIMESIZE == 64
39# define SO_RCVTIMEO 8192
40# define SO_SNDTIMEO 16384
41# define SO_TIMESTAMP 29
42# define SO_TIMESTAMPNS 33
43# define SO_TIMESTAMPING 35
44#else
45# define SO_RCVTIMEO_OLD 8192
46# define SO_SNDTIMEO_OLD 16384
47# define SO_RCVTIMEO_NEW 68
48# define SO_SNDTIMEO_NEW 69
49
50# define SO_TIMESTAMP_OLD 0x001d
51# define SO_TIMESTAMPNS_OLD 0x0021
52# define SO_TIMESTAMPING_OLD 0x0023
53# define SO_TIMESTAMP_NEW 0x0046
54# define SO_TIMESTAMPNS_NEW 0x0042
55# define SO_TIMESTAMPING_NEW 0x0043
56
57# ifdef __USE_TIME64_REDIRECTS
58# define SO_RCVTIMEO SO_RCVTIMEO_NEW
59# define SO_SNDTIMEO SO_SNDTIMEO_NEW
60# define SO_TIMESTAMP SO_TIMESTAMP_NEW
61# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW
62# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW
63# else
64# define SO_RCVTIMEO SO_RCVTIMEO_OLD
65# define SO_SNDTIMEO SO_SNDTIMEO_OLD
66# define SO_TIMESTAMP SO_TIMESTAMP_OLD
67# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
68# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD
69# endif
70#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/SPARC.
2 Copyright (C) 1991-2025 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_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
21#endif
22
23/* Types of sockets. */
24enum __socket_type
25{
26 SOCK_STREAM = 1, /* Sequenced, reliable, connection-based
27 byte streams. */
28#define SOCK_STREAM SOCK_STREAM
29 SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams
30 of fixed maximum length. */
31#define SOCK_DGRAM SOCK_DGRAM
32 SOCK_RAW = 3, /* Raw protocol interface. */
33#define SOCK_RAW SOCK_RAW
34 SOCK_RDM = 4, /* Reliably-delivered messages. */
35#define SOCK_RDM SOCK_RDM
36 SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
37 datagrams of fixed maximum length. */
38#define SOCK_SEQPACKET SOCK_SEQPACKET
39 SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */
40#define SOCK_DCCP SOCK_DCCP
41 SOCK_PACKET = 10, /* Linux specific way of getting packets
42 at the dev level. For writing rarp and
43 other similar things on the user level. */
44#define SOCK_PACKET SOCK_PACKET
45
46 /* Flags to be ORed into the type parameter of socket and socketpair and
47 used for the flags parameter of paccept. */
48
49 SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the
50 new descriptor(s). */
51#define SOCK_CLOEXEC SOCK_CLOEXEC
52 SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as
53 non-blocking. */
54#define SOCK_NONBLOCK SOCK_NONBLOCK
55};
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h deleted-58
......@@ -1,58 +0,0 @@
1/* SPARC internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned long int __pad1;
35 unsigned long int __pad2;
36 /* FLAGS must stay at this position in the structure to maintain
37 binary compatibility. */
38 unsigned int __flags;
39#else
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46 int __cur_writer;
47#endif
48};
49
50#if __WORDSIZE == 64
51# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
52 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
53#else
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#endif
57
58#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h deleted-139
......@@ -1,139 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26#include <bits/endian.h>
27#include <bits/wordsize.h>
28
29struct stat
30 {
31#ifdef __USE_TIME64_REDIRECTS
32# include <bits/struct_stat_time64_helper.h>
33#else
34 __dev_t st_dev; /* Device. */
35# if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64
36 unsigned short int __pad1;
37 __ino_t st_ino; /* File serial number. */
38# else
39 __ino64_t st_ino; /* File serial number. */
40# endif
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43 __uid_t st_uid; /* User ID of the file's owner. */
44 __gid_t st_gid; /* Group ID of the file's group.*/
45 __dev_t st_rdev; /* Device number, if device. */
46 unsigned short int __pad2;
47# ifndef __USE_FILE_OFFSET64
48 __off_t st_size; /* Size of file, in bytes. */
49# else
50 __off64_t st_size; /* Size of file, in bytes. */
51# endif
52 __blksize_t st_blksize; /* Optimal block size for I/O. */
53
54# ifndef __USE_FILE_OFFSET64
55 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
56# else
57 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
58# endif
59# ifdef __USE_XOPEN2K8
60 /* Nanosecond resolution timestamps are stored in a format
61 equivalent to 'struct timespec'. This is the type used
62 whenever possible but the Unix namespace rules do not allow the
63 identifier 'timespec' to appear in the <sys/stat.h> header.
64 Therefore we have to handle the use of this header in strictly
65 standard-compliant sources special. */
66 struct timespec st_atim; /* Time of last access. */
67 struct timespec st_mtim; /* Time of last modification. */
68 struct timespec st_ctim; /* Time of last status change. */
69# define st_atime st_atim.tv_sec /* Backward compatibility. */
70# define st_mtime st_mtim.tv_sec
71# define st_ctime st_ctim.tv_sec
72# else
73 __time_t st_atime; /* Time of last access. */
74 unsigned long int st_atimensec; /* Nscecs of last access. */
75 __time_t st_mtime; /* Time of last modification. */
76 unsigned long int st_mtimensec; /* Nsecs of last modification. */
77 __time_t st_ctime; /* Time of last status change. */
78 unsigned long int st_ctimensec; /* Nsecs of last status change. */
79# endif
80 unsigned long int __glibc_reserved4;
81 unsigned long int __glibc_reserved5;
82#endif /* __USE_TIME64_REDIRECTS */
83 };
84
85#ifdef __USE_LARGEFILE64
86struct stat64
87 {
88# ifdef __USE_TIME64_REDIRECTS
89# include <bits/struct_stat_time64_helper.h>
90# else
91 __dev_t st_dev; /* Device. */
92# if __WORDSIZE == 64
93 unsigned short int __pad1;
94# endif
95 __ino64_t st_ino; /* File serial number. */
96 __mode_t st_mode; /* File mode. */
97 __nlink_t st_nlink; /* Link count. */
98 __uid_t st_uid; /* User ID of the file's owner. */
99 __gid_t st_gid; /* Group ID of the file's group.*/
100 __dev_t st_rdev; /* Device number, if device. */
101 unsigned short int __pad2;
102 __off64_t st_size; /* Size of file, in bytes. */
103 __blksize_t st_blksize; /* Optimal block size for I/O. */
104
105 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
106# ifdef __USE_XOPEN2K8
107 /* Nanosecond resolution timestamps are stored in a format
108 equivalent to 'struct timespec'. This is the type used
109 whenever possible but the Unix namespace rules do not allow the
110 identifier 'timespec' to appear in the <sys/stat.h> header.
111 Therefore we have to handle the use of this header in strictly
112 standard-compliant sources special. */
113 struct timespec st_atim; /* Time of last access. */
114 struct timespec st_mtim; /* Time of last modification. */
115 struct timespec st_ctim; /* Time of last status change. */
116# define st_atime st_atim.tv_sec /* Backward compatibility. */
117# define st_mtime st_mtim.tv_sec
118# define st_ctime st_ctim.tv_sec
119# else
120 __time_t st_atime; /* Time of last access. */
121 unsigned long int st_atimensec; /* Nscecs of last access. */
122 __time_t st_mtime; /* Time of last modification. */
123 unsigned long int st_mtimensec; /* Nsecs of last modification. */
124 __time_t st_ctime; /* Time of last status change. */
125 unsigned long int st_ctimensec; /* Nsecs of last status change. */
126# endif
127 unsigned long int __glibc_reserved4;
128 unsigned long int __glibc_reserved5;
129# endif /* __USE_TIME64_REDIRECTS */
130 };
131#endif
132
133/* Tell code we have these members. */
134#define _STATBUF_ST_BLKSIZE
135#define _STATBUF_ST_RDEV
136/* Nanosecond resolution time values are supported. */
137#define _STATBUF_ST_NSEC
138
139#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios baud rate selection definitions. Linux/sparc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
21#endif
22
23#ifdef __USE_MISC
24# define CBAUD 0x0000100f
25# define CBAUDEX 0x00001000
26# define CIBAUD 0x100f0000 /* input baud rate (not used) */
27# define CMSPAR 0x40000000 /* mark or space (stick) parity */
28# define CRTSCTS 0x80000000 /* flow control */
29#endif
30
31#define B57600 0x00001001
32#define B115200 0x00001002
33#define B230400 0x00001003
34#define B460800 0x00001004
35#define B76800 0x00001005
36#define B153600 0x00001006
37#define B307200 0x00001007
38#define B614400 0x00001008
39#define B921600 0x00001009
40#define B500000 0x0000100a
41#define B576000 0x0000100b
42#define B1000000 0x0000100c
43#define B1152000 0x0000100d
44#define B1500000 0x0000100e
45#define B2000000 0x0000100f
46#define __MAX_BAUD B2000000
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/sparc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
21#endif
22
23/* c_cc characters */
24#define VINTR 0
25#define VQUIT 1
26#define VERASE 2
27#define VKILL 3
28#define VEOF 4
29#define VEOL 5
30#define VEOL2 6
31#define VSWTC 7
32#define VSTART 8
33#define VSTOP 9
34#define VSUSP 10
35#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */
36#define VREPRINT 12
37#define VDISCARD 13
38#define VWERASE 14
39#define VLNEXT 15
40
41/* User apps assume vmin/vtime is shared with eof/eol */
42#define VMIN VEOF
43#define VTIME VEOL
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h deleted-64
......@@ -1,64 +0,0 @@
1/* termios output mode definitions. Linux/sparc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
21#endif
22
23/* c_oflag bits */
24#define OPOST 0x00000001
25#define OLCUC 0x00000002
26#define ONLCR 0x00000004
27#define OCRNL 0x00000008
28#define ONOCR 0x00000010
29#define ONLRET 0x00000020
30#define OFILL 0x00000040
31#define OFDEL 0x00000080
32#if defined __USE_MISC || defined __USE_XOPEN
33# define NLDLY 0x00000100
34# define NL0 0x00000000
35# define NL1 0x00000100
36# define CRDLY 0x00000600
37# define CR0 0x00000000
38# define CR1 0x00000200
39# define CR2 0x00000400
40# define CR3 0x00000600
41# define TABDLY 0x00001800
42# define TAB0 0x00000000
43# define TAB1 0x00000800
44# define TAB2 0x00001000
45# define TAB3 0x00001800
46# define BSDLY 0x00002000
47# define BS0 0x00000000
48# define BS1 0x00002000
49#define FFDLY 0x00008000
50#define FF0 0x00000000
51#define FF1 0x00008000
52#endif
53#define VTDLY 0x00004000
54#define VT0 0x00000000
55#define VT1 0x00004000
56
57# if defined __USE_GNU
58#define PAGEOUT 0x00010000 /* SUNOS specific */
59#define WRAP 0x00020000 /* SUNOS specific */
60# endif
61
62#ifdef __USE_MISC
63# define XTABS 0x00001800
64#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/sparc version.
2 Copyright (C) 2019-2025 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 _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
21#endif
22
23#define NCCS 17
24struct termios
25 {
26 tcflag_t c_iflag; /* input mode flags */
27 tcflag_t c_oflag; /* output mode flags */
28 tcflag_t c_cflag; /* control mode flags */
29 tcflag_t c_lflag; /* local mode flags */
30 cc_t c_line; /* line discipline */
31 cc_t c_cc[NCCS]; /* control characters */
32#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0
33#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0
34 };
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2025 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_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
20#endif
21
22/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
23enum
24 {
25 TFD_CLOEXEC = 0x400000,
26#define TFD_CLOEXEC TFD_CLOEXEC
27 TFD_NONBLOCK = 0x004000
28#define TFD_NONBLOCK TFD_NONBLOCK
29 };
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/timesize.h deleted-22
......@@ -1,22 +0,0 @@
1/* Bit size of the time_t type at glibc build time, Linux/sparc.
2 Copyright (C) 2021-2025 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#include <bits/wordsize.h>
20
21/* Size in bits of the 'time_t' type of the default ABI. */
22#define __TIMESIZE __WORDSIZE
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/SPARC implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2025 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#include <bits/types/time_t.h>
24
25/* Structure of record for one message inside the kernel.
26 The type `struct msg' is opaque. */
27struct msqid_ds
28{
29#ifdef __USE_TIME64_REDIRECTS
30# include <bits/types/struct_msqid64_ds_helper.h>
31#else
32 struct ipc_perm msg_perm; /* structure describing operation permission */
33# if __TIMESIZE == 32
34 unsigned long int __msg_stime_high;
35 __time_t msg_stime; /* time of last msgsnd command */
36 unsigned long int __msg_rtime_high;
37 __time_t msg_rtime; /* time of last msgsnd command */
38 unsigned long int __msg_ctime_high;
39 __time_t msg_ctime; /* time of last change */
40# else
41 __time_t msg_stime; /* time of last msgsnd command */
42 __time_t msg_rtime; /* time of last msgsnd command */
43 __time_t msg_ctime; /* time of last change */
44# endif
45 __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
46 msgqnum_t msg_qnum; /* number of messages currently on queue */
47 msglen_t msg_qbytes; /* max number of bytes allowed on queue */
48 __pid_t msg_lspid; /* pid of last msgsnd() */
49 __pid_t msg_lrpid; /* pid of last msgrcv() */
50 __syscall_ulong_t __glibc_reserved4;
51 __syscall_ulong_t __glibc_reserved5;
52#endif
53};
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h deleted-43
......@@ -1,43 +0,0 @@
1/* Sparc implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 __syscall_ulong_t __sem_otime_high;
32 __time_t sem_otime; /* last semop() time */
33 __syscall_ulong_t __sem_ctime_high;
34 __time_t sem_ctime; /* last time changed by semctl() */
35# else
36 __time_t sem_otime; /* last semop() time */
37 __time_t sem_ctime; /* last time changed by semctl() */
38# endif
39 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
40 __syscall_ulong_t __glibc_reserved3;
41 __syscall_ulong_t __glibc_reserved4;
42#endif
43};
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h deleted-49
......@@ -1,49 +0,0 @@
1/* Linux/SPARC implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_shmid64_ds_helper.h>
28#else
29 struct ipc_perm shm_perm; /* operation permission struct */
30# if __TIMESIZE == 32
31 unsigned long int __shm_atime_high;
32 __time_t shm_atime; /* time of last shmat() */
33 unsigned long int __shm_dtime_high;
34 __time_t shm_dtime; /* time of last shmdt() */
35 unsigned long int __shm_ctime_high;
36 __time_t shm_ctime; /* time of last change by shmctl() */
37# else
38 __time_t shm_atime; /* time of last shmat() */
39 __time_t shm_dtime; /* time of last shmdt() */
40 __time_t shm_ctime; /* time of last change by shmctl() */
41# endif
42 size_t shm_segsz; /* size of segment in bytes */
43 __pid_t shm_cpid; /* pid of creator */
44 __pid_t shm_lpid; /* pid of last shmop */
45 shmatt_t shm_nattch; /* number of current attaches */
46 __syscall_ulong_t __glibc_reserved5;
47 __syscall_ulong_t __glibc_reserved6;
48#endif
49 };
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/typesizes.h deleted-95
......@@ -1,95 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version.
2 Copyright (C) 2002-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29#define __DEV_T_TYPE __UQUAD_TYPE
30#define __UID_T_TYPE __U32_TYPE
31#define __GID_T_TYPE __U32_TYPE
32#define __INO_T_TYPE __ULONGWORD_TYPE
33#define __INO64_T_TYPE __UQUAD_TYPE
34#define __MODE_T_TYPE __U32_TYPE
35#define __NLINK_T_TYPE __U32_TYPE
36#define __OFF_T_TYPE __SLONGWORD_TYPE
37#define __OFF64_T_TYPE __SQUAD_TYPE
38#define __PID_T_TYPE __S32_TYPE
39#define __RLIM_T_TYPE __ULONGWORD_TYPE
40#define __RLIM64_T_TYPE __UQUAD_TYPE
41#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
42#define __BLKCNT64_T_TYPE __SQUAD_TYPE
43#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
44#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
45#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
46#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
47#define __FSWORD_T_TYPE __SWORD_TYPE
48#define __ID_T_TYPE __U32_TYPE
49#define __CLOCK_T_TYPE __SLONGWORD_TYPE
50#define __TIME_T_TYPE __SLONGWORD_TYPE
51#define __USECONDS_T_TYPE __U32_TYPE
52#define __SUSECONDS_T_TYPE __S32_TYPE
53#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
54#define __DADDR_T_TYPE __S32_TYPE
55#define __KEY_T_TYPE __S32_TYPE
56#define __CLOCKID_T_TYPE __S32_TYPE
57#define __TIMER_T_TYPE void *
58#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
59#define __FSID_T_TYPE struct { int __val[2]; }
60#define __SSIZE_T_TYPE __SWORD_TYPE
61#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
62#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
63#define __CPU_MASK_TYPE __ULONGWORD_TYPE
64
65#if defined __arch64__ || defined __sparcv9
66/* Tell the libc code that off_t and off64_t are actually the same type
67 for all ABI purposes, even if possibly expressed as different base types
68 for C type-checking purposes. */
69# define __OFF_T_MATCHES_OFF64_T 1
70
71/* Same for ino_t and ino64_t. */
72# define __INO_T_MATCHES_INO64_T 1
73
74/* And for __rlim_t and __rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
79
80/* And for getitimer, setitimer and rusage */
81# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
82#else
83# define __RLIM_T_MATCHES_RLIM64_T 0
84
85# define __STATFS_MATCHES_STATFS64 0
86
87/* And for getitimer, setitimer and rusage */
88# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
89#endif
90
91/* Number of descriptors that can fit in an `fd_set'. */
92#define __FD_SETSIZE 1024
93
94
95#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/bits/wordsize.h deleted-10
......@@ -1,10 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. */
2
3#if defined __arch64__ || defined __sparcv9
4# define __WORDSIZE 64
5#else
6# define __WORDSIZE 32
7# define __WORDSIZE32_SIZE_ULONG 0
8# define __WORDSIZE32_PTRDIFF_LONG 0
9#endif
10#define __WORDSIZE_TIME64_COMPAT32 1
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/fpu_control.h deleted-76
......@@ -1,76 +0,0 @@
1/* FPU control word bits. SPARC version.
2 Copyright (C) 1997-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H 1
21
22
23#include <features.h>
24#include <bits/wordsize.h>
25
26/* masking of interrupts */
27#define _FPU_MASK_IM 0x08000000
28#define _FPU_MASK_OM 0x04000000
29#define _FPU_MASK_UM 0x02000000
30#define _FPU_MASK_ZM 0x01000000
31#define _FPU_MASK_PM 0x00800000
32
33/* precision control */
34#define _FPU_EXTENDED 0x00000000 /* RECOMMENDED */
35#define _FPU_DOUBLE 0x20000000
36#define _FPU_80BIT 0x30000000
37#define _FPU_SINGLE 0x10000000 /* DO NOT USE */
38
39/* rounding control / Sparc */
40#define _FPU_RC_DOWN 0xc0000000
41#define _FPU_RC_UP 0x80000000
42#define _FPU_RC_ZERO 0x40000000
43#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
44
45#define _FPU_RESERVED 0x303e0000 /* Reserved bits in cw */
46
47
48/* Now two recommended cw */
49
50/* Linux and IEEE default:
51 - extended precision
52 - rounding to nearest
53 - no exceptions */
54#define _FPU_DEFAULT 0x0
55#define _FPU_IEEE 0x0
56
57/* Type of the control word. */
58typedef unsigned long int fpu_control_t;
59
60#if __WORDSIZE == 64
61# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw))
62# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw))
63#else
64# ifdef __leon__
65 /* Prevent stfsr from being placed directly after other fp instruction. */
66# define _FPU_GETCW(cw) __asm__ __volatile__ ("nop; st %%fsr,%0" : "=m" (*&cw))
67# else
68# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw))
69# endif
70# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw))
71#endif
72
73/* Default control word set at startup. */
74extern fpu_control_t __fpu_control;
75
76#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h deleted-27
......@@ -1,27 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-64.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_SO "ld-linux.so.2"
7#define LD_SO "ld-linux.so.2"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h deleted-16
......@@ -1,16 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#include <bits/wordsize.h>
8
9#if __WORDSIZE == 32
10# include <gnu/lib-names-32.h>
11#endif
12#if __WORDSIZE == 64
13# include <gnu/lib-names-64.h>
14#endif
15
16#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/gnu/stubs.h deleted-12
......@@ -1,12 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5#include <bits/wordsize.h>
6
7#if __WORDSIZE == 32
8# include <gnu/stubs-32.h>
9#endif
10#if __WORDSIZE == 64
11# include <gnu/stubs-64.h>
12#endif
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/ieee754.h deleted-170
......@@ -1,170 +0,0 @@
1/* Copyright (C) 1992-2025 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 _IEEE754_H
19#define _IEEE754_H 1
20
21#include <features.h>
22
23#include <bits/endian.h>
24
25__BEGIN_DECLS
26
27union ieee754_float
28 {
29 float f;
30
31 /* This is the IEEE 754 single-precision format. */
32 struct
33 {
34#if __BYTE_ORDER == __BIG_ENDIAN
35 unsigned int negative:1;
36 unsigned int exponent:8;
37 unsigned int mantissa:23;
38#endif /* Big endian. */
39#if __BYTE_ORDER == __LITTLE_ENDIAN
40 unsigned int mantissa:23;
41 unsigned int exponent:8;
42 unsigned int negative:1;
43#endif /* Little endian. */
44 } ieee;
45
46 /* This format makes it easier to see if a NaN is a signalling NaN. */
47 struct
48 {
49#if __BYTE_ORDER == __BIG_ENDIAN
50 unsigned int negative:1;
51 unsigned int exponent:8;
52 unsigned int quiet_nan:1;
53 unsigned int mantissa:22;
54#endif /* Big endian. */
55#if __BYTE_ORDER == __LITTLE_ENDIAN
56 unsigned int mantissa:22;
57 unsigned int quiet_nan:1;
58 unsigned int exponent:8;
59 unsigned int negative:1;
60#endif /* Little endian. */
61 } ieee_nan;
62 };
63
64#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
65
66
67union ieee754_double
68 {
69 double d;
70
71 /* This is the IEEE 754 double-precision format. */
72 struct
73 {
74#if __BYTE_ORDER == __BIG_ENDIAN
75 unsigned int negative:1;
76 unsigned int exponent:11;
77 /* Together these comprise the mantissa. */
78 unsigned int mantissa0:20;
79 unsigned int mantissa1:32;
80#endif /* Big endian. */
81#if __BYTE_ORDER == __LITTLE_ENDIAN
82 /* Together these comprise the mantissa. */
83 unsigned int mantissa1:32;
84 unsigned int mantissa0:20;
85 unsigned int exponent:11;
86 unsigned int negative:1;
87#endif /* Little endian. */
88 } ieee;
89
90 /* This format makes it easier to see if a NaN is a signalling NaN. */
91 struct
92 {
93#if __BYTE_ORDER == __BIG_ENDIAN
94 unsigned int negative:1;
95 unsigned int exponent:11;
96 unsigned int quiet_nan:1;
97 /* Together these comprise the mantissa. */
98 unsigned int mantissa0:19;
99 unsigned int mantissa1:32;
100#else
101 /* Together these comprise the mantissa. */
102 unsigned int mantissa1:32;
103 unsigned int mantissa0:19;
104 unsigned int quiet_nan:1;
105 unsigned int exponent:11;
106 unsigned int negative:1;
107#endif
108 } ieee_nan;
109 };
110
111#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
112
113
114union ieee854_long_double
115 {
116 long double d;
117
118 /* This is the IEEE 854 quad-precision format. */
119 struct
120 {
121#if __BYTE_ORDER == __BIG_ENDIAN
122 unsigned int negative:1;
123 unsigned int exponent:15;
124 /* Together these comprise the mantissa. */
125 unsigned int mantissa0:16;
126 unsigned int mantissa1:32;
127 unsigned int mantissa2:32;
128 unsigned int mantissa3:32;
129#endif /* Big endian. */
130#if __BYTE_ORDER == __LITTLE_ENDIAN
131 /* Together these comprise the mantissa. */
132 unsigned int mantissa3:32;
133 unsigned int mantissa2:32;
134 unsigned int mantissa1:32;
135 unsigned int mantissa0:16;
136 unsigned int exponent:15;
137 unsigned int negative:1;
138#endif /* Little endian. */
139 } ieee;
140
141 /* This format makes it easier to see if a NaN is a signalling NaN. */
142 struct
143 {
144#if __BYTE_ORDER == __BIG_ENDIAN
145 unsigned int negative:1;
146 unsigned int exponent:15;
147 unsigned int quiet_nan:1;
148 /* Together these comprise the mantissa. */
149 unsigned int mantissa0:15;
150 unsigned int mantissa1:32;
151 unsigned int mantissa2:32;
152 unsigned int mantissa3:32;
153#else
154 /* Together these comprise the mantissa. */
155 unsigned int mantissa3:32;
156 unsigned int mantissa2:32;
157 unsigned int mantissa1:32;
158 unsigned int mantissa0:15;
159 unsigned int quiet_nan:1;
160 unsigned int exponent:15;
161 unsigned int negative:1;
162#endif
163 } ieee_nan;
164 };
165
166#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
167
168__END_DECLS
169
170#endif /* ieee754.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/sys/ptrace.h deleted-247
......@@ -1,247 +0,0 @@
1/* `ptrace' debugger support interface. Linux/SPARC version.
2 Copyright (C) 1996-2025 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_PTRACE_H
20#define _SYS_PTRACE_H 1
21
22#include <features.h>
23#include <bits/types.h>
24#include <bits/wordsize.h>
25
26/* Linux/SPARC kernels up to 2.3.18 do not care much
27 about what namespace pollution, so use a kludge now. */
28#undef PTRACE_GETREGS
29#undef PTRACE_SETREGS
30#undef PTRACE_GETFPREGS
31#undef PTRACE_SETFPREGS
32#undef PTRACE_READDATA
33#undef PTRACE_WRITEDATA
34#undef PTRACE_READTEXT
35#undef PTRACE_WRITETEXT
36#undef PTRACE_SUNDETACH
37
38__BEGIN_DECLS
39
40/* Type of the REQUEST argument to `ptrace.' */
41enum __ptrace_request
42{
43 /* Indicate that the process making this request should be traced.
44 All signals received by this process can be intercepted by its
45 parent, and its parent can use the other `ptrace' requests. */
46 PTRACE_TRACEME = 0,
47#define PT_TRACE_ME PTRACE_TRACEME
48
49 /* Return the word in the process's text space at address ADDR. */
50 PTRACE_PEEKTEXT = 1,
51#define PT_READ_I PTRACE_PEEKTEXT
52
53 /* Return the word in the process's data space at address ADDR. */
54 PTRACE_PEEKDATA = 2,
55#define PT_READ_D PTRACE_PEEKDATA
56
57 /* Return the word in the process's user area at offset ADDR. */
58 PTRACE_PEEKUSER = 3,
59#define PT_READ_U PTRACE_PEEKUSER
60
61 /* Write the word DATA into the process's text space at address ADDR. */
62 PTRACE_POKETEXT = 4,
63#define PT_WRITE_I PTRACE_POKETEXT
64
65 /* Write the word DATA into the process's data space at address ADDR. */
66 PTRACE_POKEDATA = 5,
67#define PT_WRITE_D PTRACE_POKEDATA
68
69 /* Write the word DATA into the process's user area at offset ADDR. */
70 PTRACE_POKEUSER = 6,
71#define PT_WRITE_U PTRACE_POKEUSER
72
73 /* Continue the process. */
74 PTRACE_CONT = 7,
75#define PT_CONTINUE PTRACE_CONT
76
77 /* Kill the process. */
78 PTRACE_KILL = 8,
79#define PT_KILL PTRACE_KILL
80
81 /* Single step the process. */
82 PTRACE_SINGLESTEP = 9,
83#define PT_STEP PTRACE_SINGLESTEP
84
85 /* Detach from a process attached to with PTRACE_ATTACH. */
86 PTRACE_DETACH = 11,
87#define PT_DETACH PTRACE_DETACH
88
89 /* This define is needed for older programs which were
90 trying to work around sparc-linux ptrace nastiness. */
91#define PTRACE_SUNDETACH PTRACE_DETACH
92
93#if __WORDSIZE == 32
94
95 /* Get all general purpose registers used by a processes.
96 This is not supported on all machines. */
97 PTRACE_GETREGS = 12,
98#define PT_GETREGS PTRACE_GETREGS
99
100 /* Set all general purpose registers used by a processes.
101 This is not supported on all machines. */
102 PTRACE_SETREGS = 13,
103#define PT_SETREGS PTRACE_SETREGS
104
105 /* Get all floating point registers used by a processes.
106 This is not supported on all machines. */
107 PTRACE_GETFPREGS = 14,
108#define PT_GETFPREGS PTRACE_GETFPREGS
109
110 /* Set all floating point registers used by a processes.
111 This is not supported on all machines. */
112 PTRACE_SETFPREGS = 15,
113#define PT_SETFPREGS PTRACE_SETFPREGS
114
115#endif
116
117 /* Attach to a process that is already running. */
118 PTRACE_ATTACH = 16,
119#define PT_ATTACH PTRACE_ATTACH
120
121 /* Write several bytes at a time. */
122 PTRACE_WRITEDATA = 17,
123#define PTRACE_WRITEDATA PTRACE_WRITEDATA
124
125 /* Read several bytes at a time. */
126 PTRACE_READTEXT = 18,
127#define PTRACE_READTEXT PTRACE_READTEXT
128#define PTRACE_READDATA PTRACE_READTEXT
129
130 /* Write several bytes at a time. */
131 PTRACE_WRITETEXT = 19,
132#define PTRACE_WRITETEXT PTRACE_WRITETEXT
133
134#if __WORDSIZE == 64
135
136 /* Get all general purpose registers used by a processes.
137 This is not supported on all machines. */
138 PTRACE_GETREGS = 22,
139#define PT_GETREGS PTRACE_GETREGS
140
141 /* Set all general purpose registers used by a processes.
142 This is not supported on all machines. */
143 PTRACE_SETREGS = 23,
144#define PT_SETREGS PTRACE_SETREGS
145
146#endif
147
148 /* Continue and stop at the next entry to or return from syscall. */
149 PTRACE_SYSCALL = 24,
150#define PTRACE_SYSCALL PTRACE_SYSCALL
151
152#if __WORDSIZE == 64
153
154 /* Get all floating point registers used by a processes.
155 This is not supported on all machines. */
156 PTRACE_GETFPREGS = 25,
157#define PT_GETFPREGS PTRACE_GETFPREGS
158
159 /* Set all floating point registers used by a processes.
160 This is not supported on all machines. */
161 PTRACE_SETFPREGS = 26,
162#define PT_SETFPREGS PTRACE_SETFPREGS
163
164#endif
165
166 /* Set ptrace filter options. */
167 PTRACE_SETOPTIONS = 0x4200,
168#define PT_SETOPTIONS PTRACE_SETOPTIONS
169
170 /* Get last ptrace message. */
171 PTRACE_GETEVENTMSG = 0x4201,
172#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
173
174 /* Get siginfo for process. */
175 PTRACE_GETSIGINFO = 0x4202,
176#define PT_GETSIGINFO PTRACE_GETSIGINFO
177
178 /* Set new siginfo for process. */
179 PTRACE_SETSIGINFO = 0x4203,
180#define PT_SETSIGINFO PTRACE_SETSIGINFO
181
182 /* Get register content. */
183 PTRACE_GETREGSET = 0x4204,
184#define PTRACE_GETREGSET PTRACE_GETREGSET
185
186 /* Set register content. */
187 PTRACE_SETREGSET = 0x4205,
188#define PTRACE_SETREGSET PTRACE_SETREGSET
189
190 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
191 signal or group stop state. */
192 PTRACE_SEIZE = 0x4206,
193#define PTRACE_SEIZE PTRACE_SEIZE
194
195 /* Trap seized tracee. */
196 PTRACE_INTERRUPT = 0x4207,
197#define PTRACE_INTERRUPT PTRACE_INTERRUPT
198
199 /* Wait for next group event. */
200 PTRACE_LISTEN = 0x4208,
201#define PTRACE_LISTEN PTRACE_LISTEN
202
203 /* Retrieve siginfo_t structures without removing signals from a queue. */
204 PTRACE_PEEKSIGINFO = 0x4209,
205#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
206
207 /* Get the mask of blocked signals. */
208 PTRACE_GETSIGMASK = 0x420a,
209#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
210
211 /* Change the mask of blocked signals. */
212 PTRACE_SETSIGMASK = 0x420b,
213#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
214
215 /* Get seccomp BPF filters. */
216 PTRACE_SECCOMP_GET_FILTER = 0x420c,
217#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
218
219 /* Get seccomp BPF filter metadata. */
220 PTRACE_SECCOMP_GET_METADATA = 0x420d,
221#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
222
223 /* Get information about system call. */
224 PTRACE_GET_SYSCALL_INFO = 0x420e,
225#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
226
227 /* Get rseq configuration information. */
228 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
229#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
230
231 /* Set configuration for syscall user dispatch. */
232 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
233#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
234 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
235
236 /* Get configuration for syscall user dispatch. */
237 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
238#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
239 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
240};
241
242
243#include <bits/ptrace-shared.h>
244
245__END_DECLS
246
247#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/sys/ucontext.h deleted-304
......@@ -1,304 +0,0 @@
1/* Copyright (C) 1998-2025 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_UCONTEXT_H
19#define _SYS_UCONTEXT_H 1
20
21#include <features.h>
22
23#include <bits/types/sigset_t.h>
24#include <bits/types/stack_t.h>
25
26#include <bits/wordsize.h>
27
28
29#ifdef __USE_MISC
30# define __ctx(fld) fld
31#else
32# define __ctx(fld) __ ## fld
33#endif
34
35#if __WORDSIZE == 64
36
37#define __MC_NGREG 19
38#ifdef __USE_MISC
39# define MC_TSTATE 0
40# define MC_PC 1
41# define MC_NPC 2
42# define MC_Y 3
43# define MC_G1 4
44# define MC_G2 5
45# define MC_G3 6
46# define MC_G4 7
47# define MC_G5 8
48# define MC_G6 9
49# define MC_G7 10
50# define MC_O0 11
51# define MC_O1 12
52# define MC_O2 13
53# define MC_O3 14
54# define MC_O4 15
55# define MC_O5 16
56# define MC_O6 17
57# define MC_O7 18
58# define MC_NGREG __MC_NGREG
59#endif
60
61typedef unsigned long mc_greg_t;
62typedef mc_greg_t mc_gregset_t[__MC_NGREG];
63
64#ifdef __USE_MISC
65# define MC_MAXFPQ 16
66#endif
67struct __mc_fq {
68 unsigned long *__ctx(mcfq_addr);
69 unsigned int __ctx(mcfq_insn);
70};
71
72typedef struct {
73 union {
74 unsigned int __ctx(sregs)[32];
75 unsigned long __ctx(dregs)[32];
76 long double __ctx(qregs)[16];
77 } __ctx(mcfpu_fregs);
78 unsigned long __ctx(mcfpu_fsr);
79 unsigned long __ctx(mcfpu_fprs);
80 unsigned long __ctx(mcfpu_gsr);
81 struct __mc_fq *__ctx(mcfpu_fq);
82 unsigned char __ctx(mcfpu_qcnt);
83 unsigned char __ctx(mcfpu_qentsz);
84 unsigned char __ctx(mcfpu_enab);
85} mc_fpu_t;
86
87typedef struct {
88 mc_gregset_t __ctx(mc_gregs);
89 mc_greg_t __ctx(mc_fp);
90 mc_greg_t __ctx(mc_i7);
91 mc_fpu_t __ctx(mc_fpregs);
92} mcontext_t;
93
94typedef struct ucontext_t {
95 struct ucontext_t *uc_link;
96 unsigned long __ctx(uc_flags);
97 unsigned long __uc_sigmask;
98 mcontext_t uc_mcontext;
99 stack_t uc_stack;
100 sigset_t uc_sigmask;
101} ucontext_t;
102
103#endif /* __WORDISIZE == 64 */
104
105/*
106 * Location of the users' stored registers relative to R0.
107 * Usage is as an index into a gregset_t array or as u.u_ar0[XX].
108 */
109#ifdef __USE_MISC
110# define REG_PSR (0)
111# define REG_PC (1)
112# define REG_nPC (2)
113# define REG_Y (3)
114# define REG_G1 (4)
115# define REG_G2 (5)
116# define REG_G3 (6)
117# define REG_G4 (7)
118# define REG_G5 (8)
119# define REG_G6 (9)
120# define REG_G7 (10)
121# define REG_O0 (11)
122# define REG_O1 (12)
123# define REG_O2 (13)
124# define REG_O3 (14)
125# define REG_O4 (15)
126# define REG_O5 (16)
127# define REG_O6 (17)
128# define REG_O7 (18)
129#endif
130
131/*
132 * A gregset_t is defined as an array type for compatibility with the reference
133 * source. This is important due to differences in the way the C language
134 * treats arrays and structures as parameters.
135 *
136 * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)),
137 * but that the ABI defines it absolutely to be 21 (resp. 19).
138 */
139
140#if __WORDSIZE == 64
141
142# define __NGREG 21
143# ifdef __USE_MISC
144# define REG_ASI (19)
145# define REG_FPRS (20)
146
147# define NGREG __NGREG
148# endif
149typedef long greg_t;
150
151#else /* __WORDSIZE == 32 */
152
153# define __NGREG 19
154# ifdef __USE_MISC
155# define NGREG __NGREG
156# endif
157typedef int greg_t;
158
159#endif /* __WORDSIZE == 32 */
160
161typedef greg_t gregset_t[__NGREG];
162
163/*
164 * The following structures define how a register window can appear on the
165 * stack. This structure is available (when required) through the `gwins'
166 * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the
167 * maximum number of outstanding registers window defined in the SPARC
168 * architecture (*not* implementation).
169 */
170# define __SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */
171#ifdef __USE_MISC
172# define SPARC_MAXREGWINDOW __SPARC_MAXREGWINDOW
173#endif
174struct __rwindow
175 {
176 greg_t __ctx(rw_local)[8]; /* locals */
177 greg_t __ctx(rw_in)[8]; /* ins */
178 };
179
180#ifdef __USE_MISC
181# define rw_fp __ctx(rw_in)[6] /* frame pointer */
182# define rw_rtn __ctx(rw_in)[7] /* return address */
183#endif
184
185typedef struct
186 {
187 int __ctx(wbcnt);
188 int *__ctx(spbuf)[__SPARC_MAXREGWINDOW];
189 struct __rwindow __ctx(wbuf)[__SPARC_MAXREGWINDOW];
190 } gwindows_t;
191
192/*
193 * Floating point definitions.
194 */
195
196#ifdef __USE_MISC
197# define MAXFPQ 16 /* max # of fpu queue entries currently supported */
198#endif
199
200/*
201 * struct fq defines the minimal format of a floating point instruction queue
202 * entry. The size of entries in the floating point queue are implementation
203 * dependent. The union FQu is guaranteed to be the first field in any ABI
204 * conformant system implementation. Any additional fields provided by an
205 * implementation should not be used applications designed to be ABI conformant. */
206
207struct __fpq
208 {
209 unsigned long *__ctx(fpq_addr); /* address */
210 unsigned long __ctx(fpq_instr); /* instruction */
211 };
212
213struct __fq
214 {
215 union /* FPU inst/addr queue */
216 {
217 double __ctx(whole);
218 struct __fpq __ctx(fpq);
219 } __ctx(FQu);
220 };
221
222#ifdef __USE_MISC
223# define FPU_REGS_TYPE unsigned
224# define FPU_DREGS_TYPE unsigned long long
225# define V7_FPU_FSR_TYPE unsigned
226# define V9_FPU_FSR_TYPE unsigned long long
227# define V9_FPU_FPRS_TYPE unsigned
228#endif
229
230#if __WORDSIZE == 64
231
232typedef struct
233 {
234 union { /* FPU floating point regs */
235 unsigned __ctx(fpu_regs)[32]; /* 32 singles */
236 double __ctx(fpu_dregs)[32]; /* 32 doubles */
237 long double __ctx(fpu_qregs)[16]; /* 16 quads */
238 } __ctx(fpu_fr);
239 struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */
240 unsigned long __ctx(fpu_fsr); /* FPU status register */
241 unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */
242 unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */
243 unsigned char __ctx(fpu_en); /* flag signifying fpu in use */
244 } fpregset_t;
245
246#else /* __WORDSIZE == 32 */
247
248typedef struct
249 {
250 union { /* FPU floating point regs */
251 __extension__ unsigned long long __ctx(fpu_regs)[32]; /* 32 singles */
252 double __ctx(fpu_dregs)[16]; /* 16 doubles */
253 } __ctx(fpu_fr);
254 struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */
255 unsigned __ctx(fpu_fsr); /* FPU status register */
256 unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */
257 unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */
258 unsigned char __ctx(fpu_en); /* flag signifying fpu in use */
259 } fpregset_t;
260
261/*
262 * The following structure is for associating extra register state with
263 * the ucontext structure and is kept within the uc_mcontext filler area.
264 *
265 * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to
266 * extra register state. The exact format of the extra register state
267 * pointed to by xrs_ptr is platform-dependent.
268 *
269 * Note: a platform may or may not manage extra register state.
270 */
271typedef struct
272 {
273 unsigned int __ctx(xrs_id); /* indicates xrs_ptr validity */
274 void * __ctx(xrs_ptr); /* ptr to extra reg state */
275 } xrs_t;
276
277#ifdef __USE_MISC
278# define XRS_ID 0x78727300 /* the string "xrs" */
279#endif
280
281typedef struct
282 {
283 gregset_t __ctx(gregs); /* general register set */
284 gwindows_t *__ctx(gwins); /* POSSIBLE pointer to register
285 windows */
286 fpregset_t __ctx(fpregs); /* floating point register set */
287 xrs_t __ctx(xrs); /* POSSIBLE extra register state
288 association */
289 long __glibc_reserved1[19];
290 } mcontext_t;
291
292
293/* Userlevel context. */
294typedef struct ucontext_t
295 {
296 unsigned long __ctx(uc_flags);
297 struct ucontext_t *uc_link;
298 sigset_t uc_sigmask;
299 stack_t uc_stack;
300 mcontext_t uc_mcontext;
301 } ucontext_t;
302
303#endif /* __WORDSIZE == 32 */
304#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/sparc64-linux-gnu/sys/user.h deleted-86
......@@ -1,86 +0,0 @@
1/* Copyright (C) 2003-2025 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_USER_H
19#define _SYS_USER_H 1
20
21#include <stddef.h>
22
23struct sunos_regs
24{
25 unsigned int psr, pc, npc, y;
26 unsigned int regs[15];
27};
28
29struct sunos_fpqueue
30{
31 unsigned int *addr;
32 unsigned int inst;
33};
34
35struct sunos_fp
36{
37 union
38 {
39 unsigned int regs[32];
40 double reg_dbls[16];
41 } fregs;
42 unsigned int fsr;
43 unsigned int flags;
44 unsigned int extra;
45 unsigned int fpq_count;
46 struct sunos_fpqueue fpq[16];
47};
48
49struct sunos_fpu
50{
51 struct sunos_fp fpstatus;
52};
53
54/* The SunOS core file header layout. */
55struct user {
56 unsigned int magic;
57 unsigned int len;
58 struct sunos_regs regs;
59 struct
60 {
61 unsigned char a_dynamic :1;
62 unsigned char a_toolversion :7;
63 unsigned char a_machtype;
64 unsigned short a_info;
65 unsigned int a_text;
66 unsigned int a_data;
67 unsigned int a_bss;
68 unsigned int a_syms;
69 unsigned int a_entry;
70 unsigned int a_trsize;
71 unsigned int a_drsize;
72 } uexec;
73 int signal;
74 size_t u_tsize;
75 size_t u_dsize;
76 size_t u_ssize;
77 char u_comm[17];
78 struct sunos_fpu fpu;
79 unsigned int sigcode;
80};
81
82#define NBPG 0x2000
83#define UPAGES 1
84#define SUNOS_CORE_MAGIC 0x080456
85
86#endif
\ No newline at end of file
lib/libc/include/x86-linux-gnu/gnu/lib-names-64.h created+27
......@@ -0,0 +1,27 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-64.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_X86_64_SO "ld-linux-x86-64.so.2"
7#define LD_SO "ld-linux-x86-64.so.2"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/x86-linux-gnu/gnu/lib-names-x32.h created+27
......@@ -0,0 +1,27 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-x32.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_X32_SO "ld-linux-x32.so.2"
7#define LD_SO "ld-linux-x32.so.2"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/x86-linux-gnu/gnu/stubs-64.h created+17
......@@ -0,0 +1,17 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub_chflags
12#define __stub_fchflags
13#define __stub_gtty
14#define __stub_revoke
15#define __stub_setlogin
16#define __stub_sigreturn
17#define __stub_stty
\ No newline at end of file
lib/libc/include/x86-linux-gnu/gnu/stubs-x32.h created+22
......@@ -0,0 +1,22 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_nfsservctl
14#define __stub___compat_query_module
15#define __stub___compat_uselib
16#define __stub_chflags
17#define __stub_fchflags
18#define __stub_gtty
19#define __stub_revoke
20#define __stub_setlogin
21#define __stub_sigreturn
22#define __stub_stty
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/a.out.h deleted-11
......@@ -1,11 +0,0 @@
1#ifndef __A_OUT_GNU_H__
2# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
3#endif
4
5#ifdef __x86_64__
6
7/* Signal to users of this header that this architecture really doesn't
8 support a.out binary format. */
9#define __NO_A_OUT_SUPPORT 1
10
11#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/dl_find_object.h deleted-29
......@@ -1,29 +0,0 @@
1/* x86 definitions for finding objects.
2 Copyright (C) 2021-2025 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 _DLFCN_H
20# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
21#endif
22
23#ifdef __x86_64__
24# define DLFO_STRUCT_HAS_EH_DBASE 0
25#else
26# define DLFO_STRUCT_HAS_EH_DBASE 1
27#endif
28#define DLFO_STRUCT_HAS_EH_COUNT 0
29#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/endianness.h deleted-11
......@@ -1,11 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* i386/x86_64 are little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/environments.h deleted-105
......@@ -1,105 +0,0 @@
1/* Copyright (C) 1999-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* Environments with 32-bit wide pointers are optionally provided.
45 Therefore following macros aren't defined:
46 # undef _POSIX_V7_ILP32_OFF32
47 # undef _POSIX_V7_ILP32_OFFBIG
48 # undef _POSIX_V6_ILP32_OFF32
49 # undef _POSIX_V6_ILP32_OFFBIG
50 # undef _XBS5_ILP32_OFF32
51 # undef _XBS5_ILP32_OFFBIG
52 and users need to check at runtime. */
53
54/* We also have no use (for now) for an environment with bigger pointers
55 and offsets. */
56# define _POSIX_V7_LPBIG_OFFBIG -1
57# define _POSIX_V6_LPBIG_OFFBIG -1
58# define _XBS5_LPBIG_OFFBIG -1
59
60/* By default we have 64-bit wide `long int', pointers and `off_t'. */
61# define _POSIX_V7_LP64_OFF64 1
62# define _POSIX_V6_LP64_OFF64 1
63# define _XBS5_LP64_OFF64 1
64
65#else /* __WORDSIZE == 32 */
66
67/* We have 32-bit wide `int', `long int' and pointers and all platforms
68 support LFS. -mx32 has 64-bit wide `off_t'. */
69# define _POSIX_V7_ILP32_OFFBIG 1
70# define _POSIX_V6_ILP32_OFFBIG 1
71# define _XBS5_ILP32_OFFBIG 1
72
73# ifndef __x86_64__
74/* -m32 has 32-bit wide `off_t'. */
75# define _POSIX_V7_ILP32_OFF32 1
76# define _POSIX_V6_ILP32_OFF32 1
77# define _XBS5_ILP32_OFF32 1
78# endif
79
80/* We optionally provide an environment with the above size but an 64-bit
81 side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
82
83/* Environments with 64-bit wide pointers can be provided,
84 so these macros aren't defined:
85 # undef _POSIX_V7_LP64_OFF64
86 # undef _POSIX_V7_LPBIG_OFFBIG
87 # undef _POSIX_V6_LP64_OFF64
88 # undef _POSIX_V6_LPBIG_OFFBIG
89 # undef _XBS5_LP64_OFF64
90 # undef _XBS5_LPBIG_OFFBIG
91 and sysconf tests for it at runtime. */
92
93#endif /* __WORDSIZE == 32 */
94
95#define __ILP32_OFF32_CFLAGS "-m32"
96#define __ILP32_OFF32_LDFLAGS "-m32"
97#if defined __x86_64__ && defined __ILP32__
98# define __ILP32_OFFBIG_CFLAGS "-mx32"
99# define __ILP32_OFFBIG_LDFLAGS "-mx32"
100#else
101# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
102# define __ILP32_OFFBIG_LDFLAGS "-m32"
103#endif
104#define __LP64_OFF64_CFLAGS "-m64"
105#define __LP64_OFF64_LDFLAGS "-m64"
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/epoll.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2002-2025 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_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
20#endif
21
22/* Flags to be passed to epoll_create1. */
23enum
24 {
25 EPOLL_CLOEXEC = 02000000
26#define EPOLL_CLOEXEC EPOLL_CLOEXEC
27 };
28
29#define __EPOLL_PACKED __attribute__ ((__packed__))
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/fcntl.h deleted-61
......@@ -1,61 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux/x86.
2 Copyright (C) 2001-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#ifdef __x86_64__
24# define __O_LARGEFILE 0
25#endif
26
27#ifdef __x86_64__
28/* Not necessary, we always have 64-bit offsets. */
29# define F_GETLK64 5 /* Get record locking info. */
30# define F_SETLK64 6 /* Set record locking info (non-blocking). */
31# define F_SETLKW64 7 /* Set record locking info (blocking). */
32#endif
33
34
35struct flock
36 {
37 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
38 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
39#ifndef __USE_FILE_OFFSET64
40 __off_t l_start; /* Offset where the lock begins. */
41 __off_t l_len; /* Size of the locked area; zero means until EOF. */
42#else
43 __off64_t l_start; /* Offset where the lock begins. */
44 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
45#endif
46 __pid_t l_pid; /* Process holding the lock. */
47 };
48
49#ifdef __USE_LARGEFILE64
50struct flock64
51 {
52 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
53 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
54 __off64_t l_start; /* Offset where the lock begins. */
55 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
56 __pid_t l_pid; /* Process holding the lock. */
57 };
58#endif
59
60/* Include generic Linux declarations. */
61#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/fenv.h deleted-116
......@@ -1,116 +0,0 @@
1/* Copyright (C) 1997-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22/* Define bits representing the exception. We use the bit positions
23 of the appropriate bits in the FPU control word. */
24enum
25 {
26 FE_INVALID =
27#define FE_INVALID 0x01
28 FE_INVALID,
29 __FE_DENORM = 0x02,
30 FE_DIVBYZERO =
31#define FE_DIVBYZERO 0x04
32 FE_DIVBYZERO,
33 FE_OVERFLOW =
34#define FE_OVERFLOW 0x08
35 FE_OVERFLOW,
36 FE_UNDERFLOW =
37#define FE_UNDERFLOW 0x10
38 FE_UNDERFLOW,
39 FE_INEXACT =
40#define FE_INEXACT 0x20
41 FE_INEXACT
42 };
43
44#define FE_ALL_EXCEPT \
45 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
46
47/* The ix87 FPU supports all of the four defined rounding modes. We
48 use again the bit positions in the FPU control word as the values
49 for the appropriate macros. */
50enum
51 {
52 FE_TONEAREST =
53#define FE_TONEAREST 0
54 FE_TONEAREST,
55 FE_DOWNWARD =
56#define FE_DOWNWARD 0x400
57 FE_DOWNWARD,
58 FE_UPWARD =
59#define FE_UPWARD 0x800
60 FE_UPWARD,
61 FE_TOWARDZERO =
62#define FE_TOWARDZERO 0xc00
63 FE_TOWARDZERO
64 };
65
66
67/* Type representing exception flags. */
68typedef unsigned short int fexcept_t;
69
70
71/* Type representing floating-point environment. This structure
72 corresponds to the layout of the block written by the `fstenv'
73 instruction and has additional fields for the contents of the MXCSR
74 register as written by the `stmxcsr' instruction. */
75typedef struct
76 {
77 unsigned short int __control_word;
78 unsigned short int __glibc_reserved1;
79 unsigned short int __status_word;
80 unsigned short int __glibc_reserved2;
81 unsigned short int __tags;
82 unsigned short int __glibc_reserved3;
83 unsigned int __eip;
84 unsigned short int __cs_selector;
85 unsigned int __opcode:11;
86 unsigned int __glibc_reserved4:5;
87 unsigned int __data_offset;
88 unsigned short int __data_selector;
89 unsigned short int __glibc_reserved5;
90#ifdef __x86_64__
91 unsigned int __mxcsr;
92#endif
93 }
94fenv_t;
95
96/* If the default argument is used we use this value. */
97#define FE_DFL_ENV ((const fenv_t *) -1)
98
99#ifdef __USE_GNU
100/* Floating-point environment where none of the exception is masked. */
101# define FE_NOMASK_ENV ((const fenv_t *) -2)
102#endif
103
104#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
105/* Type representing floating-point control modes. */
106typedef struct
107 {
108 unsigned short int __control_word;
109 unsigned short int __glibc_reserved;
110 unsigned int __mxcsr;
111 }
112femode_t;
113
114/* Default floating-point control modes. */
115# define FE_DFL_MODE ((const femode_t *) -1L)
116#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/floatn.h deleted-129
......@@ -1,129 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on x86.
2 Copyright (C) 2017-2025 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
24/* Defined to 1 if the current compiler invocation provides a
25 floating-point type with the IEEE 754 binary128 format, and this
26 glibc includes corresponding *f128 interfaces for it. The required
27 libgcc support was added some time after the basic compiler
28 support, for x86_64 and x86. */
29#if (defined __x86_64__ \
30 ? __GNUC_PREREQ (4, 3) \
31 : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) \
32 || __glibc_clang_prereq (3, 4)
33# define __HAVE_FLOAT128 1
34#else
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#if __HAVE_FLOAT128
41# define __HAVE_DISTINCT_FLOAT128 1
42#else
43# define __HAVE_DISTINCT_FLOAT128 0
44#endif
45
46/* Defined to 1 if the current compiler invocation provides a
47 floating-point type with the right format for _Float64x, and this
48 glibc includes corresponding *f64x interfaces for it. */
49#define __HAVE_FLOAT64X 1
50
51/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
52 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
53 the format of _Float128, which must be different from that of long
54 double. */
55#define __HAVE_FLOAT64X_LONG_DOUBLE 1
56
57#ifndef __ASSEMBLER__
58
59/* Defined to concatenate the literal suffix to be used with _Float128
60 types, if __HAVE_FLOAT128 is 1. */
61# if __HAVE_FLOAT128
62# if !__GNUC_PREREQ (7, 0) \
63 || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \
64 || defined __clang__
65/* The literal suffix f128 exists only since GCC 7.0. */
66# define __f128(x) x##q
67# else
68# define __f128(x) x##f128
69# endif
70# endif
71
72/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
73# if __HAVE_FLOAT128
74# if !__GNUC_PREREQ (7, 0) \
75 || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \
76 || defined __clang__
77/* Add a typedef for older GCC compilers which don't natively support
78 _Complex _Float128. */
79typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
80# define __CFLOAT128 __cfloat128
81# else
82# define __CFLOAT128 _Complex _Float128
83# endif
84# endif
85
86/* The remaining of this file provides support for older compilers. */
87# if __HAVE_FLOAT128
88
89/* The type _Float128 exists only since GCC 7.0. */
90# if !__GNUC_PREREQ (7, 0) \
91 || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \
92 || __glibc_clang_prereq (3, 4)
93typedef __float128 _Float128;
94# endif
95
96/* __builtin_huge_valf128 doesn't exist before GCC 7.0 nor Clang 7.0. */
97# if !__GNUC_PREREQ (7, 0) && !__glibc_clang_prereq (7, 0)
98# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
99# endif
100
101/* Older GCC has only a subset of built-in functions for _Float128 on
102 x86, and __builtin_infq is not usable in static initializers.
103 Converting a narrower sNaN to _Float128 produces a quiet NaN, so
104 attempts to use _Float128 sNaNs will not work properly with older
105 compilers. */
106# if !__GNUC_PREREQ (7, 0) && !defined __clang__
107# define __builtin_copysignf128 __builtin_copysignq
108# define __builtin_fabsf128 __builtin_fabsq
109# define __builtin_inff128() ((_Float128) __builtin_inf ())
110# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
111# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
112# endif
113
114/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
115 e.g.: __builtin_signbitf128, before GCC 6. However, there has never
116 been a __builtin_signbitf128 in GCC and the type-generic builtin is
117 only available since GCC 6. signbit is expanded to __builtin_signbit
118 after Clang 3.3. */
119# if !__GNUC_PREREQ (6, 0)
120# define __builtin_signbitf128 __signbitf128
121# endif
122
123# endif
124
125#endif /* !__ASSEMBLER__. */
126
127#include <bits/floatn-common.h>
128
129#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
21#endif
22
23#ifdef __FLT_EVAL_METHOD__
24# if __FLT_EVAL_METHOD__ == -1
25# define __GLIBC_FLT_EVAL_METHOD 2
26# else
27# define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__
28# endif
29#elif defined __x86_64__
30# define __GLIBC_FLT_EVAL_METHOD 0
31#else
32# define __GLIBC_FLT_EVAL_METHOD 2
33#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
21#endif
22
23#define __FP_LOGB0_IS_MIN 1
24#define __FP_LOGBNAN_IS_MIN 1
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h deleted-37
......@@ -1,37 +0,0 @@
1/* Definition of __INDIRECT_RETURN. x86 version.
2 Copyright (C) 2018-2025 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 _UCONTEXT_H
20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
21#endif
22
23/* On x86, swapcontext returns via indirect branch when the shadow stack
24 is enabled. Define __INDIRECT_RETURN to indicate whether swapcontext
25 returns via indirect branch. */
26#if defined __CET__ && (__CET__ & 2) != 0
27# if __glibc_has_attribute (__indirect_return__)
28# define __INDIRECT_RETURN __attribute__ ((__indirect_return__))
29# else
30/* Newer compilers provide the indirect_return attribute, but without
31 it we can use returns_twice to affect the optimizer in the same
32 way and avoid unsafe optimizations. */
33# define __INDIRECT_RETURN __attribute__ ((__returns_twice__))
34# endif
35#else
36# define __INDIRECT_RETURN
37#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h deleted-33
......@@ -1,33 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
2 Copyright (C) 2012-2025 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_IPC_H
20# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
21#endif
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26/* Used in `struct shmid_ds'. */
27# ifdef __x86_64__
28typedef int __ipc_pid_t;
29# else
30typedef unsigned short int __ipc_pid_t;
31# endif
32
33#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h deleted-54
......@@ -1,54 +0,0 @@
1/* Define iscanonical macro. ldbl-96 version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif
22
23extern int __iscanonicall (long double __x)
24 __THROW __attribute__ ((__const__));
25#define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
26#define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
27#if __HAVE_DISTINCT_FLOAT128
28# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
29#endif
30
31/* Return nonzero value if X is canonical. In IEEE interchange binary
32 formats, all values are canonical, but the argument must still be
33 converted to its semantic type for any exceptions arising from the
34 conversion, before being discarded; in extended precision, there
35 are encodings that are not consistently handled as corresponding to
36 any particular value of the type, and we return 0 for those. */
37#ifndef __cplusplus
38# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
39#else
40/* In C++ mode, __MATH_TG cannot be used, because it relies on
41 __builtin_types_compatible_p, which is a C-only builtin. On the
42 other hand, overloading provides the means to distinguish between
43 the floating-point types. The overloading resolution will match
44 the correct parameter (regardless of type qualifiers (i.e.: const
45 and volatile)). */
46extern "C++" {
47inline int iscanonical (float __val) { return __iscanonicalf (__val); }
48inline int iscanonical (double __val) { return __iscanonical (__val); }
49inline int iscanonical (long double __val) { return __iscanonicall (__val); }
50# if __HAVE_DISTINCT_FLOAT128
51inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
52# endif
53}
54#endif /* __cplusplus */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/link.h deleted-159
......@@ -1,159 +0,0 @@
1/* Copyright (C) 2004-2025 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 _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."
20#endif
21
22
23#ifndef __x86_64__
24/* Registers for entry into PLT on IA-32. */
25typedef struct La_i86_regs
26{
27 uint32_t lr_edx;
28 uint32_t lr_ecx;
29 uint32_t lr_eax;
30 uint32_t lr_ebp;
31 uint32_t lr_esp;
32} La_i86_regs;
33
34/* Return values for calls from PLT on IA-32. */
35typedef struct La_i86_retval
36{
37 uint32_t lrv_eax;
38 uint32_t lrv_edx;
39 long double lrv_st0;
40 long double lrv_st1;
41 uint64_t __glibc_unused1;
42 uint64_t __glibc_unused2;
43} La_i86_retval;
44
45
46__BEGIN_DECLS
47
48extern Elf32_Addr la_i86_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
49 uintptr_t *__refcook,
50 uintptr_t *__defcook,
51 La_i86_regs *__regs,
52 unsigned int *__flags,
53 const char *__symname,
54 long int *__framesizep);
55extern unsigned int la_i86_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
56 uintptr_t *__refcook,
57 uintptr_t *__defcook,
58 const La_i86_regs *__inregs,
59 La_i86_retval *__outregs,
60 const char *symname);
61
62__END_DECLS
63
64#else
65
66/* Registers for entry into PLT on x86-64. */
67# if __GNUC_PREREQ (4,0)
68typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
69typedef float La_x86_64_ymm
70 __attribute__ ((__vector_size__ (32), __aligned__ (16)));
71typedef double La_x86_64_zmm
72 __attribute__ ((__vector_size__ (64), __aligned__ (16)));
73# else
74typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
75# endif
76
77typedef union
78{
79# if __GNUC_PREREQ (4,0)
80 La_x86_64_ymm ymm[2];
81 La_x86_64_zmm zmm[1];
82# endif
83 La_x86_64_xmm xmm[4];
84} La_x86_64_vector __attribute__ ((__aligned__ (16)));
85
86typedef struct La_x86_64_regs
87{
88 uint64_t lr_rdx;
89 uint64_t lr_r8;
90 uint64_t lr_r9;
91 uint64_t lr_rcx;
92 uint64_t lr_rsi;
93 uint64_t lr_rdi;
94 uint64_t lr_rbp;
95 uint64_t lr_rsp;
96 La_x86_64_xmm lr_xmm[8];
97 La_x86_64_vector lr_vector[8];
98#ifndef __ILP32__
99 __int128_t __glibc_unused1[4];
100#endif
101} La_x86_64_regs;
102
103/* Return values for calls from PLT on x86-64. */
104typedef struct La_x86_64_retval
105{
106 uint64_t lrv_rax;
107 uint64_t lrv_rdx;
108 La_x86_64_xmm lrv_xmm0;
109 La_x86_64_xmm lrv_xmm1;
110 long double lrv_st0;
111 long double lrv_st1;
112 La_x86_64_vector lrv_vector0;
113 La_x86_64_vector lrv_vector1;
114#ifndef __ILP32__
115 __int128_t __glibc_unused1;
116 __int128_t __glibc_unused2;
117#endif
118} La_x86_64_retval;
119
120#define La_x32_regs La_x86_64_regs
121#define La_x32_retval La_x86_64_retval
122
123__BEGIN_DECLS
124
125extern Elf64_Addr la_x86_64_gnu_pltenter (Elf64_Sym *__sym,
126 unsigned int __ndx,
127 uintptr_t *__refcook,
128 uintptr_t *__defcook,
129 La_x86_64_regs *__regs,
130 unsigned int *__flags,
131 const char *__symname,
132 long int *__framesizep);
133extern unsigned int la_x86_64_gnu_pltexit (Elf64_Sym *__sym,
134 unsigned int __ndx,
135 uintptr_t *__refcook,
136 uintptr_t *__defcook,
137 const La_x86_64_regs *__inregs,
138 La_x86_64_retval *__outregs,
139 const char *__symname);
140
141extern Elf32_Addr la_x32_gnu_pltenter (Elf32_Sym *__sym,
142 unsigned int __ndx,
143 uintptr_t *__refcook,
144 uintptr_t *__defcook,
145 La_x32_regs *__regs,
146 unsigned int *__flags,
147 const char *__symname,
148 long int *__framesizep);
149extern unsigned int la_x32_gnu_pltexit (Elf32_Sym *__sym,
150 unsigned int __ndx,
151 uintptr_t *__refcook,
152 uintptr_t *__defcook,
153 const La_x32_regs *__inregs,
154 La_x32_retval *__outregs,
155 const char *__symname);
156
157__END_DECLS
158
159#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/long-double.h deleted-21
......@@ -1,21 +0,0 @@
1/* Properties of long double type. ldbl-96 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/math-vector.h deleted-147
......@@ -1,147 +0,0 @@
1/* Platform-specific SIMD declarations of math functions.
2 Copyright (C) 2014-2025 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 _MATH_H
20# error "Never include <bits/math-vector.h> directly;\
21 include <math.h> instead."
22#endif
23
24/* Get default empty definitions for simd declarations. */
25#include <bits/libm-simd-decl-stubs.h>
26
27#if defined __x86_64__ && defined __FAST_MATH__
28# if defined _OPENMP && _OPENMP >= 201307
29/* OpenMP case. */
30# define __DECL_SIMD_x86_64 _Pragma ("omp declare simd notinbranch")
31# elif __GNUC_PREREQ (6,0)
32/* W/o OpenMP use GCC 6.* __attribute__ ((__simd__)). */
33# define __DECL_SIMD_x86_64 __attribute__ ((__simd__ ("notinbranch")))
34# endif
35
36# ifdef __DECL_SIMD_x86_64
37# undef __DECL_SIMD_cos
38# define __DECL_SIMD_cos __DECL_SIMD_x86_64
39# undef __DECL_SIMD_cosf
40# define __DECL_SIMD_cosf __DECL_SIMD_x86_64
41# undef __DECL_SIMD_sin
42# define __DECL_SIMD_sin __DECL_SIMD_x86_64
43# undef __DECL_SIMD_sinf
44# define __DECL_SIMD_sinf __DECL_SIMD_x86_64
45# undef __DECL_SIMD_sincos
46# define __DECL_SIMD_sincos __DECL_SIMD_x86_64
47# undef __DECL_SIMD_sincosf
48# define __DECL_SIMD_sincosf __DECL_SIMD_x86_64
49# undef __DECL_SIMD_log
50# define __DECL_SIMD_log __DECL_SIMD_x86_64
51# undef __DECL_SIMD_logf
52# define __DECL_SIMD_logf __DECL_SIMD_x86_64
53# undef __DECL_SIMD_exp
54# define __DECL_SIMD_exp __DECL_SIMD_x86_64
55# undef __DECL_SIMD_expf
56# define __DECL_SIMD_expf __DECL_SIMD_x86_64
57# undef __DECL_SIMD_pow
58# define __DECL_SIMD_pow __DECL_SIMD_x86_64
59# undef __DECL_SIMD_powf
60# define __DECL_SIMD_powf __DECL_SIMD_x86_64
61# undef __DECL_SIMD_acos
62# define __DECL_SIMD_acos __DECL_SIMD_x86_64
63# undef __DECL_SIMD_acosf
64# define __DECL_SIMD_acosf __DECL_SIMD_x86_64
65# undef __DECL_SIMD_atan
66# define __DECL_SIMD_atan __DECL_SIMD_x86_64
67# undef __DECL_SIMD_atanf
68# define __DECL_SIMD_atanf __DECL_SIMD_x86_64
69# undef __DECL_SIMD_asin
70# define __DECL_SIMD_asin __DECL_SIMD_x86_64
71# undef __DECL_SIMD_asinf
72# define __DECL_SIMD_asinf __DECL_SIMD_x86_64
73# undef __DECL_SIMD_hypot
74# define __DECL_SIMD_hypot __DECL_SIMD_x86_64
75# undef __DECL_SIMD_hypotf
76# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64
77# undef __DECL_SIMD_exp2
78# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64
79# undef __DECL_SIMD_exp2f
80# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64
81# undef __DECL_SIMD_exp10
82# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64
83# undef __DECL_SIMD_exp10f
84# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64
85# undef __DECL_SIMD_cosh
86# define __DECL_SIMD_cosh __DECL_SIMD_x86_64
87# undef __DECL_SIMD_coshf
88# define __DECL_SIMD_coshf __DECL_SIMD_x86_64
89# undef __DECL_SIMD_expm1
90# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64
91# undef __DECL_SIMD_expm1f
92# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64
93# undef __DECL_SIMD_sinh
94# define __DECL_SIMD_sinh __DECL_SIMD_x86_64
95# undef __DECL_SIMD_sinhf
96# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64
97# undef __DECL_SIMD_cbrt
98# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64
99# undef __DECL_SIMD_cbrtf
100# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64
101# undef __DECL_SIMD_atan2
102# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64
103# undef __DECL_SIMD_atan2f
104# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64
105# undef __DECL_SIMD_log10
106# define __DECL_SIMD_log10 __DECL_SIMD_x86_64
107# undef __DECL_SIMD_log10f
108# define __DECL_SIMD_log10f __DECL_SIMD_x86_64
109# undef __DECL_SIMD_log2
110# define __DECL_SIMD_log2 __DECL_SIMD_x86_64
111# undef __DECL_SIMD_log2f
112# define __DECL_SIMD_log2f __DECL_SIMD_x86_64
113# undef __DECL_SIMD_log1p
114# define __DECL_SIMD_log1p __DECL_SIMD_x86_64
115# undef __DECL_SIMD_log1pf
116# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64
117# undef __DECL_SIMD_atanh
118# define __DECL_SIMD_atanh __DECL_SIMD_x86_64
119# undef __DECL_SIMD_atanhf
120# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64
121# undef __DECL_SIMD_acosh
122# define __DECL_SIMD_acosh __DECL_SIMD_x86_64
123# undef __DECL_SIMD_acoshf
124# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64
125# undef __DECL_SIMD_erf
126# define __DECL_SIMD_erf __DECL_SIMD_x86_64
127# undef __DECL_SIMD_erff
128# define __DECL_SIMD_erff __DECL_SIMD_x86_64
129# undef __DECL_SIMD_tanh
130# define __DECL_SIMD_tanh __DECL_SIMD_x86_64
131# undef __DECL_SIMD_tanhf
132# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64
133# undef __DECL_SIMD_asinh
134# define __DECL_SIMD_asinh __DECL_SIMD_x86_64
135# undef __DECL_SIMD_asinhf
136# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64
137# undef __DECL_SIMD_erfc
138# define __DECL_SIMD_erfc __DECL_SIMD_x86_64
139# undef __DECL_SIMD_erfcf
140# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64
141# undef __DECL_SIMD_tan
142# define __DECL_SIMD_tan __DECL_SIMD_x86_64
143# undef __DECL_SIMD_tanf
144# define __DECL_SIMD_tanf __DECL_SIMD_x86_64
145
146# endif
147#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/mman.h deleted-38
......@@ -1,38 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/x86_64 version.
2 Copyright (C) 2001-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* Other flags. */
27#define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */
28#define MAP_ABOVE4G 0x80 /* Only map above 4GB. */
29
30#ifdef __USE_MISC
31/* Set up a restore token in the newly allocated shadow stack */
32# define SHADOW_STACK_SET_TOKEN 0x1
33#endif
34
35#include <bits/mman-map-flags-generic.h>
36
37/* Include generic Linux declarations. */
38#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h deleted-30
......@@ -1,30 +0,0 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.
2 Copyright (C) 2018-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
22#endif
23
24#if __WORDSIZE == 32
25typedef unsigned short int __pr_uid_t;
26typedef unsigned short int __pr_gid_t;
27#else
28typedef unsigned int __pr_uid_t;
29typedef unsigned int __pr_gid_t;
30#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/procfs.h deleted-50
......@@ -1,50 +0,0 @@
1/* Types for registers for sys/procfs.h. x86 version.
2 Copyright (C) 2001-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23/* Type for a general-purpose register. */
24#ifdef __x86_64__
25__extension__ typedef unsigned long long elf_greg_t;
26#else
27typedef unsigned long elf_greg_t;
28#endif
29
30/* And the whole bunch of them. We could have used `struct
31 user_regs_struct' directly in the typedef, but tradition says that
32 the register set is an array, which does have some peculiar
33 semantics, so leave it that way. */
34#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
35typedef elf_greg_t elf_gregset_t[ELF_NGREG];
36
37#ifndef __x86_64__
38/* Register set for the floating-point registers. */
39typedef struct user_fpregs_struct elf_fpregset_t;
40
41/* Register set for the extended floating-point registers. Includes
42 the Pentium III SSE registers in addition to the classic
43 floating-point stuff. */
44typedef struct user_fpxregs_struct elf_fpxregset_t;
45#else
46/* Register set for the extended floating-point registers. Includes
47 the Pentium III SSE registers in addition to the classic
48 floating-point stuff. */
49typedef struct user_fpregs_struct elf_fpregset_t;
50#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h deleted-55
......@@ -1,55 +0,0 @@
1/* Copyright (C) 2002-2025 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 _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 1
20
21#include <bits/wordsize.h>
22
23#ifdef __x86_64__
24# if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_MUTEX_T 40
26# define __SIZEOF_PTHREAD_ATTR_T 56
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29# else
30# define __SIZEOF_PTHREAD_MUTEX_T 32
31# define __SIZEOF_PTHREAD_ATTR_T 32
32# define __SIZEOF_PTHREAD_RWLOCK_T 44
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34# endif
35#else
36# define __SIZEOF_PTHREAD_MUTEX_T 24
37# define __SIZEOF_PTHREAD_ATTR_T 36
38# define __SIZEOF_PTHREAD_RWLOCK_T 32
39# define __SIZEOF_PTHREAD_BARRIER_T 20
40#endif
41#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
42#define __SIZEOF_PTHREAD_COND_T 48
43#define __SIZEOF_PTHREAD_CONDATTR_T 4
44#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
45#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
46
47#define __LOCK_ALIGNMENT
48#define __ONCE_ALIGNMENT
49
50#ifndef __x86_64__
51/* Extra attributes for the cleanup functions. */
52# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
53#endif
54
55#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/rseq.h deleted-30
......@@ -1,30 +0,0 @@
1/* Restartable Sequences Linux x86 architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 RSEQ_SIG is used with the following reserved undefined instructions, which
25 trap in user-space:
26
27 x86-32: 0f b9 3d 53 30 05 53 ud1 0x53053053,%edi
28 x86-64: 0f b9 3d 53 30 05 53 ud1 0x53053053(%rip),%edi */
29
30#define RSEQ_SIG 0x53053053
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/setjmp.h deleted-40
......@@ -1,40 +0,0 @@
1/* Copyright (C) 2001-2025 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/* Define the machine-dependent type `jmp_buf'. x86-64 version. */
19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 1
21
22#if !defined _SETJMP_H && !defined _PTHREAD_H
23# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
24#endif
25
26#include <bits/wordsize.h>
27
28#ifndef _ASM
29
30# if __WORDSIZE == 64
31typedef long int __jmp_buf[8];
32# elif defined __x86_64__
33__extension__ typedef long long int __jmp_buf[8];
34# else
35typedef int __jmp_buf[6];
36# endif
37
38#endif
39
40#endif /* bits/setjmp.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h deleted-196
......@@ -1,196 +0,0 @@
1/* Copyright (C) 2002-2025 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 _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 1
20
21#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
22# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
23#endif
24
25#include <bits/types.h>
26
27#define FP_XSTATE_MAGIC1 0x46505853U
28#define FP_XSTATE_MAGIC2 0x46505845U
29#define FP_XSTATE_MAGIC2_SIZE sizeof (FP_XSTATE_MAGIC2)
30
31struct _fpx_sw_bytes
32{
33 __uint32_t magic1;
34 __uint32_t extended_size;
35 __uint64_t xstate_bv;
36 __uint32_t xstate_size;
37 __uint32_t __glibc_reserved1[7];
38};
39
40struct _fpreg
41{
42 unsigned short significand[4];
43 unsigned short exponent;
44};
45
46struct _fpxreg
47{
48 unsigned short significand[4];
49 unsigned short exponent;
50 unsigned short __glibc_reserved1[3];
51};
52
53struct _xmmreg
54{
55 __uint32_t element[4];
56};
57
58
59
60#ifndef __x86_64__
61
62struct _fpstate
63{
64 /* Regular FPU environment. */
65 __uint32_t cw;
66 __uint32_t sw;
67 __uint32_t tag;
68 __uint32_t ipoff;
69 __uint32_t cssel;
70 __uint32_t dataoff;
71 __uint32_t datasel;
72 struct _fpreg _st[8];
73 unsigned short status;
74 unsigned short magic;
75
76 /* FXSR FPU environment. */
77 __uint32_t _fxsr_env[6];
78 __uint32_t mxcsr;
79 __uint32_t __glibc_reserved1;
80 struct _fpxreg _fxsr_st[8];
81 struct _xmmreg _xmm[8];
82 __uint32_t __glibc_reserved2[56];
83};
84
85#ifndef sigcontext_struct
86/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
87 we need sigcontext. Some packages have come to rely on
88 sigcontext_struct being defined on 32-bit x86, so define this for
89 their benefit. */
90# define sigcontext_struct sigcontext
91#endif
92
93#define X86_FXSR_MAGIC 0x0000
94
95struct sigcontext
96{
97 unsigned short gs, __gsh;
98 unsigned short fs, __fsh;
99 unsigned short es, __esh;
100 unsigned short ds, __dsh;
101 unsigned long edi;
102 unsigned long esi;
103 unsigned long ebp;
104 unsigned long esp;
105 unsigned long ebx;
106 unsigned long edx;
107 unsigned long ecx;
108 unsigned long eax;
109 unsigned long trapno;
110 unsigned long err;
111 unsigned long eip;
112 unsigned short cs, __csh;
113 unsigned long eflags;
114 unsigned long esp_at_signal;
115 unsigned short ss, __ssh;
116 struct _fpstate * fpstate;
117 unsigned long oldmask;
118 unsigned long cr2;
119};
120
121#else /* __x86_64__ */
122
123struct _fpstate
124{
125 /* FPU environment matching the 64-bit FXSAVE layout. */
126 __uint16_t cwd;
127 __uint16_t swd;
128 __uint16_t ftw;
129 __uint16_t fop;
130 __uint64_t rip;
131 __uint64_t rdp;
132 __uint32_t mxcsr;
133 __uint32_t mxcr_mask;
134 struct _fpxreg _st[8];
135 struct _xmmreg _xmm[16];
136 __uint32_t __glibc_reserved1[24];
137};
138
139struct sigcontext
140{
141 __uint64_t r8;
142 __uint64_t r9;
143 __uint64_t r10;
144 __uint64_t r11;
145 __uint64_t r12;
146 __uint64_t r13;
147 __uint64_t r14;
148 __uint64_t r15;
149 __uint64_t rdi;
150 __uint64_t rsi;
151 __uint64_t rbp;
152 __uint64_t rbx;
153 __uint64_t rdx;
154 __uint64_t rax;
155 __uint64_t rcx;
156 __uint64_t rsp;
157 __uint64_t rip;
158 __uint64_t eflags;
159 unsigned short cs;
160 unsigned short gs;
161 unsigned short fs;
162 unsigned short __pad0;
163 __uint64_t err;
164 __uint64_t trapno;
165 __uint64_t oldmask;
166 __uint64_t cr2;
167 __extension__ union
168 {
169 struct _fpstate * fpstate;
170 __uint64_t __fpstate_word;
171 };
172 __uint64_t __reserved1 [8];
173};
174
175#endif /* __x86_64__ */
176
177struct _xsave_hdr
178{
179 __uint64_t xstate_bv;
180 __uint64_t __glibc_reserved1[2];
181 __uint64_t __glibc_reserved2[5];
182};
183
184struct _ymmh_state
185{
186 __uint32_t ymmh_space[64];
187};
188
189struct _xstate
190{
191 struct _fpstate fpstate;
192 struct _xsave_hdr xstate_hdr;
193 struct _ymmh_state ymmh;
194};
195
196#endif /* _BITS_SIGCONTEXT_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/siginfo-arch.h deleted-17
......@@ -1,17 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. x86 version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5#if defined __x86_64__ && __WORDSIZE == 32
6/* si_utime and si_stime must be 4 byte aligned for x32 to match the
7 kernel. We align siginfo_t to 8 bytes so that si_utime and
8 si_stime are actually aligned to 8 bytes since their offsets are
9 multiple of 8 bytes. Note: with some compilers, the alignment
10 attribute would be ignored if it were put in __SI_CLOCK_T instead
11 of encapsulated in a typedef. */
12typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
13# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
14# define __SI_CLOCK_T __sigchld_clock_t
15#endif
16
17#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h deleted-63
......@@ -1,63 +0,0 @@
1/* x86 internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#ifdef __x86_64__
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#ifdef __x86_64__
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __eelision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__eelision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#ifdef __x86_64__
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { NULL, NULL }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h deleted-65
......@@ -1,65 +0,0 @@
1/* x86 internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#ifdef __x86_64__
32 int __cur_writer;
33 int __shared;
34 signed char __rwelision;
35# ifdef __ILP32__
36 unsigned char __pad1[3];
37# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
38# else
39 unsigned char __pad1[7];
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
41# endif
42 unsigned long int __pad2;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned int __flags;
46#else /* __x86_64__ */
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 signed char __rwelision;
52 unsigned char __pad2;
53 int __cur_writer;
54#endif
55};
56
57#ifdef __x86_64__
58# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
59 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
60#else
61# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
62 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
63#endif
64
65#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h deleted-165
......@@ -1,165 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26struct stat
27 {
28#ifdef __USE_TIME64_REDIRECTS
29# include <bits/struct_stat_time64_helper.h>
30#else
31 __dev_t st_dev; /* Device. */
32# ifndef __x86_64__
33 unsigned short int __pad1;
34# endif
35# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
36 __ino_t st_ino; /* File serial number. */
37# else
38 __ino_t __st_ino; /* 32bit file serial number. */
39# endif
40# ifndef __x86_64__
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43# else
44 __nlink_t st_nlink; /* Link count. */
45 __mode_t st_mode; /* File mode. */
46# endif
47 __uid_t st_uid; /* User ID of the file's owner. */
48 __gid_t st_gid; /* Group ID of the file's group.*/
49# ifdef __x86_64__
50 int __pad0;
51# endif
52 __dev_t st_rdev; /* Device number, if device. */
53# ifndef __x86_64__
54 unsigned short int __pad2;
55# endif
56# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
57 __off_t st_size; /* Size of file, in bytes. */
58# else
59 __off64_t st_size; /* Size of file, in bytes. */
60# endif
61 __blksize_t st_blksize; /* Optimal block size for I/O. */
62# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
63 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
64# else
65 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
66# endif
67# ifdef __USE_XOPEN2K8
68 /* Nanosecond resolution timestamps are stored in a format
69 equivalent to 'struct timespec'. This is the type used
70 whenever possible but the Unix namespace rules do not allow the
71 identifier 'timespec' to appear in the <sys/stat.h> header.
72 Therefore we have to handle the use of this header in strictly
73 standard-compliant sources special. */
74 struct timespec st_atim; /* Time of last access. */
75 struct timespec st_mtim; /* Time of last modification. */
76 struct timespec st_ctim; /* Time of last status change. */
77# define st_atime st_atim.tv_sec /* Backward compatibility. */
78# define st_mtime st_mtim.tv_sec
79# define st_ctime st_ctim.tv_sec
80# else
81 __time_t st_atime; /* Time of last access. */
82 __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
83 __time_t st_mtime; /* Time of last modification. */
84 __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
85 __time_t st_ctime; /* Time of last status change. */
86 __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
87# endif
88# ifdef __x86_64__
89 __syscall_slong_t __glibc_reserved[3];
90# else
91# ifndef __USE_FILE_OFFSET64
92 unsigned long int __glibc_reserved4;
93 unsigned long int __glibc_reserved5;
94# else
95 __ino64_t st_ino; /* File serial number. */
96# endif
97# endif
98#endif /* __USE_TIME64_REDIRECTS */
99 };
100
101#ifdef __USE_LARGEFILE64
102/* Note stat64 has the same shape as stat for x86-64. */
103struct stat64
104 {
105# ifdef __USE_TIME64_REDIRECTS
106# include <bits/struct_stat_time64_helper.h>
107# else
108 __dev_t st_dev; /* Device. */
109# ifdef __x86_64__
110 __ino64_t st_ino; /* File serial number. */
111 __nlink_t st_nlink; /* Link count. */
112 __mode_t st_mode; /* File mode. */
113# else
114 unsigned int __pad1;
115 __ino_t __st_ino; /* 32bit file serial number. */
116 __mode_t st_mode; /* File mode. */
117 __nlink_t st_nlink; /* Link count. */
118# endif
119 __uid_t st_uid; /* User ID of the file's owner. */
120 __gid_t st_gid; /* Group ID of the file's group.*/
121# ifdef __x86_64__
122 int __pad0;
123 __dev_t st_rdev; /* Device number, if device. */
124 __off_t st_size; /* Size of file, in bytes. */
125# else
126 __dev_t st_rdev; /* Device number, if device. */
127 unsigned int __pad2;
128 __off64_t st_size; /* Size of file, in bytes. */
129# endif
130 __blksize_t st_blksize; /* Optimal block size for I/O. */
131 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
132# ifdef __USE_XOPEN2K8
133 /* Nanosecond resolution timestamps are stored in a format
134 equivalent to 'struct timespec'. This is the type used
135 whenever possible but the Unix namespace rules do not allow the
136 identifier 'timespec' to appear in the <sys/stat.h> header.
137 Therefore we have to handle the use of this header in strictly
138 standard-compliant sources special. */
139 struct timespec st_atim; /* Time of last access. */
140 struct timespec st_mtim; /* Time of last modification. */
141 struct timespec st_ctim; /* Time of last status change. */
142# else
143 __time_t st_atime; /* Time of last access. */
144 __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
145 __time_t st_mtime; /* Time of last modification. */
146 __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
147 __time_t st_ctime; /* Time of last status change. */
148 __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
149# endif
150# ifdef __x86_64__
151 __syscall_slong_t __glibc_reserved[3];
152# else
153 __ino64_t st_ino; /* File serial number. */
154# endif
155# endif /* __USE_TIME64_REDIRECTS */
156 };
157#endif
158
159/* Tell code we have these members. */
160#define _STATBUF_ST_BLKSIZE
161#define _STATBUF_ST_RDEV
162/* Nanosecond resolution time values are supported. */
163#define _STATBUF_ST_NSEC
164
165#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/timesize.h deleted-27
......@@ -1,27 +0,0 @@
1/* Bit size of the time_t type at glibc build time, x86-64 and x32 case.
2 Copyright (C) 2018-2025 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#include <bits/wordsize.h>
20
21#if defined __x86_64__ && defined __ILP32__
22/* For x32, time is 64-bit even though word size is 32-bit. */
23# define __TIMESIZE 64
24#else
25/* For others, time size is word size. */
26# define __TIMESIZE __WORDSIZE
27#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h deleted-38
......@@ -1,38 +0,0 @@
1/* x86 implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __syscall_ulong_t __sem_otime_high;
32 __time_t sem_ctime; /* last time changed by semctl() */
33 __syscall_ulong_t __sem_ctime_high;
34 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
35 __syscall_ulong_t __glibc_reserved3;
36 __syscall_ulong_t __glibc_reserved4;
37#endif
38};
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/typesizes.h deleted-106
......@@ -1,106 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
2 Copyright (C) 2012-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29/* X32 kernel interface is 64-bit. */
30#if defined __x86_64__ && defined __ILP32__
31# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
32# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
33#else
34# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
35# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
36#endif
37
38#define __DEV_T_TYPE __UQUAD_TYPE
39#define __UID_T_TYPE __U32_TYPE
40#define __GID_T_TYPE __U32_TYPE
41#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
42#define __INO64_T_TYPE __UQUAD_TYPE
43#define __MODE_T_TYPE __U32_TYPE
44#ifdef __x86_64__
45# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
46# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
47#else
48# define __NLINK_T_TYPE __UWORD_TYPE
49# define __FSWORD_T_TYPE __SWORD_TYPE
50#endif
51#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
52#define __OFF64_T_TYPE __SQUAD_TYPE
53#define __PID_T_TYPE __S32_TYPE
54#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
55#define __RLIM64_T_TYPE __UQUAD_TYPE
56#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
57#define __BLKCNT64_T_TYPE __SQUAD_TYPE
58#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
59#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
60#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
61#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
62#define __ID_T_TYPE __U32_TYPE
63#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
64#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
65#define __USECONDS_T_TYPE __U32_TYPE
66#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
68#define __DADDR_T_TYPE __S32_TYPE
69#define __KEY_T_TYPE __S32_TYPE
70#define __CLOCKID_T_TYPE __S32_TYPE
71#define __TIMER_T_TYPE void *
72#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
73#define __FSID_T_TYPE struct { int __val[2]; }
74#define __SSIZE_T_TYPE __SWORD_TYPE
75#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE
76
77#ifdef __x86_64__
78/* Tell the libc code that off_t and off64_t are actually the same type
79 for all ABI purposes, even if possibly expressed as different base types
80 for C type-checking purposes. */
81# define __OFF_T_MATCHES_OFF64_T 1
82
83/* Same for ino_t and ino64_t. */
84# define __INO_T_MATCHES_INO64_T 1
85
86/* And for __rlim_t and __rlim64_t. */
87# define __RLIM_T_MATCHES_RLIM64_T 1
88
89/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
90# define __STATFS_MATCHES_STATFS64 1
91
92/* And for getitimer, setitimer and rusage */
93# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
94#else
95# define __RLIM_T_MATCHES_RLIM64_T 0
96
97# define __STATFS_MATCHES_STATFS64 0
98
99# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
100#endif
101
102/* Number of descriptors that can fit in an `fd_set'. */
103#define __FD_SETSIZE 1024
104
105
106#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/wordsize.h deleted-16
......@@ -1,16 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. */
2
3#if defined __x86_64__ && !defined __ILP32__
4# define __WORDSIZE 64
5#else
6# define __WORDSIZE 32
7#define __WORDSIZE32_SIZE_ULONG 0
8#define __WORDSIZE32_PTRDIFF_LONG 0
9#endif
10
11#define __WORDSIZE_TIME64_COMPAT32 1
12
13#ifdef __x86_64__
14/* Both x86-64 and x32 use the 64-bit system call interface. */
15# define __SYSCALL_WORDSIZE 64
16#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h deleted-127
......@@ -1,127 +0,0 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 2019-2025 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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
21!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
22!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
23!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
24!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
25!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
26!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
27!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
28!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
29!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
30!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
31!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64')
32!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64')
33!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64')
34!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64')
35!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64')
36!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64')
37!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64')
38!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64')
39!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64')
40!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64')
41!GCC$ builtin (exp10) attributes simd (notinbranch) if('x86_64')
42!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x86_64')
43!GCC$ builtin (cosh) attributes simd (notinbranch) if('x86_64')
44!GCC$ builtin (coshf) attributes simd (notinbranch) if('x86_64')
45!GCC$ builtin (expm1) attributes simd (notinbranch) if('x86_64')
46!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64')
47!GCC$ builtin (sinh) attributes simd (notinbranch) if('x86_64')
48!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x86_64')
49!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x86_64')
50!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x86_64')
51!GCC$ builtin (atan2) attributes simd (notinbranch) if('x86_64')
52!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x86_64')
53!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64')
54!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64')
55!GCC$ builtin (log2) attributes simd (notinbranch) if('x86_64')
56!GCC$ builtin (log2f) attributes simd (notinbranch) if('x86_64')
57!GCC$ builtin (log1p) attributes simd (notinbranch) if('x86_64')
58!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x86_64')
59!GCC$ builtin (atanh) attributes simd (notinbranch) if('x86_64')
60!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x86_64')
61!GCC$ builtin (acosh) attributes simd (notinbranch) if('x86_64')
62!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x86_64')
63!GCC$ builtin (erf) attributes simd (notinbranch) if('x86_64')
64!GCC$ builtin (erff) attributes simd (notinbranch) if('x86_64')
65!GCC$ builtin (tanh) attributes simd (notinbranch) if('x86_64')
66!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x86_64')
67!GCC$ builtin (asinh) attributes simd (notinbranch) if('x86_64')
68!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x86_64')
69!GCC$ builtin (erfc) attributes simd (notinbranch) if('x86_64')
70!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x86_64')
71!GCC$ builtin (tan) attributes simd (notinbranch) if('x86_64')
72!GCC$ builtin (tanf) attributes simd (notinbranch) if('x86_64')
73
74!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
75!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
76!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
77!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
78!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
79!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
80!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
81!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
82!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
83!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
84!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
85!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
86!GCC$ builtin (acos) attributes simd (notinbranch) if('x32')
87!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32')
88!GCC$ builtin (atan) attributes simd (notinbranch) if('x32')
89!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32')
90!GCC$ builtin (asin) attributes simd (notinbranch) if('x32')
91!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32')
92!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32')
93!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32')
94!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32')
95!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32')
96!GCC$ builtin (exp10) attributes simd (notinbranch) if('x32')
97!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x32')
98!GCC$ builtin (cosh) attributes simd (notinbranch) if('x32')
99!GCC$ builtin (coshf) attributes simd (notinbranch) if('x32')
100!GCC$ builtin (expm1) attributes simd (notinbranch) if('x32')
101!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32')
102!GCC$ builtin (sinh) attributes simd (notinbranch) if('x32')
103!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x32')
104!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x32')
105!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x32')
106!GCC$ builtin (atan2) attributes simd (notinbranch) if('x32')
107!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x32')
108!GCC$ builtin (log10) attributes simd (notinbranch) if('x32')
109!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32')
110!GCC$ builtin (log2) attributes simd (notinbranch) if('x32')
111!GCC$ builtin (log2f) attributes simd (notinbranch) if('x32')
112!GCC$ builtin (log1p) attributes simd (notinbranch) if('x32')
113!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x32')
114!GCC$ builtin (atanh) attributes simd (notinbranch) if('x32')
115!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x32')
116!GCC$ builtin (acosh) attributes simd (notinbranch) if('x32')
117!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x32')
118!GCC$ builtin (erf) attributes simd (notinbranch) if('x32')
119!GCC$ builtin (erff) attributes simd (notinbranch) if('x32')
120!GCC$ builtin (tanh) attributes simd (notinbranch) if('x32')
121!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x32')
122!GCC$ builtin (asinh) attributes simd (notinbranch) if('x32')
123!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x32')
124!GCC$ builtin (erfc) attributes simd (notinbranch) if('x32')
125!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x32')
126!GCC$ builtin (tan) attributes simd (notinbranch) if('x32')
127!GCC$ builtin (tanf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/fpu_control.h deleted-108
......@@ -1,108 +0,0 @@
1/* FPU control word bits. x86 version.
2 Copyright (C) 1993-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H 1
21
22/* Note that this file sets on x86-64 only the x87 FPU, it does not
23 touch the SSE unit. */
24
25/* Here is the dirty part. Set up your 387 through the control word
26 * (cw) register.
27 *
28 * 15-13 12 11-10 9-8 7-6 5 4 3 2 1 0
29 * | reserved | IC | RC | PC | reserved | PM | UM | OM | ZM | DM | IM
30 *
31 * IM: Invalid operation mask
32 * DM: Denormalized operand mask
33 * ZM: Zero-divide mask
34 * OM: Overflow mask
35 * UM: Underflow mask
36 * PM: Precision (inexact result) mask
37 *
38 * Mask bit is 1 means no interrupt.
39 *
40 * PC: Precision control
41 * 11 - round to extended precision
42 * 10 - round to double precision
43 * 00 - round to single precision
44 *
45 * RC: Rounding control
46 * 00 - rounding to nearest
47 * 01 - rounding down (toward - infinity)
48 * 10 - rounding up (toward + infinity)
49 * 11 - rounding toward zero
50 *
51 * IC: Infinity control
52 * That is for 8087 and 80287 only.
53 *
54 * The hardware default is 0x037f which we use.
55 */
56
57#include <features.h>
58
59/* masking of interrupts */
60#define _FPU_MASK_IM 0x01
61#define _FPU_MASK_DM 0x02
62#define _FPU_MASK_ZM 0x04
63#define _FPU_MASK_OM 0x08
64#define _FPU_MASK_UM 0x10
65#define _FPU_MASK_PM 0x20
66
67/* precision control */
68#define _FPU_EXTENDED 0x300 /* libm requires double extended precision. */
69#define _FPU_DOUBLE 0x200
70#define _FPU_SINGLE 0x0
71
72/* rounding control */
73#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
74#define _FPU_RC_DOWN 0x400
75#define _FPU_RC_UP 0x800
76#define _FPU_RC_ZERO 0xC00
77
78#define _FPU_RESERVED 0xF0C0 /* Reserved bits in cw */
79
80
81/* The fdlibm code requires strict IEEE double precision arithmetic,
82 and no interrupts for exceptions, rounding to nearest. */
83
84#define _FPU_DEFAULT 0x037f
85
86/* IEEE: same as above. */
87#define _FPU_IEEE 0x037f
88
89/* Type of the control word. */
90typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__)));
91
92/* Macros for accessing the hardware control word. "*&" is used to
93 work around a bug in older versions of GCC. __volatile__ is used
94 to support combination of writing the control register and reading
95 it back. Without __volatile__, the old value may be used for reading
96 back under compiler optimization.
97
98 Note that the use of these macros is not sufficient anymore with
99 recent hardware nor on x86-64. Some floating point operations are
100 executed in the SSE/SSE2 engines which have their own control and
101 status register. */
102#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
103#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
104
105/* Default control word set at startup. */
106extern fpu_control_t __fpu_control;
107
108#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h deleted-27
......@@ -1,27 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-64.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_X86_64_SO "ld-linux-x86-64.so.2"
7#define LD_SO "ld-linux-x86-64.so.2"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/gnu/lib-names.h deleted-17
......@@ -1,17 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#if !defined __x86_64__
8# include <gnu/lib-names-32.h>
9#endif
10#if defined __x86_64__ && defined __LP64__
11# include <gnu/lib-names-64.h>
12#endif
13#if defined __x86_64__ && defined __ILP32__
14# include <gnu/lib-names-x32.h>
15#endif
16
17#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h deleted-17
......@@ -1,17 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub_chflags
12#define __stub_fchflags
13#define __stub_gtty
14#define __stub_revoke
15#define __stub_setlogin
16#define __stub_sigreturn
17#define __stub_stty
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/gnu/stubs.h deleted-14
......@@ -1,14 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5
6#if !defined __x86_64__
7# include <gnu/stubs-32.h>
8#endif
9#if defined __x86_64__ && defined __LP64__
10# include <gnu/stubs-64.h>
11#endif
12#if defined __x86_64__ && defined __ILP32__
13# include <gnu/stubs-x32.h>
14#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/sys/elf.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 1998-2025 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_ELF_H
19#define _SYS_ELF_H 1
20
21#ifdef __x86_64__
22# error This header is unsupported on x86-64.
23#else
24# warning "This header is obsolete; use <sys/procfs.h> instead."
25
26# include <sys/procfs.h>
27#endif
28
29#endif /* _SYS_ELF_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/sys/ptrace.h deleted-216
......@@ -1,216 +0,0 @@
1/* `ptrace' debugger support interface. Linux/x86 version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PTRACE_H
21#define _SYS_PTRACE_H 1
22
23#include <features.h>
24#include <bits/types.h>
25
26__BEGIN_DECLS
27
28/* Type of the REQUEST argument to `ptrace.' */
29enum __ptrace_request
30{
31 /* Indicate that the process making this request should be traced.
32 All signals received by this process can be intercepted by its
33 parent, and its parent can use the other `ptrace' requests. */
34 PTRACE_TRACEME = 0,
35#define PT_TRACE_ME PTRACE_TRACEME
36
37 /* Return the word in the process's text space at address ADDR. */
38 PTRACE_PEEKTEXT = 1,
39#define PT_READ_I PTRACE_PEEKTEXT
40
41 /* Return the word in the process's data space at address ADDR. */
42 PTRACE_PEEKDATA = 2,
43#define PT_READ_D PTRACE_PEEKDATA
44
45 /* Return the word in the process's user area at offset ADDR. */
46 PTRACE_PEEKUSER = 3,
47#define PT_READ_U PTRACE_PEEKUSER
48
49 /* Write the word DATA into the process's text space at address ADDR. */
50 PTRACE_POKETEXT = 4,
51#define PT_WRITE_I PTRACE_POKETEXT
52
53 /* Write the word DATA into the process's data space at address ADDR. */
54 PTRACE_POKEDATA = 5,
55#define PT_WRITE_D PTRACE_POKEDATA
56
57 /* Write the word DATA into the process's user area at offset ADDR. */
58 PTRACE_POKEUSER = 6,
59#define PT_WRITE_U PTRACE_POKEUSER
60
61 /* Continue the process. */
62 PTRACE_CONT = 7,
63#define PT_CONTINUE PTRACE_CONT
64
65 /* Kill the process. */
66 PTRACE_KILL = 8,
67#define PT_KILL PTRACE_KILL
68
69 /* Single step the process. */
70 PTRACE_SINGLESTEP = 9,
71#define PT_STEP PTRACE_SINGLESTEP
72
73 /* Get all general purpose registers used by a processes. */
74 PTRACE_GETREGS = 12,
75#define PT_GETREGS PTRACE_GETREGS
76
77 /* Set all general purpose registers used by a processes. */
78 PTRACE_SETREGS = 13,
79#define PT_SETREGS PTRACE_SETREGS
80
81 /* Get all floating point registers used by a processes. */
82 PTRACE_GETFPREGS = 14,
83#define PT_GETFPREGS PTRACE_GETFPREGS
84
85 /* Set all floating point registers used by a processes. */
86 PTRACE_SETFPREGS = 15,
87#define PT_SETFPREGS PTRACE_SETFPREGS
88
89 /* Attach to a process that is already running. */
90 PTRACE_ATTACH = 16,
91#define PT_ATTACH PTRACE_ATTACH
92
93 /* Detach from a process attached to with PTRACE_ATTACH. */
94 PTRACE_DETACH = 17,
95#define PT_DETACH PTRACE_DETACH
96
97 /* Get all extended floating point registers used by a processes. */
98 PTRACE_GETFPXREGS = 18,
99#define PT_GETFPXREGS PTRACE_GETFPXREGS
100
101 /* Set all extended floating point registers used by a processes. */
102 PTRACE_SETFPXREGS = 19,
103#define PT_SETFPXREGS PTRACE_SETFPXREGS
104
105 /* Continue and stop at the next entry to or return from syscall. */
106 PTRACE_SYSCALL = 24,
107#define PT_SYSCALL PTRACE_SYSCALL
108
109 /* Get a TLS entry in the GDT. */
110 PTRACE_GET_THREAD_AREA = 25,
111#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
112
113 /* Change a TLS entry in the GDT. */
114 PTRACE_SET_THREAD_AREA = 26,
115#define PT_SET_THREAD_AREA PTRACE_SET_THREAD_AREA
116
117#ifdef __x86_64__
118 /* Access TLS data. */
119 PTRACE_ARCH_PRCTL = 30,
120# define PT_ARCH_PRCTL PTRACE_ARCH_PRCTL
121#endif
122
123 /* Continue and stop at the next syscall, it will not be executed. */
124 PTRACE_SYSEMU = 31,
125#define PT_SYSEMU PTRACE_SYSEMU
126
127 /* Single step the process, the next syscall will not be executed. */
128 PTRACE_SYSEMU_SINGLESTEP = 32,
129#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
130
131 /* Execute process until next taken branch. */
132 PTRACE_SINGLEBLOCK = 33,
133#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
134
135 /* Set ptrace filter options. */
136 PTRACE_SETOPTIONS = 0x4200,
137#define PT_SETOPTIONS PTRACE_SETOPTIONS
138
139 /* Get last ptrace message. */
140 PTRACE_GETEVENTMSG = 0x4201,
141#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
142
143 /* Get siginfo for process. */
144 PTRACE_GETSIGINFO = 0x4202,
145#define PT_GETSIGINFO PTRACE_GETSIGINFO
146
147 /* Set new siginfo for process. */
148 PTRACE_SETSIGINFO = 0x4203,
149#define PT_SETSIGINFO PTRACE_SETSIGINFO
150
151 /* Get register content. */
152 PTRACE_GETREGSET = 0x4204,
153#define PTRACE_GETREGSET PTRACE_GETREGSET
154
155 /* Set register content. */
156 PTRACE_SETREGSET = 0x4205,
157#define PTRACE_SETREGSET PTRACE_SETREGSET
158
159 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
160 signal or group stop state. */
161 PTRACE_SEIZE = 0x4206,
162#define PTRACE_SEIZE PTRACE_SEIZE
163
164 /* Trap seized tracee. */
165 PTRACE_INTERRUPT = 0x4207,
166#define PTRACE_INTERRUPT PTRACE_INTERRUPT
167
168 /* Wait for next group event. */
169 PTRACE_LISTEN = 0x4208,
170#define PTRACE_LISTEN PTRACE_LISTEN
171
172 /* Retrieve siginfo_t structures without removing signals from a queue. */
173 PTRACE_PEEKSIGINFO = 0x4209,
174#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
175
176 /* Get the mask of blocked signals. */
177 PTRACE_GETSIGMASK = 0x420a,
178#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
179
180 /* Change the mask of blocked signals. */
181 PTRACE_SETSIGMASK = 0x420b,
182#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
183
184 /* Get seccomp BPF filters. */
185 PTRACE_SECCOMP_GET_FILTER = 0x420c,
186#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
187
188 /* Get seccomp BPF filter metadata. */
189 PTRACE_SECCOMP_GET_METADATA = 0x420d,
190#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
191
192 /* Get information about system call. */
193 PTRACE_GET_SYSCALL_INFO = 0x420e,
194#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
195
196 /* Get rseq configuration information. */
197 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
198#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
199
200 /* Set configuration for syscall user dispatch. */
201 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
202#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
203 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
204
205 /* Get configuration for syscall user dispatch. */
206 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
207#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
208 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
209};
210
211
212#include <bits/ptrace-shared.h>
213
214__END_DECLS
215
216#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/sys/ucontext.h deleted-262
......@@ -1,262 +0,0 @@
1/* Copyright (C) 2001-2025 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_UCONTEXT_H
19#define _SYS_UCONTEXT_H 1
20
21#include <features.h>
22
23#include <bits/types.h>
24#include <bits/types/sigset_t.h>
25#include <bits/types/stack_t.h>
26
27
28#ifdef __USE_MISC
29# define __ctx(fld) fld
30#else
31# define __ctx(fld) __ ## fld
32#endif
33
34#ifdef __x86_64__
35
36/* Type for general register. */
37__extension__ typedef long long int greg_t;
38
39/* Number of general registers. */
40#define __NGREG 23
41#ifdef __USE_MISC
42# define NGREG __NGREG
43#endif
44
45/* Container for all general registers. */
46typedef greg_t gregset_t[__NGREG];
47
48#ifdef __USE_GNU
49/* Number of each register in the `gregset_t' array. */
50enum
51{
52 REG_R8 = 0,
53# define REG_R8 REG_R8
54 REG_R9,
55# define REG_R9 REG_R9
56 REG_R10,
57# define REG_R10 REG_R10
58 REG_R11,
59# define REG_R11 REG_R11
60 REG_R12,
61# define REG_R12 REG_R12
62 REG_R13,
63# define REG_R13 REG_R13
64 REG_R14,
65# define REG_R14 REG_R14
66 REG_R15,
67# define REG_R15 REG_R15
68 REG_RDI,
69# define REG_RDI REG_RDI
70 REG_RSI,
71# define REG_RSI REG_RSI
72 REG_RBP,
73# define REG_RBP REG_RBP
74 REG_RBX,
75# define REG_RBX REG_RBX
76 REG_RDX,
77# define REG_RDX REG_RDX
78 REG_RAX,
79# define REG_RAX REG_RAX
80 REG_RCX,
81# define REG_RCX REG_RCX
82 REG_RSP,
83# define REG_RSP REG_RSP
84 REG_RIP,
85# define REG_RIP REG_RIP
86 REG_EFL,
87# define REG_EFL REG_EFL
88 REG_CSGSFS, /* Actually short cs, gs, fs, __pad0. */
89# define REG_CSGSFS REG_CSGSFS
90 REG_ERR,
91# define REG_ERR REG_ERR
92 REG_TRAPNO,
93# define REG_TRAPNO REG_TRAPNO
94 REG_OLDMASK,
95# define REG_OLDMASK REG_OLDMASK
96 REG_CR2
97# define REG_CR2 REG_CR2
98};
99#endif
100
101struct _libc_fpxreg
102{
103 unsigned short int __ctx(significand)[4];
104 unsigned short int __ctx(exponent);
105 unsigned short int __glibc_reserved1[3];
106};
107
108struct _libc_xmmreg
109{
110 __uint32_t __ctx(element)[4];
111};
112
113struct _libc_fpstate
114{
115 /* 64-bit FXSAVE format. */
116 __uint16_t __ctx(cwd);
117 __uint16_t __ctx(swd);
118 __uint16_t __ctx(ftw);
119 __uint16_t __ctx(fop);
120 __uint64_t __ctx(rip);
121 __uint64_t __ctx(rdp);
122 __uint32_t __ctx(mxcsr);
123 __uint32_t __ctx(mxcr_mask);
124 struct _libc_fpxreg _st[8];
125 struct _libc_xmmreg _xmm[16];
126 __uint32_t __glibc_reserved1[24];
127};
128
129/* Structure to describe FPU registers. */
130typedef struct _libc_fpstate *fpregset_t;
131
132/* Context to describe whole processor state. */
133typedef struct
134 {
135 gregset_t __ctx(gregs);
136 /* Note that fpregs is a pointer. */
137 fpregset_t __ctx(fpregs);
138 __extension__ unsigned long long __reserved1 [8];
139} mcontext_t;
140
141/* Userlevel context. */
142typedef struct ucontext_t
143 {
144 unsigned long int __ctx(uc_flags);
145 struct ucontext_t *uc_link;
146 stack_t uc_stack;
147 mcontext_t uc_mcontext;
148 sigset_t uc_sigmask;
149 struct _libc_fpstate __fpregs_mem;
150 __extension__ unsigned long long int __ssp[4];
151 } ucontext_t;
152
153#else /* !__x86_64__ */
154
155/* Type for general register. */
156typedef int greg_t;
157
158/* Number of general registers. */
159#define __NGREG 19
160#ifdef __USE_MISC
161# define NGREG __NGREG
162#endif
163
164/* Container for all general registers. */
165typedef greg_t gregset_t[__NGREG];
166
167#ifdef __USE_GNU
168/* Number of each register is the `gregset_t' array. */
169enum
170{
171 REG_GS = 0,
172# define REG_GS REG_GS
173 REG_FS,
174# define REG_FS REG_FS
175 REG_ES,
176# define REG_ES REG_ES
177 REG_DS,
178# define REG_DS REG_DS
179 REG_EDI,
180# define REG_EDI REG_EDI
181 REG_ESI,
182# define REG_ESI REG_ESI
183 REG_EBP,
184# define REG_EBP REG_EBP
185 REG_ESP,
186# define REG_ESP REG_ESP
187 REG_EBX,
188# define REG_EBX REG_EBX
189 REG_EDX,
190# define REG_EDX REG_EDX
191 REG_ECX,
192# define REG_ECX REG_ECX
193 REG_EAX,
194# define REG_EAX REG_EAX
195 REG_TRAPNO,
196# define REG_TRAPNO REG_TRAPNO
197 REG_ERR,
198# define REG_ERR REG_ERR
199 REG_EIP,
200# define REG_EIP REG_EIP
201 REG_CS,
202# define REG_CS REG_CS
203 REG_EFL,
204# define REG_EFL REG_EFL
205 REG_UESP,
206# define REG_UESP REG_UESP
207 REG_SS
208# define REG_SS REG_SS
209};
210#endif
211
212/* Definitions taken from the kernel headers. */
213struct _libc_fpreg
214{
215 unsigned short int __ctx(significand)[4];
216 unsigned short int __ctx(exponent);
217};
218
219struct _libc_fpstate
220{
221 unsigned long int __ctx(cw);
222 unsigned long int __ctx(sw);
223 unsigned long int __ctx(tag);
224 unsigned long int __ctx(ipoff);
225 unsigned long int __ctx(cssel);
226 unsigned long int __ctx(dataoff);
227 unsigned long int __ctx(datasel);
228 struct _libc_fpreg _st[8];
229 unsigned long int __ctx(status);
230};
231
232/* Structure to describe FPU registers. */
233typedef struct _libc_fpstate *fpregset_t;
234
235/* Context to describe whole processor state. */
236typedef struct
237 {
238 gregset_t __ctx(gregs);
239 /* Due to Linux's history we have to use a pointer here. The SysV/i386
240 ABI requires a struct with the values. */
241 fpregset_t __ctx(fpregs);
242 unsigned long int __ctx(oldmask);
243 unsigned long int __ctx(cr2);
244 } mcontext_t;
245
246/* Userlevel context. */
247typedef struct ucontext_t
248 {
249 unsigned long int __ctx(uc_flags);
250 struct ucontext_t *uc_link;
251 stack_t uc_stack;
252 mcontext_t uc_mcontext;
253 sigset_t uc_sigmask;
254 struct _libc_fpstate __fpregs_mem;
255 unsigned long int __ssp[4];
256 } ucontext_t;
257
258#endif /* !__x86_64__ */
259
260#undef __ctx
261
262#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/sys/user.h deleted-180
......@@ -1,180 +0,0 @@
1/* Copyright (C) 2001-2025 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_USER_H
19#define _SYS_USER_H 1
20
21/* The whole purpose of this file is for GDB and GDB only. Don't read
22 too much into it. Don't use it for anything other than GDB unless
23 you know what you are doing. */
24
25#ifdef __x86_64__
26
27struct user_fpregs_struct
28{
29 unsigned short int cwd;
30 unsigned short int swd;
31 unsigned short int ftw;
32 unsigned short int fop;
33 __extension__ unsigned long long int rip;
34 __extension__ unsigned long long int rdp;
35 unsigned int mxcsr;
36 unsigned int mxcr_mask;
37 unsigned int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
38 unsigned int xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */
39 unsigned int padding[24];
40};
41
42struct user_regs_struct
43{
44 __extension__ unsigned long long int r15;
45 __extension__ unsigned long long int r14;
46 __extension__ unsigned long long int r13;
47 __extension__ unsigned long long int r12;
48 __extension__ unsigned long long int rbp;
49 __extension__ unsigned long long int rbx;
50 __extension__ unsigned long long int r11;
51 __extension__ unsigned long long int r10;
52 __extension__ unsigned long long int r9;
53 __extension__ unsigned long long int r8;
54 __extension__ unsigned long long int rax;
55 __extension__ unsigned long long int rcx;
56 __extension__ unsigned long long int rdx;
57 __extension__ unsigned long long int rsi;
58 __extension__ unsigned long long int rdi;
59 __extension__ unsigned long long int orig_rax;
60 __extension__ unsigned long long int rip;
61 __extension__ unsigned long long int cs;
62 __extension__ unsigned long long int eflags;
63 __extension__ unsigned long long int rsp;
64 __extension__ unsigned long long int ss;
65 __extension__ unsigned long long int fs_base;
66 __extension__ unsigned long long int gs_base;
67 __extension__ unsigned long long int ds;
68 __extension__ unsigned long long int es;
69 __extension__ unsigned long long int fs;
70 __extension__ unsigned long long int gs;
71};
72
73struct user
74{
75 struct user_regs_struct regs;
76 int u_fpvalid;
77 struct user_fpregs_struct i387;
78 __extension__ unsigned long long int u_tsize;
79 __extension__ unsigned long long int u_dsize;
80 __extension__ unsigned long long int u_ssize;
81 __extension__ unsigned long long int start_code;
82 __extension__ unsigned long long int start_stack;
83 __extension__ long long int signal;
84 int reserved;
85 __extension__ union
86 {
87 struct user_regs_struct* u_ar0;
88 __extension__ unsigned long long int __u_ar0_word;
89 };
90 __extension__ union
91 {
92 struct user_fpregs_struct* u_fpstate;
93 __extension__ unsigned long long int __u_fpstate_word;
94 };
95 __extension__ unsigned long long int magic;
96 char u_comm [32];
97 __extension__ unsigned long long int u_debugreg [8];
98};
99
100#else
101/* These are the 32-bit x86 structures. */
102struct user_fpregs_struct
103{
104 long int cwd;
105 long int swd;
106 long int twd;
107 long int fip;
108 long int fcs;
109 long int foo;
110 long int fos;
111 long int st_space [20];
112};
113
114struct user_fpxregs_struct
115{
116 unsigned short int cwd;
117 unsigned short int swd;
118 unsigned short int twd;
119 unsigned short int fop;
120 long int fip;
121 long int fcs;
122 long int foo;
123 long int fos;
124 long int mxcsr;
125 long int reserved;
126 long int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
127 long int xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */
128 long int padding[56];
129};
130
131struct user_regs_struct
132{
133 long int ebx;
134 long int ecx;
135 long int edx;
136 long int esi;
137 long int edi;
138 long int ebp;
139 long int eax;
140 long int xds;
141 long int xes;
142 long int xfs;
143 long int xgs;
144 long int orig_eax;
145 long int eip;
146 long int xcs;
147 long int eflags;
148 long int esp;
149 long int xss;
150};
151
152struct user
153{
154 struct user_regs_struct regs;
155 int u_fpvalid;
156 struct user_fpregs_struct i387;
157 unsigned long int u_tsize;
158 unsigned long int u_dsize;
159 unsigned long int u_ssize;
160 unsigned long int start_code;
161 unsigned long int start_stack;
162 long int signal;
163 int reserved;
164 struct user_regs_struct* u_ar0;
165 struct user_fpregs_struct* u_fpstate;
166 unsigned long int magic;
167 char u_comm [32];
168 int u_debugreg [8];
169};
170#endif /* __x86_64__ */
171
172#define PAGE_SHIFT 12
173#define PAGE_SIZE (1UL << PAGE_SHIFT)
174#define PAGE_MASK (~(PAGE_SIZE-1))
175#define NBPG PAGE_SIZE
176#define UPAGES 1
177#define HOST_TEXT_START_ADDR (u.start_code)
178#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
179
180#endif /* _SYS_USER_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/a.out.h deleted-11
......@@ -1,11 +0,0 @@
1#ifndef __A_OUT_GNU_H__
2# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
3#endif
4
5#ifdef __x86_64__
6
7/* Signal to users of this header that this architecture really doesn't
8 support a.out binary format. */
9#define __NO_A_OUT_SUPPORT 1
10
11#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/dl_find_object.h deleted-29
......@@ -1,29 +0,0 @@
1/* x86 definitions for finding objects.
2 Copyright (C) 2021-2025 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 _DLFCN_H
20# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
21#endif
22
23#ifdef __x86_64__
24# define DLFO_STRUCT_HAS_EH_DBASE 0
25#else
26# define DLFO_STRUCT_HAS_EH_DBASE 1
27#endif
28#define DLFO_STRUCT_HAS_EH_COUNT 0
29#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/endianness.h deleted-11
......@@ -1,11 +0,0 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* i386/x86_64 are little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/environments.h deleted-105
......@@ -1,105 +0,0 @@
1/* Copyright (C) 1999-2025 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 _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"
20#endif
21
22#include <bits/wordsize.h>
23
24/* This header should define the following symbols under the described
25 situations. A value `1' means that the model is always supported,
26 `-1' means it is never supported. Undefined means it cannot be
27 statically decided.
28
29 _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
30 _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
31
32 _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
33 _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
34
35 The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
36 _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
37 _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
38 used in previous versions of the Unix standard and are available
39 only for compatibility.
40*/
41
42#if __WORDSIZE == 64
43
44/* Environments with 32-bit wide pointers are optionally provided.
45 Therefore following macros aren't defined:
46 # undef _POSIX_V7_ILP32_OFF32
47 # undef _POSIX_V7_ILP32_OFFBIG
48 # undef _POSIX_V6_ILP32_OFF32
49 # undef _POSIX_V6_ILP32_OFFBIG
50 # undef _XBS5_ILP32_OFF32
51 # undef _XBS5_ILP32_OFFBIG
52 and users need to check at runtime. */
53
54/* We also have no use (for now) for an environment with bigger pointers
55 and offsets. */
56# define _POSIX_V7_LPBIG_OFFBIG -1
57# define _POSIX_V6_LPBIG_OFFBIG -1
58# define _XBS5_LPBIG_OFFBIG -1
59
60/* By default we have 64-bit wide `long int', pointers and `off_t'. */
61# define _POSIX_V7_LP64_OFF64 1
62# define _POSIX_V6_LP64_OFF64 1
63# define _XBS5_LP64_OFF64 1
64
65#else /* __WORDSIZE == 32 */
66
67/* We have 32-bit wide `int', `long int' and pointers and all platforms
68 support LFS. -mx32 has 64-bit wide `off_t'. */
69# define _POSIX_V7_ILP32_OFFBIG 1
70# define _POSIX_V6_ILP32_OFFBIG 1
71# define _XBS5_ILP32_OFFBIG 1
72
73# ifndef __x86_64__
74/* -m32 has 32-bit wide `off_t'. */
75# define _POSIX_V7_ILP32_OFF32 1
76# define _POSIX_V6_ILP32_OFF32 1
77# define _XBS5_ILP32_OFF32 1
78# endif
79
80/* We optionally provide an environment with the above size but an 64-bit
81 side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
82
83/* Environments with 64-bit wide pointers can be provided,
84 so these macros aren't defined:
85 # undef _POSIX_V7_LP64_OFF64
86 # undef _POSIX_V7_LPBIG_OFFBIG
87 # undef _POSIX_V6_LP64_OFF64
88 # undef _POSIX_V6_LPBIG_OFFBIG
89 # undef _XBS5_LP64_OFF64
90 # undef _XBS5_LPBIG_OFFBIG
91 and sysconf tests for it at runtime. */
92
93#endif /* __WORDSIZE == 32 */
94
95#define __ILP32_OFF32_CFLAGS "-m32"
96#define __ILP32_OFF32_LDFLAGS "-m32"
97#if defined __x86_64__ && defined __ILP32__
98# define __ILP32_OFFBIG_CFLAGS "-mx32"
99# define __ILP32_OFFBIG_LDFLAGS "-mx32"
100#else
101# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
102# define __ILP32_OFFBIG_LDFLAGS "-m32"
103#endif
104#define __LP64_OFF64_CFLAGS "-m64"
105#define __LP64_OFF64_LDFLAGS "-m64"
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/epoll.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2002-2025 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_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
20#endif
21
22/* Flags to be passed to epoll_create1. */
23enum
24 {
25 EPOLL_CLOEXEC = 02000000
26#define EPOLL_CLOEXEC EPOLL_CLOEXEC
27 };
28
29#define __EPOLL_PACKED __attribute__ ((__packed__))
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h deleted-61
......@@ -1,61 +0,0 @@
1/* O_*, F_*, FD_* bit values for Linux/x86.
2 Copyright (C) 2001-2025 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 _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
23#ifdef __x86_64__
24# define __O_LARGEFILE 0
25#endif
26
27#ifdef __x86_64__
28/* Not necessary, we always have 64-bit offsets. */
29# define F_GETLK64 5 /* Get record locking info. */
30# define F_SETLK64 6 /* Set record locking info (non-blocking). */
31# define F_SETLKW64 7 /* Set record locking info (blocking). */
32#endif
33
34
35struct flock
36 {
37 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
38 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
39#ifndef __USE_FILE_OFFSET64
40 __off_t l_start; /* Offset where the lock begins. */
41 __off_t l_len; /* Size of the locked area; zero means until EOF. */
42#else
43 __off64_t l_start; /* Offset where the lock begins. */
44 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
45#endif
46 __pid_t l_pid; /* Process holding the lock. */
47 };
48
49#ifdef __USE_LARGEFILE64
50struct flock64
51 {
52 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
53 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
54 __off64_t l_start; /* Offset where the lock begins. */
55 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
56 __pid_t l_pid; /* Process holding the lock. */
57 };
58#endif
59
60/* Include generic Linux declarations. */
61#include <bits/fcntl-linux.h>
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/fenv.h deleted-116
......@@ -1,116 +0,0 @@
1/* Copyright (C) 1997-2025 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 _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
20#endif
21
22/* Define bits representing the exception. We use the bit positions
23 of the appropriate bits in the FPU control word. */
24enum
25 {
26 FE_INVALID =
27#define FE_INVALID 0x01
28 FE_INVALID,
29 __FE_DENORM = 0x02,
30 FE_DIVBYZERO =
31#define FE_DIVBYZERO 0x04
32 FE_DIVBYZERO,
33 FE_OVERFLOW =
34#define FE_OVERFLOW 0x08
35 FE_OVERFLOW,
36 FE_UNDERFLOW =
37#define FE_UNDERFLOW 0x10
38 FE_UNDERFLOW,
39 FE_INEXACT =
40#define FE_INEXACT 0x20
41 FE_INEXACT
42 };
43
44#define FE_ALL_EXCEPT \
45 (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
46
47/* The ix87 FPU supports all of the four defined rounding modes. We
48 use again the bit positions in the FPU control word as the values
49 for the appropriate macros. */
50enum
51 {
52 FE_TONEAREST =
53#define FE_TONEAREST 0
54 FE_TONEAREST,
55 FE_DOWNWARD =
56#define FE_DOWNWARD 0x400
57 FE_DOWNWARD,
58 FE_UPWARD =
59#define FE_UPWARD 0x800
60 FE_UPWARD,
61 FE_TOWARDZERO =
62#define FE_TOWARDZERO 0xc00
63 FE_TOWARDZERO
64 };
65
66
67/* Type representing exception flags. */
68typedef unsigned short int fexcept_t;
69
70
71/* Type representing floating-point environment. This structure
72 corresponds to the layout of the block written by the `fstenv'
73 instruction and has additional fields for the contents of the MXCSR
74 register as written by the `stmxcsr' instruction. */
75typedef struct
76 {
77 unsigned short int __control_word;
78 unsigned short int __glibc_reserved1;
79 unsigned short int __status_word;
80 unsigned short int __glibc_reserved2;
81 unsigned short int __tags;
82 unsigned short int __glibc_reserved3;
83 unsigned int __eip;
84 unsigned short int __cs_selector;
85 unsigned int __opcode:11;
86 unsigned int __glibc_reserved4:5;
87 unsigned int __data_offset;
88 unsigned short int __data_selector;
89 unsigned short int __glibc_reserved5;
90#ifdef __x86_64__
91 unsigned int __mxcsr;
92#endif
93 }
94fenv_t;
95
96/* If the default argument is used we use this value. */
97#define FE_DFL_ENV ((const fenv_t *) -1)
98
99#ifdef __USE_GNU
100/* Floating-point environment where none of the exception is masked. */
101# define FE_NOMASK_ENV ((const fenv_t *) -2)
102#endif
103
104#if __GLIBC_USE (IEC_60559_BFP_EXT_C23)
105/* Type representing floating-point control modes. */
106typedef struct
107 {
108 unsigned short int __control_word;
109 unsigned short int __glibc_reserved;
110 unsigned int __mxcsr;
111 }
112femode_t;
113
114/* Default floating-point control modes. */
115# define FE_DFL_MODE ((const femode_t *) -1L)
116#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/floatn.h deleted-129
......@@ -1,129 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on x86.
2 Copyright (C) 2017-2025 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
24/* Defined to 1 if the current compiler invocation provides a
25 floating-point type with the IEEE 754 binary128 format, and this
26 glibc includes corresponding *f128 interfaces for it. The required
27 libgcc support was added some time after the basic compiler
28 support, for x86_64 and x86. */
29#if (defined __x86_64__ \
30 ? __GNUC_PREREQ (4, 3) \
31 : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) \
32 || __glibc_clang_prereq (3, 4)
33# define __HAVE_FLOAT128 1
34#else
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#if __HAVE_FLOAT128
41# define __HAVE_DISTINCT_FLOAT128 1
42#else
43# define __HAVE_DISTINCT_FLOAT128 0
44#endif
45
46/* Defined to 1 if the current compiler invocation provides a
47 floating-point type with the right format for _Float64x, and this
48 glibc includes corresponding *f64x interfaces for it. */
49#define __HAVE_FLOAT64X 1
50
51/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
52 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
53 the format of _Float128, which must be different from that of long
54 double. */
55#define __HAVE_FLOAT64X_LONG_DOUBLE 1
56
57#ifndef __ASSEMBLER__
58
59/* Defined to concatenate the literal suffix to be used with _Float128
60 types, if __HAVE_FLOAT128 is 1. */
61# if __HAVE_FLOAT128
62# if !__GNUC_PREREQ (7, 0) \
63 || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \
64 || defined __clang__
65/* The literal suffix f128 exists only since GCC 7.0. */
66# define __f128(x) x##q
67# else
68# define __f128(x) x##f128
69# endif
70# endif
71
72/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
73# if __HAVE_FLOAT128
74# if !__GNUC_PREREQ (7, 0) \
75 || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \
76 || defined __clang__
77/* Add a typedef for older GCC compilers which don't natively support
78 _Complex _Float128. */
79typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
80# define __CFLOAT128 __cfloat128
81# else
82# define __CFLOAT128 _Complex _Float128
83# endif
84# endif
85
86/* The remaining of this file provides support for older compilers. */
87# if __HAVE_FLOAT128
88
89/* The type _Float128 exists only since GCC 7.0. */
90# if !__GNUC_PREREQ (7, 0) \
91 || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) \
92 || __glibc_clang_prereq (3, 4)
93typedef __float128 _Float128;
94# endif
95
96/* __builtin_huge_valf128 doesn't exist before GCC 7.0 nor Clang 7.0. */
97# if !__GNUC_PREREQ (7, 0) && !__glibc_clang_prereq (7, 0)
98# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
99# endif
100
101/* Older GCC has only a subset of built-in functions for _Float128 on
102 x86, and __builtin_infq is not usable in static initializers.
103 Converting a narrower sNaN to _Float128 produces a quiet NaN, so
104 attempts to use _Float128 sNaNs will not work properly with older
105 compilers. */
106# if !__GNUC_PREREQ (7, 0) && !defined __clang__
107# define __builtin_copysignf128 __builtin_copysignq
108# define __builtin_fabsf128 __builtin_fabsq
109# define __builtin_inff128() ((_Float128) __builtin_inf ())
110# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
111# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
112# endif
113
114/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
115 e.g.: __builtin_signbitf128, before GCC 6. However, there has never
116 been a __builtin_signbitf128 in GCC and the type-generic builtin is
117 only available since GCC 6. signbit is expanded to __builtin_signbit
118 after Clang 3.3. */
119# if !__GNUC_PREREQ (6, 0)
120# define __builtin_signbitf128 __signbitf128
121# endif
122
123# endif
124
125#endif /* !__ASSEMBLER__. */
126
127#include <bits/floatn-common.h>
128
129#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
21#endif
22
23#ifdef __FLT_EVAL_METHOD__
24# if __FLT_EVAL_METHOD__ == -1
25# define __GLIBC_FLT_EVAL_METHOD 2
26# else
27# define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__
28# endif
29#elif defined __x86_64__
30# define __GLIBC_FLT_EVAL_METHOD 0
31#else
32# define __GLIBC_FLT_EVAL_METHOD 2
33#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
21#endif
22
23#define __FP_LOGB0_IS_MIN 1
24#define __FP_LOGBNAN_IS_MIN 1
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h deleted-37
......@@ -1,37 +0,0 @@
1/* Definition of __INDIRECT_RETURN. x86 version.
2 Copyright (C) 2018-2025 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 _UCONTEXT_H
20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
21#endif
22
23/* On x86, swapcontext returns via indirect branch when the shadow stack
24 is enabled. Define __INDIRECT_RETURN to indicate whether swapcontext
25 returns via indirect branch. */
26#if defined __CET__ && (__CET__ & 2) != 0
27# if __glibc_has_attribute (__indirect_return__)
28# define __INDIRECT_RETURN __attribute__ ((__indirect_return__))
29# else
30/* Newer compilers provide the indirect_return attribute, but without
31 it we can use returns_twice to affect the optimizer in the same
32 way and avoid unsafe optimizations. */
33# define __INDIRECT_RETURN __attribute__ ((__returns_twice__))
34# endif
35#else
36# define __INDIRECT_RETURN
37#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h deleted-33
......@@ -1,33 +0,0 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
2 Copyright (C) 2012-2025 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_IPC_H
20# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
21#endif
22
23#ifndef _BITS_IPCTYPES_H
24#define _BITS_IPCTYPES_H 1
25
26/* Used in `struct shmid_ds'. */
27# ifdef __x86_64__
28typedef int __ipc_pid_t;
29# else
30typedef unsigned short int __ipc_pid_t;
31# endif
32
33#endif /* bits/ipctypes.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h deleted-54
......@@ -1,54 +0,0 @@
1/* Define iscanonical macro. ldbl-96 version.
2 Copyright (C) 2016-2025 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 _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
21#endif
22
23extern int __iscanonicall (long double __x)
24 __THROW __attribute__ ((__const__));
25#define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1)
26#define __iscanonical(x) ((void) (__typeof (x)) (x), 1)
27#if __HAVE_DISTINCT_FLOAT128
28# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1)
29#endif
30
31/* Return nonzero value if X is canonical. In IEEE interchange binary
32 formats, all values are canonical, but the argument must still be
33 converted to its semantic type for any exceptions arising from the
34 conversion, before being discarded; in extended precision, there
35 are encodings that are not consistently handled as corresponding to
36 any particular value of the type, and we return 0 for those. */
37#ifndef __cplusplus
38# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x))
39#else
40/* In C++ mode, __MATH_TG cannot be used, because it relies on
41 __builtin_types_compatible_p, which is a C-only builtin. On the
42 other hand, overloading provides the means to distinguish between
43 the floating-point types. The overloading resolution will match
44 the correct parameter (regardless of type qualifiers (i.e.: const
45 and volatile)). */
46extern "C++" {
47inline int iscanonical (float __val) { return __iscanonicalf (__val); }
48inline int iscanonical (double __val) { return __iscanonical (__val); }
49inline int iscanonical (long double __val) { return __iscanonicall (__val); }
50# if __HAVE_DISTINCT_FLOAT128
51inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); }
52# endif
53}
54#endif /* __cplusplus */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/link.h deleted-159
......@@ -1,159 +0,0 @@
1/* Copyright (C) 2004-2025 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 _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."
20#endif
21
22
23#ifndef __x86_64__
24/* Registers for entry into PLT on IA-32. */
25typedef struct La_i86_regs
26{
27 uint32_t lr_edx;
28 uint32_t lr_ecx;
29 uint32_t lr_eax;
30 uint32_t lr_ebp;
31 uint32_t lr_esp;
32} La_i86_regs;
33
34/* Return values for calls from PLT on IA-32. */
35typedef struct La_i86_retval
36{
37 uint32_t lrv_eax;
38 uint32_t lrv_edx;
39 long double lrv_st0;
40 long double lrv_st1;
41 uint64_t __glibc_unused1;
42 uint64_t __glibc_unused2;
43} La_i86_retval;
44
45
46__BEGIN_DECLS
47
48extern Elf32_Addr la_i86_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
49 uintptr_t *__refcook,
50 uintptr_t *__defcook,
51 La_i86_regs *__regs,
52 unsigned int *__flags,
53 const char *__symname,
54 long int *__framesizep);
55extern unsigned int la_i86_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
56 uintptr_t *__refcook,
57 uintptr_t *__defcook,
58 const La_i86_regs *__inregs,
59 La_i86_retval *__outregs,
60 const char *symname);
61
62__END_DECLS
63
64#else
65
66/* Registers for entry into PLT on x86-64. */
67# if __GNUC_PREREQ (4,0)
68typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
69typedef float La_x86_64_ymm
70 __attribute__ ((__vector_size__ (32), __aligned__ (16)));
71typedef double La_x86_64_zmm
72 __attribute__ ((__vector_size__ (64), __aligned__ (16)));
73# else
74typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
75# endif
76
77typedef union
78{
79# if __GNUC_PREREQ (4,0)
80 La_x86_64_ymm ymm[2];
81 La_x86_64_zmm zmm[1];
82# endif
83 La_x86_64_xmm xmm[4];
84} La_x86_64_vector __attribute__ ((__aligned__ (16)));
85
86typedef struct La_x86_64_regs
87{
88 uint64_t lr_rdx;
89 uint64_t lr_r8;
90 uint64_t lr_r9;
91 uint64_t lr_rcx;
92 uint64_t lr_rsi;
93 uint64_t lr_rdi;
94 uint64_t lr_rbp;
95 uint64_t lr_rsp;
96 La_x86_64_xmm lr_xmm[8];
97 La_x86_64_vector lr_vector[8];
98#ifndef __ILP32__
99 __int128_t __glibc_unused1[4];
100#endif
101} La_x86_64_regs;
102
103/* Return values for calls from PLT on x86-64. */
104typedef struct La_x86_64_retval
105{
106 uint64_t lrv_rax;
107 uint64_t lrv_rdx;
108 La_x86_64_xmm lrv_xmm0;
109 La_x86_64_xmm lrv_xmm1;
110 long double lrv_st0;
111 long double lrv_st1;
112 La_x86_64_vector lrv_vector0;
113 La_x86_64_vector lrv_vector1;
114#ifndef __ILP32__
115 __int128_t __glibc_unused1;
116 __int128_t __glibc_unused2;
117#endif
118} La_x86_64_retval;
119
120#define La_x32_regs La_x86_64_regs
121#define La_x32_retval La_x86_64_retval
122
123__BEGIN_DECLS
124
125extern Elf64_Addr la_x86_64_gnu_pltenter (Elf64_Sym *__sym,
126 unsigned int __ndx,
127 uintptr_t *__refcook,
128 uintptr_t *__defcook,
129 La_x86_64_regs *__regs,
130 unsigned int *__flags,
131 const char *__symname,
132 long int *__framesizep);
133extern unsigned int la_x86_64_gnu_pltexit (Elf64_Sym *__sym,
134 unsigned int __ndx,
135 uintptr_t *__refcook,
136 uintptr_t *__defcook,
137 const La_x86_64_regs *__inregs,
138 La_x86_64_retval *__outregs,
139 const char *__symname);
140
141extern Elf32_Addr la_x32_gnu_pltenter (Elf32_Sym *__sym,
142 unsigned int __ndx,
143 uintptr_t *__refcook,
144 uintptr_t *__defcook,
145 La_x32_regs *__regs,
146 unsigned int *__flags,
147 const char *__symname,
148 long int *__framesizep);
149extern unsigned int la_x32_gnu_pltexit (Elf32_Sym *__sym,
150 unsigned int __ndx,
151 uintptr_t *__refcook,
152 uintptr_t *__defcook,
153 const La_x32_regs *__inregs,
154 La_x32_retval *__outregs,
155 const char *__symname);
156
157__END_DECLS
158
159#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/long-double.h deleted-21
......@@ -1,21 +0,0 @@
1/* Properties of long double type. ldbl-96 version.
2 Copyright (C) 2016-2025 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 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/* long double is distinct from double, so there is nothing to
20 define here. */
21#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h deleted-147
......@@ -1,147 +0,0 @@
1/* Platform-specific SIMD declarations of math functions.
2 Copyright (C) 2014-2025 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 _MATH_H
20# error "Never include <bits/math-vector.h> directly;\
21 include <math.h> instead."
22#endif
23
24/* Get default empty definitions for simd declarations. */
25#include <bits/libm-simd-decl-stubs.h>
26
27#if defined __x86_64__ && defined __FAST_MATH__
28# if defined _OPENMP && _OPENMP >= 201307
29/* OpenMP case. */
30# define __DECL_SIMD_x86_64 _Pragma ("omp declare simd notinbranch")
31# elif __GNUC_PREREQ (6,0)
32/* W/o OpenMP use GCC 6.* __attribute__ ((__simd__)). */
33# define __DECL_SIMD_x86_64 __attribute__ ((__simd__ ("notinbranch")))
34# endif
35
36# ifdef __DECL_SIMD_x86_64
37# undef __DECL_SIMD_cos
38# define __DECL_SIMD_cos __DECL_SIMD_x86_64
39# undef __DECL_SIMD_cosf
40# define __DECL_SIMD_cosf __DECL_SIMD_x86_64
41# undef __DECL_SIMD_sin
42# define __DECL_SIMD_sin __DECL_SIMD_x86_64
43# undef __DECL_SIMD_sinf
44# define __DECL_SIMD_sinf __DECL_SIMD_x86_64
45# undef __DECL_SIMD_sincos
46# define __DECL_SIMD_sincos __DECL_SIMD_x86_64
47# undef __DECL_SIMD_sincosf
48# define __DECL_SIMD_sincosf __DECL_SIMD_x86_64
49# undef __DECL_SIMD_log
50# define __DECL_SIMD_log __DECL_SIMD_x86_64
51# undef __DECL_SIMD_logf
52# define __DECL_SIMD_logf __DECL_SIMD_x86_64
53# undef __DECL_SIMD_exp
54# define __DECL_SIMD_exp __DECL_SIMD_x86_64
55# undef __DECL_SIMD_expf
56# define __DECL_SIMD_expf __DECL_SIMD_x86_64
57# undef __DECL_SIMD_pow
58# define __DECL_SIMD_pow __DECL_SIMD_x86_64
59# undef __DECL_SIMD_powf
60# define __DECL_SIMD_powf __DECL_SIMD_x86_64
61# undef __DECL_SIMD_acos
62# define __DECL_SIMD_acos __DECL_SIMD_x86_64
63# undef __DECL_SIMD_acosf
64# define __DECL_SIMD_acosf __DECL_SIMD_x86_64
65# undef __DECL_SIMD_atan
66# define __DECL_SIMD_atan __DECL_SIMD_x86_64
67# undef __DECL_SIMD_atanf
68# define __DECL_SIMD_atanf __DECL_SIMD_x86_64
69# undef __DECL_SIMD_asin
70# define __DECL_SIMD_asin __DECL_SIMD_x86_64
71# undef __DECL_SIMD_asinf
72# define __DECL_SIMD_asinf __DECL_SIMD_x86_64
73# undef __DECL_SIMD_hypot
74# define __DECL_SIMD_hypot __DECL_SIMD_x86_64
75# undef __DECL_SIMD_hypotf
76# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64
77# undef __DECL_SIMD_exp2
78# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64
79# undef __DECL_SIMD_exp2f
80# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64
81# undef __DECL_SIMD_exp10
82# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64
83# undef __DECL_SIMD_exp10f
84# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64
85# undef __DECL_SIMD_cosh
86# define __DECL_SIMD_cosh __DECL_SIMD_x86_64
87# undef __DECL_SIMD_coshf
88# define __DECL_SIMD_coshf __DECL_SIMD_x86_64
89# undef __DECL_SIMD_expm1
90# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64
91# undef __DECL_SIMD_expm1f
92# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64
93# undef __DECL_SIMD_sinh
94# define __DECL_SIMD_sinh __DECL_SIMD_x86_64
95# undef __DECL_SIMD_sinhf
96# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64
97# undef __DECL_SIMD_cbrt
98# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64
99# undef __DECL_SIMD_cbrtf
100# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64
101# undef __DECL_SIMD_atan2
102# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64
103# undef __DECL_SIMD_atan2f
104# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64
105# undef __DECL_SIMD_log10
106# define __DECL_SIMD_log10 __DECL_SIMD_x86_64
107# undef __DECL_SIMD_log10f
108# define __DECL_SIMD_log10f __DECL_SIMD_x86_64
109# undef __DECL_SIMD_log2
110# define __DECL_SIMD_log2 __DECL_SIMD_x86_64
111# undef __DECL_SIMD_log2f
112# define __DECL_SIMD_log2f __DECL_SIMD_x86_64
113# undef __DECL_SIMD_log1p
114# define __DECL_SIMD_log1p __DECL_SIMD_x86_64
115# undef __DECL_SIMD_log1pf
116# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64
117# undef __DECL_SIMD_atanh
118# define __DECL_SIMD_atanh __DECL_SIMD_x86_64
119# undef __DECL_SIMD_atanhf
120# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64
121# undef __DECL_SIMD_acosh
122# define __DECL_SIMD_acosh __DECL_SIMD_x86_64
123# undef __DECL_SIMD_acoshf
124# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64
125# undef __DECL_SIMD_erf
126# define __DECL_SIMD_erf __DECL_SIMD_x86_64
127# undef __DECL_SIMD_erff
128# define __DECL_SIMD_erff __DECL_SIMD_x86_64
129# undef __DECL_SIMD_tanh
130# define __DECL_SIMD_tanh __DECL_SIMD_x86_64
131# undef __DECL_SIMD_tanhf
132# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64
133# undef __DECL_SIMD_asinh
134# define __DECL_SIMD_asinh __DECL_SIMD_x86_64
135# undef __DECL_SIMD_asinhf
136# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64
137# undef __DECL_SIMD_erfc
138# define __DECL_SIMD_erfc __DECL_SIMD_x86_64
139# undef __DECL_SIMD_erfcf
140# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64
141# undef __DECL_SIMD_tan
142# define __DECL_SIMD_tan __DECL_SIMD_x86_64
143# undef __DECL_SIMD_tanf
144# define __DECL_SIMD_tanf __DECL_SIMD_x86_64
145
146# endif
147#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/mman.h deleted-38
......@@ -1,38 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/x86_64 version.
2 Copyright (C) 2001-2025 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/* The following definitions basically come from the kernel headers.
24 But the kernel header is not namespace clean. */
25
26/* Other flags. */
27#define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */
28#define MAP_ABOVE4G 0x80 /* Only map above 4GB. */
29
30#ifdef __USE_MISC
31/* Set up a restore token in the newly allocated shadow stack */
32# define SHADOW_STACK_SET_TOKEN 0x1
33#endif
34
35#include <bits/mman-map-flags-generic.h>
36
37/* Include generic Linux declarations. */
38#include <bits/mman-linux.h>
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h deleted-30
......@@ -1,30 +0,0 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.
2 Copyright (C) 2018-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
22#endif
23
24#if __WORDSIZE == 32
25typedef unsigned short int __pr_uid_t;
26typedef unsigned short int __pr_gid_t;
27#else
28typedef unsigned int __pr_uid_t;
29typedef unsigned int __pr_gid_t;
30#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/procfs.h deleted-50
......@@ -1,50 +0,0 @@
1/* Types for registers for sys/procfs.h. x86 version.
2 Copyright (C) 2001-2025 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_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
21#endif
22
23/* Type for a general-purpose register. */
24#ifdef __x86_64__
25__extension__ typedef unsigned long long elf_greg_t;
26#else
27typedef unsigned long elf_greg_t;
28#endif
29
30/* And the whole bunch of them. We could have used `struct
31 user_regs_struct' directly in the typedef, but tradition says that
32 the register set is an array, which does have some peculiar
33 semantics, so leave it that way. */
34#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t))
35typedef elf_greg_t elf_gregset_t[ELF_NGREG];
36
37#ifndef __x86_64__
38/* Register set for the floating-point registers. */
39typedef struct user_fpregs_struct elf_fpregset_t;
40
41/* Register set for the extended floating-point registers. Includes
42 the Pentium III SSE registers in addition to the classic
43 floating-point stuff. */
44typedef struct user_fpxregs_struct elf_fpxregset_t;
45#else
46/* Register set for the extended floating-point registers. Includes
47 the Pentium III SSE registers in addition to the classic
48 floating-point stuff. */
49typedef struct user_fpregs_struct elf_fpregset_t;
50#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h deleted-55
......@@ -1,55 +0,0 @@
1/* Copyright (C) 2002-2025 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 _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 1
20
21#include <bits/wordsize.h>
22
23#ifdef __x86_64__
24# if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_MUTEX_T 40
26# define __SIZEOF_PTHREAD_ATTR_T 56
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29# else
30# define __SIZEOF_PTHREAD_MUTEX_T 32
31# define __SIZEOF_PTHREAD_ATTR_T 32
32# define __SIZEOF_PTHREAD_RWLOCK_T 44
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34# endif
35#else
36# define __SIZEOF_PTHREAD_MUTEX_T 24
37# define __SIZEOF_PTHREAD_ATTR_T 36
38# define __SIZEOF_PTHREAD_RWLOCK_T 32
39# define __SIZEOF_PTHREAD_BARRIER_T 20
40#endif
41#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
42#define __SIZEOF_PTHREAD_COND_T 48
43#define __SIZEOF_PTHREAD_CONDATTR_T 4
44#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
45#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
46
47#define __LOCK_ALIGNMENT
48#define __ONCE_ALIGNMENT
49
50#ifndef __x86_64__
51/* Extra attributes for the cleanup functions. */
52# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
53#endif
54
55#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/rseq.h deleted-30
......@@ -1,30 +0,0 @@
1/* Restartable Sequences Linux x86 architecture header.
2 Copyright (C) 2021-2025 Free Software Foundation, Inc.
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_RSEQ_H
19# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
20#endif
21
22/* RSEQ_SIG is a signature required before each abort handler code.
23
24 RSEQ_SIG is used with the following reserved undefined instructions, which
25 trap in user-space:
26
27 x86-32: 0f b9 3d 53 30 05 53 ud1 0x53053053,%edi
28 x86-64: 0f b9 3d 53 30 05 53 ud1 0x53053053(%rip),%edi */
29
30#define RSEQ_SIG 0x53053053
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h deleted-40
......@@ -1,40 +0,0 @@
1/* Copyright (C) 2001-2025 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/* Define the machine-dependent type `jmp_buf'. x86-64 version. */
19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 1
21
22#if !defined _SETJMP_H && !defined _PTHREAD_H
23# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
24#endif
25
26#include <bits/wordsize.h>
27
28#ifndef _ASM
29
30# if __WORDSIZE == 64
31typedef long int __jmp_buf[8];
32# elif defined __x86_64__
33__extension__ typedef long long int __jmp_buf[8];
34# else
35typedef int __jmp_buf[6];
36# endif
37
38#endif
39
40#endif /* bits/setjmp.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h deleted-196
......@@ -1,196 +0,0 @@
1/* Copyright (C) 2002-2025 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 _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 1
20
21#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
22# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
23#endif
24
25#include <bits/types.h>
26
27#define FP_XSTATE_MAGIC1 0x46505853U
28#define FP_XSTATE_MAGIC2 0x46505845U
29#define FP_XSTATE_MAGIC2_SIZE sizeof (FP_XSTATE_MAGIC2)
30
31struct _fpx_sw_bytes
32{
33 __uint32_t magic1;
34 __uint32_t extended_size;
35 __uint64_t xstate_bv;
36 __uint32_t xstate_size;
37 __uint32_t __glibc_reserved1[7];
38};
39
40struct _fpreg
41{
42 unsigned short significand[4];
43 unsigned short exponent;
44};
45
46struct _fpxreg
47{
48 unsigned short significand[4];
49 unsigned short exponent;
50 unsigned short __glibc_reserved1[3];
51};
52
53struct _xmmreg
54{
55 __uint32_t element[4];
56};
57
58
59
60#ifndef __x86_64__
61
62struct _fpstate
63{
64 /* Regular FPU environment. */
65 __uint32_t cw;
66 __uint32_t sw;
67 __uint32_t tag;
68 __uint32_t ipoff;
69 __uint32_t cssel;
70 __uint32_t dataoff;
71 __uint32_t datasel;
72 struct _fpreg _st[8];
73 unsigned short status;
74 unsigned short magic;
75
76 /* FXSR FPU environment. */
77 __uint32_t _fxsr_env[6];
78 __uint32_t mxcsr;
79 __uint32_t __glibc_reserved1;
80 struct _fpxreg _fxsr_st[8];
81 struct _xmmreg _xmm[8];
82 __uint32_t __glibc_reserved2[56];
83};
84
85#ifndef sigcontext_struct
86/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
87 we need sigcontext. Some packages have come to rely on
88 sigcontext_struct being defined on 32-bit x86, so define this for
89 their benefit. */
90# define sigcontext_struct sigcontext
91#endif
92
93#define X86_FXSR_MAGIC 0x0000
94
95struct sigcontext
96{
97 unsigned short gs, __gsh;
98 unsigned short fs, __fsh;
99 unsigned short es, __esh;
100 unsigned short ds, __dsh;
101 unsigned long edi;
102 unsigned long esi;
103 unsigned long ebp;
104 unsigned long esp;
105 unsigned long ebx;
106 unsigned long edx;
107 unsigned long ecx;
108 unsigned long eax;
109 unsigned long trapno;
110 unsigned long err;
111 unsigned long eip;
112 unsigned short cs, __csh;
113 unsigned long eflags;
114 unsigned long esp_at_signal;
115 unsigned short ss, __ssh;
116 struct _fpstate * fpstate;
117 unsigned long oldmask;
118 unsigned long cr2;
119};
120
121#else /* __x86_64__ */
122
123struct _fpstate
124{
125 /* FPU environment matching the 64-bit FXSAVE layout. */
126 __uint16_t cwd;
127 __uint16_t swd;
128 __uint16_t ftw;
129 __uint16_t fop;
130 __uint64_t rip;
131 __uint64_t rdp;
132 __uint32_t mxcsr;
133 __uint32_t mxcr_mask;
134 struct _fpxreg _st[8];
135 struct _xmmreg _xmm[16];
136 __uint32_t __glibc_reserved1[24];
137};
138
139struct sigcontext
140{
141 __uint64_t r8;
142 __uint64_t r9;
143 __uint64_t r10;
144 __uint64_t r11;
145 __uint64_t r12;
146 __uint64_t r13;
147 __uint64_t r14;
148 __uint64_t r15;
149 __uint64_t rdi;
150 __uint64_t rsi;
151 __uint64_t rbp;
152 __uint64_t rbx;
153 __uint64_t rdx;
154 __uint64_t rax;
155 __uint64_t rcx;
156 __uint64_t rsp;
157 __uint64_t rip;
158 __uint64_t eflags;
159 unsigned short cs;
160 unsigned short gs;
161 unsigned short fs;
162 unsigned short __pad0;
163 __uint64_t err;
164 __uint64_t trapno;
165 __uint64_t oldmask;
166 __uint64_t cr2;
167 __extension__ union
168 {
169 struct _fpstate * fpstate;
170 __uint64_t __fpstate_word;
171 };
172 __uint64_t __reserved1 [8];
173};
174
175#endif /* __x86_64__ */
176
177struct _xsave_hdr
178{
179 __uint64_t xstate_bv;
180 __uint64_t __glibc_reserved1[2];
181 __uint64_t __glibc_reserved2[5];
182};
183
184struct _ymmh_state
185{
186 __uint32_t ymmh_space[64];
187};
188
189struct _xstate
190{
191 struct _fpstate fpstate;
192 struct _xsave_hdr xstate_hdr;
193 struct _ymmh_state ymmh;
194};
195
196#endif /* _BITS_SIGCONTEXT_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/siginfo-arch.h deleted-17
......@@ -1,17 +0,0 @@
1/* Architecture-specific adjustments to siginfo_t. x86 version. */
2#ifndef _BITS_SIGINFO_ARCH_H
3#define _BITS_SIGINFO_ARCH_H 1
4
5#if defined __x86_64__ && __WORDSIZE == 32
6/* si_utime and si_stime must be 4 byte aligned for x32 to match the
7 kernel. We align siginfo_t to 8 bytes so that si_utime and
8 si_stime are actually aligned to 8 bytes since their offsets are
9 multiple of 8 bytes. Note: with some compilers, the alignment
10 attribute would be ignored if it were put in __SI_CLOCK_T instead
11 of encapsulated in a typedef. */
12typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
13# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
14# define __SI_CLOCK_T __sigchld_clock_t
15#endif
16
17#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h deleted-63
......@@ -1,63 +0,0 @@
1/* x86 internal mutex struct definitions.
2 Copyright (C) 2019-2025 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 <http://www.gnu.org/licenses/>. */
18
19#ifndef _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#ifdef __x86_64__
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#ifdef __x86_64__
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __eelision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__eelision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#ifdef __x86_64__
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { NULL, NULL }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h deleted-65
......@@ -1,65 +0,0 @@
1/* x86 internal rwlock struct definitions.
2 Copyright (C) 2019-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#ifdef __x86_64__
32 int __cur_writer;
33 int __shared;
34 signed char __rwelision;
35# ifdef __ILP32__
36 unsigned char __pad1[3];
37# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
38# else
39 unsigned char __pad1[7];
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
41# endif
42 unsigned long int __pad2;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned int __flags;
46#else /* __x86_64__ */
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 signed char __rwelision;
52 unsigned char __pad2;
53 int __cur_writer;
54#endif
55};
56
57#ifdef __x86_64__
58# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
59 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
60#else
61# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
62 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
63#endif
64
65#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h deleted-165
......@@ -1,165 +0,0 @@
1/* Definition for struct stat.
2 Copyright (C) 2020-2025 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 _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead."
21#endif
22
23#ifndef _BITS_STRUCT_STAT_H
24#define _BITS_STRUCT_STAT_H 1
25
26struct stat
27 {
28#ifdef __USE_TIME64_REDIRECTS
29# include <bits/struct_stat_time64_helper.h>
30#else
31 __dev_t st_dev; /* Device. */
32# ifndef __x86_64__
33 unsigned short int __pad1;
34# endif
35# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
36 __ino_t st_ino; /* File serial number. */
37# else
38 __ino_t __st_ino; /* 32bit file serial number. */
39# endif
40# ifndef __x86_64__
41 __mode_t st_mode; /* File mode. */
42 __nlink_t st_nlink; /* Link count. */
43# else
44 __nlink_t st_nlink; /* Link count. */
45 __mode_t st_mode; /* File mode. */
46# endif
47 __uid_t st_uid; /* User ID of the file's owner. */
48 __gid_t st_gid; /* Group ID of the file's group.*/
49# ifdef __x86_64__
50 int __pad0;
51# endif
52 __dev_t st_rdev; /* Device number, if device. */
53# ifndef __x86_64__
54 unsigned short int __pad2;
55# endif
56# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
57 __off_t st_size; /* Size of file, in bytes. */
58# else
59 __off64_t st_size; /* Size of file, in bytes. */
60# endif
61 __blksize_t st_blksize; /* Optimal block size for I/O. */
62# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
63 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
64# else
65 __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
66# endif
67# ifdef __USE_XOPEN2K8
68 /* Nanosecond resolution timestamps are stored in a format
69 equivalent to 'struct timespec'. This is the type used
70 whenever possible but the Unix namespace rules do not allow the
71 identifier 'timespec' to appear in the <sys/stat.h> header.
72 Therefore we have to handle the use of this header in strictly
73 standard-compliant sources special. */
74 struct timespec st_atim; /* Time of last access. */
75 struct timespec st_mtim; /* Time of last modification. */
76 struct timespec st_ctim; /* Time of last status change. */
77# define st_atime st_atim.tv_sec /* Backward compatibility. */
78# define st_mtime st_mtim.tv_sec
79# define st_ctime st_ctim.tv_sec
80# else
81 __time_t st_atime; /* Time of last access. */
82 __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
83 __time_t st_mtime; /* Time of last modification. */
84 __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
85 __time_t st_ctime; /* Time of last status change. */
86 __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
87# endif
88# ifdef __x86_64__
89 __syscall_slong_t __glibc_reserved[3];
90# else
91# ifndef __USE_FILE_OFFSET64
92 unsigned long int __glibc_reserved4;
93 unsigned long int __glibc_reserved5;
94# else
95 __ino64_t st_ino; /* File serial number. */
96# endif
97# endif
98#endif /* __USE_TIME64_REDIRECTS */
99 };
100
101#ifdef __USE_LARGEFILE64
102/* Note stat64 has the same shape as stat for x86-64. */
103struct stat64
104 {
105# ifdef __USE_TIME64_REDIRECTS
106# include <bits/struct_stat_time64_helper.h>
107# else
108 __dev_t st_dev; /* Device. */
109# ifdef __x86_64__
110 __ino64_t st_ino; /* File serial number. */
111 __nlink_t st_nlink; /* Link count. */
112 __mode_t st_mode; /* File mode. */
113# else
114 unsigned int __pad1;
115 __ino_t __st_ino; /* 32bit file serial number. */
116 __mode_t st_mode; /* File mode. */
117 __nlink_t st_nlink; /* Link count. */
118# endif
119 __uid_t st_uid; /* User ID of the file's owner. */
120 __gid_t st_gid; /* Group ID of the file's group.*/
121# ifdef __x86_64__
122 int __pad0;
123 __dev_t st_rdev; /* Device number, if device. */
124 __off_t st_size; /* Size of file, in bytes. */
125# else
126 __dev_t st_rdev; /* Device number, if device. */
127 unsigned int __pad2;
128 __off64_t st_size; /* Size of file, in bytes. */
129# endif
130 __blksize_t st_blksize; /* Optimal block size for I/O. */
131 __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
132# ifdef __USE_XOPEN2K8
133 /* Nanosecond resolution timestamps are stored in a format
134 equivalent to 'struct timespec'. This is the type used
135 whenever possible but the Unix namespace rules do not allow the
136 identifier 'timespec' to appear in the <sys/stat.h> header.
137 Therefore we have to handle the use of this header in strictly
138 standard-compliant sources special. */
139 struct timespec st_atim; /* Time of last access. */
140 struct timespec st_mtim; /* Time of last modification. */
141 struct timespec st_ctim; /* Time of last status change. */
142# else
143 __time_t st_atime; /* Time of last access. */
144 __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
145 __time_t st_mtime; /* Time of last modification. */
146 __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
147 __time_t st_ctime; /* Time of last status change. */
148 __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
149# endif
150# ifdef __x86_64__
151 __syscall_slong_t __glibc_reserved[3];
152# else
153 __ino64_t st_ino; /* File serial number. */
154# endif
155# endif /* __USE_TIME64_REDIRECTS */
156 };
157#endif
158
159/* Tell code we have these members. */
160#define _STATBUF_ST_BLKSIZE
161#define _STATBUF_ST_RDEV
162/* Nanosecond resolution time values are supported. */
163#define _STATBUF_ST_NSEC
164
165#endif /* _BITS_STRUCT_STAT_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/timesize.h deleted-27
......@@ -1,27 +0,0 @@
1/* Bit size of the time_t type at glibc build time, x86-64 and x32 case.
2 Copyright (C) 2018-2025 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#include <bits/wordsize.h>
20
21#if defined __x86_64__ && defined __ILP32__
22/* For x32, time is 64-bit even though word size is 32-bit. */
23# define __TIMESIZE 64
24#else
25/* For others, time size is word size. */
26# define __TIMESIZE __WORDSIZE
27#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h deleted-38
......@@ -1,38 +0,0 @@
1/* x86 implementation of the semaphore struct semid_ds.
2 Copyright (C) 1995-2025 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#ifdef __USE_TIME64_REDIRECTS
27# include <bits/types/struct_semid64_ds_helper.h>
28#else
29 struct ipc_perm sem_perm; /* operation permission struct */
30 __time_t sem_otime; /* last semop() time */
31 __syscall_ulong_t __sem_otime_high;
32 __time_t sem_ctime; /* last time changed by semctl() */
33 __syscall_ulong_t __sem_ctime_high;
34 __syscall_ulong_t sem_nsems; /* number of semaphores in set */
35 __syscall_ulong_t __glibc_reserved3;
36 __syscall_ulong_t __glibc_reserved4;
37#endif
38};
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h deleted-106
......@@ -1,106 +0,0 @@
1/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
2 Copyright (C) 2012-2025 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_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
21#endif
22
23#ifndef _BITS_TYPESIZES_H
24#define _BITS_TYPESIZES_H 1
25
26/* See <bits/types.h> for the meaning of these macros. This file exists so
27 that <bits/types.h> need not vary across different GNU platforms. */
28
29/* X32 kernel interface is 64-bit. */
30#if defined __x86_64__ && defined __ILP32__
31# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
32# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
33#else
34# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
35# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
36#endif
37
38#define __DEV_T_TYPE __UQUAD_TYPE
39#define __UID_T_TYPE __U32_TYPE
40#define __GID_T_TYPE __U32_TYPE
41#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
42#define __INO64_T_TYPE __UQUAD_TYPE
43#define __MODE_T_TYPE __U32_TYPE
44#ifdef __x86_64__
45# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
46# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
47#else
48# define __NLINK_T_TYPE __UWORD_TYPE
49# define __FSWORD_T_TYPE __SWORD_TYPE
50#endif
51#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
52#define __OFF64_T_TYPE __SQUAD_TYPE
53#define __PID_T_TYPE __S32_TYPE
54#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
55#define __RLIM64_T_TYPE __UQUAD_TYPE
56#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
57#define __BLKCNT64_T_TYPE __SQUAD_TYPE
58#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
59#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
60#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
61#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
62#define __ID_T_TYPE __U32_TYPE
63#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
64#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
65#define __USECONDS_T_TYPE __U32_TYPE
66#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
67#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
68#define __DADDR_T_TYPE __S32_TYPE
69#define __KEY_T_TYPE __S32_TYPE
70#define __CLOCKID_T_TYPE __S32_TYPE
71#define __TIMER_T_TYPE void *
72#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
73#define __FSID_T_TYPE struct { int __val[2]; }
74#define __SSIZE_T_TYPE __SWORD_TYPE
75#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE
76
77#ifdef __x86_64__
78/* Tell the libc code that off_t and off64_t are actually the same type
79 for all ABI purposes, even if possibly expressed as different base types
80 for C type-checking purposes. */
81# define __OFF_T_MATCHES_OFF64_T 1
82
83/* Same for ino_t and ino64_t. */
84# define __INO_T_MATCHES_INO64_T 1
85
86/* And for __rlim_t and __rlim64_t. */
87# define __RLIM_T_MATCHES_RLIM64_T 1
88
89/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
90# define __STATFS_MATCHES_STATFS64 1
91
92/* And for getitimer, setitimer and rusage */
93# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
94#else
95# define __RLIM_T_MATCHES_RLIM64_T 0
96
97# define __STATFS_MATCHES_STATFS64 0
98
99# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
100#endif
101
102/* Number of descriptors that can fit in an `fd_set'. */
103#define __FD_SETSIZE 1024
104
105
106#endif /* bits/typesizes.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/wordsize.h deleted-16
......@@ -1,16 +0,0 @@
1/* Determine the wordsize from the preprocessor defines. */
2
3#if defined __x86_64__ && !defined __ILP32__
4# define __WORDSIZE 64
5#else
6# define __WORDSIZE 32
7#define __WORDSIZE32_SIZE_ULONG 0
8#define __WORDSIZE32_PTRDIFF_LONG 0
9#endif
10
11#define __WORDSIZE_TIME64_COMPAT32 1
12
13#ifdef __x86_64__
14/* Both x86-64 and x32 use the 64-bit system call interface. */
15# define __SYSCALL_WORDSIZE 64
16#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h deleted-127
......@@ -1,127 +0,0 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 2019-2025 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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
21!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
22!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
23!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
24!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
25!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
26!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
27!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
28!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
29!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
30!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
31!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64')
32!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64')
33!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64')
34!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64')
35!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64')
36!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64')
37!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64')
38!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64')
39!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64')
40!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64')
41!GCC$ builtin (exp10) attributes simd (notinbranch) if('x86_64')
42!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x86_64')
43!GCC$ builtin (cosh) attributes simd (notinbranch) if('x86_64')
44!GCC$ builtin (coshf) attributes simd (notinbranch) if('x86_64')
45!GCC$ builtin (expm1) attributes simd (notinbranch) if('x86_64')
46!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64')
47!GCC$ builtin (sinh) attributes simd (notinbranch) if('x86_64')
48!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x86_64')
49!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x86_64')
50!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x86_64')
51!GCC$ builtin (atan2) attributes simd (notinbranch) if('x86_64')
52!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x86_64')
53!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64')
54!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64')
55!GCC$ builtin (log2) attributes simd (notinbranch) if('x86_64')
56!GCC$ builtin (log2f) attributes simd (notinbranch) if('x86_64')
57!GCC$ builtin (log1p) attributes simd (notinbranch) if('x86_64')
58!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x86_64')
59!GCC$ builtin (atanh) attributes simd (notinbranch) if('x86_64')
60!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x86_64')
61!GCC$ builtin (acosh) attributes simd (notinbranch) if('x86_64')
62!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x86_64')
63!GCC$ builtin (erf) attributes simd (notinbranch) if('x86_64')
64!GCC$ builtin (erff) attributes simd (notinbranch) if('x86_64')
65!GCC$ builtin (tanh) attributes simd (notinbranch) if('x86_64')
66!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x86_64')
67!GCC$ builtin (asinh) attributes simd (notinbranch) if('x86_64')
68!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x86_64')
69!GCC$ builtin (erfc) attributes simd (notinbranch) if('x86_64')
70!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x86_64')
71!GCC$ builtin (tan) attributes simd (notinbranch) if('x86_64')
72!GCC$ builtin (tanf) attributes simd (notinbranch) if('x86_64')
73
74!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
75!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
76!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
77!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
78!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
79!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
80!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
81!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
82!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
83!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
84!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
85!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
86!GCC$ builtin (acos) attributes simd (notinbranch) if('x32')
87!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32')
88!GCC$ builtin (atan) attributes simd (notinbranch) if('x32')
89!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32')
90!GCC$ builtin (asin) attributes simd (notinbranch) if('x32')
91!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32')
92!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32')
93!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32')
94!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32')
95!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32')
96!GCC$ builtin (exp10) attributes simd (notinbranch) if('x32')
97!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x32')
98!GCC$ builtin (cosh) attributes simd (notinbranch) if('x32')
99!GCC$ builtin (coshf) attributes simd (notinbranch) if('x32')
100!GCC$ builtin (expm1) attributes simd (notinbranch) if('x32')
101!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32')
102!GCC$ builtin (sinh) attributes simd (notinbranch) if('x32')
103!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x32')
104!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x32')
105!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x32')
106!GCC$ builtin (atan2) attributes simd (notinbranch) if('x32')
107!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x32')
108!GCC$ builtin (log10) attributes simd (notinbranch) if('x32')
109!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32')
110!GCC$ builtin (log2) attributes simd (notinbranch) if('x32')
111!GCC$ builtin (log2f) attributes simd (notinbranch) if('x32')
112!GCC$ builtin (log1p) attributes simd (notinbranch) if('x32')
113!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x32')
114!GCC$ builtin (atanh) attributes simd (notinbranch) if('x32')
115!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x32')
116!GCC$ builtin (acosh) attributes simd (notinbranch) if('x32')
117!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x32')
118!GCC$ builtin (erf) attributes simd (notinbranch) if('x32')
119!GCC$ builtin (erff) attributes simd (notinbranch) if('x32')
120!GCC$ builtin (tanh) attributes simd (notinbranch) if('x32')
121!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x32')
122!GCC$ builtin (asinh) attributes simd (notinbranch) if('x32')
123!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x32')
124!GCC$ builtin (erfc) attributes simd (notinbranch) if('x32')
125!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x32')
126!GCC$ builtin (tan) attributes simd (notinbranch) if('x32')
127!GCC$ builtin (tanf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/fpu_control.h deleted-108
......@@ -1,108 +0,0 @@
1/* FPU control word bits. x86 version.
2 Copyright (C) 1993-2025 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 _FPU_CONTROL_H
20#define _FPU_CONTROL_H 1
21
22/* Note that this file sets on x86-64 only the x87 FPU, it does not
23 touch the SSE unit. */
24
25/* Here is the dirty part. Set up your 387 through the control word
26 * (cw) register.
27 *
28 * 15-13 12 11-10 9-8 7-6 5 4 3 2 1 0
29 * | reserved | IC | RC | PC | reserved | PM | UM | OM | ZM | DM | IM
30 *
31 * IM: Invalid operation mask
32 * DM: Denormalized operand mask
33 * ZM: Zero-divide mask
34 * OM: Overflow mask
35 * UM: Underflow mask
36 * PM: Precision (inexact result) mask
37 *
38 * Mask bit is 1 means no interrupt.
39 *
40 * PC: Precision control
41 * 11 - round to extended precision
42 * 10 - round to double precision
43 * 00 - round to single precision
44 *
45 * RC: Rounding control
46 * 00 - rounding to nearest
47 * 01 - rounding down (toward - infinity)
48 * 10 - rounding up (toward + infinity)
49 * 11 - rounding toward zero
50 *
51 * IC: Infinity control
52 * That is for 8087 and 80287 only.
53 *
54 * The hardware default is 0x037f which we use.
55 */
56
57#include <features.h>
58
59/* masking of interrupts */
60#define _FPU_MASK_IM 0x01
61#define _FPU_MASK_DM 0x02
62#define _FPU_MASK_ZM 0x04
63#define _FPU_MASK_OM 0x08
64#define _FPU_MASK_UM 0x10
65#define _FPU_MASK_PM 0x20
66
67/* precision control */
68#define _FPU_EXTENDED 0x300 /* libm requires double extended precision. */
69#define _FPU_DOUBLE 0x200
70#define _FPU_SINGLE 0x0
71
72/* rounding control */
73#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
74#define _FPU_RC_DOWN 0x400
75#define _FPU_RC_UP 0x800
76#define _FPU_RC_ZERO 0xC00
77
78#define _FPU_RESERVED 0xF0C0 /* Reserved bits in cw */
79
80
81/* The fdlibm code requires strict IEEE double precision arithmetic,
82 and no interrupts for exceptions, rounding to nearest. */
83
84#define _FPU_DEFAULT 0x037f
85
86/* IEEE: same as above. */
87#define _FPU_IEEE 0x037f
88
89/* Type of the control word. */
90typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__)));
91
92/* Macros for accessing the hardware control word. "*&" is used to
93 work around a bug in older versions of GCC. __volatile__ is used
94 to support combination of writing the control register and reading
95 it back. Without __volatile__, the old value may be used for reading
96 back under compiler optimization.
97
98 Note that the use of these macros is not sufficient anymore with
99 recent hardware nor on x86-64. Some floating point operations are
100 executed in the SSE/SSE2 engines which have their own control and
101 status register. */
102#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
103#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
104
105/* Default control word set at startup. */
106extern fpu_control_t __fpu_control;
107
108#endif /* fpu_control.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h deleted-27
......@@ -1,27 +0,0 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-x32.h> directly; include <gnu/lib-names.h> instead."
4#endif
5
6#define LD_LINUX_X32_SO "ld-linux-x32.so.2"
7#define LD_SO "ld-linux-x32.so.2"
8#define LIBANL_SO "libanl.so.1"
9#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1"
10#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0"
11#define LIBC_SO "libc.so.6"
12#define LIBDL_SO "libdl.so.2"
13#define LIBGCC_S_SO "libgcc_s.so.1"
14#define LIBMVEC_SO "libmvec.so.1"
15#define LIBM_SO "libm.so.6"
16#define LIBNSL_SO "libnsl.so.1"
17#define LIBNSS_COMPAT_SO "libnss_compat.so.2"
18#define LIBNSS_DB_SO "libnss_db.so.2"
19#define LIBNSS_DNS_SO "libnss_dns.so.2"
20#define LIBNSS_FILES_SO "libnss_files.so.2"
21#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2"
22#define LIBNSS_LDAP_SO "libnss_ldap.so.2"
23#define LIBPTHREAD_SO "libpthread.so.0"
24#define LIBRESOLV_SO "libresolv.so.2"
25#define LIBRT_SO "librt.so.1"
26#define LIBTHREAD_DB_SO "libthread_db.so.1"
27#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/gnu/lib-names.h deleted-17
......@@ -1,17 +0,0 @@
1/* This file is automatically generated.
2 It defines macros to allow user program to find the shared
3 library files which come as part of GNU libc. */
4#ifndef __GNU_LIB_NAMES_H
5#define __GNU_LIB_NAMES_H 1
6
7#if !defined __x86_64__
8# include <gnu/lib-names-32.h>
9#endif
10#if defined __x86_64__ && defined __LP64__
11# include <gnu/lib-names-64.h>
12#endif
13#if defined __x86_64__ && defined __ILP32__
14# include <gnu/lib-names-x32.h>
15#endif
16
17#endif /* gnu/lib-names.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/gnu/stubs-x32.h deleted-22
......@@ -1,22 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub___compat_bdflush
11#define __stub___compat_create_module
12#define __stub___compat_get_kernel_syms
13#define __stub___compat_nfsservctl
14#define __stub___compat_query_module
15#define __stub___compat_uselib
16#define __stub_chflags
17#define __stub_fchflags
18#define __stub_gtty
19#define __stub_revoke
20#define __stub_setlogin
21#define __stub_sigreturn
22#define __stub_stty
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/gnu/stubs.h deleted-14
......@@ -1,14 +0,0 @@
1/* This file is automatically generated.
2 This file selects the right generated file of `__stub_FUNCTION' macros
3 based on the architecture being compiled for. */
4
5
6#if !defined __x86_64__
7# include <gnu/stubs-32.h>
8#endif
9#if defined __x86_64__ && defined __LP64__
10# include <gnu/stubs-64.h>
11#endif
12#if defined __x86_64__ && defined __ILP32__
13# include <gnu/stubs-x32.h>
14#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/sys/elf.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 1998-2025 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_ELF_H
19#define _SYS_ELF_H 1
20
21#ifdef __x86_64__
22# error This header is unsupported on x86-64.
23#else
24# warning "This header is obsolete; use <sys/procfs.h> instead."
25
26# include <sys/procfs.h>
27#endif
28
29#endif /* _SYS_ELF_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h deleted-216
......@@ -1,216 +0,0 @@
1/* `ptrace' debugger support interface. Linux/x86 version.
2 Copyright (C) 1996-2025 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
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 _SYS_PTRACE_H
21#define _SYS_PTRACE_H 1
22
23#include <features.h>
24#include <bits/types.h>
25
26__BEGIN_DECLS
27
28/* Type of the REQUEST argument to `ptrace.' */
29enum __ptrace_request
30{
31 /* Indicate that the process making this request should be traced.
32 All signals received by this process can be intercepted by its
33 parent, and its parent can use the other `ptrace' requests. */
34 PTRACE_TRACEME = 0,
35#define PT_TRACE_ME PTRACE_TRACEME
36
37 /* Return the word in the process's text space at address ADDR. */
38 PTRACE_PEEKTEXT = 1,
39#define PT_READ_I PTRACE_PEEKTEXT
40
41 /* Return the word in the process's data space at address ADDR. */
42 PTRACE_PEEKDATA = 2,
43#define PT_READ_D PTRACE_PEEKDATA
44
45 /* Return the word in the process's user area at offset ADDR. */
46 PTRACE_PEEKUSER = 3,
47#define PT_READ_U PTRACE_PEEKUSER
48
49 /* Write the word DATA into the process's text space at address ADDR. */
50 PTRACE_POKETEXT = 4,
51#define PT_WRITE_I PTRACE_POKETEXT
52
53 /* Write the word DATA into the process's data space at address ADDR. */
54 PTRACE_POKEDATA = 5,
55#define PT_WRITE_D PTRACE_POKEDATA
56
57 /* Write the word DATA into the process's user area at offset ADDR. */
58 PTRACE_POKEUSER = 6,
59#define PT_WRITE_U PTRACE_POKEUSER
60
61 /* Continue the process. */
62 PTRACE_CONT = 7,
63#define PT_CONTINUE PTRACE_CONT
64
65 /* Kill the process. */
66 PTRACE_KILL = 8,
67#define PT_KILL PTRACE_KILL
68
69 /* Single step the process. */
70 PTRACE_SINGLESTEP = 9,
71#define PT_STEP PTRACE_SINGLESTEP
72
73 /* Get all general purpose registers used by a processes. */
74 PTRACE_GETREGS = 12,
75#define PT_GETREGS PTRACE_GETREGS
76
77 /* Set all general purpose registers used by a processes. */
78 PTRACE_SETREGS = 13,
79#define PT_SETREGS PTRACE_SETREGS
80
81 /* Get all floating point registers used by a processes. */
82 PTRACE_GETFPREGS = 14,
83#define PT_GETFPREGS PTRACE_GETFPREGS
84
85 /* Set all floating point registers used by a processes. */
86 PTRACE_SETFPREGS = 15,
87#define PT_SETFPREGS PTRACE_SETFPREGS
88
89 /* Attach to a process that is already running. */
90 PTRACE_ATTACH = 16,
91#define PT_ATTACH PTRACE_ATTACH
92
93 /* Detach from a process attached to with PTRACE_ATTACH. */
94 PTRACE_DETACH = 17,
95#define PT_DETACH PTRACE_DETACH
96
97 /* Get all extended floating point registers used by a processes. */
98 PTRACE_GETFPXREGS = 18,
99#define PT_GETFPXREGS PTRACE_GETFPXREGS
100
101 /* Set all extended floating point registers used by a processes. */
102 PTRACE_SETFPXREGS = 19,
103#define PT_SETFPXREGS PTRACE_SETFPXREGS
104
105 /* Continue and stop at the next entry to or return from syscall. */
106 PTRACE_SYSCALL = 24,
107#define PT_SYSCALL PTRACE_SYSCALL
108
109 /* Get a TLS entry in the GDT. */
110 PTRACE_GET_THREAD_AREA = 25,
111#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA
112
113 /* Change a TLS entry in the GDT. */
114 PTRACE_SET_THREAD_AREA = 26,
115#define PT_SET_THREAD_AREA PTRACE_SET_THREAD_AREA
116
117#ifdef __x86_64__
118 /* Access TLS data. */
119 PTRACE_ARCH_PRCTL = 30,
120# define PT_ARCH_PRCTL PTRACE_ARCH_PRCTL
121#endif
122
123 /* Continue and stop at the next syscall, it will not be executed. */
124 PTRACE_SYSEMU = 31,
125#define PT_SYSEMU PTRACE_SYSEMU
126
127 /* Single step the process, the next syscall will not be executed. */
128 PTRACE_SYSEMU_SINGLESTEP = 32,
129#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP
130
131 /* Execute process until next taken branch. */
132 PTRACE_SINGLEBLOCK = 33,
133#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
134
135 /* Set ptrace filter options. */
136 PTRACE_SETOPTIONS = 0x4200,
137#define PT_SETOPTIONS PTRACE_SETOPTIONS
138
139 /* Get last ptrace message. */
140 PTRACE_GETEVENTMSG = 0x4201,
141#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
142
143 /* Get siginfo for process. */
144 PTRACE_GETSIGINFO = 0x4202,
145#define PT_GETSIGINFO PTRACE_GETSIGINFO
146
147 /* Set new siginfo for process. */
148 PTRACE_SETSIGINFO = 0x4203,
149#define PT_SETSIGINFO PTRACE_SETSIGINFO
150
151 /* Get register content. */
152 PTRACE_GETREGSET = 0x4204,
153#define PTRACE_GETREGSET PTRACE_GETREGSET
154
155 /* Set register content. */
156 PTRACE_SETREGSET = 0x4205,
157#define PTRACE_SETREGSET PTRACE_SETREGSET
158
159 /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
160 signal or group stop state. */
161 PTRACE_SEIZE = 0x4206,
162#define PTRACE_SEIZE PTRACE_SEIZE
163
164 /* Trap seized tracee. */
165 PTRACE_INTERRUPT = 0x4207,
166#define PTRACE_INTERRUPT PTRACE_INTERRUPT
167
168 /* Wait for next group event. */
169 PTRACE_LISTEN = 0x4208,
170#define PTRACE_LISTEN PTRACE_LISTEN
171
172 /* Retrieve siginfo_t structures without removing signals from a queue. */
173 PTRACE_PEEKSIGINFO = 0x4209,
174#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
175
176 /* Get the mask of blocked signals. */
177 PTRACE_GETSIGMASK = 0x420a,
178#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
179
180 /* Change the mask of blocked signals. */
181 PTRACE_SETSIGMASK = 0x420b,
182#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
183
184 /* Get seccomp BPF filters. */
185 PTRACE_SECCOMP_GET_FILTER = 0x420c,
186#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
187
188 /* Get seccomp BPF filter metadata. */
189 PTRACE_SECCOMP_GET_METADATA = 0x420d,
190#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
191
192 /* Get information about system call. */
193 PTRACE_GET_SYSCALL_INFO = 0x420e,
194#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
195
196 /* Get rseq configuration information. */
197 PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
198#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
199
200 /* Set configuration for syscall user dispatch. */
201 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210,
202#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \
203 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG
204
205 /* Get configuration for syscall user dispatch. */
206 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211
207#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \
208 PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG
209};
210
211
212#include <bits/ptrace-shared.h>
213
214__END_DECLS
215
216#endif /* _SYS_PTRACE_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h deleted-262
......@@ -1,262 +0,0 @@
1/* Copyright (C) 2001-2025 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_UCONTEXT_H
19#define _SYS_UCONTEXT_H 1
20
21#include <features.h>
22
23#include <bits/types.h>
24#include <bits/types/sigset_t.h>
25#include <bits/types/stack_t.h>
26
27
28#ifdef __USE_MISC
29# define __ctx(fld) fld
30#else
31# define __ctx(fld) __ ## fld
32#endif
33
34#ifdef __x86_64__
35
36/* Type for general register. */
37__extension__ typedef long long int greg_t;
38
39/* Number of general registers. */
40#define __NGREG 23
41#ifdef __USE_MISC
42# define NGREG __NGREG
43#endif
44
45/* Container for all general registers. */
46typedef greg_t gregset_t[__NGREG];
47
48#ifdef __USE_GNU
49/* Number of each register in the `gregset_t' array. */
50enum
51{
52 REG_R8 = 0,
53# define REG_R8 REG_R8
54 REG_R9,
55# define REG_R9 REG_R9
56 REG_R10,
57# define REG_R10 REG_R10
58 REG_R11,
59# define REG_R11 REG_R11
60 REG_R12,
61# define REG_R12 REG_R12
62 REG_R13,
63# define REG_R13 REG_R13
64 REG_R14,
65# define REG_R14 REG_R14
66 REG_R15,
67# define REG_R15 REG_R15
68 REG_RDI,
69# define REG_RDI REG_RDI
70 REG_RSI,
71# define REG_RSI REG_RSI
72 REG_RBP,
73# define REG_RBP REG_RBP
74 REG_RBX,
75# define REG_RBX REG_RBX
76 REG_RDX,
77# define REG_RDX REG_RDX
78 REG_RAX,
79# define REG_RAX REG_RAX
80 REG_RCX,
81# define REG_RCX REG_RCX
82 REG_RSP,
83# define REG_RSP REG_RSP
84 REG_RIP,
85# define REG_RIP REG_RIP
86 REG_EFL,
87# define REG_EFL REG_EFL
88 REG_CSGSFS, /* Actually short cs, gs, fs, __pad0. */
89# define REG_CSGSFS REG_CSGSFS
90 REG_ERR,
91# define REG_ERR REG_ERR
92 REG_TRAPNO,
93# define REG_TRAPNO REG_TRAPNO
94 REG_OLDMASK,
95# define REG_OLDMASK REG_OLDMASK
96 REG_CR2
97# define REG_CR2 REG_CR2
98};
99#endif
100
101struct _libc_fpxreg
102{
103 unsigned short int __ctx(significand)[4];
104 unsigned short int __ctx(exponent);
105 unsigned short int __glibc_reserved1[3];
106};
107
108struct _libc_xmmreg
109{
110 __uint32_t __ctx(element)[4];
111};
112
113struct _libc_fpstate
114{
115 /* 64-bit FXSAVE format. */
116 __uint16_t __ctx(cwd);
117 __uint16_t __ctx(swd);
118 __uint16_t __ctx(ftw);
119 __uint16_t __ctx(fop);
120 __uint64_t __ctx(rip);
121 __uint64_t __ctx(rdp);
122 __uint32_t __ctx(mxcsr);
123 __uint32_t __ctx(mxcr_mask);
124 struct _libc_fpxreg _st[8];
125 struct _libc_xmmreg _xmm[16];
126 __uint32_t __glibc_reserved1[24];
127};
128
129/* Structure to describe FPU registers. */
130typedef struct _libc_fpstate *fpregset_t;
131
132/* Context to describe whole processor state. */
133typedef struct
134 {
135 gregset_t __ctx(gregs);
136 /* Note that fpregs is a pointer. */
137 fpregset_t __ctx(fpregs);
138 __extension__ unsigned long long __reserved1 [8];
139} mcontext_t;
140
141/* Userlevel context. */
142typedef struct ucontext_t
143 {
144 unsigned long int __ctx(uc_flags);
145 struct ucontext_t *uc_link;
146 stack_t uc_stack;
147 mcontext_t uc_mcontext;
148 sigset_t uc_sigmask;
149 struct _libc_fpstate __fpregs_mem;
150 __extension__ unsigned long long int __ssp[4];
151 } ucontext_t;
152
153#else /* !__x86_64__ */
154
155/* Type for general register. */
156typedef int greg_t;
157
158/* Number of general registers. */
159#define __NGREG 19
160#ifdef __USE_MISC
161# define NGREG __NGREG
162#endif
163
164/* Container for all general registers. */
165typedef greg_t gregset_t[__NGREG];
166
167#ifdef __USE_GNU
168/* Number of each register is the `gregset_t' array. */
169enum
170{
171 REG_GS = 0,
172# define REG_GS REG_GS
173 REG_FS,
174# define REG_FS REG_FS
175 REG_ES,
176# define REG_ES REG_ES
177 REG_DS,
178# define REG_DS REG_DS
179 REG_EDI,
180# define REG_EDI REG_EDI
181 REG_ESI,
182# define REG_ESI REG_ESI
183 REG_EBP,
184# define REG_EBP REG_EBP
185 REG_ESP,
186# define REG_ESP REG_ESP
187 REG_EBX,
188# define REG_EBX REG_EBX
189 REG_EDX,
190# define REG_EDX REG_EDX
191 REG_ECX,
192# define REG_ECX REG_ECX
193 REG_EAX,
194# define REG_EAX REG_EAX
195 REG_TRAPNO,
196# define REG_TRAPNO REG_TRAPNO
197 REG_ERR,
198# define REG_ERR REG_ERR
199 REG_EIP,
200# define REG_EIP REG_EIP
201 REG_CS,
202# define REG_CS REG_CS
203 REG_EFL,
204# define REG_EFL REG_EFL
205 REG_UESP,
206# define REG_UESP REG_UESP
207 REG_SS
208# define REG_SS REG_SS
209};
210#endif
211
212/* Definitions taken from the kernel headers. */
213struct _libc_fpreg
214{
215 unsigned short int __ctx(significand)[4];
216 unsigned short int __ctx(exponent);
217};
218
219struct _libc_fpstate
220{
221 unsigned long int __ctx(cw);
222 unsigned long int __ctx(sw);
223 unsigned long int __ctx(tag);
224 unsigned long int __ctx(ipoff);
225 unsigned long int __ctx(cssel);
226 unsigned long int __ctx(dataoff);
227 unsigned long int __ctx(datasel);
228 struct _libc_fpreg _st[8];
229 unsigned long int __ctx(status);
230};
231
232/* Structure to describe FPU registers. */
233typedef struct _libc_fpstate *fpregset_t;
234
235/* Context to describe whole processor state. */
236typedef struct
237 {
238 gregset_t __ctx(gregs);
239 /* Due to Linux's history we have to use a pointer here. The SysV/i386
240 ABI requires a struct with the values. */
241 fpregset_t __ctx(fpregs);
242 unsigned long int __ctx(oldmask);
243 unsigned long int __ctx(cr2);
244 } mcontext_t;
245
246/* Userlevel context. */
247typedef struct ucontext_t
248 {
249 unsigned long int __ctx(uc_flags);
250 struct ucontext_t *uc_link;
251 stack_t uc_stack;
252 mcontext_t uc_mcontext;
253 sigset_t uc_sigmask;
254 struct _libc_fpstate __fpregs_mem;
255 unsigned long int __ssp[4];
256 } ucontext_t;
257
258#endif /* !__x86_64__ */
259
260#undef __ctx
261
262#endif /* sys/ucontext.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/sys/user.h deleted-180
......@@ -1,180 +0,0 @@
1/* Copyright (C) 2001-2025 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_USER_H
19#define _SYS_USER_H 1
20
21/* The whole purpose of this file is for GDB and GDB only. Don't read
22 too much into it. Don't use it for anything other than GDB unless
23 you know what you are doing. */
24
25#ifdef __x86_64__
26
27struct user_fpregs_struct
28{
29 unsigned short int cwd;
30 unsigned short int swd;
31 unsigned short int ftw;
32 unsigned short int fop;
33 __extension__ unsigned long long int rip;
34 __extension__ unsigned long long int rdp;
35 unsigned int mxcsr;
36 unsigned int mxcr_mask;
37 unsigned int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
38 unsigned int xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */
39 unsigned int padding[24];
40};
41
42struct user_regs_struct
43{
44 __extension__ unsigned long long int r15;
45 __extension__ unsigned long long int r14;
46 __extension__ unsigned long long int r13;
47 __extension__ unsigned long long int r12;
48 __extension__ unsigned long long int rbp;
49 __extension__ unsigned long long int rbx;
50 __extension__ unsigned long long int r11;
51 __extension__ unsigned long long int r10;
52 __extension__ unsigned long long int r9;
53 __extension__ unsigned long long int r8;
54 __extension__ unsigned long long int rax;
55 __extension__ unsigned long long int rcx;
56 __extension__ unsigned long long int rdx;
57 __extension__ unsigned long long int rsi;
58 __extension__ unsigned long long int rdi;
59 __extension__ unsigned long long int orig_rax;
60 __extension__ unsigned long long int rip;
61 __extension__ unsigned long long int cs;
62 __extension__ unsigned long long int eflags;
63 __extension__ unsigned long long int rsp;
64 __extension__ unsigned long long int ss;
65 __extension__ unsigned long long int fs_base;
66 __extension__ unsigned long long int gs_base;
67 __extension__ unsigned long long int ds;
68 __extension__ unsigned long long int es;
69 __extension__ unsigned long long int fs;
70 __extension__ unsigned long long int gs;
71};
72
73struct user
74{
75 struct user_regs_struct regs;
76 int u_fpvalid;
77 struct user_fpregs_struct i387;
78 __extension__ unsigned long long int u_tsize;
79 __extension__ unsigned long long int u_dsize;
80 __extension__ unsigned long long int u_ssize;
81 __extension__ unsigned long long int start_code;
82 __extension__ unsigned long long int start_stack;
83 __extension__ long long int signal;
84 int reserved;
85 __extension__ union
86 {
87 struct user_regs_struct* u_ar0;
88 __extension__ unsigned long long int __u_ar0_word;
89 };
90 __extension__ union
91 {
92 struct user_fpregs_struct* u_fpstate;
93 __extension__ unsigned long long int __u_fpstate_word;
94 };
95 __extension__ unsigned long long int magic;
96 char u_comm [32];
97 __extension__ unsigned long long int u_debugreg [8];
98};
99
100#else
101/* These are the 32-bit x86 structures. */
102struct user_fpregs_struct
103{
104 long int cwd;
105 long int swd;
106 long int twd;
107 long int fip;
108 long int fcs;
109 long int foo;
110 long int fos;
111 long int st_space [20];
112};
113
114struct user_fpxregs_struct
115{
116 unsigned short int cwd;
117 unsigned short int swd;
118 unsigned short int twd;
119 unsigned short int fop;
120 long int fip;
121 long int fcs;
122 long int foo;
123 long int fos;
124 long int mxcsr;
125 long int reserved;
126 long int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
127 long int xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */
128 long int padding[56];
129};
130
131struct user_regs_struct
132{
133 long int ebx;
134 long int ecx;
135 long int edx;
136 long int esi;
137 long int edi;
138 long int ebp;
139 long int eax;
140 long int xds;
141 long int xes;
142 long int xfs;
143 long int xgs;
144 long int orig_eax;
145 long int eip;
146 long int xcs;
147 long int eflags;
148 long int esp;
149 long int xss;
150};
151
152struct user
153{
154 struct user_regs_struct regs;
155 int u_fpvalid;
156 struct user_fpregs_struct i387;
157 unsigned long int u_tsize;
158 unsigned long int u_dsize;
159 unsigned long int u_ssize;
160 unsigned long int start_code;
161 unsigned long int start_stack;
162 long int signal;
163 int reserved;
164 struct user_regs_struct* u_ar0;
165 struct user_fpregs_struct* u_fpstate;
166 unsigned long int magic;
167 char u_comm [32];
168 int u_debugreg [8];
169};
170#endif /* __x86_64__ */
171
172#define PAGE_SHIFT 12
173#define PAGE_SIZE (1UL << PAGE_SHIFT)
174#define PAGE_MASK (~(PAGE_SIZE-1))
175#define NBPG PAGE_SIZE
176#define UPAGES 1
177#define HOST_TEXT_START_ADDR (u.start_code)
178#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
179
180#endif /* _SYS_USER_H */
\ No newline at end of file