authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-12-15 18:59:59-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-12-15 19:09:50-07:00
log5b6d26e97bb97d79782f3c77b02a997e361a1497
tree5f969f672bcdd9c1a10b62fa5428401184587484
parente977455f7c5693369d547c4d9b2e0b902f578d65

glibc: fix inconsistency of mips ABI mapping

Before this commit, glibc headers did the following mapping: * (zig) mipsel-linux-gnu => (glibc) mipsel-linux-gnu * (zig) mipsel-linux-gnu-soft => (glibc) (none) * (zig) mips-linux-gnu => (glibc) mips-linux-gnu * (zig) mips-linux-gnu-soft => (glibc) (none) While the glibc ABI stubs used the (zig) gnueabi and gnueabihf ABIs, and the stage2 available_libcs array listed: * (zig) mipsel-linux-gnu * (zig) mips-linux-gnu The problem is the mismatch between the ABI component of the headers and the stubs. This commit makes the following clarifications: * (zig) mips-linux-gnueabi means soft-float * (zig) mipsel-linux-gnueabi means soft-float * (zig) mips-linux-gnueabihf means hard-float * (zig) mipsel-linux-gnueabihf means hard-float Consequently, the glibc headers now do this mapping: * (zig) mips-linux-gnueabihf => (glibc) mips-linux-gnu * (zig) mipsel-linux-gnueabihf => (glibc) mipsel-linux-gnu * (zig) mips-linux-gnueabi => (glibc) mips-linux-gnu-soft * (zig) mipsel-linux-gnueabi => (glibc) mipsel-linux-gnu-soft The glibc ABI stubs are unchanged, and the stage2 available_libcs array's 2 entries are modified and it gains 2 more: * (zig) mipsel-linux-gnueabi * (zig) mipsel-linux-gnueabihf * (zig) mips-linux-gnueabi * (zig) mips-linux-gnueabihf Now everything is consistent. Zig no longer recognizes a `mips-linux-gnu` triple; one must use `mips-linux-gnueabi` (soft float) or `mips-linux-gnueabihf` (hard float).

239 files changed, 8954 insertions(+), 5153 deletions(-)

lib/libc/include/arm-linux-gnueabi/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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/struct_rwlock.h created+61
......@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2021 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 0
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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/struct_rwlock.h created+61
......@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2021 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 0
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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/struct_rwlock.h created+61
......@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2021 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 0
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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/struct_rwlock.h created+61
......@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2021 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 0
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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/struct_rwlock.h created+61
......@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/csky-linux-gnueabi/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2021 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 0
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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/struct_rwlock.h created+61
......@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2021 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 0
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/floatn.h+58-13
......@@ -1,4 +1,4 @@
1/* Macros to control TS 18661-3 glibc features.
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
22 Copyright (C) 2017-2021 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
......@@ -16,10 +16,24 @@
1616 License along with the GNU C Library; if not, see
1717 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
1925/* 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
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
2337
2438/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
2539 from the default float, double and long double types in this glibc. */
......@@ -28,25 +42,56 @@
2842/* Defined to 1 if the current compiler invocation provides a
2943 floating-point type with the right format for _Float64x, and this
3044 glibc includes corresponding *f64x interfaces for it. */
31#define __HAVE_FLOAT64X 0
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
3246
3347/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
3448 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
3549 the format of _Float128, which must be different from that of long
3650 double. */
37#define __HAVE_FLOAT64X_LONG_DOUBLE 0
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
3852
3953#ifndef __ASSEMBLER__
4054
4155/* 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
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
4577
46/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
47 E.g.: #define __CFLOAT128 _Complex _Float128. */
48# undef __CFLOAT128
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
4992
5093#endif /* !__ASSEMBLER__. */
5194
52#include <bits/floatn-common.h>
\ No newline at end of file
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/struct_rwlock.h+27-17
......@@ -1,4 +1,4 @@
1/* Default read-write lock implementation struct definitions.
1/* MIPS internal rwlock struct definitions.
22 Copyright (C) 2019-2021 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
......@@ -16,15 +16,8 @@
1616 License along with the GNU C Library; if not, see
1717 <http://www.gnu.org/licenses/>. */
1818
19#ifndef __RWLOCK_INTERNAL_H
20#define __RWLOCK_INTERNAL_H
21
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
19#ifndef _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
2821
2922struct __pthread_rwlock_arch_t
3023{
......@@ -34,28 +27,45 @@ struct __pthread_rwlock_arch_t
3427 unsigned int __writers_futex;
3528 unsigned int __pad3;
3629 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
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
3836 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
4040 unsigned char __pad1;
4141 unsigned char __pad2;
4242 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
4345 unsigned char __flags;
44#else
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
4549 unsigned char __flags;
4650 unsigned char __shared;
4751 unsigned char __pad1;
4852 unsigned char __pad2;
49#endif
53# endif
5054 int __cur_writer;
55#endif
5156};
5257
53#if __BYTE_ORDER == __BIG_ENDIAN
58#if _MIPS_SIM == _ABI64
5459# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
5661#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
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) \
5867 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
5969#endif
6070
6171#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/wordsize.h+15-5
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2021 Free Software Foundation, Inc.
1/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -12,10 +12,20 @@
1212 Lesser General Public License for more details.
1313
1414 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
15 License along with the GNU C Library. If not, see
1616 <https://www.gnu.org/licenses/>. */
1717
18#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 0
18#include <sgidefs.h>
19
20#define __WORDSIZE _MIPS_SZPTR
21
22#if _MIPS_SIM == _ABI64
23# define __WORDSIZE_TIME64_COMPAT32 1
24#else
25# define __WORDSIZE_TIME64_COMPAT32 0
26#endif
27
28#if __WORDSIZE == 32
2029#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
30#define __WORDSIZE32_PTRDIFF_LONG 0
31#endif
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h created+29
......@@ -0,0 +1,29 @@
1/* This file is automatically generated. */
2#ifndef __GNU_LIB_NAMES_H
3# error "Never use <gnu/lib-names-o32_soft.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 LIBCRYPT_SO "libcrypt.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 LIBNSS_TEST1_SO "libnss_test1.so.2"
24#define LIBNSS_TEST2_SO "libnss_test2.so.2"
25#define LIBPTHREAD_SO "libpthread.so.0"
26#define LIBRESOLV_SO "libresolv.so.2"
27#define LIBRT_SO "librt.so.1"
28#define LIBTHREAD_DB_SO "libthread_db.so.1"
29#define LIBUTIL_SO "libutil.so.1"
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-o32_soft.h created+33
......@@ -0,0 +1,33 @@
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_feclearexcept
13#define __stub_fedisableexcept
14#define __stub_feenableexcept
15#define __stub_fegetenv
16#define __stub_fegetexcept
17#define __stub_fegetexceptflag
18#define __stub_fegetmode
19#define __stub_fegetround
20#define __stub_feholdexcept
21#define __stub_feraiseexcept
22#define __stub_fesetenv
23#define __stub_fesetexcept
24#define __stub_fesetexceptflag
25#define __stub_fesetmode
26#define __stub_fesetround
27#define __stub_fetestexcept
28#define __stub_feupdateenv
29#define __stub_gtty
30#define __stub_revoke
31#define __stub_setlogin
32#define __stub_sigreturn
33#define __stub_stty
\ No newline at end of file
lib/libc/include/m68k-linux-gnu/bits/floatn.h created+52
......@@ -0,0 +1,52 @@
1/* Macros to control TS 18661-3 glibc features.
2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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/m68k-linux-gnu/bits/struct_rwlock.h created+61
......@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/m68k-linux-gnu/bits/wordsize.h created+21
......@@ -0,0 +1,21 @@
1/* Copyright (C) 1999-2021 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 0
20#define __WORDSIZE32_SIZE_ULONG 0
21#define __WORDSIZE32_PTRDIFF_LONG 0
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2021 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 deleted-97
......@@ -1,97 +0,0 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2021 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 deleted-75
......@@ -1,75 +0,0 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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 deleted-48
......@@ -1,48 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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#ifdef __USE_MISC
28# define MAP_NORESERVE 0x0400 /* don't check for reservations */
29# define MAP_GROWSDOWN 0x1000 /* stack-like segment */
30# define MAP_DENYWRITE 0x2000 /* ETXTBSY */
31# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
32# define MAP_LOCKED 0x8000 /* pages are locked */
33# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
34# define MAP_NONBLOCK 0x20000 /* do not block on IO */
35# define MAP_STACK 0x40000 /* Allocation is for a stack. */
36# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
37# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
38 underlying mapping. */
39#endif
40
41#define __MAP_ANONYMOUS 0x0800
42
43/* Include generic Linux declarations. */
44#include <bits/mman-linux.h>
45
46#ifdef __USE_MISC
47# define MAP_RENAME MAP_ANONYMOUS
48#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2021 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 deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The 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 deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2021 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 deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2021 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 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-gnu/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2021 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 deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2021 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 deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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 deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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 deleted-43
......@@ -1,43 +0,0 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2021 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 deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 deleted-62
......@@ -1,62 +0,0 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 deleted-36
......@@ -1,36 +0,0 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 deleted-53
......@@ -1,53 +0,0 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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/wordsize.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2002-2021 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#include <sgidefs.h>
19
20#define __WORDSIZE _MIPS_SZPTR
21
22#if _MIPS_SIM == _ABI64
23# define __WORDSIZE_TIME64_COMPAT32 1
24#else
25# define __WORDSIZE_TIME64_COMPAT32 0
26#endif
27
28#if __WORDSIZE == 32
29#define __WORDSIZE32_SIZE_ULONG 0
30#define __WORDSIZE32_PTRDIFF_LONG 0
31#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2021 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 created+64
......@@ -0,0 +1,64 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+52
......@@ -0,0 +1,52 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+31
......@@ -0,0 +1,31 @@
1/* Copyright (C) 2007-2021 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/inotify.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2005-2021 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 created+75
......@@ -0,0 +1,75 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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 created+48
......@@ -0,0 +1,48 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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#ifdef __USE_MISC
28# define MAP_NORESERVE 0x0400 /* don't check for reservations */
29# define MAP_GROWSDOWN 0x1000 /* stack-like segment */
30# define MAP_DENYWRITE 0x2000 /* ETXTBSY */
31# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
32# define MAP_LOCKED 0x8000 /* pages are locked */
33# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
34# define MAP_NONBLOCK 0x20000 /* do not block on IO */
35# define MAP_STACK 0x40000 /* Allocation is for a stack. */
36# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
37# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
38 underlying mapping. */
39#endif
40
41#define __MAP_ANONYMOUS 0x0800
42
43/* Include generic Linux declarations. */
44#include <bits/mman-linux.h>
45
46#ifdef __USE_MISC
47# define MAP_RENAME MAP_ANONYMOUS
48#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabi/bits/poll.h created+49
......@@ -0,0 +1,49 @@
1/* Copyright (C) 1997-2021 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 created+20
......@@ -0,0 +1,20 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The 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 created+44
......@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+231
......@@ -0,0 +1,231 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+36
......@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2021 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 created+24
......@@ -0,0 +1,24 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+94
......@@ -0,0 +1,94 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+82
......@@ -0,0 +1,82 @@
1/* Copyright (C) 1996-2021 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 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-gnueabi/bits/signalfd.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2007-2021 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 created+65
......@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+70
......@@ -0,0 +1,70 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+55
......@@ -0,0 +1,55 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+73
......@@ -0,0 +1,73 @@
1/* Copyright (C) 1997-2021 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 created+56
......@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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/termios-c_cc.h created+43
......@@ -0,0 +1,43 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+46
......@@ -0,0 +1,46 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+34
......@@ -0,0 +1,34 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+26
......@@ -0,0 +1,26 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2008-2021 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 created+33
......@@ -0,0 +1,33 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+62
......@@ -0,0 +1,62 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+36
......@@ -0,0 +1,36 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+53
......@@ -0,0 +1,53 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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/ieee754.h created+326
......@@ -0,0 +1,326 @@
1/* Copyright (C) 1992-2021 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 created+64
......@@ -0,0 +1,64 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+52
......@@ -0,0 +1,52 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+31
......@@ -0,0 +1,31 @@
1/* Copyright (C) 2007-2021 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/inotify.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2005-2021 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 created+75
......@@ -0,0 +1,75 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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 created+48
......@@ -0,0 +1,48 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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#ifdef __USE_MISC
28# define MAP_NORESERVE 0x0400 /* don't check for reservations */
29# define MAP_GROWSDOWN 0x1000 /* stack-like segment */
30# define MAP_DENYWRITE 0x2000 /* ETXTBSY */
31# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
32# define MAP_LOCKED 0x8000 /* pages are locked */
33# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
34# define MAP_NONBLOCK 0x20000 /* do not block on IO */
35# define MAP_STACK 0x40000 /* Allocation is for a stack. */
36# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
37# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
38 underlying mapping. */
39#endif
40
41#define __MAP_ANONYMOUS 0x0800
42
43/* Include generic Linux declarations. */
44#include <bits/mman-linux.h>
45
46#ifdef __USE_MISC
47# define MAP_RENAME MAP_ANONYMOUS
48#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnueabihf/bits/poll.h created+49
......@@ -0,0 +1,49 @@
1/* Copyright (C) 1997-2021 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 created+20
......@@ -0,0 +1,20 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The 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 created+44
......@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+231
......@@ -0,0 +1,231 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+36
......@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2021 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 created+24
......@@ -0,0 +1,24 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+94
......@@ -0,0 +1,94 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+82
......@@ -0,0 +1,82 @@
1/* Copyright (C) 1996-2021 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 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-gnueabihf/bits/signalfd.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2007-2021 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 created+65
......@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+70
......@@ -0,0 +1,70 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+55
......@@ -0,0 +1,55 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+73
......@@ -0,0 +1,73 @@
1/* Copyright (C) 1997-2021 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 created+56
......@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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/termios-c_cc.h created+43
......@@ -0,0 +1,43 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+46
......@@ -0,0 +1,46 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+34
......@@ -0,0 +1,34 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+26
......@@ -0,0 +1,26 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2008-2021 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 created+33
......@@ -0,0 +1,33 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+62
......@@ -0,0 +1,62 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+36
......@@ -0,0 +1,36 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+53
......@@ -0,0 +1,53 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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/ieee754.h created+326
......@@ -0,0 +1,326 @@
1/* Copyright (C) 1992-2021 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-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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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/wordsize.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2002-2021 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#include <sgidefs.h>
19
20#define __WORDSIZE _MIPS_SZPTR
21
22#if _MIPS_SIM == _ABI64
23# define __WORDSIZE_TIME64_COMPAT32 1
24#else
25# define __WORDSIZE_TIME64_COMPAT32 0
26#endif
27
28#if __WORDSIZE == 32
29#define __WORDSIZE32_SIZE_ULONG 0
30#define __WORDSIZE32_PTRDIFF_LONG 0
31#endif
\ 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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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/wordsize.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2002-2021 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#include <sgidefs.h>
19
20#define __WORDSIZE _MIPS_SZPTR
21
22#if _MIPS_SIM == _ABI64
23# define __WORDSIZE_TIME64_COMPAT32 1
24#else
25# define __WORDSIZE_TIME64_COMPAT32 0
26#endif
27
28#if __WORDSIZE == 32
29#define __WORDSIZE32_SIZE_ULONG 0
30#define __WORDSIZE32_PTRDIFF_LONG 0
31#endif
\ 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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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/wordsize.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2002-2021 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#include <sgidefs.h>
19
20#define __WORDSIZE _MIPS_SZPTR
21
22#if _MIPS_SIM == _ABI64
23# define __WORDSIZE_TIME64_COMPAT32 1
24#else
25# define __WORDSIZE_TIME64_COMPAT32 0
26#endif
27
28#if __WORDSIZE == 32
29#define __WORDSIZE32_SIZE_ULONG 0
30#define __WORDSIZE32_PTRDIFF_LONG 0
31#endif
\ 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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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/wordsize.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2002-2021 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#include <sgidefs.h>
19
20#define __WORDSIZE _MIPS_SZPTR
21
22#if _MIPS_SIM == _ABI64
23# define __WORDSIZE_TIME64_COMPAT32 1
24#else
25# define __WORDSIZE_TIME64_COMPAT32 0
26#endif
27
28#if __WORDSIZE == 32
29#define __WORDSIZE32_SIZE_ULONG 0
30#define __WORDSIZE32_PTRDIFF_LONG 0
31#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/dlfcn.h deleted-64
......@@ -1,64 +0,0 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/bits/errno.h deleted-52
......@@ -1,52 +0,0 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/bits/eventfd.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2007-2021 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-gnu/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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H
21
22#include <features.h>
23#include <bits/long-double.h>
24
25/* Defined to 1 if the current compiler invocation provides a
26 floating-point type with the IEEE 754 binary128 format, and this
27 glibc includes corresponding *f128 interfaces for it. */
28#ifndef __NO_LONG_DOUBLE_MATH
29# define __HAVE_FLOAT128 1
30#else
31/* glibc does not support _Float128 for platforms where long double is
32 normally binary128 when building with long double as binary64.
33 GCC's default for supported scalar modes does not support it either
34 in that case. */
35# define __HAVE_FLOAT128 0
36#endif
37
38/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
39 from the default float, double and long double types in this glibc. */
40#define __HAVE_DISTINCT_FLOAT128 0
41
42/* Defined to 1 if the current compiler invocation provides a
43 floating-point type with the right format for _Float64x, and this
44 glibc includes corresponding *f64x interfaces for it. */
45#define __HAVE_FLOAT64X __HAVE_FLOAT128
46
47/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
48 of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
49 the format of _Float128, which must be different from that of long
50 double. */
51#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
52
53#ifndef __ASSEMBLER__
54
55/* Defined to concatenate the literal suffix to be used with _Float128
56 types, if __HAVE_FLOAT128 is 1. */
57# if __HAVE_FLOAT128
58# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
59/* The literal suffix f128 exists only since GCC 7.0. */
60# define __f128(x) x##l
61# else
62# define __f128(x) x##f128
63# endif
64# endif
65
66/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
67# if __HAVE_FLOAT128
68# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
69# define __CFLOAT128 _Complex long double
70# else
71# define __CFLOAT128 _Complex _Float128
72# endif
73# endif
74
75/* The remaining of this file provides support for older compilers. */
76# if __HAVE_FLOAT128
77
78/* The type _Float128 exists only since GCC 7.0. */
79# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
80typedef long double _Float128;
81# endif
82
83/* Various built-in functions do not exist before GCC 7.0. */
84# if !__GNUC_PREREQ (7, 0)
85# define __builtin_huge_valf128() (__builtin_huge_vall ())
86# define __builtin_inff128() (__builtin_infl ())
87# define __builtin_nanf128(x) (__builtin_nanl (x))
88# define __builtin_nansf128(x) (__builtin_nansl (x))
89# endif
90
91# endif
92
93#endif /* !__ASSEMBLER__. */
94
95#include <bits/floatn-common.h>
96
97#endif /* _BITS_FLOATN_H */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/inotify.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2005-2021 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-gnu/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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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-gnu/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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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-gnu/bits/mman.h deleted-48
......@@ -1,48 +0,0 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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#ifdef __USE_MISC
28# define MAP_NORESERVE 0x0400 /* don't check for reservations */
29# define MAP_GROWSDOWN 0x1000 /* stack-like segment */
30# define MAP_DENYWRITE 0x2000 /* ETXTBSY */
31# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
32# define MAP_LOCKED 0x8000 /* pages are locked */
33# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
34# define MAP_NONBLOCK 0x20000 /* do not block on IO */
35# define MAP_STACK 0x40000 /* Allocation is for a stack. */
36# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
37# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
38 underlying mapping. */
39#endif
40
41#define __MAP_ANONYMOUS 0x0800
42
43/* Include generic Linux declarations. */
44#include <bits/mman-linux.h>
45
46#ifdef __USE_MISC
47# define MAP_RENAME MAP_ANONYMOUS
48#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/poll.h deleted-49
......@@ -1,49 +0,0 @@
1/* Copyright (C) 1997-2021 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-gnu/bits/pthread_stack_min.h deleted-20
......@@ -1,20 +0,0 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The 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-gnu/bits/pthreadtypes-arch.h deleted-44
......@@ -1,44 +0,0 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/bits/resource.h deleted-231
......@@ -1,231 +0,0 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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-gnu/bits/semaphore.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
20#endif
21
22#if _MIPS_SIM == _ABI64
23# define __SIZEOF_SEM_T 32
24#else
25# define __SIZEOF_SEM_T 16
26#endif
27
28/* Value returned if `sem_open' failed. */
29#define SEM_FAILED ((sem_t *) 0)
30
31
32typedef union
33{
34 char __size[__SIZEOF_SEM_T];
35 long int __align;
36} sem_t;
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/shmlba.h deleted-24
......@@ -1,24 +0,0 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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-gnu/bits/sigaction.h deleted-94
......@@ -1,94 +0,0 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/bits/sigcontext.h deleted-82
......@@ -1,82 +0,0 @@
1/* Copyright (C) 1996-2021 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-gnu/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-gnu/bits/signalfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2007-2021 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-gnu/bits/signum-arch.h deleted-65
......@@ -1,65 +0,0 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 1
21
22#ifndef _SIGNAL_H
23#error "Never include <bits/signum.h> directly; use <signal.h> instead."
24#endif
25
26/* Adjustments and additions to the signal number constants for
27 Linux/MIPS. */
28
29#define SIGEMT 7 /* Emulator trap. */
30#define SIGPWR 19 /* Power failure imminent. */
31
32/* Historical signals specified by POSIX. */
33#define SIGBUS 10 /* Bus error. */
34#define SIGSYS 12 /* Bad system call. */
35
36/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
37#define SIGURG 21 /* Urgent data is available at a socket. */
38#define SIGSTOP 23 /* Stop, unblockable. */
39#define SIGTSTP 24 /* Keyboard stop. */
40#define SIGCONT 25 /* Continue. */
41#define SIGCHLD 18 /* Child terminated or stopped. */
42#define SIGTTIN 26 /* Background read from control terminal. */
43#define SIGTTOU 27 /* Background write to control terminal. */
44#define SIGPOLL 22 /* Pollable event occurred (System V). */
45#define SIGXCPU 30 /* CPU time limit exceeded. */
46#define SIGVTALRM 28 /* Virtual timer expired. */
47#define SIGPROF 29 /* Profiling timer expired. */
48#define SIGXFSZ 31 /* File size limit exceeded. */
49#define SIGUSR1 16 /* User-defined signal 1. */
50#define SIGUSR2 17 /* User-defined signal 2. */
51
52/* Nonstandard signals found in all modern POSIX systems
53 (including both BSD and Linux). */
54#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
55
56/* Archaic names for compatibility. */
57#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
58#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
59#define SIGCLD SIGCHLD /* Old System V name */
60
61/* By default no real-time signals are supported. */
62#define __SIGRTMIN 32
63#define __SIGRTMAX 127
64
65#endif /* <signal.h> included. */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/socket-constants.h deleted-70
......@@ -1,70 +0,0 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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-gnu/bits/socket_type.h deleted-55
......@@ -1,55 +0,0 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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-gnu/bits/statfs.h deleted-73
......@@ -1,73 +0,0 @@
1/* Copyright (C) 1997-2021 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-gnu/bits/struct_mutex.h deleted-56
......@@ -1,56 +0,0 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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-gnu/bits/struct_rwlock.h deleted-71
......@@ -1,71 +0,0 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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-gnu/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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/bits/termios-c_lflag.h deleted-46
......@@ -1,46 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/bits/termios-struct.h deleted-34
......@@ -1,34 +0,0 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/bits/termios-tcflow.h deleted-26
......@@ -1,26 +0,0 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/bits/timerfd.h deleted-29
......@@ -1,29 +0,0 @@
1/* Copyright (C) 2008-2021 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-gnu/bits/types/stack_t.h deleted-33
......@@ -1,33 +0,0 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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-gnu/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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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-gnu/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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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-gnu/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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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-gnu/bits/wordsize.h deleted-31
......@@ -1,31 +0,0 @@
1/* Copyright (C) 2002-2021 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#include <sgidefs.h>
19
20#define __WORDSIZE _MIPS_SZPTR
21
22#if _MIPS_SIM == _ABI64
23# define __WORDSIZE_TIME64_COMPAT32 1
24#else
25# define __WORDSIZE_TIME64_COMPAT32 0
26#endif
27
28#if __WORDSIZE == 32
29#define __WORDSIZE32_SIZE_ULONG 0
30#define __WORDSIZE32_PTRDIFF_LONG 0
31#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/ieee754.h deleted-326
......@@ -1,326 +0,0 @@
1/* Copyright (C) 1992-2021 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 created+64
......@@ -0,0 +1,64 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+52
......@@ -0,0 +1,52 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+31
......@@ -0,0 +1,31 @@
1/* Copyright (C) 2007-2021 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/inotify.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2005-2021 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 created+75
......@@ -0,0 +1,75 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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 created+48
......@@ -0,0 +1,48 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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#ifdef __USE_MISC
28# define MAP_NORESERVE 0x0400 /* don't check for reservations */
29# define MAP_GROWSDOWN 0x1000 /* stack-like segment */
30# define MAP_DENYWRITE 0x2000 /* ETXTBSY */
31# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
32# define MAP_LOCKED 0x8000 /* pages are locked */
33# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
34# define MAP_NONBLOCK 0x20000 /* do not block on IO */
35# define MAP_STACK 0x40000 /* Allocation is for a stack. */
36# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
37# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
38 underlying mapping. */
39#endif
40
41#define __MAP_ANONYMOUS 0x0800
42
43/* Include generic Linux declarations. */
44#include <bits/mman-linux.h>
45
46#ifdef __USE_MISC
47# define MAP_RENAME MAP_ANONYMOUS
48#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabi/bits/poll.h created+49
......@@ -0,0 +1,49 @@
1/* Copyright (C) 1997-2021 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 created+20
......@@ -0,0 +1,20 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The 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 created+44
......@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+231
......@@ -0,0 +1,231 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+36
......@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2021 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 created+24
......@@ -0,0 +1,24 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+94
......@@ -0,0 +1,94 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+82
......@@ -0,0 +1,82 @@
1/* Copyright (C) 1996-2021 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 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/mipsel-linux-gnueabi/bits/signalfd.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2007-2021 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 created+65
......@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+70
......@@ -0,0 +1,70 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+55
......@@ -0,0 +1,55 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+73
......@@ -0,0 +1,73 @@
1/* Copyright (C) 1997-2021 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 created+56
......@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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/termios-c_cc.h created+43
......@@ -0,0 +1,43 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+46
......@@ -0,0 +1,46 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+34
......@@ -0,0 +1,34 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+26
......@@ -0,0 +1,26 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2008-2021 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 created+33
......@@ -0,0 +1,33 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+62
......@@ -0,0 +1,62 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+36
......@@ -0,0 +1,36 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+53
......@@ -0,0 +1,53 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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/ieee754.h created+326
......@@ -0,0 +1,326 @@
1/* Copyright (C) 1992-2021 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 created+64
......@@ -0,0 +1,64 @@
1/* System dependent definitions for run-time dynamic loading.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+52
......@@ -0,0 +1,52 @@
1/* Error constants. MIPS/Linux specific version.
2 Copyright (C) 1996-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+31
......@@ -0,0 +1,31 @@
1/* Copyright (C) 2007-2021 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/inotify.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2005-2021 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 created+75
......@@ -0,0 +1,75 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 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-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of 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 created+48
......@@ -0,0 +1,48 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.
2 Copyright (C) 1997-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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#ifdef __USE_MISC
28# define MAP_NORESERVE 0x0400 /* don't check for reservations */
29# define MAP_GROWSDOWN 0x1000 /* stack-like segment */
30# define MAP_DENYWRITE 0x2000 /* ETXTBSY */
31# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
32# define MAP_LOCKED 0x8000 /* pages are locked */
33# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
34# define MAP_NONBLOCK 0x20000 /* do not block on IO */
35# define MAP_STACK 0x40000 /* Allocation is for a stack. */
36# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */
37# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
38 underlying mapping. */
39#endif
40
41#define __MAP_ANONYMOUS 0x0800
42
43/* Include generic Linux declarations. */
44#include <bits/mman-linux.h>
45
46#ifdef __USE_MISC
47# define MAP_RENAME MAP_ANONYMOUS
48#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h created+49
......@@ -0,0 +1,49 @@
1/* Copyright (C) 1997-2021 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 created+20
......@@ -0,0 +1,20 @@
1/* Definition of PTHREAD_STACK_MIN. MIPS Linux version.
2 Copyright (C) 2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The 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 created+44
......@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+231
......@@ -0,0 +1,231 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+36
......@@ -0,0 +1,36 @@
1/* Copyright (C) 2002-2021 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 created+24
......@@ -0,0 +1,24 @@
1/* Define SHMLBA. MIPS version.
2 Copyright (C) 2018-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+94
......@@ -0,0 +1,94 @@
1/* The proper definitions for Linux/MIPS's sigaction.
2 Copyright (C) 1993-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+82
......@@ -0,0 +1,82 @@
1/* Copyright (C) 1996-2021 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 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/mipsel-linux-gnueabihf/bits/signalfd.h created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2007-2021 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 created+65
......@@ -0,0 +1,65 @@
1/* Signal number definitions. Linux/MIPS version.
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+70
......@@ -0,0 +1,70 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+55
......@@ -0,0 +1,55 @@
1/* Define enum __socket_type for Linux/MIPS.
2 Copyright (C) 1991-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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 created+73
......@@ -0,0 +1,73 @@
1/* Copyright (C) 1997-2021 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 created+56
......@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 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/termios-c_cc.h created+43
......@@ -0,0 +1,43 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+46
......@@ -0,0 +1,46 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+34
......@@ -0,0 +1,34 @@
1/* struct termios definition. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+26
......@@ -0,0 +1,26 @@
1/* termios local mode definitions. Linux/mips version.
2 Copyright (C) 2019-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+29
......@@ -0,0 +1,29 @@
1/* Copyright (C) 2008-2021 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 created+33
......@@ -0,0 +1,33 @@
1/* Define stack_t. MIPS Linux version.
2 Copyright (C) 1998-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the 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 created+62
......@@ -0,0 +1,62 @@
1/* Linux/MIPS implementation of the SysV message struct msqid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+36
......@@ -0,0 +1,36 @@
1/* MIPS implementation of the semaphore struct semid_ds
2 Copyright (C) 1995-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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 created+53
......@@ -0,0 +1,53 @@
1/* Linux/MIPS implementation of the shared memory struct shmid_ds.
2 Copyright (C) 2020-2021 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU 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_TIME_BITS64
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/ieee754.h created+326
......@@ -0,0 +1,326 @@
1/* Copyright (C) 1992-2021 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
src/target.zig+4-2
......@@ -44,9 +44,11 @@ pub const available_libcs = [_]ArchOsAbi{
4444 .{ .arch = .mips64, .os = .linux, .abi = .gnuabi64 },
4545 .{ .arch = .mips64, .os = .linux, .abi = .gnuabin32 },
4646 .{ .arch = .mips64, .os = .linux, .abi = .musl },
47 .{ .arch = .mipsel, .os = .linux, .abi = .gnu },
47 .{ .arch = .mipsel, .os = .linux, .abi = .gnueabi },
48 .{ .arch = .mipsel, .os = .linux, .abi = .gnueabihf },
4849 .{ .arch = .mipsel, .os = .linux, .abi = .musl },
49 .{ .arch = .mips, .os = .linux, .abi = .gnu },
50 .{ .arch = .mips, .os = .linux, .abi = .gnueabi },
51 .{ .arch = .mips, .os = .linux, .abi = .gnueabihf },
5052 .{ .arch = .mips, .os = .linux, .abi = .musl },
5153 .{ .arch = .powerpc64le, .os = .linux, .abi = .gnu },
5254 .{ .arch = .powerpc64le, .os = .linux, .abi = .musl },
test/tests.zig+2-2
......@@ -189,7 +189,7 @@ const test_targets = blk: {
189189 // .target = .{
190190 // .cpu_arch = .mips,
191191 // .os_tag = .linux,
192 // .abi = .gnu,
192 // .abi = .gnueabihf,
193193 // },
194194 // .link_libc = true,
195195 //},
......@@ -216,7 +216,7 @@ const test_targets = blk: {
216216 // .target = .{
217217 // .cpu_arch = .mipsel,
218218 // .os_tag = .linux,
219 // .abi = .gnu,
219 // .abi = .gnueabihf,
220220 // },
221221 // .link_libc = true,
222222 //},
tools/process_headers.zig+12-2
......@@ -122,12 +122,22 @@ const glibc_targets = [_]LibCTarget{
122122 LibCTarget{
123123 .name = "mipsel-linux-gnu",
124124 .arch = MultiArch{ .specific = Arch.mipsel },
125 .abi = MultiAbi{ .specific = Abi.gnu },
125 .abi = MultiAbi{ .specific = Abi.gnueabihf },
126 },
127 LibCTarget{
128 .name = "mipsel-linux-gnu-soft",
129 .arch = MultiArch{ .specific = Arch.mipsel },
130 .abi = MultiAbi{ .specific = Abi.gnueabi },
126131 },
127132 LibCTarget{
128133 .name = "mips-linux-gnu",
129134 .arch = MultiArch{ .specific = Arch.mips },
130 .abi = MultiAbi{ .specific = Abi.gnu },
135 .abi = MultiAbi{ .specific = Abi.gnueabihf },
136 },
137 LibCTarget{
138 .name = "mips-linux-gnu-soft",
139 .arch = MultiArch{ .specific = Arch.mips },
140 .abi = MultiAbi{ .specific = Abi.gnueabi },
131141 },
132142 LibCTarget{
133143 .name = "powerpc64le-linux-gnu",