diff --git a/lib/libc/include/aarch64-linux-gnu/bits/fcntl.h b/lib/libc/include/aarch64-linux-gnu/bits/fcntl.h index 796d505b4758b840154b9c24584cfa0d54059e54..7ecd1ae21e04d7599385f21cdb796ca145e6a7db 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for the AArch64 Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/fenv.h b/lib/libc/include/aarch64-linux-gnu/bits/fenv.h index 9483c26b546b076fdc041b3eaa357696555d956c..274c745ef715e60eb59721a122af34858a6de30f 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/fenv.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/floatn.h b/lib/libc/include/aarch64-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/floatn.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h b/lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h index da438c6d3fe051600a7fcad2d0fbbe5363260fb3..d529dc4491c672bda9b00cf51c911a13a07a1f36 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. AArch64 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/hwcap.h b/lib/libc/include/aarch64-linux-gnu/bits/hwcap.h index 75458671261694a05f186bc8930274a1f12488d3..9052ca7c891942a19ed81cb57042d837d7ce3077 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. AArch64 Linux version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -73,4 +73,28 @@ #define HWCAP2_DGH (1 << 15) #define HWCAP2_RNG (1 << 16) #define HWCAP2_BTI (1 << 17) -#define HWCAP2_MTE (1 << 18) \ No newline at end of file +#define HWCAP2_MTE (1 << 18) +#define HWCAP2_ECV (1 << 19) +#define HWCAP2_AFP (1 << 20) +#define HWCAP2_RPRES (1 << 21) +#define HWCAP2_MTE3 (1 << 22) +#define HWCAP2_SME (1 << 23) +#define HWCAP2_SME_I16I64 (1 << 24) +#define HWCAP2_SME_F64F64 (1 << 25) +#define HWCAP2_SME_I8I32 (1 << 26) +#define HWCAP2_SME_F16F32 (1 << 27) +#define HWCAP2_SME_B16F32 (1 << 28) +#define HWCAP2_SME_F32F32 (1 << 29) +#define HWCAP2_SME_FA64 (1 << 30) +#define HWCAP2_WFXT (1UL << 31) +#define HWCAP2_EBF16 (1UL << 32) +#define HWCAP2_SVE_EBF16 (1UL << 33) +#define HWCAP2_CSSC (1UL << 34) +#define HWCAP2_RPRFM (1UL << 35) +#define HWCAP2_SVE2P1 (1UL << 36) +#define HWCAP2_SME2 (1UL << 37) +#define HWCAP2_SME2P1 (1UL << 38) +#define HWCAP2_SME_I16I32 (1UL << 39) +#define HWCAP2_SME_BI32I32 (1UL << 40) +#define HWCAP2_SME_B16B16 (1UL << 41) +#define HWCAP2_SME_F16F16 (1UL << 42) \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-gnu/bits/link.h b/lib/libc/include/aarch64-linux-gnu/bits/link.h index 2fb29eb0b7280f87c40a2e6346796ce9447ff04b..d1756817b1397f1eb484def0bb32b1af068b0e5c 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/link.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -20,23 +20,31 @@ # error "Never include directly; use instead." #endif +typedef union +{ + float s; + double d; + long double q; +} La_aarch64_vector; + /* Registers for entry into PLT on AArch64. */ typedef struct La_aarch64_regs { - uint64_t lr_xreg[8]; - uint64_t lr_dreg[8]; - uint64_t lr_sp; - uint64_t lr_lr; + uint64_t lr_xreg[9]; + La_aarch64_vector lr_vreg[8]; + uint64_t lr_sp; + uint64_t lr_lr; + void *lr_vpcs; } La_aarch64_regs; /* Return values for calls from PLT on AArch64. */ typedef struct La_aarch64_retval { - /* Up to two integer registers can be used for a return value. */ - uint64_t lrv_xreg[2]; - /* Up to four D registers can be used for a return value. */ - uint64_t lrv_dreg[4]; - + /* Up to eight integer registers can be used for a return value. */ + uint64_t lrv_xreg[8]; + /* Up to eight V registers can be used for a return value. */ + La_aarch64_vector lrv_vreg[8]; + void *lrv_vpcs; } La_aarch64_retval; __BEGIN_DECLS diff --git a/lib/libc/include/aarch64-linux-gnu/bits/long-double.h b/lib/libc/include/aarch64-linux-gnu/bits/long-double.h index ec1a0674e8d5af68ad6f681616631c595c735d9b..3455ce235633dd59dd9457498ecc984996c92817 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/long-double.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-128 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/math-vector.h b/lib/libc/include/aarch64-linux-gnu/bits/math-vector.h new file mode 100644 index 0000000000000000000000000000000000000000..dad8614d9933e476a5b579c9e4ad269ffb722c8a --- /dev/null +++ b/lib/libc/include/aarch64-linux-gnu/bits/math-vector.h @@ -0,0 +1,78 @@ +/* Platform-specific SIMD declarations of math functions. + + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never include directly;\ + include instead." +#endif + +/* Get default empty definitions for simd declarations. */ +#include + +#if __GNUC_PREREQ(9, 0) +# define __ADVSIMD_VEC_MATH_SUPPORTED +typedef __Float32x4_t __f32x4_t; +typedef __Float64x2_t __f64x2_t; +#elif __glibc_clang_prereq(8, 0) +# define __ADVSIMD_VEC_MATH_SUPPORTED +typedef __attribute__ ((__neon_vector_type__ (4))) float __f32x4_t; +typedef __attribute__ ((__neon_vector_type__ (2))) double __f64x2_t; +#endif + +#if __GNUC_PREREQ(10, 0) || __glibc_clang_prereq(11, 0) +# define __SVE_VEC_MATH_SUPPORTED +typedef __SVFloat32_t __sv_f32_t; +typedef __SVFloat64_t __sv_f64_t; +typedef __SVBool_t __sv_bool_t; +#endif + +/* If vector types and vector PCS are unsupported in the working + compiler, no choice but to omit vector math declarations. */ + +#ifdef __ADVSIMD_VEC_MATH_SUPPORTED + +# define __vpcs __attribute__ ((__aarch64_vector_pcs__)) + +__vpcs __f32x4_t _ZGVnN4v_cosf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_expf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t); + +__vpcs __f64x2_t _ZGVnN2v_cos (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_exp (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t); + +# undef __ADVSIMD_VEC_MATH_SUPPORTED +#endif /* __ADVSIMD_VEC_MATH_SUPPORTED */ + +#ifdef __SVE_VEC_MATH_SUPPORTED + +__sv_f32_t _ZGVsMxv_cosf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_expf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t); + +__sv_f64_t _ZGVsMxv_cos (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_exp (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t); + +# undef __SVE_VEC_MATH_SUPPORTED +#endif /* __SVE_VEC_MATH_SUPPORTED */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-gnu/bits/mman.h b/lib/libc/include/aarch64-linux-gnu/bits/mman.h index 4cd40a67d386f2dde2c587993917f4e8f0c344e9..f13cce5b39aeed54721a6d73f39cf9fb7bcdd2a5 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/mman.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/AArch64 version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/procfs.h b/lib/libc/include/aarch64-linux-gnu/bits/procfs.h index a9bfca08c3a8f38ab737d4e5738089075acaf5c1..4cd1d53eff32d6c2400d60e8ed88348a3eb517b2 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/procfs.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. AArch64 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/aarch64-linux-gnu/bits/pthread_stack_min.h index b08307db0a1e41cbe1efcd46430add052c01a99c..8d736f1ec855502ca34995122206c8e40facb149 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/aarch64 version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h index d246576aee7b0a1e24b125bc82c9974038632ee8..6a079f281738e72348197c0e4f676f364e462dfa 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/rseq.h b/lib/libc/include/aarch64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..551df98467b37aef777080cdedab9ac566093d27 --- /dev/null +++ b/lib/libc/include/aarch64-linux-gnu/bits/rseq.h @@ -0,0 +1,43 @@ +/* Restartable Sequences Linux aarch64 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + aarch64 -mbig-endian generates mixed endianness code vs data: + little-endian code and big-endian data. Ensure the RSEQ_SIG signature + matches code endianness. */ + +#define RSEQ_SIG_CODE 0xd428bc00 /* BRK #0x45E0. */ + +#ifdef __AARCH64EB__ +# define RSEQ_SIG_DATA 0x00bc28d4 /* BRK #0x45E0. */ +#else +# define RSEQ_SIG_DATA RSEQ_SIG_CODE +#endif + +#define RSEQ_SIG RSEQ_SIG_DATA \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-gnu/bits/semaphore.h b/lib/libc/include/aarch64-linux-gnu/bits/semaphore.h index f229b05d951d224ad57ce7ee1fe1a2bde3762faa..7f8a2b05b829979c3d415693ad9cc8f6fc411956 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/semaphore.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/setjmp.h b/lib/libc/include/aarch64-linux-gnu/bits/setjmp.h index eceaa97a4f689d5cbb4bae38668e5b5f9bdc8cd4..08c614da6b00b300d716f4eab0933da1f02e315d 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/sigstack.h b/lib/libc/include/aarch64-linux-gnu/bits/sigstack.h index 0cb5583fdecc94f38dc51c4285f780b19b8455e0..b5215f5efdef64c404d3865c164a9dffe1e0503e 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 2015-2021 Free Software Foundation, Inc. + Copyright (C) 2015-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h index e89dc26963e2e8cc0585caa3da265eab366a8e15..fc284c669844dba2172b867510db7d35c1654bd6 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* AArch64 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h b/lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..54192765a29f969c6369e634d37c75223fffab5c 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/timesize.h b/lib/libc/include/aarch64-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..00217b042a806ffc2a36bac0bdedad21ee196301 --- /dev/null +++ b/lib/libc/include/aarch64-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-gnu/bits/typesizes.h b/lib/libc/include/aarch64-linux-gnu/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/aarch64-linux-gnu/bits/wordsize.h b/lib/libc/include/aarch64-linux-gnu/bits/wordsize.h index 6b9114f8ab763a83d9d691e311d6d284bda5e5ee..3d4ed3d0a7e774ef15c49369164c3ca3890edb56 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/wordsize.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/wordsize.h @@ -1,6 +1,6 @@ /* Determine the wordsize from the preprocessor defines. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/fpu_control.h b/lib/libc/include/aarch64-linux-gnu/fpu_control.h index db73fa0b1d20ac9bac207eb3ea7fa6c103ac63e1..46ef2a97803e072c4c10f281fbb0ea8f3218d626 100644 --- a/lib/libc/include/aarch64-linux-gnu/fpu_control.h +++ b/lib/libc/include/aarch64-linux-gnu/fpu_control.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -46,7 +46,7 @@ contents. These two masks indicate which bits in each of FPCR and FPSR should not be changed. */ -#define _FPU_RESERVED 0xfe0fe0ff +#define _FPU_RESERVED 0xfe0fe0f8 #define _FPU_FPSR_RESERVED 0x0fffffe0 #define _FPU_DEFAULT 0x00000000 diff --git a/lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h b/lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h index f156f318c95775e0e5387751ed25c16c91f6edb6..70b282afde5493162dbf55326f80dc77a64f81e1 100644 --- a/lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h +++ b/lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/aarch64-linux-gnu/ieee754.h b/lib/libc/include/aarch64-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/aarch64-linux-gnu/ieee754.h +++ b/lib/libc/include/aarch64-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/sys/elf.h b/lib/libc/include/aarch64-linux-gnu/sys/elf.h index 9aa4973466d43f5c2ee4a2feb65b592ab97e7738..4314e16baa48931cd25453942acb5fab6b5a52f5 100644 --- a/lib/libc/include/aarch64-linux-gnu/sys/elf.h +++ b/lib/libc/include/aarch64-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/sys/ptrace.h b/lib/libc/include/aarch64-linux-gnu/sys/ptrace.h index a3c6247f682a48e1b981f5a537cfa56a0b1a02f3..4f37d75d6d1a3ceef01e17f54c486bea69646dc6 100644 --- a/lib/libc/include/aarch64-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/aarch64-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/AArch64 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -58,6 +58,7 @@ __BEGIN_DECLS #undef PTRACE_SECCOMP_GET_FILTER #undef PTRACE_SECCOMP_GET_METADATA #undef PTRACE_GET_SYSCALL_INFO +#undef PTRACE_GET_RSEQ_CONFIGURATION /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request @@ -190,8 +191,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/aarch64-linux-gnu/sys/ucontext.h b/lib/libc/include/aarch64-linux-gnu/sys/ucontext.h index 7e3b484f96b5fd7fcec587cc8bf872d1bb246205..2c4417ba0c8af460937955baac03d2bf90d8e294 100644 --- a/lib/libc/include/aarch64-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/aarch64-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/sys/user.h b/lib/libc/include/aarch64-linux-gnu/sys/user.h index 3379256a9c81334167c26cf8ec4e3f3733372a57..2c4719e398b8cf9644a06b717ab4d20ebd44cf8d 100644 --- a/lib/libc/include/aarch64-linux-gnu/sys/user.h +++ b/lib/libc/include/aarch64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2021 Free Software Foundation, Inc. +/* Copyright (C) 2009-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h b/lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h index 796d505b4758b840154b9c24584cfa0d54059e54..7ecd1ae21e04d7599385f21cdb796ca145e6a7db 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for the AArch64 Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h b/lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h index 9483c26b546b076fdc041b3eaa357696555d956c..274c745ef715e60eb59721a122af34858a6de30f 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h b/lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h b/lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h index da438c6d3fe051600a7fcad2d0fbbe5363260fb3..d529dc4491c672bda9b00cf51c911a13a07a1f36 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. AArch64 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h b/lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h index 75458671261694a05f186bc8930274a1f12488d3..9052ca7c891942a19ed81cb57042d837d7ce3077 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. AArch64 Linux version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -73,4 +73,28 @@ #define HWCAP2_DGH (1 << 15) #define HWCAP2_RNG (1 << 16) #define HWCAP2_BTI (1 << 17) -#define HWCAP2_MTE (1 << 18) \ No newline at end of file +#define HWCAP2_MTE (1 << 18) +#define HWCAP2_ECV (1 << 19) +#define HWCAP2_AFP (1 << 20) +#define HWCAP2_RPRES (1 << 21) +#define HWCAP2_MTE3 (1 << 22) +#define HWCAP2_SME (1 << 23) +#define HWCAP2_SME_I16I64 (1 << 24) +#define HWCAP2_SME_F64F64 (1 << 25) +#define HWCAP2_SME_I8I32 (1 << 26) +#define HWCAP2_SME_F16F32 (1 << 27) +#define HWCAP2_SME_B16F32 (1 << 28) +#define HWCAP2_SME_F32F32 (1 << 29) +#define HWCAP2_SME_FA64 (1 << 30) +#define HWCAP2_WFXT (1UL << 31) +#define HWCAP2_EBF16 (1UL << 32) +#define HWCAP2_SVE_EBF16 (1UL << 33) +#define HWCAP2_CSSC (1UL << 34) +#define HWCAP2_RPRFM (1UL << 35) +#define HWCAP2_SVE2P1 (1UL << 36) +#define HWCAP2_SME2 (1UL << 37) +#define HWCAP2_SME2P1 (1UL << 38) +#define HWCAP2_SME_I16I32 (1UL << 39) +#define HWCAP2_SME_BI32I32 (1UL << 40) +#define HWCAP2_SME_B16B16 (1UL << 41) +#define HWCAP2_SME_F16F16 (1UL << 42) \ No newline at end of file diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/link.h b/lib/libc/include/aarch64_be-linux-gnu/bits/link.h index 2fb29eb0b7280f87c40a2e6346796ce9447ff04b..d1756817b1397f1eb484def0bb32b1af068b0e5c 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/link.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -20,23 +20,31 @@ # error "Never include directly; use instead." #endif +typedef union +{ + float s; + double d; + long double q; +} La_aarch64_vector; + /* Registers for entry into PLT on AArch64. */ typedef struct La_aarch64_regs { - uint64_t lr_xreg[8]; - uint64_t lr_dreg[8]; - uint64_t lr_sp; - uint64_t lr_lr; + uint64_t lr_xreg[9]; + La_aarch64_vector lr_vreg[8]; + uint64_t lr_sp; + uint64_t lr_lr; + void *lr_vpcs; } La_aarch64_regs; /* Return values for calls from PLT on AArch64. */ typedef struct La_aarch64_retval { - /* Up to two integer registers can be used for a return value. */ - uint64_t lrv_xreg[2]; - /* Up to four D registers can be used for a return value. */ - uint64_t lrv_dreg[4]; - + /* Up to eight integer registers can be used for a return value. */ + uint64_t lrv_xreg[8]; + /* Up to eight V registers can be used for a return value. */ + La_aarch64_vector lrv_vreg[8]; + void *lrv_vpcs; } La_aarch64_retval; __BEGIN_DECLS diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h b/lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h index ec1a0674e8d5af68ad6f681616631c595c735d9b..3455ce235633dd59dd9457498ecc984996c92817 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-128 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h b/lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h new file mode 100644 index 0000000000000000000000000000000000000000..dad8614d9933e476a5b579c9e4ad269ffb722c8a --- /dev/null +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h @@ -0,0 +1,78 @@ +/* Platform-specific SIMD declarations of math functions. + + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never include directly;\ + include instead." +#endif + +/* Get default empty definitions for simd declarations. */ +#include + +#if __GNUC_PREREQ(9, 0) +# define __ADVSIMD_VEC_MATH_SUPPORTED +typedef __Float32x4_t __f32x4_t; +typedef __Float64x2_t __f64x2_t; +#elif __glibc_clang_prereq(8, 0) +# define __ADVSIMD_VEC_MATH_SUPPORTED +typedef __attribute__ ((__neon_vector_type__ (4))) float __f32x4_t; +typedef __attribute__ ((__neon_vector_type__ (2))) double __f64x2_t; +#endif + +#if __GNUC_PREREQ(10, 0) || __glibc_clang_prereq(11, 0) +# define __SVE_VEC_MATH_SUPPORTED +typedef __SVFloat32_t __sv_f32_t; +typedef __SVFloat64_t __sv_f64_t; +typedef __SVBool_t __sv_bool_t; +#endif + +/* If vector types and vector PCS are unsupported in the working + compiler, no choice but to omit vector math declarations. */ + +#ifdef __ADVSIMD_VEC_MATH_SUPPORTED + +# define __vpcs __attribute__ ((__aarch64_vector_pcs__)) + +__vpcs __f32x4_t _ZGVnN4v_cosf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_expf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t); + +__vpcs __f64x2_t _ZGVnN2v_cos (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_exp (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t); + +# undef __ADVSIMD_VEC_MATH_SUPPORTED +#endif /* __ADVSIMD_VEC_MATH_SUPPORTED */ + +#ifdef __SVE_VEC_MATH_SUPPORTED + +__sv_f32_t _ZGVsMxv_cosf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_expf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t); + +__sv_f64_t _ZGVsMxv_cos (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_exp (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t); + +# undef __SVE_VEC_MATH_SUPPORTED +#endif /* __SVE_VEC_MATH_SUPPORTED */ \ No newline at end of file diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/mman.h b/lib/libc/include/aarch64_be-linux-gnu/bits/mman.h index 4cd40a67d386f2dde2c587993917f4e8f0c344e9..f13cce5b39aeed54721a6d73f39cf9fb7bcdd2a5 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/mman.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/AArch64 version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h b/lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h index a9bfca08c3a8f38ab737d4e5738089075acaf5c1..4cd1d53eff32d6c2400d60e8ed88348a3eb517b2 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. AArch64 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h index b08307db0a1e41cbe1efcd46430add052c01a99c..8d736f1ec855502ca34995122206c8e40facb149 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/aarch64 version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h index d246576aee7b0a1e24b125bc82c9974038632ee8..6a079f281738e72348197c0e4f676f364e462dfa 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h b/lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..551df98467b37aef777080cdedab9ac566093d27 --- /dev/null +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h @@ -0,0 +1,43 @@ +/* Restartable Sequences Linux aarch64 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + aarch64 -mbig-endian generates mixed endianness code vs data: + little-endian code and big-endian data. Ensure the RSEQ_SIG signature + matches code endianness. */ + +#define RSEQ_SIG_CODE 0xd428bc00 /* BRK #0x45E0. */ + +#ifdef __AARCH64EB__ +# define RSEQ_SIG_DATA 0x00bc28d4 /* BRK #0x45E0. */ +#else +# define RSEQ_SIG_DATA RSEQ_SIG_CODE +#endif + +#define RSEQ_SIG RSEQ_SIG_DATA \ No newline at end of file diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h b/lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h index f229b05d951d224ad57ce7ee1fe1a2bde3762faa..7f8a2b05b829979c3d415693ad9cc8f6fc411956 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h b/lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h index eceaa97a4f689d5cbb4bae38668e5b5f9bdc8cd4..08c614da6b00b300d716f4eab0933da1f02e315d 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h b/lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h index 0cb5583fdecc94f38dc51c4285f780b19b8455e0..b5215f5efdef64c404d3865c164a9dffe1e0503e 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 2015-2021 Free Software Foundation, Inc. + Copyright (C) 2015-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h index e89dc26963e2e8cc0585caa3da265eab366a8e15..fc284c669844dba2172b867510db7d35c1654bd6 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* AArch64 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h b/lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..54192765a29f969c6369e634d37c75223fffab5c 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h b/lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..00217b042a806ffc2a36bac0bdedad21ee196301 --- /dev/null +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h b/lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h b/lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h index 6b9114f8ab763a83d9d691e311d6d284bda5e5ee..3d4ed3d0a7e774ef15c49369164c3ca3890edb56 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h @@ -1,6 +1,6 @@ /* Determine the wordsize from the preprocessor defines. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/fpu_control.h b/lib/libc/include/aarch64_be-linux-gnu/fpu_control.h index db73fa0b1d20ac9bac207eb3ea7fa6c103ac63e1..46ef2a97803e072c4c10f281fbb0ea8f3218d626 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/fpu_control.h +++ b/lib/libc/include/aarch64_be-linux-gnu/fpu_control.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -46,7 +46,7 @@ contents. These two masks indicate which bits in each of FPCR and FPSR should not be changed. */ -#define _FPU_RESERVED 0xfe0fe0ff +#define _FPU_RESERVED 0xfe0fe0f8 #define _FPU_FPSR_RESERVED 0x0fffffe0 #define _FPU_DEFAULT 0x00000000 diff --git a/lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h b/lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h index 7c11af71ef0d00e56be0115962f5b648a57d6332..5c315425ebc6e9950427db8eb91549a8ec3fde83 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h +++ b/lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/aarch64_be-linux-gnu/ieee754.h b/lib/libc/include/aarch64_be-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/ieee754.h +++ b/lib/libc/include/aarch64_be-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/sys/elf.h b/lib/libc/include/aarch64_be-linux-gnu/sys/elf.h index 9aa4973466d43f5c2ee4a2feb65b592ab97e7738..4314e16baa48931cd25453942acb5fab6b5a52f5 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/sys/elf.h +++ b/lib/libc/include/aarch64_be-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h b/lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h index a3c6247f682a48e1b981f5a537cfa56a0b1a02f3..4f37d75d6d1a3ceef01e17f54c486bea69646dc6 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/AArch64 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -58,6 +58,7 @@ __BEGIN_DECLS #undef PTRACE_SECCOMP_GET_FILTER #undef PTRACE_SECCOMP_GET_METADATA #undef PTRACE_GET_SYSCALL_INFO +#undef PTRACE_GET_RSEQ_CONFIGURATION /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request @@ -190,8 +191,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h b/lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h index 7e3b484f96b5fd7fcec587cc8bf872d1bb246205..2c4417ba0c8af460937955baac03d2bf90d8e294 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/sys/user.h b/lib/libc/include/aarch64_be-linux-gnu/sys/user.h index 3379256a9c81334167c26cf8ec4e3f3733372a57..2c4719e398b8cf9644a06b717ab4d20ebd44cf8d 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/sys/user.h +++ b/lib/libc/include/aarch64_be-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2021 Free Software Foundation, Inc. +/* Copyright (C) 2009-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h b/lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..f51873c4c1fe6a1baf9b4b0cb2006c6e63bb1a40 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h b/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h index 29e75898be7397d63bbb77036183bac7c32350c6..0a015fd1374c5af78c8946db63615cdbd9186d83 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/fenv.h b/lib/libc/include/arm-linux-gnueabi/bits/fenv.h index 30c3cfdd47ce51c9233b66c3313ad2599c3d14ba..cb312c03b7edb5c6b3383c17abd04b294ef5be9e 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/fenv.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/floatn.h b/lib/libc/include/arm-linux-gnueabi/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/floatn.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h b/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h index 944e1ab5e2a292565e03511ffa14beb5257fc301..16f1f8fb5f5778dbde804c352da57c643670f0a6 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. ARM Linux version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,4 +42,10 @@ #define HWCAP_ARM_IDIVT 262144 #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 -#define HWCAP_ARM_EVTSTRM 2097152 \ No newline at end of file +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/link.h b/lib/libc/include/arm-linux-gnueabi/bits/link.h index 2daf7c37cd426c40c3d2838ceb6c00a418151e31..e0f874e338f84341fa5a3678771a4d3530d7e309 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/link.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/long-double.h b/lib/libc/include/arm-linux-gnueabi/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/long-double.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h b/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h index 680018e8f92eb337a84359871c24968421c8198e..d2086a253d5a99b02d0086b4d7fdad6f20454418 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/arm-linux-gnueabi/bits/procfs.h b/lib/libc/include/arm-linux-gnueabi/bits/procfs.h index 378aadb89f78230796a6c48501f017cd5178e988..db604232b3a971458fe6da2c17506a6a30c1b9ba 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/procfs.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. Arm version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/rseq.h b/lib/libc/include/arm-linux-gnueabi/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..d0f633e9850f5f81778f21f5cb06515bbac8c679 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabi/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h b/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h index ad79830ae56b202fd2d7ba1595da961064bebc7c..ad0046a3ff967d399869414d80be592791943626 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h b/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h index cfd529afe27099040e71d4be71571d325c3188bd..639c09abad43d4226a8031a220889a48304ee9f5 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. ARM version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h b/lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h b/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h index 202df2c998b8e7a46076f1d46287c45ed832a235..f7dd2c807e7fadd1dad47b36cd6b0ab964733185 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/timesize.h b/lib/libc/include/arm-linux-gnueabi/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..10207daaec90137a3c411bb44a11ee8de3d91136 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h b/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..9b70904d069f1d866fe769bca0da3a46fb73befa --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h b/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/fpu_control.h b/lib/libc/include/arm-linux-gnueabi/fpu_control.h index 496937215b29d5711e15a20bc509fb3811e524ff..a92cb867531fcd858645f438cd513978025ae4de 100644 --- a/lib/libc/include/arm-linux-gnueabi/fpu_control.h +++ b/lib/libc/include/arm-linux-gnueabi/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. ARM VFP version. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h b/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h index 178de8b3c7d2c28fad66d13caec6638df8a05ffb..4345f4ce8a03cd06f116d7cfbdc5d53aa974dc4a 100644 --- a/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h +++ b/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/ARM version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h b/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h index 48bcd9f6fc9a7c99921ae8f12eff7ff6438b7c91..dda4d8820e908df4a07db220d48405ba17b1799e 100644 --- a/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h +++ b/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/sys/user.h b/lib/libc/include/arm-linux-gnueabi/sys/user.h index 89a14c7b4808ee3f7fad99a42fd1da9c925a9136..0935e60335dd56e541de15ef3f9f66328a3f9c87 100644 --- a/lib/libc/include/arm-linux-gnueabi/sys/user.h +++ b/lib/libc/include/arm-linux-gnueabi/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h b/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..f51873c4c1fe6a1baf9b4b0cb2006c6e63bb1a40 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h b/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h index 29e75898be7397d63bbb77036183bac7c32350c6..0a015fd1374c5af78c8946db63615cdbd9186d83 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h b/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h index 30c3cfdd47ce51c9233b66c3313ad2599c3d14ba..cb312c03b7edb5c6b3383c17abd04b294ef5be9e 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h b/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h b/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h index 944e1ab5e2a292565e03511ffa14beb5257fc301..16f1f8fb5f5778dbde804c352da57c643670f0a6 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. ARM Linux version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,4 +42,10 @@ #define HWCAP_ARM_IDIVT 262144 #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 -#define HWCAP_ARM_EVTSTRM 2097152 \ No newline at end of file +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/link.h b/lib/libc/include/arm-linux-gnueabihf/bits/link.h index 2daf7c37cd426c40c3d2838ceb6c00a418151e31..e0f874e338f84341fa5a3678771a4d3530d7e309 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/link.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h b/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h b/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h index 680018e8f92eb337a84359871c24968421c8198e..d2086a253d5a99b02d0086b4d7fdad6f20454418 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h b/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h index 378aadb89f78230796a6c48501f017cd5178e988..db604232b3a971458fe6da2c17506a6a30c1b9ba 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. Arm version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h b/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..d0f633e9850f5f81778f21f5cb06515bbac8c679 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h b/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h index ad79830ae56b202fd2d7ba1595da961064bebc7c..ad0046a3ff967d399869414d80be592791943626 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h index cfd529afe27099040e71d4be71571d325c3188bd..639c09abad43d4226a8031a220889a48304ee9f5 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. ARM version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h b/lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h b/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h index 202df2c998b8e7a46076f1d46287c45ed832a235..f7dd2c807e7fadd1dad47b36cd6b0ab964733185 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h b/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..10207daaec90137a3c411bb44a11ee8de3d91136 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h b/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..9b70904d069f1d866fe769bca0da3a46fb73befa --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h b/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/fpu_control.h b/lib/libc/include/arm-linux-gnueabihf/fpu_control.h index 496937215b29d5711e15a20bc509fb3811e524ff..a92cb867531fcd858645f438cd513978025ae4de 100644 --- a/lib/libc/include/arm-linux-gnueabihf/fpu_control.h +++ b/lib/libc/include/arm-linux-gnueabihf/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. ARM VFP version. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h b/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h index 178de8b3c7d2c28fad66d13caec6638df8a05ffb..4345f4ce8a03cd06f116d7cfbdc5d53aa974dc4a 100644 --- a/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h +++ b/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/ARM version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h b/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h index 48bcd9f6fc9a7c99921ae8f12eff7ff6438b7c91..dda4d8820e908df4a07db220d48405ba17b1799e 100644 --- a/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h +++ b/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/sys/user.h b/lib/libc/include/arm-linux-gnueabihf/sys/user.h index 89a14c7b4808ee3f7fad99a42fd1da9c925a9136..0935e60335dd56e541de15ef3f9f66328a3f9c87 100644 --- a/lib/libc/include/arm-linux-gnueabihf/sys/user.h +++ b/lib/libc/include/arm-linux-gnueabihf/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h b/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..f51873c4c1fe6a1baf9b4b0cb2006c6e63bb1a40 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h b/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h index 29e75898be7397d63bbb77036183bac7c32350c6..0a015fd1374c5af78c8946db63615cdbd9186d83 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h b/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h index 30c3cfdd47ce51c9233b66c3313ad2599c3d14ba..cb312c03b7edb5c6b3383c17abd04b294ef5be9e 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h b/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h b/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h index 944e1ab5e2a292565e03511ffa14beb5257fc301..16f1f8fb5f5778dbde804c352da57c643670f0a6 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. ARM Linux version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,4 +42,10 @@ #define HWCAP_ARM_IDIVT 262144 #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 -#define HWCAP_ARM_EVTSTRM 2097152 \ No newline at end of file +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/link.h b/lib/libc/include/armeb-linux-gnueabi/bits/link.h index 2daf7c37cd426c40c3d2838ceb6c00a418151e31..e0f874e338f84341fa5a3678771a4d3530d7e309 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/link.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h b/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h b/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h index 680018e8f92eb337a84359871c24968421c8198e..d2086a253d5a99b02d0086b4d7fdad6f20454418 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h b/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h index 378aadb89f78230796a6c48501f017cd5178e988..db604232b3a971458fe6da2c17506a6a30c1b9ba 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. Arm version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h b/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..d0f633e9850f5f81778f21f5cb06515bbac8c679 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h b/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h index ad79830ae56b202fd2d7ba1595da961064bebc7c..ad0046a3ff967d399869414d80be592791943626 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h b/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h index cfd529afe27099040e71d4be71571d325c3188bd..639c09abad43d4226a8031a220889a48304ee9f5 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. ARM version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h b/lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h b/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h index 202df2c998b8e7a46076f1d46287c45ed832a235..f7dd2c807e7fadd1dad47b36cd6b0ab964733185 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h b/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..10207daaec90137a3c411bb44a11ee8de3d91136 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h b/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..9b70904d069f1d866fe769bca0da3a46fb73befa --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h b/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/fpu_control.h b/lib/libc/include/armeb-linux-gnueabi/fpu_control.h index 496937215b29d5711e15a20bc509fb3811e524ff..a92cb867531fcd858645f438cd513978025ae4de 100644 --- a/lib/libc/include/armeb-linux-gnueabi/fpu_control.h +++ b/lib/libc/include/armeb-linux-gnueabi/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. ARM VFP version. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h b/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h index 178de8b3c7d2c28fad66d13caec6638df8a05ffb..4345f4ce8a03cd06f116d7cfbdc5d53aa974dc4a 100644 --- a/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h +++ b/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/ARM version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h b/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h index 48bcd9f6fc9a7c99921ae8f12eff7ff6438b7c91..dda4d8820e908df4a07db220d48405ba17b1799e 100644 --- a/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h +++ b/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/sys/user.h b/lib/libc/include/armeb-linux-gnueabi/sys/user.h index 89a14c7b4808ee3f7fad99a42fd1da9c925a9136..0935e60335dd56e541de15ef3f9f66328a3f9c87 100644 --- a/lib/libc/include/armeb-linux-gnueabi/sys/user.h +++ b/lib/libc/include/armeb-linux-gnueabi/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h b/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..f51873c4c1fe6a1baf9b4b0cb2006c6e63bb1a40 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h b/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h index 29e75898be7397d63bbb77036183bac7c32350c6..0a015fd1374c5af78c8946db63615cdbd9186d83 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h b/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h index 30c3cfdd47ce51c9233b66c3313ad2599c3d14ba..cb312c03b7edb5c6b3383c17abd04b294ef5be9e 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h b/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h b/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h index 944e1ab5e2a292565e03511ffa14beb5257fc301..16f1f8fb5f5778dbde804c352da57c643670f0a6 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. ARM Linux version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,4 +42,10 @@ #define HWCAP_ARM_IDIVT 262144 #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 -#define HWCAP_ARM_EVTSTRM 2097152 \ No newline at end of file +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/link.h b/lib/libc/include/armeb-linux-gnueabihf/bits/link.h index 2daf7c37cd426c40c3d2838ceb6c00a418151e31..e0f874e338f84341fa5a3678771a4d3530d7e309 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/link.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h b/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h b/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h index 680018e8f92eb337a84359871c24968421c8198e..d2086a253d5a99b02d0086b4d7fdad6f20454418 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h b/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h index 378aadb89f78230796a6c48501f017cd5178e988..db604232b3a971458fe6da2c17506a6a30c1b9ba 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. Arm version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h b/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..d0f633e9850f5f81778f21f5cb06515bbac8c679 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h b/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h index ad79830ae56b202fd2d7ba1595da961064bebc7c..ad0046a3ff967d399869414d80be592791943626 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h index cfd529afe27099040e71d4be71571d325c3188bd..639c09abad43d4226a8031a220889a48304ee9f5 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. ARM version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h b/lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h b/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h index 202df2c998b8e7a46076f1d46287c45ed832a235..f7dd2c807e7fadd1dad47b36cd6b0ab964733185 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h b/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..10207daaec90137a3c411bb44a11ee8de3d91136 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h b/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..9b70904d069f1d866fe769bca0da3a46fb73befa --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h b/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h b/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h index 496937215b29d5711e15a20bc509fb3811e524ff..a92cb867531fcd858645f438cd513978025ae4de 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h +++ b/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. ARM VFP version. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h b/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h index 178de8b3c7d2c28fad66d13caec6638df8a05ffb..4345f4ce8a03cd06f116d7cfbdc5d53aa974dc4a 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h +++ b/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/ARM version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h b/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h index 48bcd9f6fc9a7c99921ae8f12eff7ff6438b7c91..dda4d8820e908df4a07db220d48405ba17b1799e 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h +++ b/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/sys/user.h b/lib/libc/include/armeb-linux-gnueabihf/sys/user.h index 89a14c7b4808ee3f7fad99a42fd1da9c925a9136..0935e60335dd56e541de15ef3f9f66328a3f9c87 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/sys/user.h +++ b/lib/libc/include/armeb-linux-gnueabihf/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h b/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h index 8241dc7482bebd308cae2e3a1c2188259cefbe96..fe46d428e692fa3884345d7e148d3dbafab74dfe 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h @@ -1,7 +1,6 @@ /* O_*, F_*, FD_* bit values for the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/csky-linux-gnueabi/bits/fenv.h b/lib/libc/include/csky-linux-gnueabi/bits/fenv.h index f544eb6f8ff7d1d8073ff4e9af30d8ef7c382a5c..a4fbccbf57464ca7d6367684fe0df44dcd141cb9 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/fenv.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/fenv.h @@ -1,5 +1,5 @@ /* Floating point environment. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/floatn.h b/lib/libc/include/csky-linux-gnueabi/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/floatn.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/link.h b/lib/libc/include/csky-linux-gnueabi/bits/link.h index df280b4c816cc0e524b21e4099cf048c55481239..4f4c3707ccafd50dbe89dabcb2116cb460fce240 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/link.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/long-double.h b/lib/libc/include/csky-linux-gnueabi/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/long-double.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/procfs.h b/lib/libc/include/csky-linux-gnueabi/bits/procfs.h index e2da19ccf7b7371fd8d48d7b6b5926249c815f68..a126329ca21e039c6913cc598719c0501130843c 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/procfs.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/rseq.h b/lib/libc/include/csky-linux-gnueabi/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/csky-linux-gnueabi/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h b/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h index c0b6623ddcdd0a30a6f54c64b0e7b10a84f76755..e6f7d1230b12f687d13ba7dff586b5accfe93982 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h b/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h index 15e78caf7161e8a9b9cc69f32e68c378fedd2552..9aba3108939c38db0b2ba18c3a6388d1464165a0 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/statfs.h b/lib/libc/include/csky-linux-gnueabi/bits/statfs.h index 60421fc7fb620e65d40098821ccde163df3b063d..90a612c57a22714ffd816ca01712a80aadf043a3 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/statfs.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. +/* Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h b/lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h b/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..910bd8fc12ef73ebffd6066de1b8e74126865bbd 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/csky version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,9 @@ struct stat { +#ifdef __USE_TIME_BITS64 +# include +#else __dev_t st_dev; /* Device. */ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ __mode_t st_mode; /* File mode. */ @@ -55,7 +58,7 @@ struct stat __blksize_t st_blksize; /* Optimal block size for I/O. */ int __pad2; __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ -#ifdef __USE_XOPEN2K8 +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -65,18 +68,19 @@ struct stat struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif +# endif int __glibc_reserved[2]; +#endif }; #undef __field64 @@ -84,6 +88,9 @@ struct stat #ifdef __USE_LARGEFILE64 struct stat64 { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; /* Device. */ __ino64_t st_ino; /* File serial number. */ __mode_t st_mode; /* File mode. */ @@ -96,7 +103,7 @@ struct stat64 __blksize_t st_blksize; /* Optimal block size for I/O. */ int __pad2; __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ -#ifdef __USE_XOPEN2K8 +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -106,15 +113,16 @@ struct stat64 struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -#else +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif +# endif int __glibc_reserved[2]; +# endif }; #endif diff --git a/lib/libc/include/csky-linux-gnueabi/bits/timesize.h b/lib/libc/include/csky-linux-gnueabi/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..78484f95870910a7499dd3d04a2ce485ec8a617e --- /dev/null +++ b/lib/libc/include/csky-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/csky. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/csky-linux-gnueabi/bits/typesizes.h b/lib/libc/include/csky-linux-gnueabi/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/typesizes.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h b/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/fpu_control.h b/lib/libc/include/csky-linux-gnueabi/fpu_control.h index e2ff49072375b668f44540c6b645129d3dad81ab..a198a3f9dc81f03dca1d5447e7f79063cadca07f 100644 --- a/lib/libc/include/csky-linux-gnueabi/fpu_control.h +++ b/lib/libc/include/csky-linux-gnueabi/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word bits. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h b/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h index aed5f023bfe074a0cff78ce90d77bda67e737f29..31a8308c70323c86ed9ab28b19f2c1b142bf2f73 100644 --- a/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h +++ b/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h @@ -22,8 +22,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h b/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h index d3a06ce16e0b4b02f149678dcb1274393d14ced5..3b37187b2af7f1db6d752c09511017cf0b8086be 100644 --- a/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h +++ b/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h @@ -1,5 +1,5 @@ /* C-SKY cache flushing interface. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h b/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h index afce26d79689bcbd14ad82c3a3d24f21cdfd905e..ddc502d1914b7f9f358c22daa9dcdda82ebed3ad 100644 --- a/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h +++ b/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h @@ -1,5 +1,5 @@ /* struct ucontext definition, C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/sys/user.h b/lib/libc/include/csky-linux-gnueabi/sys/user.h index c0d07c7883220bc15ff10a59a5a138b343814c05..a03437ad6d70b225773c34c7ecb66c5141e274f4 100644 --- a/lib/libc/include/csky-linux-gnueabi/sys/user.h +++ b/lib/libc/include/csky-linux-gnueabi/sys/user.h @@ -1,6 +1,6 @@ /* This file is not used by C-SKY GDB. ptrace can use pt_regs definition from linux kernel directly. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h b/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h index 8241dc7482bebd308cae2e3a1c2188259cefbe96..fe46d428e692fa3884345d7e148d3dbafab74dfe 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h @@ -1,7 +1,6 @@ /* O_*, F_*, FD_* bit values for the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h b/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h index f544eb6f8ff7d1d8073ff4e9af30d8ef7c382a5c..a4fbccbf57464ca7d6367684fe0df44dcd141cb9 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h @@ -1,5 +1,5 @@ /* Floating point environment. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h b/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/link.h b/lib/libc/include/csky-linux-gnueabihf/bits/link.h index df280b4c816cc0e524b21e4099cf048c55481239..4f4c3707ccafd50dbe89dabcb2116cb460fce240 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/link.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h b/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h b/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h index e2da19ccf7b7371fd8d48d7b6b5926249c815f68..a126329ca21e039c6913cc598719c0501130843c 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h b/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h b/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h index c0b6623ddcdd0a30a6f54c64b0e7b10a84f76755..e6f7d1230b12f687d13ba7dff586b5accfe93982 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h index 15e78caf7161e8a9b9cc69f32e68c378fedd2552..9aba3108939c38db0b2ba18c3a6388d1464165a0 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h b/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h index 60421fc7fb620e65d40098821ccde163df3b063d..90a612c57a22714ffd816ca01712a80aadf043a3 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. +/* Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h b/lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h b/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..910bd8fc12ef73ebffd6066de1b8e74126865bbd 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/csky version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,9 @@ struct stat { +#ifdef __USE_TIME_BITS64 +# include +#else __dev_t st_dev; /* Device. */ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ __mode_t st_mode; /* File mode. */ @@ -55,7 +58,7 @@ struct stat __blksize_t st_blksize; /* Optimal block size for I/O. */ int __pad2; __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ -#ifdef __USE_XOPEN2K8 +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -65,18 +68,19 @@ struct stat struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif +# endif int __glibc_reserved[2]; +#endif }; #undef __field64 @@ -84,6 +88,9 @@ struct stat #ifdef __USE_LARGEFILE64 struct stat64 { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; /* Device. */ __ino64_t st_ino; /* File serial number. */ __mode_t st_mode; /* File mode. */ @@ -96,7 +103,7 @@ struct stat64 __blksize_t st_blksize; /* Optimal block size for I/O. */ int __pad2; __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ -#ifdef __USE_XOPEN2K8 +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -106,15 +113,16 @@ struct stat64 struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -#else +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif +# endif int __glibc_reserved[2]; +# endif }; #endif diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h b/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..78484f95870910a7499dd3d04a2ce485ec8a617e --- /dev/null +++ b/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/csky. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/typesizes.h b/lib/libc/include/csky-linux-gnueabihf/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/typesizes.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h b/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/fpu_control.h b/lib/libc/include/csky-linux-gnueabihf/fpu_control.h index e2ff49072375b668f44540c6b645129d3dad81ab..a198a3f9dc81f03dca1d5447e7f79063cadca07f 100644 --- a/lib/libc/include/csky-linux-gnueabihf/fpu_control.h +++ b/lib/libc/include/csky-linux-gnueabihf/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word bits. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h b/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h index 9fe17746c022042a25540af7618ad5e0754e3d12..8909004c6c3a6f20c7fd9a59a5606f6f7267f548 100644 --- a/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h +++ b/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h @@ -22,8 +22,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h b/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h index d3a06ce16e0b4b02f149678dcb1274393d14ced5..3b37187b2af7f1db6d752c09511017cf0b8086be 100644 --- a/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h +++ b/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h @@ -1,5 +1,5 @@ /* C-SKY cache flushing interface. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h b/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h index afce26d79689bcbd14ad82c3a3d24f21cdfd905e..ddc502d1914b7f9f358c22daa9dcdda82ebed3ad 100644 --- a/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h +++ b/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h @@ -1,5 +1,5 @@ /* struct ucontext definition, C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/sys/user.h b/lib/libc/include/csky-linux-gnueabihf/sys/user.h index c0d07c7883220bc15ff10a59a5a138b343814c05..a03437ad6d70b225773c34c7ecb66c5141e274f4 100644 --- a/lib/libc/include/csky-linux-gnueabihf/sys/user.h +++ b/lib/libc/include/csky-linux-gnueabihf/sys/user.h @@ -1,6 +1,6 @@ /* This file is not used by C-SKY GDB. ptrace can use pt_regs definition from linux kernel directly. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/aio.h b/lib/libc/include/generic-glibc/aio.h index 7a2749584349e22c7131a79f65d400546f6f442b..09f2cd7a6cbd0c0fe296e4bde1385cad9c14b080 100644 --- a/lib/libc/include/generic-glibc/aio.h +++ b/lib/libc/include/generic-glibc/aio.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -168,7 +168,7 @@ extern int aio_suspend (const struct aiocb *const __list[], int __nent, const struct timespec *__restrict __timeout) __nonnull ((1)); -/* Force all operations associated with file desriptor described by +/* Force all operations associated with file descriptor described by `aio_fildes' member of AIOCBP. */ extern int aio_fsync (int __operation, struct aiocb *__aiocbp) __THROW __nonnull ((2)); diff --git a/lib/libc/include/generic-glibc/aliases.h b/lib/libc/include/generic-glibc/aliases.h index 28a60fd59c7e90dedf805c569012c31591c3d6a1..09fcdaee1ad589b29673d40893507027fdbca0b7 100644 --- a/lib/libc/include/generic-glibc/aliases.h +++ b/lib/libc/include/generic-glibc/aliases.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/alloca.h b/lib/libc/include/generic-glibc/alloca.h index 04189d469c57e243b698732370844dc8a8b4d981..c859d0076292dfa53f7842cd0d916a48931d1be9 100644 --- a/lib/libc/include/generic-glibc/alloca.h +++ b/lib/libc/include/generic-glibc/alloca.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/ar.h b/lib/libc/include/generic-glibc/ar.h index 24cd9d81bf1035c60289d7e4a52b4ae43e80439e..41a0bbf62983a93e54a59e4ef2ba0a7df97405fc 100644 --- a/lib/libc/include/generic-glibc/ar.h +++ b/lib/libc/include/generic-glibc/ar.h @@ -1,5 +1,5 @@ /* Header describing `ar' archive file format. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/argp.h b/lib/libc/include/generic-glibc/argp.h index a34f4ef6237aca1b86065e527f3819765a83047f..f6d4b81c71f8afc83f69cfdf4cde2f971dff7628 100644 --- a/lib/libc/include/generic-glibc/argp.h +++ b/lib/libc/include/generic-glibc/argp.h @@ -1,5 +1,5 @@ /* Hierarchical argument parsing, layered over getopt. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/lib/libc/include/generic-glibc/argz.h b/lib/libc/include/generic-glibc/argz.h index 267c9aeb786d18d74bae736ab082c0238525a27e..a11ba74b93d3a5de79fabaa3e35d24d7c74cced6 100644 --- a/lib/libc/include/generic-glibc/argz.h +++ b/lib/libc/include/generic-glibc/argz.h @@ -1,5 +1,5 @@ /* Routines for dealing with '\0' separated arg vectors. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/arpa/inet.h b/lib/libc/include/generic-glibc/arpa/inet.h index 16227d6ce988b6172a8d66712d26ac1181eabfc3..b66521d27fa72f96cf4aaa7e542f0d76cee9f16b 100644 --- a/lib/libc/include/generic-glibc/arpa/inet.h +++ b/lib/libc/include/generic-glibc/arpa/inet.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,7 +78,7 @@ extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __THROW __attribute_deprecated_msg__ ("Use inet_ntop instead"); /* Convert network number for interface type AF in buffer starting at - CP to presentation format. The result will specifiy BITS bits of + CP to presentation format. The result will specify BITS bits of the number. */ extern char *inet_net_ntop (int __af, const void *__cp, int __bits, char *__buf, size_t __len) __THROW; diff --git a/lib/libc/include/generic-glibc/arpa/nameser_compat.h b/lib/libc/include/generic-glibc/arpa/nameser_compat.h index 0c30d4636da58475b7350fcf6225bd149e244020..b18c069db756fcbea3236439dadca45f6e86ed9a 100644 --- a/lib/libc/include/generic-glibc/arpa/nameser_compat.h +++ b/lib/libc/include/generic-glibc/arpa/nameser_compat.h @@ -44,7 +44,7 @@ typedef struct { /* fields in third byte */ unsigned qr: 1; /*%< response flag */ unsigned opcode: 4; /*%< purpose of message */ - unsigned aa: 1; /*%< authoritive answer */ + unsigned aa: 1; /*%< authoritative answer */ unsigned tc: 1; /*%< truncated message */ unsigned rd: 1; /*%< recursion desired */ /* fields in fourth byte */ @@ -58,7 +58,7 @@ typedef struct { /* fields in third byte */ unsigned rd :1; /*%< recursion desired */ unsigned tc :1; /*%< truncated message */ - unsigned aa :1; /*%< authoritive answer */ + unsigned aa :1; /*%< authoritative answer */ unsigned opcode :4; /*%< purpose of message */ unsigned qr :1; /*%< response flag */ /* fields in fourth byte */ diff --git a/lib/libc/include/generic-glibc/assert.h b/lib/libc/include/generic-glibc/assert.h index f7ad8b710efb2be2206e9a6b7740c3d3bab6a5d1..b099485e8ce02e80be18ac65eb111b1e7a24d407 100644 --- a/lib/libc/include/generic-glibc/assert.h +++ b/lib/libc/include/generic-glibc/assert.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -86,10 +86,21 @@ __END_DECLS parentheses around EXPR. Otherwise, those added parentheses would suppress warnings we'd expect to be detected by gcc's -Wparentheses. */ # if defined __cplusplus +# if defined __has_builtin +# if __has_builtin (__builtin_FILE) +# define __ASSERT_FILE __builtin_FILE () +# define __ASSERT_LINE __builtin_LINE () +# endif +# endif +# if !defined __ASSERT_FILE +# define __ASSERT_FILE __FILE__ +# define __ASSERT_LINE __LINE__ +# endif # define assert(expr) \ (static_cast (expr) \ ? void (0) \ - : __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION)) + : __assert_fail (#expr, __ASSERT_FILE, __ASSERT_LINE, \ + __ASSERT_FUNCTION)) # elif !defined __GNUC__ || defined __STRICT_ANSI__ # define assert(expr) \ ((expr) \ @@ -135,7 +146,11 @@ __END_DECLS #endif /* NDEBUG. */ -#if defined __USE_ISOC11 && !defined __cplusplus +#if (defined __USE_ISOC11 \ + && (!defined __STDC_VERSION__ \ + || __STDC_VERSION__ <= 201710L \ + || !__GNUC_PREREQ (13, 0)) \ + && !defined __cplusplus) # undef static_assert # define static_assert _Static_assert #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/argp-ldbl.h b/lib/libc/include/generic-glibc/bits/argp-ldbl.h index cf7a32117f1b9337067fce44f6c9f1af98e43a7f..4a4ca5f443f7f8b440e549736eba3facfd74182e 100644 --- a/lib/libc/include/generic-glibc/bits/argp-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/argp-ldbl.h @@ -1,5 +1,5 @@ /* Redirections for argp functions for -mlong-double-64. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/atomic_wide_counter.h b/lib/libc/include/generic-glibc/bits/atomic_wide_counter.h new file mode 100644 index 0000000000000000000000000000000000000000..a41140d824f9486ccd798f0e124d75ee6c41f3fe --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/atomic_wide_counter.h @@ -0,0 +1,35 @@ +/* Monotonically increasing wide counters (at least 62 bits). + Copyright (C) 2016-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_ATOMIC_WIDE_COUNTER_H +#define _BITS_ATOMIC_WIDE_COUNTER_H + +/* Counter that is monotonically increasing (by less than 2**31 per + increment), with a single writer, and an arbitrary number of + readers. */ +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; + +#endif /* _BITS_ATOMIC_WIDE_COUNTER_H */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/byteswap.h b/lib/libc/include/generic-glibc/bits/byteswap.h index 70b22672af7dbca15685bd75860fee277cbcca2a..d26ee4a405d7500b1cdaca12e79c2d5fd7512e40 100644 --- a/lib/libc/include/generic-glibc/bits/byteswap.h +++ b/lib/libc/include/generic-glibc/bits/byteswap.h @@ -1,5 +1,5 @@ /* Macros and inline functions to swap the order of bytes in integer values. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/cmathcalls.h b/lib/libc/include/generic-glibc/bits/cmathcalls.h index 28d82b0960204e7f4b9690a9f97c58664524e318..d56893dc82ffa46e50d1df05056f4b1b44a97467 100644 --- a/lib/libc/include/generic-glibc/bits/cmathcalls.h +++ b/lib/libc/include/generic-glibc/bits/cmathcalls.h @@ -1,6 +1,6 @@ /* Prototype declarations for complex math functions; helper file for . - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/confname.h b/lib/libc/include/generic-glibc/bits/confname.h index a364471509e0e66eb805f242eadbb3215e9f209d..e9c89a668c110dc393d567550ec252e0c6d71302 100644 --- a/lib/libc/include/generic-glibc/bits/confname.h +++ b/lib/libc/include/generic-glibc/bits/confname.h @@ -1,5 +1,5 @@ /* `sysconf', `pathconf', and `confstr' NAME values. Generic version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/cpu-set.h b/lib/libc/include/generic-glibc/bits/cpu-set.h index b90b3089fc7001a5033bcf5e5a86f69ffa79948f..f97b3069fb8468126ecf48c136be9435549c9290 100644 --- a/lib/libc/include/generic-glibc/bits/cpu-set.h +++ b/lib/libc/include/generic-glibc/bits/cpu-set.h @@ -1,6 +1,6 @@ /* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993 scheduling interface. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/dirent.h b/lib/libc/include/generic-glibc/bits/dirent.h index a5ade18b8612e8c46821d06cb777d419f04140e2..5979f8fcb55f462c41c81db770f598f52bafc5bd 100644 --- a/lib/libc/include/generic-glibc/bits/dirent.h +++ b/lib/libc/include/generic-glibc/bits/dirent.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/dirent_ext.h b/lib/libc/include/generic-glibc/bits/dirent_ext.h index 50c8bd123a5504f4dbdfeddd2ad60e65555f3942..90cb19a11ce2dddf06373ae9ad6a332adfdde2b2 100644 --- a/lib/libc/include/generic-glibc/bits/dirent_ext.h +++ b/lib/libc/include/generic-glibc/bits/dirent_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of . Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/dl_find_object.h b/lib/libc/include/generic-glibc/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..612183c885da672b7dfd522b0edccfc62f7a7444 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/dl_find_object.h @@ -0,0 +1,32 @@ +/* System dependent definitions for finding objects by address. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* This implementation does not have a dlfo_eh_dbase member in struct + dl_find_object. */ +#define DLFO_STRUCT_HAS_EH_DBASE 0 + +/* This implementation does not have a dlfo_eh_count member in struct + dl_find_object. */ +#define DLFO_STRUCT_HAS_EH_COUNT 0 + +/* The ELF segment which contains the exception handling data. */ +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/dlfcn.h b/lib/libc/include/generic-glibc/bits/dlfcn.h index 02487a2de723415266664365ae764ec4f178ceda..ad567a6ada3cff5121f18c4d39e143b60c8b78fb 100644 --- a/lib/libc/include/generic-glibc/bits/dlfcn.h +++ b/lib/libc/include/generic-glibc/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/endian.h b/lib/libc/include/generic-glibc/bits/endian.h index 926d47b8695fb3fd54152faea372e76519d40a2b..4bcc9bb06bf67de65becfdd27642fe95c45b0523 100644 --- a/lib/libc/include/generic-glibc/bits/endian.h +++ b/lib/libc/include/generic-glibc/bits/endian.h @@ -1,5 +1,5 @@ /* Endian macros for string.h functions - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/environments.h b/lib/libc/include/generic-glibc/bits/environments.h index 0cd2b0dd2e9c9e3bedb1380a107c36c97d792b32..d1db229dce4bd931c89967858a477e649955a1ad 100644 --- a/lib/libc/include/generic-glibc/bits/environments.h +++ b/lib/libc/include/generic-glibc/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/epoll.h b/lib/libc/include/generic-glibc/bits/epoll.h index 32e2f7c379ac47b1300aeaaf7231c74477ff6dc2..a9bc693592d3b79369321da08537d6f561ae3ca7 100644 --- a/lib/libc/include/generic-glibc/bits/epoll.h +++ b/lib/libc/include/generic-glibc/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/err-ldbl.h b/lib/libc/include/generic-glibc/bits/err-ldbl.h index 165399078dd787ed44d0dc03eb8fd7152732217d..8e2007fa9ca7832ed2d64195bccc561fa214c437 100644 --- a/lib/libc/include/generic-glibc/bits/err-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/err-ldbl.h @@ -1,5 +1,5 @@ /* Redirections for err.h functions for -mlong-double-64. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/errno.h b/lib/libc/include/generic-glibc/bits/errno.h index 5129d4d92793c2fe61af0eecaf8699fd380be5d1..ec781a596952ca7b2816105f0ccabf881d9132db 100644 --- a/lib/libc/include/generic-glibc/bits/errno.h +++ b/lib/libc/include/generic-glibc/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/error-ldbl.h b/lib/libc/include/generic-glibc/bits/error-ldbl.h index 1514bd77f5a9ba96963205389b1df2764564fb33..c895b69b88359f768eec27790160be4689e2a925 100644 --- a/lib/libc/include/generic-glibc/bits/error-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/error-ldbl.h @@ -1,5 +1,5 @@ /* Redirections for error.h functions for -mlong-double-64. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,5 +20,50 @@ # error "Never include directly; use instead." #endif +#if defined __extern_always_inline && defined __va_arg_pack +extern void __REDIRECT_LDBL (__error_alias, (int __status, int __errnum, + const char *__format, ...), error) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern void __REDIRECT_LDBL (__error_noreturn, (int __status, int __errnum, + const char *__format, ...), error) + __attribute__ ((__noreturn__, __format__ (__printf__, 3, 4))); + + +/* If we know the function will never return make sure the compiler + realizes that, too. */ +__extern_always_inline void +error (int __status, int __errnum, const char *__format, ...) +{ + if (__builtin_constant_p (__status) && __status != 0) + __error_noreturn (__status, __errnum, __format, __va_arg_pack ()); + else + __error_alias (__status, __errnum, __format, __va_arg_pack ()); +} + + +extern void __REDIRECT_LDBL (__error_at_line_alias, (int __status, int __errnum, + const char *__fname, unsigned int __line, + const char *__format, ...), error_at_line) + __attribute__ ((__format__ (__printf__, 5, 6))); +extern void __REDIRECT_LDBL (__error_at_line_noreturn, (int __status, int __errnum, + const char *__fname, unsigned int __line, + const char *__format, ...), error_at_line) + __attribute__ ((__noreturn__, __format__ (__printf__, 5, 6))); + + +/* If we know the function will never return make sure the compiler + realizes that, too. */ +__extern_always_inline void +error_at_line (int __status, int __errnum, const char *__fname, + unsigned int __line, const char *__format, ...) +{ + if (__builtin_constant_p (__status) && __status != 0) + __error_at_line_noreturn (__status, __errnum, __fname, __line, __format, + __va_arg_pack ()); + else + __error_at_line_alias (__status, __errnum, __fname, __line, + __format, __va_arg_pack ()); +} +#endif __LDBL_REDIR_DECL (error) __LDBL_REDIR_DECL (error_at_line) \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/error.h b/lib/libc/include/generic-glibc/bits/error.h index fe5e0ebeedb404d06f6437545beb85da19d3b348..b4294c24b1c4351b1d75e6c07b15782545c1c79d 100644 --- a/lib/libc/include/generic-glibc/bits/error.h +++ b/lib/libc/include/generic-glibc/bits/error.h @@ -1,5 +1,5 @@ /* Specializations for error functions. - Copyright (C) 2007-2021 Free Software Foundation, Inc. + Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/eventfd.h b/lib/libc/include/generic-glibc/bits/eventfd.h index 7b6538dff95df0b87ada89f8e7ebe6df58a130cd..0a67d90b2cebd4e2550998c2423f9944c0d6996a 100644 --- a/lib/libc/include/generic-glibc/bits/eventfd.h +++ b/lib/libc/include/generic-glibc/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/fcntl-linux.h b/lib/libc/include/generic-glibc/bits/fcntl-linux.h index ededca4eb2efd73e077204dc82688f53ab5ca6d7..b93d1d9a86266de92bcd10710284de6d3fbe4771 100644 --- a/lib/libc/include/generic-glibc/bits/fcntl-linux.h +++ b/lib/libc/include/generic-glibc/bits/fcntl-linux.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -101,7 +101,7 @@ #endif #ifndef F_GETLK -# ifndef __USE_FILE_OFFSET64 +# if !defined __USE_FILE_OFFSET64 && __TIMESIZE != 64 # define F_GETLK 5 /* Get record locking info. */ # define F_SETLK 6 /* Set record locking info (non-blocking). */ # define F_SETLKW 7 /* Set record locking info (blocking). */ diff --git a/lib/libc/include/generic-glibc/bits/fcntl.h b/lib/libc/include/generic-glibc/bits/fcntl.h index ba82a90a594c9ad6a5af61bd9f70b7f217fe0e48..2e79057415de47b4dfd147e84641220fbd351d1c 100644 --- a/lib/libc/include/generic-glibc/bits/fcntl.h +++ b/lib/libc/include/generic-glibc/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/fcntl2.h b/lib/libc/include/generic-glibc/bits/fcntl2.h index 1e5e2d6a5fb5f831a0c0a889439a26e440d85d87..30c541020ad1a067cfb1eac0f6dd97064ea1920d 100644 --- a/lib/libc/include/generic-glibc/bits/fcntl2.h +++ b/lib/libc/include/generic-glibc/bits/fcntl2.h @@ -1,5 +1,5 @@ /* Checking macros for fcntl functions. - Copyright (C) 2007-2021 Free Software Foundation, Inc. + Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/fenv.h b/lib/libc/include/generic-glibc/bits/fenv.h index d99c7da1c0e6aa5142483167162fcd8cf4d9505d..009b6f2e16848cb6bd0ef45a21b780af388edead 100644 --- a/lib/libc/include/generic-glibc/bits/fenv.h +++ b/lib/libc/include/generic-glibc/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/floatn-common.h b/lib/libc/include/generic-glibc/bits/floatn-common.h index 7432380a23333994478f5ef3679785b979c615ad..61a0c8d6a1c4f6e31575227d5bfee6ebcb1e9bc9 100644 --- a/lib/libc/include/generic-glibc/bits/floatn-common.h +++ b/lib/libc/include/generic-glibc/bits/floatn-common.h @@ -1,6 +1,6 @@ /* Macros to control TS 18661-3 glibc features where the same definitions are appropriate for all platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,7 +78,7 @@ or _FloatNx types, if __HAVE_ is 1. The corresponding literal suffixes exist since GCC 7, for C only. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* No corresponding suffix available for this type. */ # define __f16(x) ((_Float16) x##f) # else @@ -87,7 +87,7 @@ # endif # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __f32(x) x##f # else # define __f32(x) x##f32 @@ -95,7 +95,7 @@ # endif # if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # ifdef __NO_LONG_DOUBLE_MATH # define __f64(x) x##l # else @@ -107,7 +107,7 @@ # endif # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __f32x(x) x # else # define __f32x(x) x##f32x @@ -115,7 +115,7 @@ # endif # if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # if __HAVE_FLOAT64X_LONG_DOUBLE # define __f64x(x) x##l # else @@ -127,7 +127,7 @@ # endif # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128X supported but no constant suffix" # else # define __f128x(x) x##f128x @@ -136,7 +136,7 @@ /* Defined to a complex type if __HAVE_ is 1. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # define __CFLOAT16 __cfloat16 # else @@ -145,7 +145,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT32 _Complex float # else # define __CFLOAT32 _Complex _Float32 @@ -153,7 +153,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # ifdef __NO_LONG_DOUBLE_MATH # define __CFLOAT64 _Complex long double # else @@ -165,7 +165,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT32X _Complex double # else # define __CFLOAT32X _Complex _Float32x @@ -173,7 +173,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # if __HAVE_FLOAT64X_LONG_DOUBLE # define __CFLOAT64X _Complex long double # else @@ -185,7 +185,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128X supported but no complex type" # else # define __CFLOAT128X _Complex _Float128x @@ -195,7 +195,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); /* The remaining of this file provides support for older compilers. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef float _Float16 __attribute__ ((__mode__ (__HF__))); # endif @@ -210,7 +210,7 @@ typedef float _Float16 __attribute__ ((__mode__ (__HF__))); # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef float _Float32; # endif @@ -234,7 +234,7 @@ typedef float _Float32; # ifdef __NO_LONG_DOUBLE_MATH -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float64; # endif @@ -247,7 +247,7 @@ typedef long double _Float64; # else -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef double _Float64; # endif @@ -264,7 +264,7 @@ typedef double _Float64; # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef double _Float32x; # endif @@ -281,7 +281,7 @@ typedef double _Float32x; # if __HAVE_FLOAT64X_LONG_DOUBLE -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float64x; # endif @@ -294,7 +294,7 @@ typedef long double _Float64x; # else -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef _Float128 _Float64x; # endif @@ -311,7 +311,7 @@ typedef _Float128 _Float64x; # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128x supported but no type" # endif diff --git a/lib/libc/include/generic-glibc/bits/floatn.h b/lib/libc/include/generic-glibc/bits/floatn.h index c05a5e55e0b0149661766d6698dff4c02519a903..62a22bcb27853d6b5e89565e2f1faf6c09256c8f 100644 --- a/lib/libc/include/generic-glibc/bits/floatn.h +++ b/lib/libc/include/generic-glibc/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on MIPS platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/generic-glibc/bits/flt-eval-method.h b/lib/libc/include/generic-glibc/bits/flt-eval-method.h index 671c39a3baaafab3d1bacf1ef241b2e920e534df..82c890d6ff18c234e3f700e42663defc36addeb0 100644 --- a/lib/libc/include/generic-glibc/bits/flt-eval-method.h +++ b/lib/libc/include/generic-glibc/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,14 +26,12 @@ -1. */ /* In the default version of this header, follow __FLT_EVAL_METHOD__. - -1 is mapped to 2 (considering evaluation as long double to be a - conservatively safe assumption), and if __FLT_EVAL_METHOD__ is not - defined then assume there is no excess precision and use the value - 0. */ + If __FLT_EVAL_METHOD__ is not defined or set to -1, assume there is no + excess precision and use the value 0 (this is correct for most targets). */ #ifdef __FLT_EVAL_METHOD__ # if __FLT_EVAL_METHOD__ == -1 -# define __GLIBC_FLT_EVAL_METHOD 2 +# define __GLIBC_FLT_EVAL_METHOD 0 # else # define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__ # endif diff --git a/lib/libc/include/generic-glibc/bits/fp-fast.h b/lib/libc/include/generic-glibc/bits/fp-fast.h index b06a22fc8bb649266edecc01a5b03bb28abb4dce..b33245b75c3b837413edbbcc021d5c6ed80107dc 100644 --- a/lib/libc/include/generic-glibc/bits/fp-fast.h +++ b/lib/libc/include/generic-glibc/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/fp-logb.h b/lib/libc/include/generic-glibc/bits/fp-logb.h index bcb800097d8d6d5c60b036f2faba35a11aa32811..e356f1af088dfb7c481d7e717234fbea9f485a4b 100644 --- a/lib/libc/include/generic-glibc/bits/fp-logb.h +++ b/lib/libc/include/generic-glibc/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/getopt_core.h b/lib/libc/include/generic-glibc/bits/getopt_core.h index d681779d99559a36c689f3a000c816523f3555e1..1008362c19e9468f8e9a389fcb39871b63d5a863 100644 --- a/lib/libc/include/generic-glibc/bits/getopt_core.h +++ b/lib/libc/include/generic-glibc/bits/getopt_core.h @@ -1,5 +1,5 @@ /* Declarations for getopt (basic, portable features only). - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2023 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. diff --git a/lib/libc/include/generic-glibc/bits/getopt_ext.h b/lib/libc/include/generic-glibc/bits/getopt_ext.h index 01a59914649df70edb9e33f50b0efc2390f9c9c9..3fcd300bc4e5cc6af5121df149964afdb0925e64 100644 --- a/lib/libc/include/generic-glibc/bits/getopt_ext.h +++ b/lib/libc/include/generic-glibc/bits/getopt_ext.h @@ -1,5 +1,5 @@ /* Declarations for getopt (GNU extensions). - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2023 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. diff --git a/lib/libc/include/generic-glibc/bits/getopt_posix.h b/lib/libc/include/generic-glibc/bits/getopt_posix.h index af5764650ba9bda40a086a15dbd84350d59d6923..5db63abd317c382e5286a281647bc9dc1cde4741 100644 --- a/lib/libc/include/generic-glibc/bits/getopt_posix.h +++ b/lib/libc/include/generic-glibc/bits/getopt_posix.h @@ -1,5 +1,5 @@ /* Declarations for getopt (POSIX compatibility shim). - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2023 Free Software Foundation, Inc. Unlike the bulk of the getopt implementation, this file is NOT part of gnulib. diff --git a/lib/libc/include/generic-glibc/bits/hwcap.h b/lib/libc/include/generic-glibc/bits/hwcap.h index 9e621f83de18a4ccce358d7b9e22472c52429da6..48f2e042d336239a76b5916a3fabcc51394b4ad2 100644 --- a/lib/libc/include/generic-glibc/bits/hwcap.h +++ b/lib/libc/include/generic-glibc/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/in.h b/lib/libc/include/generic-glibc/bits/in.h index 316fd888d91c3c68288aeed9d5ec7d1f6a3685c7..e4d2d05e8eb2dd8b6bfda23d234ec8d2f418e164 100644 --- a/lib/libc/include/generic-glibc/bits/in.h +++ b/lib/libc/include/generic-glibc/bits/in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -128,6 +128,7 @@ #define IP_MSFILTER 41 #define IP_MULTICAST_ALL 49 #define IP_UNICAST_IF 50 +#define IP_LOCAL_PORT_RANGE 51 /* To select the IP level. */ #define SOL_IP 0 @@ -146,14 +147,6 @@ struct ip_opts char ip_opts[40]; /* Actually variable in size. */ }; -/* Like `struct ip_mreq' but including interface specification by index. */ -struct ip_mreqn - { - struct in_addr imr_multiaddr; /* IP multicast address of group */ - struct in_addr imr_address; /* local IP address of interface */ - int imr_ifindex; /* Interface index */ - }; - /* Structure used for IP_PKTINFO. */ struct in_pktinfo { diff --git a/lib/libc/include/generic-glibc/bits/indirect-return.h b/lib/libc/include/generic-glibc/bits/indirect-return.h index d6112e6fe10879680f9771c73f3d98de860bd659..ccf1b32e5da24142f80f627b2b7c8140c132b3c4 100644 --- a/lib/libc/include/generic-glibc/bits/indirect-return.h +++ b/lib/libc/include/generic-glibc/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/inotify.h b/lib/libc/include/generic-glibc/bits/inotify.h index 167d55beb46f70d1a9208922b1755c2a3d7e5e7c..075dfcc0c1c8c5043afda4edac1036ff81ec97b5 100644 --- a/lib/libc/include/generic-glibc/bits/inotify.h +++ b/lib/libc/include/generic-glibc/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ioctl-types.h b/lib/libc/include/generic-glibc/bits/ioctl-types.h index 312ec1c1250648e1a52b77619d427190321abfd8..c6ac52b363ab474988b16e663c0d39e205a6e0b0 100644 --- a/lib/libc/include/generic-glibc/bits/ioctl-types.h +++ b/lib/libc/include/generic-glibc/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ioctls.h b/lib/libc/include/generic-glibc/bits/ioctls.h index 9b604b9c484162b89b5c56bd9fc9092f6441fb89..386edb867f0b3e01cbdc327206843b297316bbd8 100644 --- a/lib/libc/include/generic-glibc/bits/ioctls.h +++ b/lib/libc/include/generic-glibc/bits/ioctls.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ipc-perm.h b/lib/libc/include/generic-glibc/bits/ipc-perm.h index eed58f2ff6a62cdf5396c1e0cc89c37244d0b720..b3ff8b80e351f24ad7f5e8463ff67a3d1b682490 100644 --- a/lib/libc/include/generic-glibc/bits/ipc-perm.h +++ b/lib/libc/include/generic-glibc/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ipc.h b/lib/libc/include/generic-glibc/bits/ipc.h index 0681d1a86e31c95d75629c3610c5a3471868a06c..f2092493f28dc420110c7cd576b35cdc62e42899 100644 --- a/lib/libc/include/generic-glibc/bits/ipc.h +++ b/lib/libc/include/generic-glibc/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ipctypes.h b/lib/libc/include/generic-glibc/bits/ipctypes.h index 1c913e88f56af332854a4d8b4e92fac4a55b728f..926918669d037c7b2f170f17c404fe15ea17737b 100644 --- a/lib/libc/include/generic-glibc/bits/ipctypes.h +++ b/lib/libc/include/generic-glibc/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/iscanonical.h b/lib/libc/include/generic-glibc/bits/iscanonical.h index 2a97d3cdd8e2575cd298e0b553c62ec06580b596..8a9ae51a3c0525d324861c4e45c373d63ae100d2 100644 --- a/lib/libc/include/generic-glibc/bits/iscanonical.h +++ b/lib/libc/include/generic-glibc/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/libc-header-start.h b/lib/libc/include/generic-glibc/bits/libc-header-start.h index 3bb5101e0595d0c24d752de9e51453f5c5266514..04cf92576f5cc4dda0ecd844c9c10b26b767cfd9 100644 --- a/lib/libc/include/generic-glibc/bits/libc-header-start.h +++ b/lib/libc/include/generic-glibc/bits/libc-header-start.h @@ -1,5 +1,5 @@ /* Handle feature test macros at the start of a header. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h b/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h index f5fe338a6a7c9c25b4d702fff5c3754f6d3a8108..d04c6dc005e23326cc8bfc259c1073738898b190 100644 --- a/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h +++ b/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h @@ -1,5 +1,5 @@ /* Empty definitions required for __MATHCALL_VEC unfolding in mathcalls.h. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -98,4 +98,235 @@ #define __DECL_SIMD_powf32x #define __DECL_SIMD_powf64x #define __DECL_SIMD_powf128x + +#define __DECL_SIMD_acos +#define __DECL_SIMD_acosf +#define __DECL_SIMD_acosl +#define __DECL_SIMD_acosf16 +#define __DECL_SIMD_acosf32 +#define __DECL_SIMD_acosf64 +#define __DECL_SIMD_acosf128 +#define __DECL_SIMD_acosf32x +#define __DECL_SIMD_acosf64x +#define __DECL_SIMD_acosf128x + +#define __DECL_SIMD_atan +#define __DECL_SIMD_atanf +#define __DECL_SIMD_atanl +#define __DECL_SIMD_atanf16 +#define __DECL_SIMD_atanf32 +#define __DECL_SIMD_atanf64 +#define __DECL_SIMD_atanf128 +#define __DECL_SIMD_atanf32x +#define __DECL_SIMD_atanf64x +#define __DECL_SIMD_atanf128x + +#define __DECL_SIMD_asin +#define __DECL_SIMD_asinf +#define __DECL_SIMD_asinl +#define __DECL_SIMD_asinf16 +#define __DECL_SIMD_asinf32 +#define __DECL_SIMD_asinf64 +#define __DECL_SIMD_asinf128 +#define __DECL_SIMD_asinf32x +#define __DECL_SIMD_asinf64x +#define __DECL_SIMD_asinf128x + +#define __DECL_SIMD_hypot +#define __DECL_SIMD_hypotf +#define __DECL_SIMD_hypotl +#define __DECL_SIMD_hypotf16 +#define __DECL_SIMD_hypotf32 +#define __DECL_SIMD_hypotf64 +#define __DECL_SIMD_hypotf128 +#define __DECL_SIMD_hypotf32x +#define __DECL_SIMD_hypotf64x +#define __DECL_SIMD_hypotf128x + +#define __DECL_SIMD_exp2 +#define __DECL_SIMD_exp2f +#define __DECL_SIMD_exp2l +#define __DECL_SIMD_exp2f16 +#define __DECL_SIMD_exp2f32 +#define __DECL_SIMD_exp2f64 +#define __DECL_SIMD_exp2f128 +#define __DECL_SIMD_exp2f32x +#define __DECL_SIMD_exp2f64x +#define __DECL_SIMD_exp2f128x + +#define __DECL_SIMD_exp10 +#define __DECL_SIMD_exp10f +#define __DECL_SIMD_exp10l +#define __DECL_SIMD_exp10f16 +#define __DECL_SIMD_exp10f32 +#define __DECL_SIMD_exp10f64 +#define __DECL_SIMD_exp10f128 +#define __DECL_SIMD_exp10f32x +#define __DECL_SIMD_exp10f64x +#define __DECL_SIMD_exp10f128x + +#define __DECL_SIMD_cosh +#define __DECL_SIMD_coshf +#define __DECL_SIMD_coshl +#define __DECL_SIMD_coshf16 +#define __DECL_SIMD_coshf32 +#define __DECL_SIMD_coshf64 +#define __DECL_SIMD_coshf128 +#define __DECL_SIMD_coshf32x +#define __DECL_SIMD_coshf64x +#define __DECL_SIMD_coshf128x + +#define __DECL_SIMD_expm1 +#define __DECL_SIMD_expm1f +#define __DECL_SIMD_expm1l +#define __DECL_SIMD_expm1f16 +#define __DECL_SIMD_expm1f32 +#define __DECL_SIMD_expm1f64 +#define __DECL_SIMD_expm1f128 +#define __DECL_SIMD_expm1f32x +#define __DECL_SIMD_expm1f64x +#define __DECL_SIMD_expm1f128x + +#define __DECL_SIMD_sinh +#define __DECL_SIMD_sinhf +#define __DECL_SIMD_sinhl +#define __DECL_SIMD_sinhf16 +#define __DECL_SIMD_sinhf32 +#define __DECL_SIMD_sinhf64 +#define __DECL_SIMD_sinhf128 +#define __DECL_SIMD_sinhf32x +#define __DECL_SIMD_sinhf64x +#define __DECL_SIMD_sinhf128x + +#define __DECL_SIMD_cbrt +#define __DECL_SIMD_cbrtf +#define __DECL_SIMD_cbrtl +#define __DECL_SIMD_cbrtf16 +#define __DECL_SIMD_cbrtf32 +#define __DECL_SIMD_cbrtf64 +#define __DECL_SIMD_cbrtf128 +#define __DECL_SIMD_cbrtf32x +#define __DECL_SIMD_cbrtf64x +#define __DECL_SIMD_cbrtf128x + +#define __DECL_SIMD_atan2 +#define __DECL_SIMD_atan2f +#define __DECL_SIMD_atan2l +#define __DECL_SIMD_atan2f16 +#define __DECL_SIMD_atan2f32 +#define __DECL_SIMD_atan2f64 +#define __DECL_SIMD_atan2f128 +#define __DECL_SIMD_atan2f32x +#define __DECL_SIMD_atan2f64x +#define __DECL_SIMD_atan2f128x + +#define __DECL_SIMD_log10 +#define __DECL_SIMD_log10f +#define __DECL_SIMD_log10l +#define __DECL_SIMD_log10f16 +#define __DECL_SIMD_log10f32 +#define __DECL_SIMD_log10f64 +#define __DECL_SIMD_log10f128 +#define __DECL_SIMD_log10f32x +#define __DECL_SIMD_log10f64x +#define __DECL_SIMD_log10f128x + +#define __DECL_SIMD_log2 +#define __DECL_SIMD_log2f +#define __DECL_SIMD_log2l +#define __DECL_SIMD_log2f16 +#define __DECL_SIMD_log2f32 +#define __DECL_SIMD_log2f64 +#define __DECL_SIMD_log2f128 +#define __DECL_SIMD_log2f32x +#define __DECL_SIMD_log2f64x +#define __DECL_SIMD_log2f128x + +#define __DECL_SIMD_log1p +#define __DECL_SIMD_log1pf +#define __DECL_SIMD_log1pl +#define __DECL_SIMD_log1pf16 +#define __DECL_SIMD_log1pf32 +#define __DECL_SIMD_log1pf64 +#define __DECL_SIMD_log1pf128 +#define __DECL_SIMD_log1pf32x +#define __DECL_SIMD_log1pf64x +#define __DECL_SIMD_log1pf128x + +#define __DECL_SIMD_atanh +#define __DECL_SIMD_atanhf +#define __DECL_SIMD_atanhl +#define __DECL_SIMD_atanhf16 +#define __DECL_SIMD_atanhf32 +#define __DECL_SIMD_atanhf64 +#define __DECL_SIMD_atanhf128 +#define __DECL_SIMD_atanhf32x +#define __DECL_SIMD_atanhf64x +#define __DECL_SIMD_atanhf128x + +#define __DECL_SIMD_acosh +#define __DECL_SIMD_acoshf +#define __DECL_SIMD_acoshl +#define __DECL_SIMD_acoshf16 +#define __DECL_SIMD_acoshf32 +#define __DECL_SIMD_acoshf64 +#define __DECL_SIMD_acoshf128 +#define __DECL_SIMD_acoshf32x +#define __DECL_SIMD_acoshf64x +#define __DECL_SIMD_acoshf128x + +#define __DECL_SIMD_erf +#define __DECL_SIMD_erff +#define __DECL_SIMD_erfl +#define __DECL_SIMD_erff16 +#define __DECL_SIMD_erff32 +#define __DECL_SIMD_erff64 +#define __DECL_SIMD_erff128 +#define __DECL_SIMD_erff32x +#define __DECL_SIMD_erff64x +#define __DECL_SIMD_erff128x + +#define __DECL_SIMD_tanh +#define __DECL_SIMD_tanhf +#define __DECL_SIMD_tanhl +#define __DECL_SIMD_tanhf16 +#define __DECL_SIMD_tanhf32 +#define __DECL_SIMD_tanhf64 +#define __DECL_SIMD_tanhf128 +#define __DECL_SIMD_tanhf32x +#define __DECL_SIMD_tanhf64x +#define __DECL_SIMD_tanhf128x + +#define __DECL_SIMD_asinh +#define __DECL_SIMD_asinhf +#define __DECL_SIMD_asinhl +#define __DECL_SIMD_asinhf16 +#define __DECL_SIMD_asinhf32 +#define __DECL_SIMD_asinhf64 +#define __DECL_SIMD_asinhf128 +#define __DECL_SIMD_asinhf32x +#define __DECL_SIMD_asinhf64x +#define __DECL_SIMD_asinhf128x + +#define __DECL_SIMD_erfc +#define __DECL_SIMD_erfcf +#define __DECL_SIMD_erfcl +#define __DECL_SIMD_erfcf16 +#define __DECL_SIMD_erfcf32 +#define __DECL_SIMD_erfcf64 +#define __DECL_SIMD_erfcf128 +#define __DECL_SIMD_erfcf32x +#define __DECL_SIMD_erfcf64x +#define __DECL_SIMD_erfcf128x + +#define __DECL_SIMD_tan +#define __DECL_SIMD_tanf +#define __DECL_SIMD_tanl +#define __DECL_SIMD_tanf16 +#define __DECL_SIMD_tanf32 +#define __DECL_SIMD_tanf64 +#define __DECL_SIMD_tanf128 +#define __DECL_SIMD_tanf32x +#define __DECL_SIMD_tanf64x +#define __DECL_SIMD_tanf128x #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/link.h b/lib/libc/include/generic-glibc/bits/link.h index ab974d6a472224bde4c1630486e762df92bc6af2..4859c16397a77ddf38efd487c079ed3ef3d2c738 100644 --- a/lib/libc/include/generic-glibc/bits/link.h +++ b/lib/libc/include/generic-glibc/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -46,7 +46,7 @@ typedef struct La_mips_32_retval typedef struct La_mips_64_regs { uint64_t lr_reg[8]; /* $a0 through $a7 */ - double lr_fpreg[8]; /* $f12 throgh $f19 */ + double lr_fpreg[8]; /* $f12 through $f19 */ uint64_t lr_ra; uint64_t lr_sp; } La_mips_64_regs; diff --git a/lib/libc/include/generic-glibc/bits/link_lavcurrent.h b/lib/libc/include/generic-glibc/bits/link_lavcurrent.h new file mode 100644 index 0000000000000000000000000000000000000000..d391df4d9aed7ae62bf3f738a185ef0a8db506ea --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/link_lavcurrent.h @@ -0,0 +1,25 @@ +/* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. LAV_CURRENT definition. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +/* Version numbers for la_version handshake interface. */ +#define LAV_CURRENT 2 \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/local_lim.h b/lib/libc/include/generic-glibc/bits/local_lim.h index 0dccd480b197033f6f75c4d02bbc8a8ec83b3f61..dec28958804781e6b8ac6c4e89e2cc3a910d48b9 100644 --- a/lib/libc/include/generic-glibc/bits/local_lim.h +++ b/lib/libc/include/generic-glibc/bits/local_lim.h @@ -1,5 +1,5 @@ /* Minimum guaranteed maximum values for system limits. Linux version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -73,7 +73,7 @@ /* We have no predefined limit on the number of threads. */ #undef PTHREAD_THREADS_MAX -/* Maximum amount by which a process can descrease its asynchronous I/O +/* Maximum amount by which a process can decrease its asynchronous I/O priority level. */ #define AIO_PRIO_DELTA_MAX 20 diff --git a/lib/libc/include/generic-glibc/bits/locale.h b/lib/libc/include/generic-glibc/bits/locale.h index 5ab3184a2aef390ec93362d947c7bcae2e07d926..971307bf371aa094fc2f8ca4b1969f3fb8d87da0 100644 --- a/lib/libc/include/generic-glibc/bits/locale.h +++ b/lib/libc/include/generic-glibc/bits/locale.h @@ -1,5 +1,5 @@ /* Definition of locale category symbol values. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/long-double.h b/lib/libc/include/generic-glibc/bits/long-double.h index 93a6e96059e2be6b15d0a779770ca960b705be3d..5065a57e4b8c9413a6c3e0dcc8d89c2e10470601 100644 --- a/lib/libc/include/generic-glibc/bits/long-double.h +++ b/lib/libc/include/generic-glibc/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. MIPS version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/math-vector.h b/lib/libc/include/generic-glibc/bits/math-vector.h index c817f744da31488cc2eaf1d6f1e0700f37ebd28f..0df3e75c842b2b54f7caa37406b85d655001d924 100644 --- a/lib/libc/include/generic-glibc/bits/math-vector.h +++ b/lib/libc/include/generic-glibc/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h b/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h index 01fc8eb21280d54717846741672e7a8ac5a6cd4c..785f4d6d358edfc2254d0c186f2ed3fadb8cf8f6 100644 --- a/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h +++ b/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h @@ -1,5 +1,5 @@ /* Prototype declarations for math classification macros helpers. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h b/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h index 27a798760414b756e7132c83cc9007f20dceba06..789200d1c7b981cc7836ea05ef233d6b26581862 100644 --- a/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h +++ b/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h @@ -1,5 +1,5 @@ /* Declare functions returning a narrower type. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,8 +26,14 @@ __MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2); /* Divide. */ __MATHCALL_NARROW (__MATHCALL_NAME (div), __MATHCALL_REDIR_NAME (div), 2); +/* Fused multiply-add. */ +__MATHCALL_NARROW (__MATHCALL_NAME (fma), __MATHCALL_REDIR_NAME2 (fma), 3); + /* Multiply. */ __MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2); +/* Square root. */ +__MATHCALL_NARROW (__MATHCALL_NAME (sqrt), __MATHCALL_REDIR_NAME2 (sqrt), 1); + /* Subtract. */ __MATHCALL_NARROW (__MATHCALL_NAME (sub), __MATHCALL_REDIR_NAME (sub), 2); \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/mathcalls.h b/lib/libc/include/generic-glibc/bits/mathcalls.h index 526f3f3e53af3d6c2d3cbfc938af507c8283b6aa..63a4937b3521319a69a7213fa663b9e7ac187368 100644 --- a/lib/libc/include/generic-glibc/bits/mathcalls.h +++ b/lib/libc/include/generic-glibc/bits/mathcalls.h @@ -1,5 +1,5 @@ /* Prototype declarations for math functions; helper file for . - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -50,29 +50,29 @@ /* Trigonometric functions. */ /* Arc cosine of X. */ -__MATHCALL (acos,, (_Mdouble_ __x)); +__MATHCALL_VEC (acos,, (_Mdouble_ __x)); /* Arc sine of X. */ -__MATHCALL (asin,, (_Mdouble_ __x)); +__MATHCALL_VEC (asin,, (_Mdouble_ __x)); /* Arc tangent of X. */ -__MATHCALL (atan,, (_Mdouble_ __x)); +__MATHCALL_VEC (atan,, (_Mdouble_ __x)); /* Arc tangent of Y/X. */ -__MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); +__MATHCALL_VEC (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); /* Cosine of X. */ __MATHCALL_VEC (cos,, (_Mdouble_ __x)); /* Sine of X. */ __MATHCALL_VEC (sin,, (_Mdouble_ __x)); /* Tangent of X. */ -__MATHCALL (tan,, (_Mdouble_ __x)); +__MATHCALL_VEC (tan,, (_Mdouble_ __x)); /* Hyperbolic functions. */ /* Hyperbolic cosine of X. */ -__MATHCALL (cosh,, (_Mdouble_ __x)); +__MATHCALL_VEC (cosh,, (_Mdouble_ __x)); /* Hyperbolic sine of X. */ -__MATHCALL (sinh,, (_Mdouble_ __x)); +__MATHCALL_VEC (sinh,, (_Mdouble_ __x)); /* Hyperbolic tangent of X. */ -__MATHCALL (tanh,, (_Mdouble_ __x)); +__MATHCALL_VEC (tanh,, (_Mdouble_ __x)); #ifdef __USE_GNU /* Cosine and sine of X. */ @@ -82,11 +82,11 @@ __MATHDECL_VEC (void,sincos,, #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Hyperbolic arc cosine of X. */ -__MATHCALL (acosh,, (_Mdouble_ __x)); +__MATHCALL_VEC (acosh,, (_Mdouble_ __x)); /* Hyperbolic arc sine of X. */ -__MATHCALL (asinh,, (_Mdouble_ __x)); +__MATHCALL_VEC (asinh,, (_Mdouble_ __x)); /* Hyperbolic arc tangent of X. */ -__MATHCALL (atanh,, (_Mdouble_ __x)); +__MATHCALL_VEC (atanh,, (_Mdouble_ __x)); #endif /* Exponential and logarithmic functions. */ @@ -104,22 +104,22 @@ __MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent)); __MATHCALL_VEC (log,, (_Mdouble_ __x)); /* Base-ten logarithm of X. */ -__MATHCALL (log10,, (_Mdouble_ __x)); +__MATHCALL_VEC (log10,, (_Mdouble_ __x)); /* Break VALUE into integral and fractional parts. */ __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2)); #if __GLIBC_USE (IEC_60559_FUNCS_EXT_C2X) /* Compute exponent to base ten. */ -__MATHCALL (exp10,, (_Mdouble_ __x)); +__MATHCALL_VEC (exp10,, (_Mdouble_ __x)); #endif #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Return exp(X) - 1. */ -__MATHCALL (expm1,, (_Mdouble_ __x)); +__MATHCALL_VEC (expm1,, (_Mdouble_ __x)); /* Return log(1 + X). */ -__MATHCALL (log1p,, (_Mdouble_ __x)); +__MATHCALL_VEC (log1p,, (_Mdouble_ __x)); /* Return the base 2 signed integral exponent of X. */ __MATHCALL (logb,, (_Mdouble_ __x)); @@ -127,10 +127,10 @@ __MATHCALL (logb,, (_Mdouble_ __x)); #ifdef __USE_ISOC99 /* Compute base-2 exponential of X. */ -__MATHCALL (exp2,, (_Mdouble_ __x)); +__MATHCALL_VEC (exp2,, (_Mdouble_ __x)); /* Compute base-2 logarithm of X. */ -__MATHCALL (log2,, (_Mdouble_ __x)); +__MATHCALL_VEC (log2,, (_Mdouble_ __x)); #endif @@ -144,12 +144,12 @@ __MATHCALL (sqrt,, (_Mdouble_ __x)); #if defined __USE_XOPEN || defined __USE_ISOC99 /* Return `sqrt(X*X + Y*Y)'. */ -__MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y)); +__MATHCALL_VEC (hypot,, (_Mdouble_ __x, _Mdouble_ __y)); #endif #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Return the cube root of X. */ -__MATHCALL (cbrt,, (_Mdouble_ __x)); +__MATHCALL_VEC (cbrt,, (_Mdouble_ __x)); #endif @@ -228,8 +228,8 @@ __MATHCALL (yn,, (int, _Mdouble_)); #if defined __USE_XOPEN || defined __USE_ISOC99 /* Error and gamma functions. */ -__MATHCALL (erf,, (_Mdouble_)); -__MATHCALL (erfc,, (_Mdouble_)); +__MATHCALL_VEC (erf,, (_Mdouble_)); +__MATHCALL_VEC (erfc,, (_Mdouble_)); __MATHCALL (lgamma,, (_Mdouble_)); #endif @@ -271,7 +271,7 @@ __MATHCALL (nextdown,, (_Mdouble_ __x)); __MATHCALL (nextup,, (_Mdouble_ __x)); # endif -/* Return the remainder of integer divison X / Y with infinite precision. */ +/* Return the remainder of integer division X / Y with infinite precision. */ __MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y)); # ifdef __USE_ISOC99 @@ -328,11 +328,13 @@ __MATHDECL (long long int,llround,, (_Mdouble_ __x)); /* Return positive difference between X and Y. */ __MATHCALL (fdim,, (_Mdouble_ __x, _Mdouble_ __y)); +# if !__MATH_DECLARING_FLOATN || defined __USE_GNU || !__GLIBC_USE (ISOC2X) /* Return maximum numeric value from X and Y. */ __MATHCALLX (fmax,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); /* Return minimum numeric value from X and Y. */ __MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); +# endif /* Multiply-add function computed as a ternary operation. */ __MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z)); @@ -378,6 +380,32 @@ __MATHCALLX (fmaxmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); __MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); #endif +#if __GLIBC_USE (ISOC2X) +/* Return maximum value from X and Y. */ +__MATHCALLX (fmaximum,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return minimum value from X and Y. */ +__MATHCALLX (fminimum,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return maximum numeric value from X and Y. */ +__MATHCALLX (fmaximum_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return minimum numeric value from X and Y. */ +__MATHCALLX (fminimum_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return value with maximum magnitude. */ +__MATHCALLX (fmaximum_mag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return value with minimum magnitude. */ +__MATHCALLX (fminimum_mag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return numeric value with maximum magnitude. */ +__MATHCALLX (fmaximum_mag_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return numeric value with minimum magnitude. */ +__MATHCALLX (fminimum_mag_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); +#endif + #if __GLIBC_USE (IEC_60559_EXT) || __MATH_DECLARING_FLOATN /* Total order operation. */ __MATHDECL_1 (int, totalorder,, (const _Mdouble_ *__x, diff --git a/lib/libc/include/generic-glibc/bits/mathdef.h b/lib/libc/include/generic-glibc/bits/mathdef.h index f73024e1ffbbfbcedc76773271c425a56a2c60e7..bca002de35aa88178322f94abfdcf03b7d24004e 100644 --- a/lib/libc/include/generic-glibc/bits/mathdef.h +++ b/lib/libc/include/generic-glibc/bits/mathdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mman-linux.h b/lib/libc/include/generic-glibc/bits/mman-linux.h index 209a8678d5a08fcfa22fd07cae54f5b880bbfb9c..fccf35a1e563403ad742556d6c90b835599e56ca 100644 --- a/lib/libc/include/generic-glibc/bits/mman-linux.h +++ b/lib/libc/include/generic-glibc/bits/mman-linux.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux generic version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -41,26 +41,22 @@ /* Sharing types (must choose one and only one of these). */ #define MAP_SHARED 0x01 /* Share changes. */ #define MAP_PRIVATE 0x02 /* Changes are private. */ -#ifdef __USE_MISC -# define MAP_SHARED_VALIDATE 0x03 /* Share changes and validate +#define MAP_SHARED_VALIDATE 0x03 /* Share changes and validate extension flags. */ -# define MAP_TYPE 0x0f /* Mask for type of mapping. */ -#endif +#define MAP_TYPE 0x0f /* Mask for type of mapping. */ /* Other flags. */ #define MAP_FIXED 0x10 /* Interpret addr exactly. */ -#ifdef __USE_MISC -# define MAP_FILE 0 -# ifdef __MAP_ANONYMOUS -# define MAP_ANONYMOUS __MAP_ANONYMOUS /* Don't use a file. */ -# else -# define MAP_ANONYMOUS 0x20 /* Don't use a file. */ -# endif -# define MAP_ANON MAP_ANONYMOUS +#define MAP_FILE 0 +#ifdef __MAP_ANONYMOUS +# define MAP_ANONYMOUS __MAP_ANONYMOUS /* Don't use a file. */ +#else +# define MAP_ANONYMOUS 0x20 /* Don't use a file. */ +#endif +#define MAP_ANON MAP_ANONYMOUS /* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. */ -# define MAP_HUGE_SHIFT 26 -# define MAP_HUGE_MASK 0x3f -#endif +#define MAP_HUGE_SHIFT 26 +#define MAP_HUGE_MASK 0x3f /* Flags to `msync'. */ #define MS_ASYNC 1 /* Sync memory asynchronously. */ @@ -82,13 +78,20 @@ # define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */ # define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */ # define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */ -# define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, +# define MADV_DONTDUMP 16 /* Explicitly exclude from the core dump, overrides the coredump filter bits. */ # define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag. */ # define MADV_WIPEONFORK 18 /* Zero memory on fork, child only. */ # define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK. */ # define MADV_COLD 20 /* Deactivate these pages. */ # define MADV_PAGEOUT 21 /* Reclaim these pages. */ +# define MADV_POPULATE_READ 22 /* Populate (prefault) page tables + readable. */ +# define MADV_POPULATE_WRITE 23 /* Populate (prefault) page tables + writable. */ +# define MADV_DONTNEED_LOCKED 24 /* Like MADV_DONTNEED, but drop + locked pages too. */ +# define MADV_COLLAPSE 25 /* Synchronous hugepage collapse. */ # define MADV_HWPOISON 100 /* Poison a page for testing. */ #endif diff --git a/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h b/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h index 0b07c14a77ad5b9621c652782f0ad8aaeb8b34d2..11e2d10189570734b5f86607905fd38831dfc5c4 100644 --- a/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h +++ b/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/generic version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,18 +25,16 @@ includes asm-generic/mman.h without any changes to the values of the MAP_* flags defined in that header. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY. */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x02000 /* Lock the mapping. */ -# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY. */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x02000 /* Lock the mapping. */ +#define MAP_NORESERVE 0x04000 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap - underlying mapping. */ -#endif \ No newline at end of file +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/mman-shared.h b/lib/libc/include/generic-glibc/bits/mman-shared.h index 5f2d11b307cef7ecdbb5a082ed27451c710635d5..c1d324dc31a7431f0d45414a69b4fce3c9659fd5 100644 --- a/lib/libc/include/generic-glibc/bits/mman-shared.h +++ b/lib/libc/include/generic-glibc/bits/mman-shared.h @@ -1,5 +1,5 @@ /* Memory-mapping-related declarations/definitions, not architecture-specific. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,6 +32,10 @@ # define MFD_ALLOW_SEALING 2U # define MFD_HUGETLB 4U # endif +# ifndef MFD_NOEXEC_SEAL +# define MFD_NOEXEC_SEAL 8U +# define MFD_EXEC 0x10U +# endif /* Flags for mlock2. */ # ifndef MLOCK_ONFAULT diff --git a/lib/libc/include/generic-glibc/bits/mman.h b/lib/libc/include/generic-glibc/bits/mman.h index 0eefbf5fb5abccc81ea574ffc2cc4864fa94bb36..addb5b1033f8521f9eff5c0e427fd5442d201e56 100644 --- a/lib/libc/include/generic-glibc/bits/mman.h +++ b/lib/libc/include/generic-glibc/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/generic version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mman_ext.h b/lib/libc/include/generic-glibc/bits/mman_ext.h new file mode 100644 index 0000000000000000000000000000000000000000..c470c06200f826832940f1cc7cd4bbbb2a1868d4 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/mman_ext.h @@ -0,0 +1,32 @@ +/* System-specific extensions of , Linux version. + Copyright (C) 2022-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_GNU +struct iovec; +extern __ssize_t process_madvise (int __pid_fd, const struct iovec *__iov, + size_t __count, int __advice, + unsigned __flags) + __THROW; + +extern int process_mrelease (int pidfd, unsigned int flags) __THROW; + +#endif /* __USE_GNU */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/monetary-ldbl.h b/lib/libc/include/generic-glibc/bits/monetary-ldbl.h index 312338cb0200bf2f74080362d47332a9757456c6..1d9b5f5db68f8aa3dd1d0f5e399bb50e3460fb83 100644 --- a/lib/libc/include/generic-glibc/bits/monetary-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/monetary-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for monetary functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mqueue.h b/lib/libc/include/generic-glibc/bits/mqueue.h index 87ef1ccf9a05670feb81be0776f5ffc8b153fa46..0ce1225d402bfa3d573dd952da2305ed45444bc7 100644 --- a/lib/libc/include/generic-glibc/bits/mqueue.h +++ b/lib/libc/include/generic-glibc/bits/mqueue.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mqueue2.h b/lib/libc/include/generic-glibc/bits/mqueue2.h index 63f84158e22820749d26dbda71fbf73a0e6eaecd..c7eb0fdd0444024e320023701918ebef69743c98 100644 --- a/lib/libc/include/generic-glibc/bits/mqueue2.h +++ b/lib/libc/include/generic-glibc/bits/mqueue2.h @@ -1,5 +1,5 @@ /* Checking macros for mq functions. - Copyright (C) 2007-2021 Free Software Foundation, Inc. + Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/msq.h b/lib/libc/include/generic-glibc/bits/msq.h index ec07f9f195156c66e9b6d926a78f9262d56498e6..506311a7e5ab875d0da8f08ce98d5efd70ebca4e 100644 --- a/lib/libc/include/generic-glibc/bits/msq.h +++ b/lib/libc/include/generic-glibc/bits/msq.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/netdb.h b/lib/libc/include/generic-glibc/bits/netdb.h index 9bb0a26493c9e6fc1c485712f9a0148d947db35f..87fb10035311c2799da259375799c7fe5f936443 100644 --- a/lib/libc/include/generic-glibc/bits/netdb.h +++ b/lib/libc/include/generic-glibc/bits/netdb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/param.h b/lib/libc/include/generic-glibc/bits/param.h index 77a458a39471550e229bddcc4ef0f728a9130296..9780c258d2fb7f628a9f09fde0eb1c6448149383 100644 --- a/lib/libc/include/generic-glibc/bits/param.h +++ b/lib/libc/include/generic-glibc/bits/param.h @@ -1,5 +1,5 @@ /* Old-style Unix parameters and limits. Linux version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/platform/x86.h b/lib/libc/include/generic-glibc/bits/platform/x86.h index 214f2a93a8e10164244cfdb5817d22a01463b4c0..f8051770b392340f6ed29c86bc1b4132c25b6de5 100644 --- a/lib/libc/include/generic-glibc/bits/platform/x86.h +++ b/lib/libc/include/generic-glibc/bits/platform/x86.h @@ -1,6 +1,6 @@ /* Constants and data structures for x86 CPU features. This file is part of the GNU C Library. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2023 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -181,13 +181,13 @@ enum x86_cpu_AVX512_BITALG = x86_cpu_index_7_ecx + 12, x86_cpu_INDEX_7_ECX_13 = x86_cpu_index_7_ecx + 13, x86_cpu_AVX512_VPOPCNTDQ = x86_cpu_index_7_ecx + 14, - x86_cpu_INDEX_7_ECX_1 = x86_cpu_index_7_ecx + 15, - x86_cpu_INDEX_7_ECX_16 = x86_cpu_index_7_ecx + 16, + x86_cpu_INDEX_7_ECX_15 = x86_cpu_index_7_ecx + 15, + x86_cpu_LA57 = x86_cpu_index_7_ecx + 16, /* Note: Bits 17-21: The value of MAWAU used by the BNDLDX and BNDSTX instructions in 64-bit mode. */ x86_cpu_RDPID = x86_cpu_index_7_ecx + 22, x86_cpu_KL = x86_cpu_index_7_ecx + 23, - x86_cpu_INDEX_7_ECX_24 = x86_cpu_index_7_ecx + 24, + x86_cpu_BUS_LOCK_DETECT = x86_cpu_index_7_ecx + 24, x86_cpu_CLDEMOTE = x86_cpu_index_7_ecx + 25, x86_cpu_INDEX_7_ECX_26 = x86_cpu_index_7_ecx + 26, x86_cpu_MOVDIRI = x86_cpu_index_7_ecx + 27, @@ -201,7 +201,7 @@ enum + cpuid_register_index_edx * 8 * sizeof (unsigned int)), x86_cpu_INDEX_7_EDX_0 = x86_cpu_index_7_edx, - x86_cpu_INDEX_7_EDX_1 = x86_cpu_index_7_edx + 1, + x86_cpu_SGX_KEYS = x86_cpu_index_7_edx + 1, x86_cpu_AVX512_4VNNIW = x86_cpu_index_7_edx + 2, x86_cpu_AVX512_4FMAPS = x86_cpu_index_7_edx + 3, x86_cpu_FSRM = x86_cpu_index_7_edx + 4, @@ -213,13 +213,13 @@ enum x86_cpu_MD_CLEAR = x86_cpu_index_7_edx + 10, x86_cpu_RTM_ALWAYS_ABORT = x86_cpu_index_7_edx + 11, x86_cpu_INDEX_7_EDX_12 = x86_cpu_index_7_edx + 12, - x86_cpu_INDEX_7_EDX_13 = x86_cpu_index_7_edx + 13, + x86_cpu_RTM_FORCE_ABORT = x86_cpu_index_7_edx + 13, x86_cpu_SERIALIZE = x86_cpu_index_7_edx + 14, x86_cpu_HYBRID = x86_cpu_index_7_edx + 15, x86_cpu_TSXLDTRK = x86_cpu_index_7_edx + 16, x86_cpu_INDEX_7_EDX_17 = x86_cpu_index_7_edx + 17, x86_cpu_PCONFIG = x86_cpu_index_7_edx + 18, - x86_cpu_INDEX_7_EDX_19 = x86_cpu_index_7_edx + 19, + x86_cpu_LBR = x86_cpu_index_7_edx + 19, x86_cpu_IBT = x86_cpu_index_7_edx + 20, x86_cpu_INDEX_7_EDX_21 = x86_cpu_index_7_edx + 21, x86_cpu_AMX_BF16 = x86_cpu_index_7_edx + 22, @@ -288,13 +288,31 @@ enum = (CPUID_INDEX_7_ECX_1 * 8 * 4 * sizeof (unsigned int) + cpuid_register_index_eax * 8 * sizeof (unsigned int)), + x86_cpu_RAO_INT = x86_cpu_index_7_ecx_1_eax + 3, x86_cpu_AVX_VNNI = x86_cpu_index_7_ecx_1_eax + 4, x86_cpu_AVX512_BF16 = x86_cpu_index_7_ecx_1_eax + 5, + x86_cpu_LASS = x86_cpu_index_7_ecx_1_eax + 6, + x86_cpu_CMPCCXADD = x86_cpu_index_7_ecx_1_eax + 7, + x86_cpu_ArchPerfmonExt = x86_cpu_index_7_ecx_1_eax + 8, x86_cpu_FZLRM = x86_cpu_index_7_ecx_1_eax + 10, x86_cpu_FSRS = x86_cpu_index_7_ecx_1_eax + 11, x86_cpu_FSRCS = x86_cpu_index_7_ecx_1_eax + 12, + x86_cpu_WRMSRNS = x86_cpu_index_7_ecx_1_eax + 19, + x86_cpu_AMX_FP16 = x86_cpu_index_7_ecx_1_eax + 21, x86_cpu_HRESET = x86_cpu_index_7_ecx_1_eax + 22, + x86_cpu_AVX_IFMA = x86_cpu_index_7_ecx_1_eax + 23, x86_cpu_LAM = x86_cpu_index_7_ecx_1_eax + 26, + x86_cpu_MSRLIST = x86_cpu_index_7_ecx_1_eax + 27, + + x86_cpu_index_7_ecx_1_edx + = (CPUID_INDEX_7_ECX_1 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_edx * 8 * sizeof (unsigned int)), + + x86_cpu_AVX_VNNI_INT8 = x86_cpu_index_7_ecx_1_edx + 4, + x86_cpu_AVX_NE_CONVERT = x86_cpu_index_7_ecx_1_edx + 5, + x86_cpu_AMX_COMPLEX = x86_cpu_index_7_ecx_1_edx + 8, + x86_cpu_PREFETCHI = x86_cpu_index_7_ecx_1_edx + 14, + x86_cpu_APX_F = x86_cpu_index_7_ecx_1_edx + 21, x86_cpu_index_19_ebx = (CPUID_INDEX_19 * 8 * 4 * sizeof (unsigned int) diff --git a/lib/libc/include/generic-glibc/bits/poll.h b/lib/libc/include/generic-glibc/bits/poll.h index bcfddcac4d44e3f24b9b699094393a7d7c3e682d..ab960fcdffbf0afae6f75b7ecd05ef01a0ab1d4b 100644 --- a/lib/libc/include/generic-glibc/bits/poll.h +++ b/lib/libc/include/generic-glibc/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/poll2.h b/lib/libc/include/generic-glibc/bits/poll2.h index 10bcf5b7f18d6247f23a11ab5c3a0cd7d728bd6d..6be68c7c4641c3fbaca7ecb7a6b735beefd659a3 100644 --- a/lib/libc/include/generic-glibc/bits/poll2.h +++ b/lib/libc/include/generic-glibc/bits/poll2.h @@ -1,5 +1,5 @@ /* Checking macros for poll functions. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,23 +33,40 @@ extern int __REDIRECT (__poll_chk_warn, (struct pollfd *__fds, nfds_t __nfds, __poll_chk) __warnattr ("poll called with fds buffer too small file nfds entries"); -__fortify_function __attr_access ((__write_only__, 1, 2)) int +__fortify_function __fortified_attr_access (__write_only__, 1, 2) int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) { - if (__glibc_objsize (__fds) != (__SIZE_TYPE__) -1) - { - if (! __builtin_constant_p (__nfds)) - return __poll_chk (__fds, __nfds, __timeout, __glibc_objsize (__fds)); - else if (__glibc_objsize (__fds) / sizeof (*__fds) < __nfds) - return __poll_chk_warn (__fds, __nfds, __timeout, - __glibc_objsize (__fds)); - } - - return __poll_alias (__fds, __nfds, __timeout); + return __glibc_fortify (poll, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout); } #ifdef __USE_GNU +# ifdef __USE_TIME_BITS64 +extern int __REDIRECT (__ppoll64_alias, (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss), __ppoll64); +extern int __ppoll64_chk (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss, __SIZE_TYPE__ __fdslen) + __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT (__ppoll64_chk_warn, (struct pollfd *__fds, nfds_t __n, + const struct timespec *__timeout, + const __sigset_t *__ss, + __SIZE_TYPE__ __fdslen), + __ppoll64_chk) + __warnattr ("ppoll called with fds buffer too small file nfds entries"); + +__fortify_function __fortified_attr_access (__write_only__, 1, 2) int +ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, + const __sigset_t *__ss) +{ + return __glibc_fortify (ppoll64, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout, __ss); +} +# else extern int __REDIRECT (__ppoll_alias, (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss), ppoll); @@ -64,22 +81,15 @@ extern int __REDIRECT (__ppoll_chk_warn, (struct pollfd *__fds, nfds_t __nfds, __ppoll_chk) __warnattr ("ppoll called with fds buffer too small file nfds entries"); -__fortify_function __attr_access ((__write_only__, 1, 2)) int +__fortify_function __fortified_attr_access (__write_only__, 1, 2) int ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss) { - if (__glibc_objsize (__fds) != (__SIZE_TYPE__) -1) - { - if (! __builtin_constant_p (__nfds)) - return __ppoll_chk (__fds, __nfds, __timeout, __ss, - __glibc_objsize (__fds)); - else if (__glibc_objsize (__fds) / sizeof (*__fds) < __nfds) - return __ppoll_chk_warn (__fds, __nfds, __timeout, __ss, - __glibc_objsize (__fds)); - } - - return __ppoll_alias (__fds, __nfds, __timeout, __ss); + return __glibc_fortify (ppoll, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout, __ss); } +# endif #endif __END_DECLS \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/posix1_lim.h b/lib/libc/include/generic-glibc/bits/posix1_lim.h index a6a8178b01ea7abe82291afaece67624f0943160..d55620705286d7e18d99303e90cebda787538ee3 100644 --- a/lib/libc/include/generic-glibc/bits/posix1_lim.h +++ b/lib/libc/include/generic-glibc/bits/posix1_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -134,7 +134,7 @@ /* Maximum number of characters in a tty name. */ #define _POSIX_TTY_NAME_MAX 9 -/* Maximum length of a timezone name (element of `tzname'). */ +/* Maximum length of a time zone abbreviation (element of 'tzname'). */ #ifdef __USE_XOPEN2K # define _POSIX_TZNAME_MAX 6 #else diff --git a/lib/libc/include/generic-glibc/bits/posix2_lim.h b/lib/libc/include/generic-glibc/bits/posix2_lim.h index 259ba04141ff649679b1fbd2e24d6f51f388d473..defb8376b00b8a0ad52fe35c31eca96a78c29d5a 100644 --- a/lib/libc/include/generic-glibc/bits/posix2_lim.h +++ b/lib/libc/include/generic-glibc/bits/posix2_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/posix_opt.h b/lib/libc/include/generic-glibc/bits/posix_opt.h index 14338737d821de75c89ffe9fb590163bea0c9697..1be7043d0bfe460ad7002af2ff13b8e35bdbbdb1 100644 --- a/lib/libc/include/generic-glibc/bits/posix_opt.h +++ b/lib/libc/include/generic-glibc/bits/posix_opt.h @@ -1,5 +1,5 @@ /* Define POSIX options for Linux. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -84,7 +84,7 @@ /* We support user-defined stacks. */ #define _POSIX_THREAD_ATTR_STACKADDR 200809L -/* We support priority inheritence. */ +/* We support priority inheritance. */ #define _POSIX_THREAD_PRIO_INHERIT 200809L /* We support priority protection, though only for non-robust @@ -92,7 +92,7 @@ #define _POSIX_THREAD_PRIO_PROTECT 200809L #ifdef __USE_XOPEN2K8 -/* We support priority inheritence for robust mutexes. */ +/* We support priority inheritance for robust mutexes. */ # define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L /* We do not support priority protection for robust mutexes. */ diff --git a/lib/libc/include/generic-glibc/bits/ppc.h b/lib/libc/include/generic-glibc/bits/ppc.h index f2cf29b94ce58447ee3600581337e913cb8185cf..7a28bf261c4edd18c25d256ea3c8205c99a70fc4 100644 --- a/lib/libc/include/generic-glibc/bits/ppc.h +++ b/lib/libc/include/generic-glibc/bits/ppc.h @@ -1,5 +1,5 @@ /* Facilities specific to the PowerPC architecture on Linux - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/printf-ldbl.h b/lib/libc/include/generic-glibc/bits/printf-ldbl.h index bbcd0facb3f8d4653f0978514bceaccce3873605..0f1d406e1e1e0734aa778ad0961d22f45e5e093b 100644 --- a/lib/libc/include/generic-glibc/bits/printf-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/printf-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/procfs-extra.h b/lib/libc/include/generic-glibc/bits/procfs-extra.h index e22e0c3277f6bea1518729fe75cedeabdf89e81c..38f764af5fec2659fe5344d606dbe34c39a5b5e0 100644 --- a/lib/libc/include/generic-glibc/bits/procfs-extra.h +++ b/lib/libc/include/generic-glibc/bits/procfs-extra.h @@ -1,5 +1,5 @@ /* Extra sys/procfs.h definitions. Generic Linux version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/bits/procfs-id.h b/lib/libc/include/generic-glibc/bits/procfs-id.h index 898230c97d8192e5acb42bce812c8b0710e2cef8..26a2efbdbd43042e1f109cbb42e31910b2412931 100644 --- a/lib/libc/include/generic-glibc/bits/procfs-id.h +++ b/lib/libc/include/generic-glibc/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/bits/procfs-prregset.h b/lib/libc/include/generic-glibc/bits/procfs-prregset.h index 10f855a56065e85e1b8a61744eacde4e86c72119..18127f7eb379bb662587a7932299e5b1b0afe295 100644 --- a/lib/libc/include/generic-glibc/bits/procfs-prregset.h +++ b/lib/libc/include/generic-glibc/bits/procfs-prregset.h @@ -1,5 +1,5 @@ /* Types of prgregset_t and prfpregset_t. Generic Linux version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/bits/procfs.h b/lib/libc/include/generic-glibc/bits/procfs.h index d309e364896b0f2cf6f45476b58e67af9fd1e1f1..ed08a9ae3dd2bada0dc222fabc43760c261af201 100644 --- a/lib/libc/include/generic-glibc/bits/procfs.h +++ b/lib/libc/include/generic-glibc/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. MIPS version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h b/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h index a01a2eb280651993a2c1696e5ba42322fb141b7f..09d1c8b873d9807e70e9934e815f9524660a8aa3 100644 --- a/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h +++ b/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN, possibly dynamic. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/pthread_stack_min.h b/lib/libc/include/generic-glibc/bits/pthread_stack_min.h index af78521be76497c01d73ba80ff4e1f31c42ee6d7..9085496e9899914ef06a0212fd8bc7a4995b5d2c 100644 --- a/lib/libc/include/generic-glibc/bits/pthread_stack_min.h +++ b/lib/libc/include/generic-glibc/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h b/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h index 645c708f135e76a9d4f4b329a1c99bfb3f56ecfd..4f52badcceecb4251197aae3f4141a2b3dca3e4b 100644 --- a/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h +++ b/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. Generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/bits/pthreadtypes.h b/lib/libc/include/generic-glibc/bits/pthreadtypes.h index 0f8308ca31aae3220d01e60e966ef73cc4b88b33..67a7d7964065d8d81a4f2570160fd4669185422c 100644 --- a/lib/libc/include/generic-glibc/bits/pthreadtypes.h +++ b/lib/libc/include/generic-glibc/bits/pthreadtypes.h @@ -1,5 +1,5 @@ /* Declaration of common pthread types for all architectures. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ptrace-shared.h b/lib/libc/include/generic-glibc/bits/ptrace-shared.h index 19b127b7e1bce5eac795e8b2f39bd6316f0f54fd..1f432d1aa3975e5612352bdc493473f6f5d613dc 100644 --- a/lib/libc/include/generic-glibc/bits/ptrace-shared.h +++ b/lib/libc/include/generic-glibc/bits/ptrace-shared.h @@ -1,6 +1,6 @@ /* `ptrace' debugger support interface. Linux version, not architecture-specific. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -120,6 +120,16 @@ struct __ptrace_syscall_info }; }; +/* Results of PTRACE_GET_RSEQ_CONFIGURATION. */ +struct __ptrace_rseq_configuration +{ + __uint64_t rseq_abi_pointer; + __uint32_t rseq_abi_size; + __uint32_t signature; + __uint32_t flags; + __uint32_t pad; +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/lib/libc/include/generic-glibc/bits/resource.h b/lib/libc/include/generic-glibc/bits/resource.h index 613360fe29a462c51a21ad056c2b515b0bad43fc..21cc08e77a999f291f11f674aef08716e4c4d69c 100644 --- a/lib/libc/include/generic-glibc/bits/resource.h +++ b/lib/libc/include/generic-glibc/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/rseq.h b/lib/libc/include/generic-glibc/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..3f7e6fd758504f921232d7c0d833b22298299cf0 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/rseq.h @@ -0,0 +1,62 @@ +/* Restartable Sequences Linux mips architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the break instruction. The instruction pattern is: + + On MIPS: + 0350000d break 0x350 + + On nanoMIPS: + 00100350 break 0x350 + + On microMIPS: + 0000d407 break 0x350 + + For nanoMIPS32 and microMIPS, the instruction stream is encoded as + 16-bit halfwords, so the signature halfwords need to be swapped + accordingly for little-endian. */ + +#if defined (__nanomips__) +# ifdef __MIPSEL__ +# define RSEQ_SIG 0x03500010 +# else +# define RSEQ_SIG 0x00100350 +# endif +#elif defined (__mips_micromips) +# ifdef __MIPSEL__ +# define RSEQ_SIG 0xd4070000 +# else +# define RSEQ_SIG 0x0000d407 +# endif +#elif defined (__mips__) +# define RSEQ_SIG 0x0350000d +#else +/* Unknown MIPS architecture. */ +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/sched.h b/lib/libc/include/generic-glibc/bits/sched.h index 41bf119703e663d93d8053230b5cb2d0588da723..aaeb4950a019e85e878b2a28e062e46f570842dc 100644 --- a/lib/libc/include/generic-glibc/bits/sched.h +++ b/lib/libc/include/generic-glibc/bits/sched.h @@ -1,6 +1,6 @@ /* Definitions of constants and data structure for POSIX 1003.1b-1993 scheduling interface. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -71,6 +71,10 @@ # define CLONE_NEWPID 0x20000000 /* New pid namespace. */ # define CLONE_NEWNET 0x40000000 /* New network namespace. */ # define CLONE_IO 0x80000000 /* Clone I/O context. */ + +/* cloning flags intersect with CSIGNAL so can be used only with unshare and + clone3 syscalls. */ +#define CLONE_NEWTIME 0x00000080 /* New time namespace */ #endif #include diff --git a/lib/libc/include/generic-glibc/bits/select-decl.h b/lib/libc/include/generic-glibc/bits/select-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..19d1335116e25f91c5a9db715f4a4c43c6a813d3 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/select-decl.h @@ -0,0 +1,31 @@ +/* Checking routines for select functions. Declaration only. + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SELECT_DECL_H +#define _BITS_SELECT_DECL_H 1 + +#ifndef _SYS_SELECT_H +# error "Never include directly; use instead." +#endif + +/* Helper functions to issue warnings and errors when needed. */ +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __warnattr ("bit outside of fd_set selected"); + +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/select.h b/lib/libc/include/generic-glibc/bits/select.h index f2581c204545a828710f72ab57129406267f1917..684c93c78a489eff56f8bfd85e57c228c71a2ca3 100644 --- a/lib/libc/include/generic-glibc/bits/select.h +++ b/lib/libc/include/generic-glibc/bits/select.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/select2.h b/lib/libc/include/generic-glibc/bits/select2.h index 53d894ceb0e383cd1e8de8564541e713e072f791..b5577567dfdfe10c0c5447b5a45c97589f1fefbd 100644 --- a/lib/libc/include/generic-glibc/bits/select2.h +++ b/lib/libc/include/generic-glibc/bits/select2.h @@ -1,5 +1,5 @@ /* Checking macros for select functions. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,10 +20,8 @@ # error "Never include directly; use instead." #endif -/* Helper functions to issue warnings and errors when needed. */ -extern long int __fdelt_chk (long int __d); -extern long int __fdelt_warn (long int __d) - __warnattr ("bit outside of fd_set selected"); +#include + #undef __FD_ELT #define __FD_ELT(d) \ __extension__ \ diff --git a/lib/libc/include/generic-glibc/bits/sem.h b/lib/libc/include/generic-glibc/bits/sem.h index efab0d3b07e55c3b5958dca89ae896d025b8551e..dc0bec8396d26d6d558f071d7826be4292ea882a 100644 --- a/lib/libc/include/generic-glibc/bits/sem.h +++ b/lib/libc/include/generic-glibc/bits/sem.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/semaphore.h b/lib/libc/include/generic-glibc/bits/semaphore.h index 55241317561064dbc3a366eafacaeb34238b400f..54a7c74d9013ba7203249b4b9ac35831a5faf308 100644 --- a/lib/libc/include/generic-glibc/bits/semaphore.h +++ b/lib/libc/include/generic-glibc/bits/semaphore.h @@ -1,5 +1,5 @@ /* Generic POSIX semaphore type layout - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/setjmp.h b/lib/libc/include/generic-glibc/bits/setjmp.h index 1eba8c81fad24806b3728e6ea796bf6d59552fc2..92cdc008a8846b814d0dc5d02d25ee58099b2f29 100644 --- a/lib/libc/include/generic-glibc/bits/setjmp.h +++ b/lib/libc/include/generic-glibc/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. MIPS version. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/setjmp2.h b/lib/libc/include/generic-glibc/bits/setjmp2.h index a0dbc65c284e8ae8c11420f45f2f95c99361c0ce..fcf58ea15f02d2a3df24e1e32978800cda413ce9 100644 --- a/lib/libc/include/generic-glibc/bits/setjmp2.h +++ b/lib/libc/include/generic-glibc/bits/setjmp2.h @@ -1,5 +1,5 @@ /* Checking macros for setjmp functions. - Copyright (C) 2009-2021 Free Software Foundation, Inc. + Copyright (C) 2009-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/shm.h b/lib/libc/include/generic-glibc/bits/shm.h index 28b171ed98e5cd872ff6530b8ae261290d767b77..af5e636fde70b4abf67b58b8abdef689d021f01f 100644 --- a/lib/libc/include/generic-glibc/bits/shm.h +++ b/lib/libc/include/generic-glibc/bits/shm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/shmlba.h b/lib/libc/include/generic-glibc/bits/shmlba.h index 1519a2965ca0459e6ddbadec75e5d0d1e9f37fc4..7fc321d6ecd6cc20f51e29bae96ee9e347b581d4 100644 --- a/lib/libc/include/generic-glibc/bits/shmlba.h +++ b/lib/libc/include/generic-glibc/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigaction.h b/lib/libc/include/generic-glibc/bits/sigaction.h index c56810569143ac28661d58da0a6df4adbcd8e359..42a8c87aefc0c9c93e29088fd288c5a5eebb366f 100644 --- a/lib/libc/include/generic-glibc/bits/sigaction.h +++ b/lib/libc/include/generic-glibc/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigcontext.h b/lib/libc/include/generic-glibc/bits/sigcontext.h index b10a18865f11126f07923594ce020f29a01bd6c3..300f983ac5cbcdbf5e318eaf271d3da35371e0b9 100644 --- a/lib/libc/include/generic-glibc/bits/sigcontext.h +++ b/lib/libc/include/generic-glibc/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigevent-consts.h b/lib/libc/include/generic-glibc/bits/sigevent-consts.h index 5b2041601f8dc652eb41fd532b976ec4197598f8..24b55eab590c99ea3ffa292bb7631b73c2549764 100644 --- a/lib/libc/include/generic-glibc/bits/sigevent-consts.h +++ b/lib/libc/include/generic-glibc/bits/sigevent-consts.h @@ -1,5 +1,5 @@ /* sigevent constants. Linux version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/siginfo-consts.h b/lib/libc/include/generic-glibc/bits/siginfo-consts.h index d7f1c8feb2e78f34a26b67bca977af98fb1bb06e..a9de1350b8d8f14843dcf6f5cc2c33a727d18e1e 100644 --- a/lib/libc/include/generic-glibc/bits/siginfo-consts.h +++ b/lib/libc/include/generic-glibc/bits/siginfo-consts.h @@ -1,5 +1,5 @@ /* siginfo constants. Linux version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -143,7 +143,7 @@ enum { BUS_ADRALN = 1, /* Invalid address alignment. */ # define BUS_ADRALN BUS_ADRALN - BUS_ADRERR, /* Non-existant physical address. */ + BUS_ADRERR, /* Non-existent physical address. */ # define BUS_ADRERR BUS_ADRERR BUS_OBJERR, /* Object specific hardware error. */ # define BUS_OBJERR BUS_OBJERR diff --git a/lib/libc/include/generic-glibc/bits/signal_ext.h b/lib/libc/include/generic-glibc/bits/signal_ext.h index 310f52bebc12dd0c4506922e4d2f6c88be6e83bd..f106f2c83ac351c2eaafa3ae7dda0838e8fddbf8 100644 --- a/lib/libc/include/generic-glibc/bits/signal_ext.h +++ b/lib/libc/include/generic-glibc/bits/signal_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of , Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/signalfd.h b/lib/libc/include/generic-glibc/bits/signalfd.h index 2851f61fa5f8dfe213bae8864277a4525cad12a9..26bca1bf4a7a865612bba56b27eba95179a1e60e 100644 --- a/lib/libc/include/generic-glibc/bits/signalfd.h +++ b/lib/libc/include/generic-glibc/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/signum-arch.h b/lib/libc/include/generic-glibc/bits/signum-arch.h index 36a3d33827a178f1f61bfeab766fa5df62cc583e..e268889fc233eab9437ead31e977310cfaecf1b5 100644 --- a/lib/libc/include/generic-glibc/bits/signum-arch.h +++ b/lib/libc/include/generic-glibc/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/signum-generic.h b/lib/libc/include/generic-glibc/bits/signum-generic.h index 2a3247ebd6d607e6dda98a822f026b951e4d7768..05172b26347255ca09ee99533cf445a158bb982d 100644 --- a/lib/libc/include/generic-glibc/bits/signum-generic.h +++ b/lib/libc/include/generic-glibc/bits/signum-generic.h @@ -1,5 +1,5 @@ /* Signal number constants. Generic template. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigstack.h b/lib/libc/include/generic-glibc/bits/sigstack.h index 7e6cf36d8eb38c217488b30e9df1d097cf88af29..25bd7cb9ebf5019504d0990fe290711706ccdb49 100644 --- a/lib/libc/include/generic-glibc/bits/sigstack.h +++ b/lib/libc/include/generic-glibc/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigstksz.h b/lib/libc/include/generic-glibc/bits/sigstksz.h index b9cda80f3e8d6bbf334741e757ccd352e0081781..30729be6038dcb7df9baff40ccb9d767808b2916 100644 --- a/lib/libc/include/generic-glibc/bits/sigstksz.h +++ b/lib/libc/include/generic-glibc/bits/sigstksz.h @@ -1,5 +1,5 @@ /* Definition of MINSIGSTKSZ and SIGSTKSZ. Linux version. - Copyright (C) 2020 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigthread.h b/lib/libc/include/generic-glibc/bits/sigthread.h index 2d7fac43ebcfdf0201e82350f891642bdc243da3..00cd9054290865838c2a354188f241beaa433c7f 100644 --- a/lib/libc/include/generic-glibc/bits/sigthread.h +++ b/lib/libc/include/generic-glibc/bits/sigthread.h @@ -1,5 +1,5 @@ /* Signal handling function for threaded programs. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sockaddr.h b/lib/libc/include/generic-glibc/bits/sockaddr.h index 056b5e3f27440d7d6a5204929db635df69e19f97..a67b661d073d58b8559d1e5ee8e17837719b9719 100644 --- a/lib/libc/include/generic-glibc/bits/sockaddr.h +++ b/lib/libc/include/generic-glibc/bits/sockaddr.h @@ -1,5 +1,5 @@ /* Definition of struct sockaddr_* common members and sizes, generic version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/socket-constants.h b/lib/libc/include/generic-glibc/bits/socket-constants.h index f82406abd8c8cf02a0391fec1601996d4b1545dd..a7d111ca84036b9ada0897be95c3b6e2eaf25b4c 100644 --- a/lib/libc/include/generic-glibc/bits/socket-constants.h +++ b/lib/libc/include/generic-glibc/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/socket.h b/lib/libc/include/generic-glibc/bits/socket.h index 30d74fa2149b65ad69170c7fff69803ae0f530ce..e207418f5b53f71ed50f57c6a4913c439bb12331 100644 --- a/lib/libc/include/generic-glibc/bits/socket.h +++ b/lib/libc/include/generic-glibc/bits/socket.h @@ -1,5 +1,5 @@ /* System-specific socket constants and types. Linux version. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -86,7 +86,8 @@ typedef __socklen_t socklen_t; #define PF_QIPCRTR 42 /* Qualcomm IPC Router. */ #define PF_SMC 43 /* SMC sockets. */ #define PF_XDP 44 /* XDP sockets. */ -#define PF_MAX 45 /* For now.. */ +#define PF_MCTP 45 /* Management component transport protocol. */ +#define PF_MAX 46 /* For now.. */ /* Address families. */ #define AF_UNSPEC PF_UNSPEC @@ -137,6 +138,7 @@ typedef __socklen_t socklen_t; #define AF_QIPCRTR PF_QIPCRTR #define AF_SMC PF_SMC #define AF_XDP PF_XDP +#define AF_MCTP PF_MCTP #define AF_MAX PF_MAX /* Socket level values. Others are defined in the appropriate headers. @@ -167,6 +169,9 @@ typedef __socklen_t socklen_t; #define SOL_KCM 281 #define SOL_TLS 282 #define SOL_XDP 283 +#define SOL_MPTCP 284 +#define SOL_MCTP 285 +#define SOL_SMC 286 /* Maximum queue length specifiable by listen. */ #define SOMAXCONN 4096 @@ -302,6 +307,12 @@ struct cmsghdr + CMSG_ALIGN (sizeof (struct cmsghdr))) #define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) +/* Given a length, return the additional padding necessary such that + len + __CMSG_PADDING(len) == CMSG_ALIGN (len). */ +#define __CMSG_PADDING(len) ((sizeof (size_t) \ + - ((len) & (sizeof (size_t) - 1))) \ + & (sizeof (size_t) - 1)) + extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW; #ifdef __USE_EXTERN_INLINES @@ -311,18 +322,38 @@ extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, _EXTERN_INLINE struct cmsghdr * __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)) { + /* We may safely assume that __cmsg lies between __mhdr->msg_control and + __mhdr->msg_controllen because the user is required to obtain the first + cmsg via CMSG_FIRSTHDR, set its length, then obtain subsequent cmsgs + via CMSG_NXTHDR, setting lengths along the way. However, we don't yet + trust the value of __cmsg->cmsg_len and therefore do not use it in any + pointer arithmetic until we check its value. */ + + unsigned char * __msg_control_ptr = (unsigned char *) __mhdr->msg_control; + unsigned char * __cmsg_ptr = (unsigned char *) __cmsg; + + size_t __size_needed = sizeof (struct cmsghdr) + + __CMSG_PADDING (__cmsg->cmsg_len); + + /* The current header is malformed, too small to be a full header. */ if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) - /* The kernel header does this so there may be a reason. */ return (struct cmsghdr *) 0; + /* There isn't enough space between __cmsg and the end of the buffer to + hold the current cmsg *and* the next one. */ + if (((size_t) + (__msg_control_ptr + __mhdr->msg_controllen - __cmsg_ptr) + < __size_needed) + || ((size_t) + (__msg_control_ptr + __mhdr->msg_controllen - __cmsg_ptr + - __size_needed) + < __cmsg->cmsg_len)) + + return (struct cmsghdr *) 0; + + /* Now, we trust cmsg_len and can use it to find the next header. */ __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)); - if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control - + __mhdr->msg_controllen) - || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len) - > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) - /* No more entries. */ - return (struct cmsghdr *) 0; return __cmsg; } #endif /* Use `extern inline'. */ diff --git a/lib/libc/include/generic-glibc/bits/socket2.h b/lib/libc/include/generic-glibc/bits/socket2.h index 8f6980bd67575c776a79f695e5ee96fd3d41e731..5d7ef6a9dc74088150d728feb220332fc9111a41 100644 --- a/lib/libc/include/generic-glibc/bits/socket2.h +++ b/lib/libc/include/generic-glibc/bits/socket2.h @@ -1,5 +1,5 @@ /* Checking macros for socket functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,17 +33,12 @@ extern ssize_t __REDIRECT (__recv_chk_warn, __fortify_function ssize_t recv (int __fd, void *__buf, size_t __n, int __flags) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __recv_chk (__fd, __buf, __n, __glibc_objsize0 (__buf), - __flags); - - if (__n > __glibc_objsize0 (__buf)) - return __recv_chk_warn (__fd, __buf, __n, __glibc_objsize0 (__buf), - __flags); - } - return __recv_alias (__fd, __buf, __n, __flags); + size_t sz = __glibc_objsize0 (__buf); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) + return __recv_alias (__fd, __buf, __n, __flags); + if (__glibc_unsafe_len (__n, sizeof (char), sz)) + return __recv_chk_warn (__fd, __buf, __n, sz, __flags); + return __recv_chk (__fd, __buf, __n, sz, __flags); } extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n, @@ -66,14 +61,11 @@ __fortify_function ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __recvfrom_chk (__fd, __buf, __n, __glibc_objsize0 (__buf), - __flags, __addr, __addr_len); - if (__n > __glibc_objsize0 (__buf)) - return __recvfrom_chk_warn (__fd, __buf, __n, __glibc_objsize0 (__buf), - __flags, __addr, __addr_len); - } - return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); + size_t sz = __glibc_objsize0 (__buf); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) + return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); + if (__glibc_unsafe_len (__n, sizeof (char), sz)) + return __recvfrom_chk_warn (__fd, __buf, __n, sz, __flags, __addr, + __addr_len); + return __recvfrom_chk (__fd, __buf, __n, sz, __flags, __addr, __addr_len); } \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/socket_type.h b/lib/libc/include/generic-glibc/bits/socket_type.h index d906ebbaf074f5b668bf0ac754fb0feac69d66f1..0691169e17f4bba4215a72177c01fa061b2d01ce 100644 --- a/lib/libc/include/generic-glibc/bits/socket_type.h +++ b/lib/libc/include/generic-glibc/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for generic Linux. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ss_flags.h b/lib/libc/include/generic-glibc/bits/ss_flags.h index a24d1e66d278a69aae137b34cf23733cfa0e6274..9e82dfcf6dd691c1a709a678f8a82738d8e12228 100644 --- a/lib/libc/include/generic-glibc/bits/ss_flags.h +++ b/lib/libc/include/generic-glibc/bits/ss_flags.h @@ -1,5 +1,5 @@ /* ss_flags values for stack_t. Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stab.def b/lib/libc/include/generic-glibc/bits/stab.def index d1b7c9874509d977f8f2f5262200f38aea9b3f82..ffd1485d78a9fb9256c209fa0242d2f3c9bfde70 100644 --- a/lib/libc/include/generic-glibc/bits/stab.def +++ b/lib/libc/include/generic-glibc/bits/stab.def @@ -1,5 +1,5 @@ /* Table of DBX symbol codes for the GNU system. - Copyright (C) 1988, 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1988, 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stat.h b/lib/libc/include/generic-glibc/bits/stat.h index ddcdcb957e81d9bb903c4e8fc3fd369e61989234..850b3872bd3c70027f761763b57f7b4d00c20d60 100644 --- a/lib/libc/include/generic-glibc/bits/stat.h +++ b/lib/libc/include/generic-glibc/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/statfs.h b/lib/libc/include/generic-glibc/bits/statfs.h index 9d651f397cf093b6277fedbc4b8499b453ea4d98..55be462a4c0e6034296779630b32c9d7d3416a4a 100644 --- a/lib/libc/include/generic-glibc/bits/statfs.h +++ b/lib/libc/include/generic-glibc/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/statvfs.h b/lib/libc/include/generic-glibc/bits/statvfs.h index da2c1fd0071a42db0791022996b053635a004a9d..8aab459a7e71f332d01708e72fde96feb27aea71 100644 --- a/lib/libc/include/generic-glibc/bits/statvfs.h +++ b/lib/libc/include/generic-glibc/bits/statvfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/statx-generic.h b/lib/libc/include/generic-glibc/bits/statx-generic.h index 52709c24650288c2ba5104f041525ffef3043c77..6b58bc9752d649626444cc270eb0edf8a6cb459e 100644 --- a/lib/libc/include/generic-glibc/bits/statx-generic.h +++ b/lib/libc/include/generic-glibc/bits/statx-generic.h @@ -1,5 +1,5 @@ /* Generic statx-related definitions and declarations. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -41,6 +41,7 @@ # define STATX_ALL 0x0fffU # define STATX_BTIME 0x0800U # define STATX_MNT_ID 0x1000U +# define STATX_DIOALIGN 0x2000U # define STATX__RESERVED 0x80000000U # define STATX_ATTR_COMPRESSED 0x0004 diff --git a/lib/libc/include/generic-glibc/bits/statx.h b/lib/libc/include/generic-glibc/bits/statx.h index a0af9c62462f2495939cacfc9e3837547ff6c3d8..889735fb78be9bfbcdb1865861ab5145daaf92f2 100644 --- a/lib/libc/include/generic-glibc/bits/statx.h +++ b/lib/libc/include/generic-glibc/bits/statx.h @@ -1,5 +1,5 @@ /* statx-related definitions and declarations. Linux version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdint-intn.h b/lib/libc/include/generic-glibc/bits/stdint-intn.h index 70e25ae1a98a2173795d8e7e834e7c56b9c0db2f..4bcdd3bf550b5c38f962a7b35f8b8c8220e86ad4 100644 --- a/lib/libc/include/generic-glibc/bits/stdint-intn.h +++ b/lib/libc/include/generic-glibc/bits/stdint-intn.h @@ -1,5 +1,5 @@ /* Define intN_t types. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdint-uintn.h b/lib/libc/include/generic-glibc/bits/stdint-uintn.h index a683f414aacbefda502a727b080bdb6232f56276..24470180d53d9cdc7a0eccda83c150784b4bf9f7 100644 --- a/lib/libc/include/generic-glibc/bits/stdint-uintn.h +++ b/lib/libc/include/generic-glibc/bits/stdint-uintn.h @@ -1,5 +1,5 @@ /* Define uintN_t types. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdio-ldbl.h b/lib/libc/include/generic-glibc/bits/stdio-ldbl.h index fea9a9906c82554f54ca8340c1c7753e47828e16..f4952129d8fa9786f874950d299ae65e6cc4707d 100644 --- a/lib/libc/include/generic-glibc/bits/stdio-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/stdio-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for stdio functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -28,13 +28,25 @@ __LDBL_REDIR_DECL (vprintf) __LDBL_REDIR_DECL (vsprintf) #if !__GLIBC_USE (DEPRECATED_SCANF) # if defined __LDBL_COMPAT +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc23_fscanf) +__LDBL_REDIR1_DECL (scanf, __nldbl___isoc23_scanf) +__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc23_sscanf) +# else __LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf) __LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf) __LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf) +# endif # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (fscanf, __isoc23_fscanfieee128) +__LDBL_REDIR1_DECL (scanf, __isoc23_scanfieee128) +__LDBL_REDIR1_DECL (sscanf, __isoc23_sscanfieee128) +# else __LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128) __LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128) __LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128) +# endif # else # error bits/stdlib-ldbl.h included when no ldbl redirections are required. # endif @@ -52,13 +64,25 @@ __LDBL_REDIR_DECL (vsnprintf) #ifdef __USE_ISOC99 # if !__GLIBC_USE (DEPRECATED_SCANF) # if defined __LDBL_COMPAT +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc23_vfscanf) +__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc23_vscanf) +__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc23_vsscanf) +# else __LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf) __LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf) __LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf) +# endif # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (vfscanf, __isoc23_vfscanfieee128) +__LDBL_REDIR1_DECL (vscanf, __isoc23_vscanfieee128) +__LDBL_REDIR1_DECL (vsscanf, __isoc23_vsscanfieee128) +# else __LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128) __LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128) __LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128) +# endif # else # error bits/stdlib-ldbl.h included when no ldbl redirections are required. # endif diff --git a/lib/libc/include/generic-glibc/bits/stdio.h b/lib/libc/include/generic-glibc/bits/stdio.h index 1e9685797bf462e25e7d1d6c2fef43e1357d2b13..3802c954a42df163373832f19e03021d91dfd7e3 100644 --- a/lib/libc/include/generic-glibc/bits/stdio.h +++ b/lib/libc/include/generic-glibc/bits/stdio.h @@ -1,5 +1,5 @@ /* Optimizing macros and inline functions for stdio functions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdio2-decl.h b/lib/libc/include/generic-glibc/bits/stdio2-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..c8e242532c447119574d04fdc6c64a74529c79d4 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/stdio2-decl.h @@ -0,0 +1,160 @@ +/* Checking macros for stdio functions. Declarations only. + Copyright (C) 2004-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDIO2_DEC_H +#define _BITS_STDIO2_DEC_H 1 + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __THROW + __attr_access ((__write_only__, 1, 3)); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __THROW + __attr_access ((__write_only__, 1, 3)); + +#if defined __USE_ISOC99 || defined __USE_UNIX98 + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __THROW + __attr_access ((__write_only__, 1, 2)); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __THROW + __attr_access ((__write_only__, 1, 2)); + +#endif + +#if __USE_FORTIFY_LEVEL > 1 + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, __gnuc_va_list __ap); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + +# ifdef __USE_XOPEN2K8 +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# endif + +# ifdef __USE_GNU + +extern int __asprintf_chk (char **__restrict __ptr, int __flag, + const char *__restrict __fmt, ...) + __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur; +extern int __vasprintf_chk (char **__restrict __ptr, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur; +extern int __obstack_printf_chk (struct obstack *__restrict __obstack, + int __flag, const char *__restrict __format, + ...) + __THROW __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, + int __flag, + const char *__restrict __format, + __gnuc_va_list __args) + __THROW __attribute__ ((__format__ (__printf__, 3, 0))); + +# endif +#endif + +#if __GLIBC_USE (DEPRECATED_GETS) +extern char *__REDIRECT (__gets_warn, (char *__str), gets) + __wur __warnattr ("please use fgets or getline instead, gets can't " + "specify buffer size"); + +extern char *__gets_chk (char *__str, size_t) __wur; +#endif + +extern char *__REDIRECT (__fgets_alias, + (char *__restrict __s, int __n, + FILE *__restrict __stream), fgets) + __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT (__fgets_chk_warn, + (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream), __fgets_chk) + __wur __warnattr ("fgets called with bigger size than length " + "of destination buffer"); + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __wur __attr_access ((__write_only__, 1, 3)); + +extern size_t __REDIRECT (__fread_alias, + (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream), + fread) __wur; +extern size_t __REDIRECT (__fread_chk_warn, + (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream), + __fread_chk) + __wur __warnattr ("fread called with bigger size * nmemb than length " + "of destination buffer"); + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __wur; + +#ifdef __USE_GNU +extern char *__REDIRECT_FORTIFY (__fgets_unlocked_alias, + (char *__restrict __s, int __n, + FILE *__restrict __stream), fgets_unlocked) + __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT (__fgets_unlocked_chk_warn, + (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream), __fgets_unlocked_chk) + __wur __warnattr ("fgets_unlocked called with bigger size than length " + "of destination buffer"); + + +extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, + int __n, FILE *__restrict __stream) + __wur __attr_access ((__write_only__, 1, 3)); +#endif + +#ifdef __USE_MISC +# undef fread_unlocked +extern size_t __REDIRECT (__fread_unlocked_alias, + (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream), + fread_unlocked) __wur; +extern size_t __REDIRECT (__fread_unlocked_chk_warn, + (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream), + __fread_unlocked_chk) + __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " + "length of destination buffer"); + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __wur; +#endif + +#endif /* bits/stdio2-decl.h. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/stdio2.h b/lib/libc/include/generic-glibc/bits/stdio2.h index 5608dfd198325cd96648d41b4ff443a15d0e31b0..4ed100e3534f81ccfcc31023452a686267ba8871 100644 --- a/lib/libc/include/generic-glibc/bits/stdio2.h +++ b/lib/libc/include/generic-glibc/bits/stdio2.h @@ -1,5 +1,5 @@ /* Checking macros for stdio functions. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,14 +23,6 @@ # error "Never include directly; use instead." #endif -extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, - const char *__restrict __format, ...) __THROW - __attr_access ((__write_only__, 1, 3)); -extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, - const char *__restrict __format, - __gnuc_va_list __ap) __THROW - __attr_access ((__write_only__, 1, 3)); - #ifdef __va_arg_pack __fortify_function int __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...)) @@ -54,15 +46,6 @@ __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt, } #if defined __USE_ISOC99 || defined __USE_UNIX98 - -extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, - size_t __slen, const char *__restrict __format, - ...) __THROW - __attr_access ((__write_only__, 1, 2)); -extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, - size_t __slen, const char *__restrict __format, - __gnuc_va_list __ap) __THROW; - # ifdef __va_arg_pack __fortify_function int __NTH (snprintf (char *__restrict __s, size_t __n, @@ -89,15 +72,6 @@ __NTH (vsnprintf (char *__restrict __s, size_t __n, #endif #if __USE_FORTIFY_LEVEL > 1 - -extern int __fprintf_chk (FILE *__restrict __stream, int __flag, - const char *__restrict __format, ...); -extern int __printf_chk (int __flag, const char *__restrict __format, ...); -extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, - const char *__restrict __format, __gnuc_va_list __ap); -extern int __vprintf_chk (int __flag, const char *__restrict __format, - __gnuc_va_list __ap); - # ifdef __va_arg_pack __fortify_function int fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) @@ -136,12 +110,6 @@ vfprintf (FILE *__restrict __stream, } # ifdef __USE_XOPEN2K8 -extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, - ...) __attribute__ ((__format__ (__printf__, 3, 4))); -extern int __vdprintf_chk (int __fd, int __flag, - const char *__restrict __fmt, __gnuc_va_list __arg) - __attribute__ ((__format__ (__printf__, 3, 0))); - # ifdef __va_arg_pack __fortify_function int dprintf (int __fd, const char *__restrict __fmt, ...) @@ -162,23 +130,6 @@ vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) # endif # ifdef __USE_GNU - -extern int __asprintf_chk (char **__restrict __ptr, int __flag, - const char *__restrict __fmt, ...) - __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur; -extern int __vasprintf_chk (char **__restrict __ptr, int __flag, - const char *__restrict __fmt, __gnuc_va_list __arg) - __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur; -extern int __obstack_printf_chk (struct obstack *__restrict __obstack, - int __flag, const char *__restrict __format, - ...) - __THROW __attribute__ ((__format__ (__printf__, 3, 4))); -extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, - int __flag, - const char *__restrict __format, - __gnuc_va_list __args) - __THROW __attribute__ ((__format__ (__printf__, 3, 0))); - # ifdef __va_arg_pack __fortify_function int __NTH (asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...)) @@ -231,11 +182,6 @@ __NTH (obstack_vprintf (struct obstack *__restrict __obstack, #endif #if __GLIBC_USE (DEPRECATED_GETS) -extern char *__gets_chk (char *__str, size_t) __wur; -extern char *__REDIRECT (__gets_warn, (char *__str), gets) - __wur __warnattr ("please use fgets or getline instead, gets can't " - "specify buffer size"); - __fortify_function __wur char * gets (char *__str) { @@ -245,154 +191,78 @@ gets (char *__str) } #endif -extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, - FILE *__restrict __stream) - __wur __attr_access ((__write_only__, 1, 3)); -extern char *__REDIRECT (__fgets_alias, - (char *__restrict __s, int __n, - FILE *__restrict __stream), fgets) - __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT (__fgets_chk_warn, - (char *__restrict __s, size_t __size, int __n, - FILE *__restrict __stream), __fgets_chk) - __wur __warnattr ("fgets called with bigger size than length " - "of destination buffer"); - -__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char * +__fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * fgets (char *__restrict __s, int __n, FILE *__restrict __stream) { - if (__glibc_objsize (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n) || __n <= 0) - return __fgets_chk (__s, __glibc_objsize (__s), __n, __stream); - - if ((size_t) __n > __glibc_objsize (__s)) - return __fgets_chk_warn (__s, __glibc_objsize (__s), __n, __stream); - } - return __fgets_alias (__s, __n, __stream); + size_t sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) + return __fgets_alias (__s, __n, __stream); + if (__glibc_unsafe_len (__n, sizeof (char), sz)) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); } -extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream) __wur; -extern size_t __REDIRECT (__fread_alias, - (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream), - fread) __wur; -extern size_t __REDIRECT (__fread_chk_warn, - (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream), - __fread_chk) - __wur __warnattr ("fread called with bigger size * nmemb than length " - "of destination buffer"); - __fortify_function __wur size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { - if (__glibc_objsize0 (__ptr) != (size_t) -1) - { - if (!__builtin_constant_p (__size) - || !__builtin_constant_p (__n) - || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) - return __fread_chk (__ptr, __glibc_objsize0 (__ptr), __size, __n, - __stream); - - if (__size * __n > __glibc_objsize0 (__ptr)) - return __fread_chk_warn (__ptr, __glibc_objsize0 (__ptr), __size, __n, - __stream); - } - return __fread_alias (__ptr, __size, __n, __stream); + size_t sz = __glibc_objsize0 (__ptr); + if (__glibc_safe_or_unknown_len (__n, __size, sz)) + return __fread_alias (__ptr, __size, __n, __stream); + if (__glibc_unsafe_len (__n, __size, sz)) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); } #ifdef __USE_GNU -extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, - int __n, FILE *__restrict __stream) - __wur __attr_access ((__write_only__, 1, 3)); -extern char *__REDIRECT (__fgets_unlocked_alias, - (char *__restrict __s, int __n, - FILE *__restrict __stream), fgets_unlocked) - __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT (__fgets_unlocked_chk_warn, - (char *__restrict __s, size_t __size, int __n, - FILE *__restrict __stream), __fgets_unlocked_chk) - __wur __warnattr ("fgets_unlocked called with bigger size than length " - "of destination buffer"); - -__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char * +__fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) { - if (__glibc_objsize (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n) || __n <= 0) - return __fgets_unlocked_chk (__s, __glibc_objsize (__s), __n, - __stream); - - if ((size_t) __n > __glibc_objsize (__s)) - return __fgets_unlocked_chk_warn (__s, __glibc_objsize (__s), __n, - __stream); - } - return __fgets_unlocked_alias (__s, __n, __stream); + size_t sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) + return __fgets_unlocked_alias (__s, __n, __stream); + if (__glibc_unsafe_len (__n, sizeof (char), sz)) + return __fgets_unlocked_chk_warn (__s, sz, __n, __stream); + return __fgets_unlocked_chk (__s, sz, __n, __stream); } #endif #ifdef __USE_MISC # undef fread_unlocked -extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream) __wur; -extern size_t __REDIRECT (__fread_unlocked_alias, - (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream), - fread_unlocked) __wur; -extern size_t __REDIRECT (__fread_unlocked_chk_warn, - (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream), - __fread_unlocked_chk) - __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " - "length of destination buffer"); - __fortify_function __wur size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { - if (__glibc_objsize0 (__ptr) != (size_t) -1) + size_t sz = __glibc_objsize0 (__ptr); + if (__glibc_safe_or_unknown_len (__n, __size, sz)) { - if (!__builtin_constant_p (__size) - || !__builtin_constant_p (__n) - || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) - return __fread_unlocked_chk (__ptr, __glibc_objsize0 (__ptr), __size, - __n, __stream); - - if (__size * __n > __glibc_objsize0 (__ptr)) - return __fread_unlocked_chk_warn (__ptr, __glibc_objsize0 (__ptr), - __size, __n, __stream); - } - # ifdef __USE_EXTERN_INLINES - if (__builtin_constant_p (__size) - && __builtin_constant_p (__n) - && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) - && __size * __n <= 8) - { - size_t __cnt = __size * __n; - char *__cptr = (char *) __ptr; - if (__cnt == 0) - return 0; - - for (; __cnt > 0; --__cnt) + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) { - int __c = getc_unlocked (__stream); - if (__c == EOF) - break; - *__cptr++ = __c; + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == EOF) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; } - return (__cptr - (char *) __ptr) / __size; - } # endif - return __fread_unlocked_alias (__ptr, __size, __n, __stream); + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if (__glibc_unsafe_len (__n, __size, sz)) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + } #endif diff --git a/lib/libc/include/generic-glibc/bits/stdio_lim.h b/lib/libc/include/generic-glibc/bits/stdio_lim.h index bcb352b466f44d7bdc34744216c90e6899acc79a..2486178022be3da32a866fbf99510b9fd9fb751a 100644 --- a/lib/libc/include/generic-glibc/bits/stdio_lim.h +++ b/lib/libc/include/generic-glibc/bits/stdio_lim.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1994-2021 Free Software Foundation, Inc. +/* System specific stdio.h definitions. Linux version. + Copyright (C) 2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,18 +23,6 @@ # error "Never include directly; use instead." #endif -#define L_tmpnam 20 -#define TMP_MAX 238328 #define FILENAME_MAX 4096 -#ifdef __USE_POSIX -# define L_ctermid 9 -# if !defined __USE_XOPEN2K || defined __USE_GNU -# define L_cuserid 9 -# endif -#endif - -#undef FOPEN_MAX -#define FOPEN_MAX 16 - #endif /* bits/stdio_lim.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h b/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h index 843ba7ac69ff12430e4092f44456eaed870749a2..1852b6b10ff72ced1aac9dec82aaee6ddfe4031f 100644 --- a/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h +++ b/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h @@ -1,5 +1,5 @@ /* Perform binary search - inline version. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,14 +29,23 @@ bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, while (__l < __u) { __idx = (__l + __u) / 2; - __p = (void *) (((const char *) __base) + (__idx * __size)); + __p = (const void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else - return (void *) __p; + { +#if __GNUC_PREREQ(4, 6) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wcast-qual" +#endif + return (void *) __p; +#if __GNUC_PREREQ(4, 6) +# pragma GCC diagnostic pop +#endif + } } return NULL; diff --git a/lib/libc/include/generic-glibc/bits/stdlib-float.h b/lib/libc/include/generic-glibc/bits/stdlib-float.h index 5dd603e7adb5ab1feaff8628207296a6e2e00847..1803bf24903a3e0e1ca6e746b4d46db6ffee9003 100644 --- a/lib/libc/include/generic-glibc/bits/stdlib-float.h +++ b/lib/libc/include/generic-glibc/bits/stdlib-float.h @@ -1,5 +1,5 @@ /* Floating-point inline functions for stdlib.h. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h b/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h index 6921e99522d38222d87050a7dc5316177ed9a241..aa2d711e78faae8db1073c10282644738b2420f6 100644 --- a/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdlib.h b/lib/libc/include/generic-glibc/bits/stdlib.h index 95c3fc66cf9640c91014bafab82ec3971eebac27..db46378a2606de48b766150831669b4cb357e78b 100644 --- a/lib/libc/include/generic-glibc/bits/stdlib.h +++ b/lib/libc/include/generic-glibc/bits/stdlib.h @@ -1,5 +1,5 @@ /* Checking macros for stdlib functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,17 +36,16 @@ extern char *__REDIRECT_NTH (__realpath_chk_warn, __fortify_function __wur char * __NTH (realpath (const char *__restrict __name, char *__restrict __resolved)) { - if (__glibc_objsize (__resolved) != (size_t) -1) - { + size_t sz = __glibc_objsize (__resolved); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + #if defined _LIBC_LIMITS_H_ && defined PATH_MAX - if (__glibc_objsize (__resolved) < PATH_MAX) - return __realpath_chk_warn (__name, __resolved, - __glibc_objsize (__resolved)); + if (__glibc_unsafe_len (PATH_MAX, sizeof (char), sz)) + return __realpath_chk_warn (__name, __resolved, sz); #endif - return __realpath_chk (__name, __resolved, __glibc_objsize (__resolved)); - } - - return __realpath_alias (__name, __resolved); + return __realpath_chk (__name, __resolved, sz); } @@ -65,16 +64,9 @@ extern int __REDIRECT_NTH (__ptsname_r_chk_warn, __fortify_function int __NTH (ptsname_r (int __fd, char *__buf, size_t __buflen)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __ptsname_r_chk (__fd, __buf, __buflen, - __glibc_objsize (__buf)); - if (__buflen > __glibc_objsize (__buf)) - return __ptsname_r_chk_warn (__fd, __buf, __buflen, - __glibc_objsize (__buf)); - } - return __ptsname_r_alias (__fd, __buf, __buflen); + return __glibc_fortify (ptsname_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __fd, __buf, __buflen); } @@ -104,6 +96,11 @@ extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __THROW __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); +extern size_t __REDIRECT_NTH (__mbstowcs_nulldst, + (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len), mbstowcs) + __attr_access ((__read_only__, 2)); extern size_t __REDIRECT_NTH (__mbstowcs_alias, (wchar_t *__restrict __dst, const char *__restrict __src, @@ -120,21 +117,13 @@ __fortify_function size_t __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __mbstowcs_chk (__dst, __src, __len, - __glibc_objsize (__dst) / sizeof (wchar_t)); - - if (__len > __glibc_objsize (__dst) / sizeof (wchar_t)) - return __mbstowcs_chk_warn (__dst, __src, __len, - (__glibc_objsize (__dst) - / sizeof (wchar_t))); - } - return __mbstowcs_alias (__dst, __src, __len); + if (__builtin_constant_p (__dst == NULL) && __dst == NULL) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return __glibc_fortify_n (mbstowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), __dst, __src, __len); } - extern size_t __wcstombs_chk (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __THROW @@ -154,13 +143,7 @@ __fortify_function size_t __NTH (wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __wcstombs_chk (__dst, __src, __len, __glibc_objsize (__dst)); - if (__len > __glibc_objsize (__dst)) - return __wcstombs_chk_warn (__dst, __src, __len, - __glibc_objsize (__dst)); - } - return __wcstombs_alias (__dst, __src, __len); + return __glibc_fortify (wcstombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __len); } \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/string_fortified.h b/lib/libc/include/generic-glibc/bits/string_fortified.h index ba7b8700e12f39c8d6f5d4b90c4d9b92f7b892c4..b579e514727c61f70137bfaed71315776a376c9a 100644 --- a/lib/libc/include/generic-glibc/bits/string_fortified.h +++ b/lib/libc/include/generic-glibc/bits/string_fortified.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -64,7 +64,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len)) # include void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) - __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); + __THROW __nonnull ((1)) __fortified_attr_access (__write_only__, 1, 2); __fortify_function void __NTH (explicit_bzero (void *__dest, size_t __len)) @@ -79,7 +79,7 @@ __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) return __builtin___strcpy_chk (__dest, __src, __glibc_objsize (__dest)); } -#ifdef __USE_GNU +#ifdef __USE_XOPEN2K8 __fortify_function char * __NTH (stpcpy (char *__restrict __dest, const char *__restrict __src)) { @@ -96,17 +96,19 @@ __NTH (strncpy (char *__restrict __dest, const char *__restrict __src, __glibc_objsize (__dest)); } -#if __GNUC_PREREQ (4, 7) || __glibc_clang_prereq (2, 6) +#ifdef __USE_XOPEN2K8 +# if __GNUC_PREREQ (4, 7) || __glibc_clang_prereq (2, 6) __fortify_function char * __NTH (stpncpy (char *__dest, const char *__src, size_t __n)) { return __builtin___stpncpy_chk (__dest, __src, __n, __glibc_objsize (__dest)); } -#else +# else extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, size_t __destlen) __THROW - __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); + __fortified_attr_access (__write_only__, 1, 3) + __attr_access ((__read_only__, 2)); extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src, size_t __n), stpncpy); @@ -118,6 +120,7 @@ __NTH (stpncpy (char *__dest, const char *__src, size_t __n)) return __stpncpy_chk (__dest, __src, __n, __bos (__dest)); return __stpncpy_alias (__dest, __src, __n); } +# endif #endif @@ -136,4 +139,40 @@ __NTH (strncat (char *__restrict __dest, const char *__restrict __src, __glibc_objsize (__dest)); } +#ifdef __USE_MISC +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__strlcpy_alias, + (char *__dest, const char *__src, size_t __n), + strlcpy); + +__fortify_function size_t +__NTH (strlcpy (char *__restrict __dest, const char *__restrict __src, + size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest)) + || __n > __glibc_objsize (__dest))) + return __strlcpy_chk (__dest, __src, __n, __glibc_objsize (__dest)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__strlcat_alias, + (char *__dest, const char *__src, size_t __n), + strlcat); + +__fortify_function size_t +__NTH (strlcat (char *__restrict __dest, const char *__restrict __src, + size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest)) + || __n > __glibc_objsize (__dest))) + return __strlcat_chk (__dest, __src, __n, __glibc_objsize (__dest)); + return __strlcat_alias (__dest, __src, __n); +} +#endif /* __USE_MISC */ + #endif /* bits/string_fortified.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/strings_fortified.h b/lib/libc/include/generic-glibc/bits/strings_fortified.h index 5e41ef68f02cece8859bc7389d10d8015e39a0d5..5b565e7f9303749bbf471ce49acdcd772a2ec41b 100644 --- a/lib/libc/include/generic-glibc/bits/strings_fortified.h +++ b/lib/libc/include/generic-glibc/bits/strings_fortified.h @@ -1,5 +1,5 @@ /* Fortify macros for strings.h functions. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/struct_mutex.h b/lib/libc/include/generic-glibc/bits/struct_mutex.h index 26f2cf4f9909877ccce44581f5909d042b0678d1..bb245e95611588841af34be7b9f4b48fe794cb85 100644 --- a/lib/libc/include/generic-glibc/bits/struct_mutex.h +++ b/lib/libc/include/generic-glibc/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* Default mutex implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/struct_rwlock.h b/lib/libc/include/generic-glibc/bits/struct_rwlock.h index 6355f539b971cae20b39fac3de7868cecabf9e73..1de6d9250c1f42ba827f7ec94c944ef903ae4af7 100644 --- a/lib/libc/include/generic-glibc/bits/struct_rwlock.h +++ b/lib/libc/include/generic-glibc/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* MIPS internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/struct_stat.h b/lib/libc/include/generic-glibc/bits/struct_stat.h index 49c901ce9a302f6f4f895153b14efde4686f4993..b847f5786b84cf48790a7db40743628e403d3aa0 100644 --- a/lib/libc/include/generic-glibc/bits/struct_stat.h +++ b/lib/libc/include/generic-glibc/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -131,27 +131,30 @@ struct stat64 struct stat { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; int st_pad1[3]; /* Reserved for st_dev expansion */ -# ifndef __USE_FILE_OFFSET64 +# ifndef __USE_FILE_OFFSET64 __ino_t st_ino; -# else +# else __ino64_t st_ino; -# endif +# endif __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; -# if !defined __USE_FILE_OFFSET64 +# if !defined __USE_FILE_OFFSET64 unsigned int st_pad2[2]; /* Reserved for st_rdev expansion */ __off_t st_size; int st_pad3; -# else +# else unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */ __off64_t st_size; -# endif -# ifdef __USE_XOPEN2K8 +# endif +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -161,30 +164,34 @@ struct stat struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -# else +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -# endif +# endif __blksize_t st_blksize; unsigned int st_pad4; -# ifndef __USE_FILE_OFFSET64 +# ifndef __USE_FILE_OFFSET64 __blkcnt_t st_blocks; -# else +# else __blkcnt64_t st_blocks; -# endif +# endif int st_pad5[14]; +# endif }; #ifdef __USE_LARGEFILE64 struct stat64 { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; unsigned int st_pad1[3]; /* Reserved for st_dev expansion */ __ino64_t st_ino; @@ -217,6 +224,7 @@ struct stat64 unsigned int st_pad3; __blkcnt64_t st_blocks; int st_pad4[14]; +# endif /* __USE_TIME_BITS64 */ }; #endif diff --git a/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h b/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h index 15f02c4dc15d9d901fa7f3cb0dad22ba684eadf0..1ddcd5c116c6b10e77c3e96c0837ea4b871b51d5 100644 --- a/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h +++ b/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h @@ -1,5 +1,5 @@ /* Definition for helper to define struct stat with 64-bit time. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/syscall.h b/lib/libc/include/generic-glibc/bits/syscall.h index 5cd10027e191b9b25f65b28a26f7f011732e6212..35735b73f655a0e6608f5521ec668d81e3bbf40a 100644 --- a/lib/libc/include/generic-glibc/bits/syscall.h +++ b/lib/libc/include/generic-glibc/bits/syscall.h @@ -1,11 +1,11 @@ /* Generated at libc build time from syscall list. */ -/* The system call list corresponds to kernel 5.13. */ +/* The system call list corresponds to kernel 6.4. */ #ifndef _SYSCALL_H # error "Never use directly; include instead." #endif -#define __GLIBC_LINUX_VERSION_CODE 331008 +#define __GLIBC_LINUX_VERSION_CODE 394240 #ifdef __NR_FAST_atomic_update # define SYS_FAST_atomic_update __NR_FAST_atomic_update @@ -495,6 +495,10 @@ # define SYS_futex_time64 __NR_futex_time64 #endif +#ifdef __NR_futex_waitv +# define SYS_futex_waitv __NR_futex_waitv +#endif + #ifdef __NR_futimesat # define SYS_futimesat __NR_futimesat #endif @@ -899,6 +903,10 @@ # define SYS_memfd_create __NR_memfd_create #endif +#ifdef __NR_memfd_secret +# define SYS_memfd_secret __NR_memfd_secret +#endif + #ifdef __NR_memory_ordering # define SYS_memory_ordering __NR_memory_ordering #endif @@ -1123,6 +1131,10 @@ # define SYS_openat2 __NR_openat2 #endif +#ifdef __NR_or1k_atomic +# define SYS_or1k_atomic __NR_or1k_atomic +#endif + #ifdef __NR_osf_adjtime # define SYS_osf_adjtime __NR_osf_adjtime #endif @@ -1667,6 +1679,10 @@ # define SYS_process_madvise __NR_process_madvise #endif +#ifdef __NR_process_mrelease +# define SYS_process_mrelease __NR_process_mrelease +#endif + #ifdef __NR_process_vm_readv # define SYS_process_vm_readv __NR_process_vm_readv #endif @@ -1719,6 +1735,10 @@ # define SYS_quotactl __NR_quotactl #endif +#ifdef __NR_quotactl_fd +# define SYS_quotactl_fd __NR_quotactl_fd +#endif + #ifdef __NR_read # define SYS_read __NR_read #endif @@ -1799,6 +1819,10 @@ # define SYS_riscv_flush_icache __NR_riscv_flush_icache #endif +#ifdef __NR_riscv_hwprobe +# define SYS_riscv_hwprobe __NR_riscv_hwprobe +#endif + #ifdef __NR_rmdir # define SYS_rmdir __NR_rmdir #endif @@ -1987,6 +2011,10 @@ # define SYS_set_mempolicy __NR_set_mempolicy #endif +#ifdef __NR_set_mempolicy_home_node +# define SYS_set_mempolicy_home_node __NR_set_mempolicy_home_node +#endif + #ifdef __NR_set_robust_list # define SYS_set_robust_list __NR_set_robust_list #endif diff --git a/lib/libc/include/generic-glibc/bits/syslog-decl.h b/lib/libc/include/generic-glibc/bits/syslog-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..cc96f01c8f6e45861889782d2699d84847b3cee4 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/syslog-decl.h @@ -0,0 +1,35 @@ +/* Checking routines for syslog functions. Declaration only. + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SYSLOG_DECL_H +#define _BITS_SYSLOG_DECL_H 1 + +#ifndef _SYS_SYSLOG_H +# error "Never include directly; use instead." +#endif + +extern void __syslog_chk (int __pri, int __flag, const char *__fmt, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); + +#ifdef __USE_MISC +extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt, + __gnuc_va_list __ap) + __attribute__ ((__format__ (__printf__, 3, 0))); +#endif + +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/syslog-ldbl.h b/lib/libc/include/generic-glibc/bits/syslog-ldbl.h index b75903b0bcc9ac32b7c08128563b0ea12d9634ee..254082dd9c417fccd60a953467fb8460a83e25e3 100644 --- a/lib/libc/include/generic-glibc/bits/syslog-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/syslog-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for syslog functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/syslog-path.h b/lib/libc/include/generic-glibc/bits/syslog-path.h index 90cabe160d139062ccb406262b56b91c587b5d88..1ff11192c23fd0fe3511c461fc544ab4fb4cbd68 100644 --- a/lib/libc/include/generic-glibc/bits/syslog-path.h +++ b/lib/libc/include/generic-glibc/bits/syslog-path.h @@ -1,5 +1,5 @@ /* -- _PATH_LOG definition - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/syslog.h b/lib/libc/include/generic-glibc/bits/syslog.h index 00bfac8fbfe6cf0c99d82ba60d453cdac6482516..b160d4cd1a31de4de5a882b14e67c76b912fc49b 100644 --- a/lib/libc/include/generic-glibc/bits/syslog.h +++ b/lib/libc/include/generic-glibc/bits/syslog.h @@ -1,5 +1,5 @@ /* Checking macros for syslog functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,9 +20,15 @@ # error "Never include directly; use instead." #endif +#include -extern void __syslog_chk (int __pri, int __flag, const char *__fmt, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +/* The following functions must be used only after applying all asm + redirections, e.g. long double asm redirections. */ #ifdef __va_arg_pack __fortify_function void @@ -37,10 +43,6 @@ syslog (int __pri, const char *__fmt, ...) #ifdef __USE_MISC -extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt, - __gnuc_va_list __ap) - __attribute__ ((__format__ (__printf__, 3, 0))); - __fortify_function void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap) { diff --git a/lib/libc/include/generic-glibc/bits/sysmacros.h b/lib/libc/include/generic-glibc/bits/sysmacros.h index a236fdd12c251e346e19e515f0d193faddb693bc..4c2b9c3e96e7627c1a94e631ef0dae8579760341 100644 --- a/lib/libc/include/generic-glibc/bits/sysmacros.h +++ b/lib/libc/include/generic-glibc/bits/sysmacros.h @@ -1,5 +1,5 @@ /* Definitions of macros to access `dev_t' values. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-baud.h b/lib/libc/include/generic-glibc/bits/termios-baud.h index 8e73d65bd36075dce2e995e8777d285657215a41..18dacc8666dd19e3c23827304f1da41130d063ca 100644 --- a/lib/libc/include/generic-glibc/bits/termios-baud.h +++ b/lib/libc/include/generic-glibc/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-c_cc.h b/lib/libc/include/generic-glibc/bits/termios-c_cc.h index 6f3513bc12d819d74ccd960eb1f1bd5dabaf8e1e..6463548d10ee65c7b8fce739025251bf899a27f4 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_cc.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-c_cflag.h b/lib/libc/include/generic-glibc/bits/termios-c_cflag.h index 174882f6210a773ce423a6480f19a8a049dd513e..bb60e32e4235b8676451f9ba254552a159232185 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_cflag.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,4 +31,8 @@ #define PARENB 0000400 #define PARODD 0001000 #define HUPCL 0002000 -#define CLOCAL 0004000 \ No newline at end of file +#define CLOCAL 0004000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/termios-c_iflag.h b/lib/libc/include/generic-glibc/bits/termios-c_iflag.h index cd3bec9a483edaf3ccb6c52bba6c3568a15297cb..c102b958922128d1005070ac274f8e59a37319a1 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_iflag.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-c_lflag.h b/lib/libc/include/generic-glibc/bits/termios-c_lflag.h index 84ffa74d77cfa290001d04d397f4264982aaa95d..7774a67e5b1cf53ea3a627c2a60756a2cd4bd4e7 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_lflag.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-c_oflag.h b/lib/libc/include/generic-glibc/bits/termios-c_oflag.h index 7bc565cd22f09c971a7a9a7c0706bb315627a36d..d4f9e4e8615f362734ff35ef82b8a897c3ba5e4a 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_oflag.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-misc.h b/lib/libc/include/generic-glibc/bits/termios-misc.h index eca54813c06c8dc11ab582b63879c302a81e3997..1a7ab9be21a13196b690ebdefcdd6e3fed17fe2a 100644 --- a/lib/libc/include/generic-glibc/bits/termios-misc.h +++ b/lib/libc/include/generic-glibc/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-struct.h b/lib/libc/include/generic-glibc/bits/termios-struct.h index 9b65f635db9c178f7b444e3a9c5d51a674bc717b..380ed81f8be33170e11940fdbcffee085bffc68c 100644 --- a/lib/libc/include/generic-glibc/bits/termios-struct.h +++ b/lib/libc/include/generic-glibc/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-tcflow.h b/lib/libc/include/generic-glibc/bits/termios-tcflow.h index 6cc64868e631594fd9321558e404d1238f9ab643..1d3e598df49cd4b06db8759da95e3ed8bdcbc99b 100644 --- a/lib/libc/include/generic-glibc/bits/termios-tcflow.h +++ b/lib/libc/include/generic-glibc/bits/termios-tcflow.h @@ -1,5 +1,5 @@ -/* termios tcflag symbolic contants definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. +/* termios tcflag symbolic constant definitions. Linux/generic version. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios.h b/lib/libc/include/generic-glibc/bits/termios.h index 352469d7aaace4ce9a8da8b40f6bc204c3062c94..004137f8dad7cd64bf7ea99461430fe50e4f2cf0 100644 --- a/lib/libc/include/generic-glibc/bits/termios.h +++ b/lib/libc/include/generic-glibc/bits/termios.h @@ -1,5 +1,5 @@ /* termios type and macro definitions. Linux version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/thread-shared-types.h b/lib/libc/include/generic-glibc/bits/thread-shared-types.h index ffc86742ca8a667bf276db5e887b46ec3de8acf1..5b03da2e4436aaf4131848270d756a4492d791ab 100644 --- a/lib/libc/include/generic-glibc/bits/thread-shared-types.h +++ b/lib/libc/include/generic-glibc/bits/thread-shared-types.h @@ -1,5 +1,5 @@ /* Common threading primitives definitions for both POSIX and C11. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,8 @@ #include +#include + /* Common definition of pthread_mutex_t. */ @@ -91,24 +93,8 @@ typedef struct __pthread_internal_slist struct __pthread_cond_s { - __extension__ union - { - __extension__ unsigned long long int __wseq; - struct - { - unsigned int __low; - unsigned int __high; - } __wseq32; - }; - __extension__ union - { - __extension__ unsigned long long int __g1_start; - struct - { - unsigned int __low; - unsigned int __high; - } __g1_start32; - }; + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; unsigned int __g_refs[2] __LOCK_ALIGNMENT; unsigned int __g_size[2]; unsigned int __g1_orig_size; diff --git a/lib/libc/include/generic-glibc/bits/time.h b/lib/libc/include/generic-glibc/bits/time.h index 2cc9c18c35de53ccfedf0e04136382e3041a8899..043b2e03ca3bec7ff285b5ad2c8f715225006e8c 100644 --- a/lib/libc/include/generic-glibc/bits/time.h +++ b/lib/libc/include/generic-glibc/bits/time.h @@ -1,5 +1,5 @@ /* System-dependent timing definitions. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -75,13 +75,13 @@ extern long int __sysconf (int); __BEGIN_DECLS /* Tune a POSIX clock. */ -extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW; +extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW __nonnull((2)); #ifdef __USE_TIME_BITS64 # if defined(__REDIRECT_NTH) extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id, struct timex *__utx), - __clock_adjtime64); + __clock_adjtime64) __nonnull((2)); # else # define clock_adjtime __clock_adjtime64 # endif diff --git a/lib/libc/include/generic-glibc/bits/time64.h b/lib/libc/include/generic-glibc/bits/time64.h index 7359231806c1230b9c0012007d34014803396cc5..ac4faa0a57e64e6375e517c47fefb5c7f120e899 100644 --- a/lib/libc/include/generic-glibc/bits/time64.h +++ b/lib/libc/include/generic-glibc/bits/time64.h @@ -1,5 +1,5 @@ /* bits/time64.h -- underlying types for __time64_t. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/timerfd.h b/lib/libc/include/generic-glibc/bits/timerfd.h index 58fef8da71c194e641945ac7b5069416d798c2e2..60cd1b997064760db19b7afcea1cc93b14fd4d2c 100644 --- a/lib/libc/include/generic-glibc/bits/timerfd.h +++ b/lib/libc/include/generic-glibc/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/timesize.h b/lib/libc/include/generic-glibc/bits/timesize.h index eea3ce639603ec7b1ef8dff4ff76702fd634e354..0c8caad8c9df048690503b7b00212a154934bf22 100644 --- a/lib/libc/include/generic-glibc/bits/timesize.h +++ b/lib/libc/include/generic-glibc/bits/timesize.h @@ -1,5 +1,5 @@ -/* Bit size of the time_t type at glibc build time, general case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. +/* Bit size of the time_t type at glibc build time, Linux/MIPS. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/timex.h b/lib/libc/include/generic-glibc/bits/timex.h index 40295471b405de527b8e23f89aa0adfaf48ef0e2..fc267669f6eb878a0ba8623dd3a858fc6940f5f2 100644 --- a/lib/libc/include/generic-glibc/bits/timex.h +++ b/lib/libc/include/generic-glibc/bits/timex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,7 +25,7 @@ struct timex { -# ifdef __USE_TIME_BITS64 +# if defined __USE_TIME_BITS64 || (__TIMESIZE == 64 && __WORDSIZE == 32) unsigned int modes; /* mode selector */ int :32; /* pad */ long long offset; /* time offset (usec) */ diff --git a/lib/libc/include/generic-glibc/bits/types.h b/lib/libc/include/generic-glibc/bits/types.h index 5e93f78e7c7f9df0e951c6ef61f15ad93e31e6aa..54d5d7baa2014af7686e0b38fab0b5a374714c89 100644 --- a/lib/libc/include/generic-glibc/bits/types.h +++ b/lib/libc/include/generic-glibc/bits/types.h @@ -1,5 +1,5 @@ /* bits/types.h -- definitions of __*_t types underlying *_t types. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/__locale_t.h b/lib/libc/include/generic-glibc/bits/types/__locale_t.h index 72ce88a4403ddf0d1dda57e4f1868b125c8db3bd..1202f8f72094f79b5465d4d3bbae4a4d976205e9 100644 --- a/lib/libc/include/generic-glibc/bits/types/__locale_t.h +++ b/lib/libc/include/generic-glibc/bits/types/__locale_t.h @@ -1,7 +1,6 @@ /* Definition of struct __locale_struct and __locale_t. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/bits/types/__sigval_t.h b/lib/libc/include/generic-glibc/bits/types/__sigval_t.h index 3ca534a19d75db3cc5fa092f93117ffa11426ec0..bffaae4189273a57559b7dd49b20bcb43249e506 100644 --- a/lib/libc/include/generic-glibc/bits/types/__sigval_t.h +++ b/lib/libc/include/generic-glibc/bits/types/__sigval_t.h @@ -1,5 +1,5 @@ /* Define __sigval_t. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h b/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h index 62185e20144794a7acaa02dbb639f77be4ab2842..1bc52a1b63214c3d0083a524e15936ab041a7880 100644 --- a/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h +++ b/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/error_t.h b/lib/libc/include/generic-glibc/bits/types/error_t.h index 73ed5b3a2f863c5f48c17076d785b09d001a4e7b..da549dec48a3b409762dc7d54ac9e5c6ead0f8a6 100644 --- a/lib/libc/include/generic-glibc/bits/types/error_t.h +++ b/lib/libc/include/generic-glibc/bits/types/error_t.h @@ -1,5 +1,5 @@ /* Define error_t. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/idtype_t.h b/lib/libc/include/generic-glibc/bits/types/idtype_t.h new file mode 100644 index 0000000000000000000000000000000000000000..32eef351adb8588f688eef5d010d8be9189b0a85 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/types/idtype_t.h @@ -0,0 +1,14 @@ +#ifndef __idtype_t_defined +#define __idtype_t_defined + +/* The following values are used by the `waitid' function. */ +typedef enum +{ + P_ALL, /* Wait for any child. */ + P_PID, /* Wait for specified process. */ + P_PGID, /* Wait for members of process group. */ + P_PIDFD, /* Wait for the child referred by the PID file + descriptor. */ +} idtype_t; + +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/types/locale_t.h b/lib/libc/include/generic-glibc/bits/types/locale_t.h index 0292481bdb4d3efa2aa8350b20712ca021fc1f17..9f6b1877a10e3dc8682cb3f9eb16c58ad288fcb9 100644 --- a/lib/libc/include/generic-glibc/bits/types/locale_t.h +++ b/lib/libc/include/generic-glibc/bits/types/locale_t.h @@ -1,5 +1,5 @@ /* Definition of locale_t. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/res_state.h b/lib/libc/include/generic-glibc/bits/types/res_state.h index 2b4060274d4a3832c643fdac33ef05b84c95e7d6..acc0f3fc60b6c80f1ad695c644df8b318e411067 100644 --- a/lib/libc/include/generic-glibc/bits/types/res_state.h +++ b/lib/libc/include/generic-glibc/bits/types/res_state.h @@ -11,7 +11,7 @@ #define MAXRESOLVSORT 10 /* number of net to sort on */ struct __res_state { - int retrans; /* retransmition time interval */ + int retrans; /* retransmission time interval */ int retry; /* number of times to retransmit */ unsigned long options; /* option flags - see below. */ int nscount; /* number of name servers */ diff --git a/lib/libc/include/generic-glibc/bits/types/stack_t.h b/lib/libc/include/generic-glibc/bits/types/stack_t.h index aa1bdf930b3771a56038a1f723aed9d7280c8a03..d2aecf0561239256fc663cea1c4741bd15e6741d 100644 --- a/lib/libc/include/generic-glibc/bits/types/stack_t.h +++ b/lib/libc/include/generic-glibc/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_FILE.h b/lib/libc/include/generic-glibc/bits/types/struct_FILE.h index 85e45424922d0d98faca951a76b4fc25582acb0d..23801cf2a4db53b90ac9e63dc5ed642b6ee96321 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_FILE.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_FILE.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h b/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h index de11e2ad5c91bf1a8119a1fc8dbfc02733b88322..73f9de32d463acfe185e9b3f888dc3b460ce6415 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h +++ b/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h @@ -1,5 +1,5 @@ /* Define struct __jmp_buf_tag. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_iovec.h b/lib/libc/include/generic-glibc/bits/types/struct_iovec.h index 71faeb358da13f30374deb7b23c40cfd245d02c6..8e5186585c6a4aab0dd1737033110bda7f0fb994 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_iovec.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_iovec.h @@ -1,5 +1,5 @@ /* Define struct iovec. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h index 44e70eddaeb6af89de3b7db17a3cf76891d47e4e..dada8392ea74a08262e33cbe8054cfa29762619a 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the SysV message struct msqid64_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h b/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h index 9887c5f47889092b36d2bb556bfc40a7f420647a..890ad3f8e5dc9e8b5861943d71f61d7c87a78110 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h @@ -1,5 +1,5 @@ /* Common definitions for struct msqid_ds with 64-bit time. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h index 4ed63d17421b0d8ed1c0390d5970f4de02993641..d4d4ceb55c31d50a2101d0adc6844fcc278b9fa4 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_rusage.h b/lib/libc/include/generic-glibc/bits/types/struct_rusage.h index 4a1a5eb58d52b7eaf4be887d2b8f388ef765edcf..d01b6e7495df48fc13fb81b715ef9bc452315611 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_rusage.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_rusage.h @@ -1,5 +1,5 @@ /* Define struct rusage. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h b/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h index 3e80d75038d518e8edf33e2e4e2f23676a99b4c5..ff64400e9d398ecfa94b94d1c962e27f4f26fc36 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h @@ -1,5 +1,5 @@ /* Sched parameter structure. Generic version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h index b6f423abe0fe49bfa9a3e9cb8983a431f6770395..87f1bbfd55805126648c8a78cbca9a75f785ce98 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the semaphore struct semid64_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h b/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h index f9d237db0353f9d03f823666cb5a44e64be759b9..33fdab3bd0e51b06bd11291d71e5a8f61604741c 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h @@ -1,5 +1,5 @@ /* Common definitions for struct semid_ds with 64-bit time. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h index fcbf6447fc601aac97ffd151b66d01a848a6bf24..ddc82015c8780bc06c674765755bd536076408be 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h index ec2c97d59cc42b3583a66682f3ef7915238b4452..5246141fc49300709baa7b77b31cd1c8e5831fc1 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h b/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h index 157d363e8dcfff01c94785d1767244bbb2d443c0..da5a35ee1bdf986da52ecd66b66e33cb895dc35d 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h @@ -1,5 +1,5 @@ /* Common definitions for struct semid_ds with 64-bit time. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h index 07ecb8c0d33d68774e7f869c43ee8c69a80c3a46..7a35a2f75a4cbfcf6e983a924d52e832a51289cf 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h b/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h index 986c599b6cccc933476d065082a7d620ec3f0786..56cf58e4f8a50bbac9f15f7a9e2ebe82c5ff0f78 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h @@ -1,5 +1,5 @@ /* Define struct sigstack. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_statx.h b/lib/libc/include/generic-glibc/bits/types/struct_statx.h index fd9ccf9e1ea823bc862d1847bed440008a5260a5..41ae595f75fa0abb0ff9c3de3bd6943318563fd1 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_statx.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_statx.h @@ -1,5 +1,5 @@ /* Definition of the generic version of struct statx. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h b/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h index 4957626c7399e6967ce26f04cf8c8b5283aad5af..1e99a5f286c852b9d343b871755850235a76b9b5 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h @@ -1,5 +1,5 @@ /* Definition of the generic version of struct statx_timestamp. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/typesizes.h b/lib/libc/include/generic-glibc/bits/typesizes.h index 47d2bc9c45fdfdec82a29f2030c2eb3cfd03201f..483428043e90984e983b92fd2141f3395efd5049 100644 --- a/lib/libc/include/generic-glibc/bits/typesizes.h +++ b/lib/libc/include/generic-glibc/bits/typesizes.h @@ -1,5 +1,5 @@ -/* bits/typesizes.h -- underlying types for *_t. Generic version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/uintn-identity.h b/lib/libc/include/generic-glibc/bits/uintn-identity.h index 7cdf181da60181a0603bf77a57a22764247ebfe1..c424c783d6f60207791eeda0ef315908edcfa024 100644 --- a/lib/libc/include/generic-glibc/bits/uintn-identity.h +++ b/lib/libc/include/generic-glibc/bits/uintn-identity.h @@ -1,5 +1,5 @@ /* Inline functions to return unsigned integer values unchanged. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/uio-ext.h b/lib/libc/include/generic-glibc/bits/uio-ext.h index 9290927a03c01f08f5adf9b633d5adff835ff00f..5323492484a86f935abc6377a5ecfefb74f934d9 100644 --- a/lib/libc/include/generic-glibc/bits/uio-ext.h +++ b/lib/libc/include/generic-glibc/bits/uio-ext.h @@ -1,5 +1,5 @@ /* Operating system-specific extensions to sys/uio.h - Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/uio_lim.h b/lib/libc/include/generic-glibc/bits/uio_lim.h index d5a3319e315976f21902a538e3bae0b505958e7a..5bbbe25d6589a9eddc8a6140a9940794ee4d33bf 100644 --- a/lib/libc/include/generic-glibc/bits/uio_lim.h +++ b/lib/libc/include/generic-glibc/bits/uio_lim.h @@ -1,5 +1,5 @@ /* Implementation limits related to sys/uio.h - Linux version. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/unistd-decl.h b/lib/libc/include/generic-glibc/bits/unistd-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..d06ca053a12fbffe24b42a10b2ecba1691a9aedc --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/unistd-decl.h @@ -0,0 +1,198 @@ +/* Checking routines for unistd functions. Declaration only. + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_UNISTD_DECL_H +#define _BITS_UNISTD_DECL_H 1 + +#ifndef _UNISTD_H +# error "Never include directly; use instead." +#endif + +extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, + size_t __buflen) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_FORTIFY (__read_alias, (int __fd, void *__buf, + size_t __nbytes), read) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__read_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + size_t __buflen), __read_chk) + __wur __warnattr ("read called with bigger length than size of " + "the destination buffer"); + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 +extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, + __off_t __offset, size_t __bufsize) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset, size_t __bufsize) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread_alias, + (int __fd, void *__buf, size_t __nbytes, + __off_t __offset), pread) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread64_alias, + (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset), pread64) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + __off_t __offset, size_t __bufsize), __pread_chk) + __wur __warnattr ("pread called with bigger length than size of " + "the destination buffer"); +extern ssize_t __REDIRECT (__pread64_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset, size_t __bufsize), + __pread64_chk) + __wur __warnattr ("pread64 called with bigger length than size of " + "the destination buffer"); +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K +extern ssize_t __readlink_chk (const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen) + __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_NTH (__readlink_alias, + (const char *__restrict __path, + char *__restrict __buf, size_t __len), readlink) + __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_NTH (__readlink_chk_warn, + (const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen), __readlink_chk) + __nonnull ((1, 2)) __wur __warnattr ("readlink called with bigger length " + "than size of destination buffer"); +#endif + +#ifdef __USE_ATFILE +extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen) + __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); +extern ssize_t __REDIRECT_NTH (__readlinkat_alias, + (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len), + readlinkat) + __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); +extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn, + (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen), __readlinkat_chk) + __nonnull ((2, 3)) __wur __warnattr ("readlinkat called with bigger " + "length than size of destination " + "buffer"); +#endif + +extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) + __THROW __wur; +extern char *__REDIRECT_NTH (__getcwd_alias, + (char *__buf, size_t __size), getcwd) __wur; +extern char *__REDIRECT_NTH (__getcwd_chk_warn, + (char *__buf, size_t __size, size_t __buflen), + __getcwd_chk) + __wur __warnattr ("getcwd caller with bigger length than size of " + "destination buffer"); + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +extern char *__getwd_chk (char *__buf, size_t buflen) + __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd) + __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd " + "doesn't specify buffer size"); +#endif + +extern size_t __confstr_chk (int __name, char *__buf, size_t __len, + size_t __buflen) __THROW + __attr_access ((__write_only__, 2, 3)); +extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf, + size_t __len), confstr) + __attr_access ((__write_only__, 2, 3)); +extern size_t __REDIRECT_NTH (__confstr_chk_warn, + (int __name, char *__buf, size_t __len, + size_t __buflen), __confstr_chk) + __warnattr ("confstr called with bigger length than size of destination " + "buffer"); + + +extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) + __THROW __wur __attr_access ((__write_only__, 2, 1)); +extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]), + getgroups) __wur __attr_access ((__write_only__, 2, 1)); +extern int __REDIRECT_NTH (__getgroups_chk_warn, + (int __size, __gid_t __list[], size_t __listlen), + __getgroups_chk) + __wur __warnattr ("getgroups called with bigger group count than what " + "can fit into destination buffer"); + + +extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __THROW __nonnull ((2)) + __attr_access ((__write_only__, 2, 3)); +extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf, + size_t __buflen), ttyname_r) + __nonnull ((2)); +extern int __REDIRECT_NTH (__ttyname_r_chk_warn, + (int __fd, char *__buf, size_t __buflen, + size_t __nreal), __ttyname_r_chk) + __nonnull ((2)) __warnattr ("ttyname_r called with bigger buflen than " + "size of destination buffer"); + + +#ifdef __USE_POSIX199506 +extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) + __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_FORTIFY (__getlogin_r_alias, (char *__buf, size_t __buflen), + getlogin_r) __nonnull ((1)); +extern int __REDIRECT (__getlogin_r_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __getlogin_r_chk) + __nonnull ((1)) __warnattr ("getlogin_r called with bigger buflen than " + "size of destination buffer"); +#endif + + +#if defined __USE_MISC || defined __USE_UNIX98 +extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) + __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen), + gethostname) + __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__gethostname_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __gethostname_chk) + __nonnull ((1)) __warnattr ("gethostname called with bigger buflen than " + "size of destination buffer"); +#endif + + +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98) +extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) + __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_FORTIFY_NTH (__getdomainname_alias, (char *__buf, + size_t __buflen), + getdomainname) __nonnull ((1)) + __wur __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__getdomainname_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __getdomainname_chk) + __nonnull ((1)) __wur __warnattr ("getdomainname called with bigger " + "buflen than size of destination " + "buffer"); +#endif +#endif /* bits/unistd-decl.h. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/unistd.h b/lib/libc/include/generic-glibc/bits/unistd.h index 76791bf9360d5d6954b5f4dfc3af72a62c82364c..964ffd374e401891a5047c2b1330f2191b508def 100644 --- a/lib/libc/include/generic-glibc/bits/unistd.h +++ b/lib/libc/include/generic-glibc/bits/unistd.h @@ -1,5 +1,5 @@ /* Checking macros for unistd functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,92 +20,32 @@ # error "Never include directly; use instead." #endif -extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, - size_t __buflen) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf, - size_t __nbytes), read) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__read_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - size_t __buflen), __read_chk) - __wur __warnattr ("read called with bigger length than size of " - "the destination buffer"); +# include __fortify_function __wur ssize_t read (int __fd, void *__buf, size_t __nbytes) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __read_chk (__fd, __buf, __nbytes, __glibc_objsize0 (__buf)); - - if (__nbytes > __glibc_objsize0 (__buf)) - return __read_chk_warn (__fd, __buf, __nbytes, - __glibc_objsize0 (__buf)); - } - return __read_alias (__fd, __buf, __nbytes); + return __glibc_fortify (read, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes); } -#ifdef __USE_UNIX98 -extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, - __off_t __offset, size_t __bufsize) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset, size_t __bufsize) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__pread_alias, - (int __fd, void *__buf, size_t __nbytes, - __off_t __offset), pread) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__pread64_alias, - (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset), pread64) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__pread_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - __off_t __offset, size_t __bufsize), __pread_chk) - __wur __warnattr ("pread called with bigger length than size of " - "the destination buffer"); -extern ssize_t __REDIRECT (__pread64_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset, size_t __bufsize), - __pread64_chk) - __wur __warnattr ("pread64 called with bigger length than size of " - "the destination buffer"); - +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 # ifndef __USE_FILE_OFFSET64 __fortify_function __wur ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread_chk (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - - if ( __nbytes > __glibc_objsize0 (__buf)) - return __pread_chk_warn (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - } - return __pread_alias (__fd, __buf, __nbytes, __offset); + return __glibc_fortify (pread, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); } # else __fortify_function __wur ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread64_chk (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - - if ( __nbytes > __glibc_objsize0 (__buf)) - return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - } - - return __pread64_alias (__fd, __buf, __nbytes, __offset); + return __glibc_fortify (pread64, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); } # endif @@ -113,123 +53,44 @@ pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __fortify_function __wur ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread64_chk (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - - if ( __nbytes > __glibc_objsize0 (__buf)) - return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - } - - return __pread64_alias (__fd, __buf, __nbytes, __offset); + return __glibc_fortify (pread64, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); } # endif #endif #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K -extern ssize_t __readlink_chk (const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen) - __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT_NTH (__readlink_alias, - (const char *__restrict __path, - char *__restrict __buf, size_t __len), readlink) - __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT_NTH (__readlink_chk_warn, - (const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen), __readlink_chk) - __nonnull ((1, 2)) __wur __warnattr ("readlink called with bigger length " - "than size of destination buffer"); - __fortify_function __nonnull ((1, 2)) __wur ssize_t __NTH (readlink (const char *__restrict __path, char *__restrict __buf, size_t __len)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __readlink_chk (__path, __buf, __len, __glibc_objsize (__buf)); - - if ( __len > __glibc_objsize (__buf)) - return __readlink_chk_warn (__path, __buf, __len, - __glibc_objsize (__buf)); - } - return __readlink_alias (__path, __buf, __len); + return __glibc_fortify (readlink, __len, sizeof (char), + __glibc_objsize (__buf), + __path, __buf, __len); } #endif #ifdef __USE_ATFILE -extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen) - __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); -extern ssize_t __REDIRECT_NTH (__readlinkat_alias, - (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len), - readlinkat) - __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); -extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn, - (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen), __readlinkat_chk) - __nonnull ((2, 3)) __wur __warnattr ("readlinkat called with bigger " - "length than size of destination " - "buffer"); - __fortify_function __nonnull ((2, 3)) __wur ssize_t __NTH (readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __readlinkat_chk (__fd, __path, __buf, __len, - __glibc_objsize (__buf)); - - if (__len > __glibc_objsize (__buf)) - return __readlinkat_chk_warn (__fd, __path, __buf, __len, - __glibc_objsize (__buf)); - } - return __readlinkat_alias (__fd, __path, __buf, __len); + return __glibc_fortify (readlinkat, __len, sizeof (char), + __glibc_objsize (__buf), + __fd, __path, __buf, __len); } #endif -extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) - __THROW __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT_NTH (__getcwd_alias, - (char *__buf, size_t __size), getcwd) - __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT_NTH (__getcwd_chk_warn, - (char *__buf, size_t __size, size_t __buflen), - __getcwd_chk) - __wur __warnattr ("getcwd caller with bigger length than size of " - "destination buffer"); - __fortify_function __wur char * __NTH (getcwd (char *__buf, size_t __size)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__size)) - return __getcwd_chk (__buf, __size, __glibc_objsize (__buf)); - - if (__size > __glibc_objsize (__buf)) - return __getcwd_chk_warn (__buf, __size, __glibc_objsize (__buf)); - } - return __getcwd_alias (__buf, __size); + return __glibc_fortify (getcwd, __size, sizeof (char), + __glibc_objsize (__buf), + __buf, __size); } #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -extern char *__getwd_chk (char *__buf, size_t buflen) - __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd) - __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd " - "doesn't specify buffer size"); - __fortify_function __nonnull ((1)) __attribute_deprecated__ __wur char * __NTH (getwd (char *__buf)) { @@ -239,171 +100,61 @@ __NTH (getwd (char *__buf)) } #endif -extern size_t __confstr_chk (int __name, char *__buf, size_t __len, - size_t __buflen) __THROW - __attr_access ((__write_only__, 2, 3)); -extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf, - size_t __len), confstr) - __attr_access ((__write_only__, 2, 3)); -extern size_t __REDIRECT_NTH (__confstr_chk_warn, - (int __name, char *__buf, size_t __len, - size_t __buflen), __confstr_chk) - __warnattr ("confstr called with bigger length than size of destination " - "buffer"); - __fortify_function size_t __NTH (confstr (int __name, char *__buf, size_t __len)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __confstr_chk (__name, __buf, __len, __glibc_objsize (__buf)); - - if (__glibc_objsize (__buf) < __len) - return __confstr_chk_warn (__name, __buf, __len, - __glibc_objsize (__buf)); - } - return __confstr_alias (__name, __buf, __len); + return __glibc_fortify (confstr, __len, sizeof (char), + __glibc_objsize (__buf), + __name, __buf, __len); } -extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) - __THROW __wur __attr_access ((__write_only__, 2, 1)); -extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]), - getgroups) __wur __attr_access ((__write_only__, 2, 1)); -extern int __REDIRECT_NTH (__getgroups_chk_warn, - (int __size, __gid_t __list[], size_t __listlen), - __getgroups_chk) - __wur __warnattr ("getgroups called with bigger group count than what " - "can fit into destination buffer"); - __fortify_function int __NTH (getgroups (int __size, __gid_t __list[])) { - if (__glibc_objsize (__list) != (size_t) -1) - { - if (!__builtin_constant_p (__size) || __size < 0) - return __getgroups_chk (__size, __list, __glibc_objsize (__list)); - - if (__size * sizeof (__gid_t) > __glibc_objsize (__list)) - return __getgroups_chk_warn (__size, __list, __glibc_objsize (__list)); - } - return __getgroups_alias (__size, __list); + return __glibc_fortify (getgroups, __size, sizeof (__gid_t), + __glibc_objsize (__list), + __size, __list); } -extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, - size_t __nreal) __THROW __nonnull ((2)) - __attr_access ((__write_only__, 2, 3)); -extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf, - size_t __buflen), ttyname_r) - __nonnull ((2)); -extern int __REDIRECT_NTH (__ttyname_r_chk_warn, - (int __fd, char *__buf, size_t __buflen, - size_t __nreal), __ttyname_r_chk) - __nonnull ((2)) __warnattr ("ttyname_r called with bigger buflen than " - "size of destination buffer"); - __fortify_function int __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __ttyname_r_chk (__fd, __buf, __buflen, - __glibc_objsize (__buf)); - - if (__buflen > __glibc_objsize (__buf)) - return __ttyname_r_chk_warn (__fd, __buf, __buflen, - __glibc_objsize (__buf)); - } - return __ttyname_r_alias (__fd, __buf, __buflen); + return __glibc_fortify (ttyname_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __fd, __buf, __buflen); } #ifdef __USE_POSIX199506 -extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) - __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen), - getlogin_r) __nonnull ((1)); -extern int __REDIRECT (__getlogin_r_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __getlogin_r_chk) - __nonnull ((1)) __warnattr ("getlogin_r called with bigger buflen than " - "size of destination buffer"); - __fortify_function int getlogin_r (char *__buf, size_t __buflen) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __getlogin_r_chk (__buf, __buflen, __glibc_objsize (__buf)); - - if (__buflen > __glibc_objsize (__buf)) - return __getlogin_r_chk_warn (__buf, __buflen, - __glibc_objsize (__buf)); - } - return __getlogin_r_alias (__buf, __buflen); + return __glibc_fortify (getlogin_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); } #endif #if defined __USE_MISC || defined __USE_UNIX98 -extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) - __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen), - gethostname) - __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT_NTH (__gethostname_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __gethostname_chk) - __nonnull ((1)) __warnattr ("gethostname called with bigger buflen than " - "size of destination buffer"); - __fortify_function int __NTH (gethostname (char *__buf, size_t __buflen)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __gethostname_chk (__buf, __buflen, __glibc_objsize (__buf)); - - if (__buflen > __glibc_objsize (__buf)) - return __gethostname_chk_warn (__buf, __buflen, - __glibc_objsize (__buf)); - } - return __gethostname_alias (__buf, __buflen); + return __glibc_fortify (gethostname, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); } #endif #if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98) -extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) - __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf, - size_t __buflen), - getdomainname) __nonnull ((1)) - __wur __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT_NTH (__getdomainname_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __getdomainname_chk) - __nonnull ((1)) __wur __warnattr ("getdomainname called with bigger " - "buflen than size of destination " - "buffer"); - __fortify_function int __NTH (getdomainname (char *__buf, size_t __buflen)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __getdomainname_chk (__buf, __buflen, __glibc_objsize (__buf)); - - if (__buflen > __glibc_objsize (__buf)) - return __getdomainname_chk_warn (__buf, __buflen, - __glibc_objsize (__buf)); - } - return __getdomainname_alias (__buf, __buflen); + return __glibc_fortify (getdomainname, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); } #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/unistd_ext.h b/lib/libc/include/generic-glibc/bits/unistd_ext.h index 7ea3163bf6540cece372d50c787a78fcb8194a6e..95fd6fc31666e23ae908f7ef1910e8676852fc16 100644 --- a/lib/libc/include/generic-glibc/bits/unistd_ext.h +++ b/lib/libc/include/generic-glibc/bits/unistd_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of , Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -47,13 +47,4 @@ extern __pid_t gettid (void) __THROW; # define CLOSE_RANGE_CLOEXEC (1U << 2) #endif -/* Close all file descriptors in the range FD up to MAX_FD. The flag FLAGS - are define by the CLOSE_RANGE prefix. This function behaves like close - on the range, but in a fail-safe where it will either fail and not close - any file descriptor or close all of them. Gaps where the file descriptor - is invalid are ignored. Returns 0 on successor or -1 for failure (and - sets errno accordingly). */ -extern int close_range (unsigned int __fd, unsigned int __max_fd, - int __flags) __THROW; - #endif /* __USE_GNU */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/utmp.h b/lib/libc/include/generic-glibc/bits/utmp.h index bf103669e72e4ab0ebed89898a1dbe1df72422e0..8172fb2e80fcbc7376ae66f25d94a82a4203c950 100644 --- a/lib/libc/include/generic-glibc/bits/utmp.h +++ b/lib/libc/include/generic-glibc/bits/utmp.h @@ -1,5 +1,5 @@ /* The `struct utmp' type, describing entries in the utmp file. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/utmpx.h b/lib/libc/include/generic-glibc/bits/utmpx.h index ea2179fb4da52f8b43d2003fbb2efcfcef53b604..86649eafac8dedbfc320fc8716ece3530a50b1a2 100644 --- a/lib/libc/include/generic-glibc/bits/utmpx.h +++ b/lib/libc/include/generic-glibc/bits/utmpx.h @@ -1,5 +1,5 @@ /* Structures and definitions for the user accounting database. GNU version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/utsname.h b/lib/libc/include/generic-glibc/bits/utsname.h index dc073157cbf6eaff85e309accdc0c9fc57e8a2b7..59c73981bdeccee6ff8417674c46e60f77fc7c0a 100644 --- a/lib/libc/include/generic-glibc/bits/utsname.h +++ b/lib/libc/include/generic-glibc/bits/utsname.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/waitflags.h b/lib/libc/include/generic-glibc/bits/waitflags.h index 6f00f8b551ae1ad3aafe85988c7e8bebf4e5996c..ca6b771fce70dd33c2f54f6a8cbfc21b130e60a4 100644 --- a/lib/libc/include/generic-glibc/bits/waitflags.h +++ b/lib/libc/include/generic-glibc/bits/waitflags.h @@ -1,5 +1,5 @@ /* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/waitstatus.h b/lib/libc/include/generic-glibc/bits/waitstatus.h index a7735631c1bdada6a6d2e8ca6736253070d87432..4678684ccbf27cbc17dbeb3c4724c44eca6f7e96 100644 --- a/lib/libc/include/generic-glibc/bits/waitstatus.h +++ b/lib/libc/include/generic-glibc/bits/waitstatus.h @@ -1,5 +1,5 @@ /* Definitions of status bits for `wait' et al. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/wchar-ldbl.h b/lib/libc/include/generic-glibc/bits/wchar-ldbl.h index 47e03474938689e1090dfcdce4bb5d189bd51fb9..24db821fa5a3525903bff719d50617b98851bddb 100644 --- a/lib/libc/include/generic-glibc/bits/wchar-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/wchar-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,13 +29,25 @@ __LDBL_REDIR_DECL (vwprintf); __LDBL_REDIR_DECL (vswprintf); # if !__GLIBC_USE (DEPRECATED_SCANF) # if defined __LDBL_COMPAT +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc23_fwscanf) +__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc23_wscanf) +__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc23_swscanf) +# else __LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf) __LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf) __LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf) +# endif # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (fwscanf, __isoc23_fwscanfieee128) +__LDBL_REDIR1_DECL (wscanf, __isoc23_wscanfieee128) +__LDBL_REDIR1_DECL (swscanf, __isoc23_swscanfieee128) +# else __LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128) __LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128) __LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128) +# endif # else # error bits/stdlib-ldbl.h included when no ldbl redirections are required. # endif @@ -54,13 +66,25 @@ __LDBL_REDIR1_DECL (wcstold, __wcstoieee128) # endif # if !__GLIBC_USE (DEPRECATED_SCANF) # if defined __LDBL_COMPAT +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc23_vfwscanf) +__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc23_vwscanf) +__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc23_vswscanf) +# else __LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf) __LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf) __LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf) +# endif # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (vfwscanf, __isoc23_vfwscanfieee128) +__LDBL_REDIR1_DECL (vwscanf, __isoc23_vwscanfieee128) +__LDBL_REDIR1_DECL (vswscanf, __isoc23_vswscanfieee128) +# else __LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128) __LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128) __LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128) +# endif # else # error bits/stdlib-ldbl.h included when no ldbl redirections are required. # endif diff --git a/lib/libc/include/generic-glibc/bits/wchar.h b/lib/libc/include/generic-glibc/bits/wchar.h index ad8b4e2664456be9a3abce9990de625e061e8b52..154b61c44982205d8b8b013270597ff9db0ef75e 100644 --- a/lib/libc/include/generic-glibc/bits/wchar.h +++ b/lib/libc/include/generic-glibc/bits/wchar.h @@ -1,5 +1,5 @@ /* wchar_t type related definitions. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/wchar2-decl.h b/lib/libc/include/generic-glibc/bits/wchar2-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..3747c241d1b48807383412abd320c8a7ed5b0d43 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/wchar2-decl.h @@ -0,0 +1,296 @@ +/* Checking macros for wchar functions. Declarations only. + Copyright (C) 2004-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_WCHAR2_DECL_H +#define _BITS_WCHAR2_DECL_H 1 + +#ifndef _WCHAR_H +# error "Never include directly; use instead." +#endif + + +extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n), + wmemcpy); +extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1), __wmemcpy_chk) + __warnattr ("wmemcpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, + size_t __n, size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, + const wchar_t *__s2, + size_t __n), wmemmove); +extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, + (wchar_t *__s1, const wchar_t *__s2, + size_t __n, size_t __ns1), __wmemmove_chk) + __warnattr ("wmemmove called with length bigger than size of destination " + "buffer"); + + +#ifdef __USE_GNU + +extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, + size_t __n), wmempcpy); +extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1), __wmempcpy_chk) + __warnattr ("wmempcpy called with length bigger than size of destination " + "buffer"); + +#endif + + +extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, + size_t __ns) __THROW; +extern wchar_t *__REDIRECT_FORTIFY_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, + size_t __n), wmemset); +extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, + (wchar_t *__s, wchar_t __c, size_t __n, + size_t __ns), __wmemset_chk) + __warnattr ("wmemset called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcscpy); + +extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcpcpy); + +extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcsncpy); +extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen), __wcsncpy_chk) + __warnattr ("wcsncpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n, + size_t __destlen) __THROW; + +extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcpncpy); +extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen), __wcpncpy_chk) + __warnattr ("wcpncpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcscat_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcscat); + +extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcsncat); + +extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, + int __flag, size_t __s_len, + const wchar_t *__restrict __format, ...) + __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */; +extern int __REDIRECT_NTH_LDBL (__swprintf_alias, + (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, ...), + swprintf); + +extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, + int __flag, size_t __s_len, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */; +extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, + (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, + __gnuc_va_list __ap), vswprintf); + + +#if __USE_FORTIFY_LEVEL > 1 + +extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, + const wchar_t *__restrict __format, ...); +extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, + ...); +extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, + const wchar_t *__restrict __format, + __gnuc_va_list __ap); +extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, + __gnuc_va_list __ap); + +#endif + +extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream) __wur; +extern wchar_t *__REDIRECT (__fgetws_alias, + (wchar_t *__restrict __s, int __n, + __FILE *__restrict __stream), fgetws) __wur; +extern wchar_t *__REDIRECT (__fgetws_chk_warn, + (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream), __fgetws_chk) + __wur __warnattr ("fgetws called with bigger size than length " + "of destination buffer"); + +#ifdef __USE_GNU + +extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, + int __n, __FILE *__restrict __stream) + __wur; +extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, + (wchar_t *__restrict __s, int __n, + __FILE *__restrict __stream), fgetws_unlocked) + __wur; +extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, + (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream), + __fgetws_unlocked_chk) + __wur __warnattr ("fgetws_unlocked called with bigger size than length " + "of destination buffer"); + +#endif + +extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, + mbstate_t *__restrict __p, + size_t __buflen) __THROW __wur; +extern size_t __REDIRECT_FORTIFY_NTH (__wcrtomb_alias, + (char *__restrict __s, wchar_t __wchar, + mbstate_t *__restrict __ps), wcrtomb) __wur; + +extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, + (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps), + mbsrtowcs); +extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, + (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __mbsrtowcs_chk) + __warnattr ("mbsrtowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + +extern size_t __wcsrtombs_chk (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__wcsrtombs_alias, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps), + wcsrtombs); +extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __wcsrtombs_chk) + __warnattr ("wcsrtombs called with dst buffer smaller than len"); + +#ifdef __USE_XOPEN2K8 + +extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, + (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps), + mbsnrtowcs); +extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, + (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __mbsnrtowcs_chk) + __warnattr ("mbsnrtowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + +extern size_t __wcsnrtombs_chk (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps, size_t __dstlen) + __THROW; +extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps), wcsnrtombs); +extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps, + size_t __dstlen), __wcsnrtombs_chk) + __warnattr ("wcsnrtombs called with dst buffer smaller than len"); + +#endif + +#ifdef __USE_MISC +extern size_t __wcslcpy_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__wcslcpy_alias, + (wchar_t *__dest, const wchar_t *__src, + size_t __n), wcslcpy); + +extern size_t __wcslcat_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__wcslcat_alias, + (wchar_t *__dest, const wchar_t *__src, + size_t __n), wcslcat); +#endif /* __USE_MISC */ + +#endif /* bits/wchar2-decl.h. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/wchar2.h b/lib/libc/include/generic-glibc/bits/wchar2.h index 0e15ea3923bfbc5878a36b5ac47d5e77317a8ab9..a41e87d777b1ba5375ac02f3890a3d0da8aa7d7f 100644 --- a/lib/libc/include/generic-glibc/bits/wchar2.h +++ b/lib/libc/include/generic-glibc/bits/wchar2.h @@ -1,5 +1,5 @@ /* Checking macros for wchar functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,283 +20,134 @@ # error "Never include directly; use instead." #endif - -extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1) __THROW; -extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n), - wmemcpy); -extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1), __wmemcpy_chk) - __warnattr ("wmemcpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n)) { - if (__glibc_objsize0 (__s1) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wmemcpy_chk (__s1, __s2, __n, - __glibc_objsize0 (__s1) / sizeof (wchar_t)); - - if (__n > __glibc_objsize0 (__s1) / sizeof (wchar_t)) - return __wmemcpy_chk_warn (__s1, __s2, __n, - __glibc_objsize0 (__s1) / sizeof (wchar_t)); - } - return __wmemcpy_alias (__s1, __s2, __n); + return __glibc_fortify_n (wmemcpy, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); } - -extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, - size_t __n, size_t __ns1) __THROW; -extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, - const wchar_t *__s2, - size_t __n), wmemmove); -extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, - (wchar_t *__s1, const wchar_t *__s2, - size_t __n, size_t __ns1), __wmemmove_chk) - __warnattr ("wmemmove called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)) { - if (__glibc_objsize0 (__s1) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wmemmove_chk (__s1, __s2, __n, - __glibc_objsize0 (__s1) / sizeof (wchar_t)); - - if (__n > __glibc_objsize0 (__s1) / sizeof (wchar_t)) - return __wmemmove_chk_warn (__s1, __s2, __n, - (__glibc_objsize0 (__s1) - / sizeof (wchar_t))); - } - return __wmemmove_alias (__s1, __s2, __n); + return __glibc_fortify_n (wmemmove, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); } - #ifdef __USE_GNU -extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1) __THROW; -extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, - size_t __n), wmempcpy); -extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1), __wmempcpy_chk) - __warnattr ("wmempcpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n)) { - if (__glibc_objsize0 (__s1) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wmempcpy_chk (__s1, __s2, __n, - __glibc_objsize0 (__s1) / sizeof (wchar_t)); - - if (__n > __glibc_objsize0 (__s1) / sizeof (wchar_t)) - return __wmempcpy_chk_warn (__s1, __s2, __n, - (__glibc_objsize0 (__s1) - / sizeof (wchar_t))); - } - return __wmempcpy_alias (__s1, __s2, __n); + return __glibc_fortify_n (wmempcpy, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); } #endif - -extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, - size_t __ns) __THROW; -extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, - size_t __n), wmemset); -extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, - (wchar_t *__s, wchar_t __c, size_t __n, - size_t __ns), __wmemset_chk) - __warnattr ("wmemset called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n)) { - if (__glibc_objsize0 (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wmemset_chk (__s, __c, __n, - __glibc_objsize0 (__s) / sizeof (wchar_t)); - - if (__n > __glibc_objsize0 (__s) / sizeof (wchar_t)) - return __wmemset_chk_warn (__s, __c, __n, - __glibc_objsize0 (__s) / sizeof (wchar_t)); - } - return __wmemset_alias (__s, __c, __n); + return __glibc_fortify_n (wmemset, __n, sizeof (wchar_t), + __glibc_objsize0 (__s), + __s, __c, __n); } - -extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcscpy); - __fortify_function wchar_t * __NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { - if (__glibc_objsize (__dest) != (size_t) -1) - return __wcscpy_chk (__dest, __src, - __glibc_objsize (__dest) / sizeof (wchar_t)); + size_t sz = __glibc_objsize (__dest); + if (sz != (size_t) -1) + return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t)); return __wcscpy_alias (__dest, __src); } - -extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcpcpy); - __fortify_function wchar_t * __NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { - if (__glibc_objsize (__dest) != (size_t) -1) - return __wcpcpy_chk (__dest, __src, - __glibc_objsize (__dest) / sizeof (wchar_t)); + size_t sz = __glibc_objsize (__dest); + if (sz != (size_t) -1) + return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t)); return __wcpcpy_alias (__dest, __src); } - -extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n, - size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcsncpy); -extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n, size_t __destlen), __wcsncpy_chk) - __warnattr ("wcsncpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) { - if (__glibc_objsize (__dest) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wcsncpy_chk (__dest, __src, __n, - __glibc_objsize (__dest) / sizeof (wchar_t)); - if (__n > __glibc_objsize (__dest) / sizeof (wchar_t)) - return __wcsncpy_chk_warn (__dest, __src, __n, - (__glibc_objsize (__dest) - / sizeof (wchar_t))); - } - return __wcsncpy_alias (__dest, __src, __n); + return __glibc_fortify_n (wcsncpy, __n, sizeof (wchar_t), + __glibc_objsize (__dest), + __dest, __src, __n); } - -extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n, - size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcpncpy); -extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n, size_t __destlen), __wcpncpy_chk) - __warnattr ("wcpncpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) { - if (__glibc_objsize (__dest) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wcpncpy_chk (__dest, __src, __n, - __glibc_objsize (__dest) / sizeof (wchar_t)); - if (__n > __glibc_objsize (__dest) / sizeof (wchar_t)) - return __wcpncpy_chk_warn (__dest, __src, __n, - (__glibc_objsize (__dest) - / sizeof (wchar_t))); - } - return __wcpncpy_alias (__dest, __src, __n); + return __glibc_fortify_n (wcpncpy, __n, sizeof (wchar_t), + __glibc_objsize (__dest), + __dest, __src, __n); } - -extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcscat_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcscat); - __fortify_function wchar_t * __NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { - if (__glibc_objsize (__dest) != (size_t) -1) - return __wcscat_chk (__dest, __src, - __glibc_objsize (__dest) / sizeof (wchar_t)); + size_t sz = __glibc_objsize (__dest); + if (sz != (size_t) -1) + return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t)); return __wcscat_alias (__dest, __src); } - -extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n, size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcsncat); - __fortify_function wchar_t * __NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) { - if (__glibc_objsize (__dest) != (size_t) -1) - return __wcsncat_chk (__dest, __src, __n, - __glibc_objsize (__dest) / sizeof (wchar_t)); + size_t sz = __glibc_objsize (__dest); + if (sz != (size_t) -1) + return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t)); return __wcsncat_alias (__dest, __src, __n); } +#ifdef __USE_MISC +__fortify_function size_t +__NTH (wcslcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, + size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n + > __glibc_objsize (__dest) / sizeof (wchar_t)) + || __n > __glibc_objsize (__dest) / sizeof (wchar_t))) + return __wcslcpy_chk (__dest, __src, __n, + __glibc_objsize (__dest) / sizeof (wchar_t)); + return __wcslcpy_alias (__dest, __src, __n); +} -extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, - int __flag, size_t __s_len, - const wchar_t *__restrict __format, ...) - __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */; - -extern int __REDIRECT_NTH_LDBL (__swprintf_alias, - (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __fmt, ...), - swprintf); +__fortify_function size_t +__NTH (wcslcat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, + size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest) + / sizeof (wchar_t)) + || __n > __glibc_objsize (__dest) / sizeof (wchar_t))) + return __wcslcat_chk (__dest, __src, __n, + __glibc_objsize (__dest) / sizeof (wchar_t)); + return __wcslcat_alias (__dest, __src, __n); +} +#endif /* __USE_MISC */ #ifdef __va_arg_pack __fortify_function int __NTH (swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...)) { - if (__glibc_objsize (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + size_t sz = __glibc_objsize (__s); + if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, - __glibc_objsize (__s) / sizeof (wchar_t), - __fmt, __va_arg_pack ()); + sz / sizeof (wchar_t), __fmt, __va_arg_pack ()); return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ()); } #elif !defined __cplusplus @@ -308,41 +159,20 @@ __NTH (swprintf (wchar_t *__restrict __s, size_t __n, : swprintf (s, n, __VA_ARGS__)) #endif -extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, - int __flag, size_t __s_len, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */; - -extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, - (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __fmt, - __gnuc_va_list __ap), vswprintf); - __fortify_function int __NTH (vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap)) { - if (__glibc_objsize (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + size_t sz = __glibc_objsize (__s); + if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, - __glibc_objsize (__s) / sizeof (wchar_t), __fmt, - __ap); + sz / sizeof (wchar_t), __fmt, __ap); return __vswprintf_alias (__s, __n, __fmt, __ap); } #if __USE_FORTIFY_LEVEL > 1 -extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, - const wchar_t *__restrict __format, ...); -extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, - ...); -extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, - const wchar_t *__restrict __format, - __gnuc_va_list __ap); -extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, - __gnuc_va_list __ap); - # ifdef __va_arg_pack __fortify_function int wprintf (const wchar_t *__restrict __fmt, ...) @@ -377,78 +207,31 @@ vfwprintf (__FILE *__restrict __stream, } #endif - -extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, - __FILE *__restrict __stream) __wur; -extern wchar_t *__REDIRECT (__fgetws_alias, - (wchar_t *__restrict __s, int __n, - __FILE *__restrict __stream), fgetws) __wur; -extern wchar_t *__REDIRECT (__fgetws_chk_warn, - (wchar_t *__restrict __s, size_t __size, int __n, - __FILE *__restrict __stream), __fgetws_chk) - __wur __warnattr ("fgetws called with bigger size than length " - "of destination buffer"); - __fortify_function __wur wchar_t * fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { - if (__glibc_objsize (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n) || __n <= 0) - return __fgetws_chk (__s, __glibc_objsize (__s) / sizeof (wchar_t), - __n, __stream); - - if ((size_t) __n > __glibc_objsize (__s) / sizeof (wchar_t)) - return __fgetws_chk_warn (__s, - __glibc_objsize (__s) / sizeof (wchar_t), - __n, __stream); - } - return __fgetws_alias (__s, __n, __stream); + size_t sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) + return __fgetws_alias (__s, __n, __stream); + if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) + return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream); + return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream); } #ifdef __USE_GNU -extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, - int __n, __FILE *__restrict __stream) - __wur; -extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, - (wchar_t *__restrict __s, int __n, - __FILE *__restrict __stream), fgetws_unlocked) - __wur; -extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, - (wchar_t *__restrict __s, size_t __size, int __n, - __FILE *__restrict __stream), - __fgetws_unlocked_chk) - __wur __warnattr ("fgetws_unlocked called with bigger size than length " - "of destination buffer"); - __fortify_function __wur wchar_t * fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { - if (__glibc_objsize (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n) || __n <= 0) - return __fgetws_unlocked_chk (__s, - __glibc_objsize (__s) / sizeof (wchar_t), - __n, __stream); - - if ((size_t) __n > __glibc_objsize (__s) / sizeof (wchar_t)) - return __fgetws_unlocked_chk_warn (__s, - (__glibc_objsize (__s) - / sizeof (wchar_t)), - __n, __stream); - } - return __fgetws_unlocked_alias (__s, __n, __stream); + size_t sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) + return __fgetws_unlocked_alias (__s, __n, __stream); + if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) + return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n, + __stream); + return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream); } #endif - -extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, - mbstate_t *__restrict __p, - size_t __buflen) __THROW __wur; -extern size_t __REDIRECT_NTH (__wcrtomb_alias, - (char *__restrict __s, wchar_t __wchar, - mbstate_t *__restrict __ps), wcrtomb) __wur; - __fortify_function __wur size_t __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps)) @@ -466,146 +249,41 @@ __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, return __wcrtomb_alias (__s, __wchar, __ps); } - -extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, - const char **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen) __THROW; -extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, - (wchar_t *__restrict __dst, - const char **__restrict __src, - size_t __len, mbstate_t *__restrict __ps), - mbsrtowcs); -extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, - (wchar_t *__restrict __dst, - const char **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __mbsrtowcs_chk) - __warnattr ("mbsrtowcs called with dst buffer smaller than len " - "* sizeof (wchar_t)"); - __fortify_function size_t __NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __mbsrtowcs_chk (__dst, __src, __len, __ps, - __glibc_objsize (__dst) / sizeof (wchar_t)); - - if (__len > __glibc_objsize (__dst) / sizeof (wchar_t)) - return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, - (__glibc_objsize (__dst) - / sizeof (wchar_t))); - } - return __mbsrtowcs_alias (__dst, __src, __len, __ps); + return __glibc_fortify_n (mbsrtowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), + __dst, __src, __len, __ps); } - -extern size_t __wcsrtombs_chk (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen) __THROW; -extern size_t __REDIRECT_NTH (__wcsrtombs_alias, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __len, mbstate_t *__restrict __ps), - wcsrtombs); -extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __wcsrtombs_chk) - __warnattr ("wcsrtombs called with dst buffer smaller than len"); - __fortify_function size_t __NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __wcsrtombs_chk (__dst, __src, __len, __ps, - __glibc_objsize (__dst)); - - if (__len > __glibc_objsize (__dst)) - return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, - __glibc_objsize (__dst)); - } - return __wcsrtombs_alias (__dst, __src, __len, __ps); + return __glibc_fortify (wcsrtombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __len, __ps); } -#ifdef __USE_GNU -extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen) __THROW; -extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, - (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps), - mbsnrtowcs); -extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, - (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __mbsnrtowcs_chk) - __warnattr ("mbsnrtowcs called with dst buffer smaller than len " - "* sizeof (wchar_t)"); - +#ifdef __USE_XOPEN2K8 __fortify_function size_t __NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, - __glibc_objsize (__dst) / sizeof (wchar_t)); - - if (__len > __glibc_objsize (__dst) / sizeof (wchar_t)) - return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, - (__glibc_objsize (__dst) - / sizeof (wchar_t))); - } - return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); + return __glibc_fortify_n (mbsnrtowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), + __dst, __src, __nmc, __len, __ps); } - -extern size_t __wcsnrtombs_chk (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps, size_t __dstlen) - __THROW; -extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps), wcsnrtombs); -extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps, - size_t __dstlen), __wcsnrtombs_chk) - __warnattr ("wcsnrtombs called with dst buffer smaller than len"); - __fortify_function size_t __NTH (wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, - __glibc_objsize (__dst)); - - if (__len > __glibc_objsize (__dst)) - return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, - __glibc_objsize (__dst)); - } - return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); + return __glibc_fortify (wcsnrtombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __nwc, __len, __ps); } #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/wctype-wchar.h b/lib/libc/include/generic-glibc/bits/wctype-wchar.h index 942d11a140d489a17faf39c99e53a41f7330e158..b02fd4a3c1ef1dbd4afdedf4d7a0f486b2d8ed16 100644 --- a/lib/libc/include/generic-glibc/bits/wctype-wchar.h +++ b/lib/libc/include/generic-glibc/bits/wctype-wchar.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/wordsize.h b/lib/libc/include/generic-glibc/bits/wordsize.h index 9e405e4e4e958fee350fe4d264e8f367dff574a5..275ac586dade36cadfe3bcfcc8cf80c3b9ffecc4 100644 --- a/lib/libc/include/generic-glibc/bits/wordsize.h +++ b/lib/libc/include/generic-glibc/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/xopen_lim.h b/lib/libc/include/generic-glibc/bits/xopen_lim.h index c99f35211308b8ab822cdce146ec55323b9b1bb4..30a41354e0b9a136a314c1cc2b55dfb02685842d 100644 --- a/lib/libc/include/generic-glibc/bits/xopen_lim.h +++ b/lib/libc/include/generic-glibc/bits/xopen_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/byteswap.h b/lib/libc/include/generic-glibc/byteswap.h index 075ee64046b168ad32b44381a3a3eee05a645838..10398f477079d918ca3a3a3cab87c90fa31420f6 100644 --- a/lib/libc/include/generic-glibc/byteswap.h +++ b/lib/libc/include/generic-glibc/byteswap.h @@ -1,5 +1,5 @@ /* Swap byte order for 16, 32 and 64 bit values - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/complex.h b/lib/libc/include/generic-glibc/complex.h index 04fc55d55c77978cdac81e64a6c073a4c9e6f5ee..996f05bbea428c36f78d49aef246af7d12a05333 100644 --- a/lib/libc/include/generic-glibc/complex.h +++ b/lib/libc/include/generic-glibc/complex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/cpio.h b/lib/libc/include/generic-glibc/cpio.h index 45b38af0aa76c76ac331a239e0ecdf600dd2f364..85945c2a2e63642ceba96398d4cd59e02ee47f77 100644 --- a/lib/libc/include/generic-glibc/cpio.h +++ b/lib/libc/include/generic-glibc/cpio.h @@ -1,6 +1,6 @@ /* Extended cpio format from POSIX.1. This file is part of the GNU C Library. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU cpio. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/crypt.h b/lib/libc/include/generic-glibc/crypt.h deleted file mode 100644 index baa55496668f697cd51f9219cfd6d7414ba7ed1d..0000000000000000000000000000000000000000 --- a/lib/libc/include/generic-glibc/crypt.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * UFC-crypt: ultra fast crypt(3) implementation - * - * Copyright (C) 1991-2021 Free Software Foundation, Inc. - * - * The GNU C Library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * The GNU C Library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with the GNU C Library; if not, see - * . - * - * @(#)crypt.h 1.5 12/20/96 - * - */ - -#ifndef _CRYPT_H -#define _CRYPT_H 1 - -#include - -__BEGIN_DECLS - -/* One-way hash PHRASE, returning a string suitable for storage in the - user database. SALT selects the one-way function to use, and - ensures that no two users' hashes are the same, even if they use - the same passphrase. The return value points to static storage - which will be overwritten by the next call to crypt. */ -extern char *crypt (const char *__phrase, const char *__salt) - __THROW __nonnull ((1, 2)); - -#ifdef __USE_GNU - -/* This structure provides scratch and output buffers for 'crypt_r'. - Its contents should not be accessed directly. */ -struct crypt_data - { - char keysched[16 * 8]; - char sb0[32768]; - char sb1[32768]; - char sb2[32768]; - char sb3[32768]; - /* end-of-aligment-critical-data */ - char crypt_3_buf[14]; - char current_salt[2]; - long int current_saltbits; - int direction, initialized; - }; - -/* Thread-safe version of 'crypt'. - DATA must point to a 'struct crypt_data' allocated by the caller. - Before the first call to 'crypt_r' with a new 'struct crypt_data', - that object must be initialized to all zeroes. The pointer - returned, if not NULL, will point within DATA. (It will still be - overwritten by the next call to 'crypt_r' with the same DATA.) */ -extern char *crypt_r (const char *__phrase, const char *__salt, - struct crypt_data * __restrict __data) - __THROW __nonnull ((1, 2, 3)); -#endif - -__END_DECLS - -#endif /* crypt.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/ctype.h b/lib/libc/include/generic-glibc/ctype.h index 7417f91a320d87cab5da8b9bc5f49f2f5577550b..2f600ead410091b79548d63e3736dd47c585257c 100644 --- a/lib/libc/include/generic-glibc/ctype.h +++ b/lib/libc/include/generic-glibc/ctype.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/dirent.h b/lib/libc/include/generic-glibc/dirent.h index 5b094807a5376d5abdc4ee478e1ac7c87489cc67..c253b6eec2e6fb3d340ed832725748387c4a2b33 100644 --- a/lib/libc/include/generic-glibc/dirent.h +++ b/lib/libc/include/generic-glibc/dirent.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -126,21 +126,6 @@ enum The actual structure is opaque to users. */ typedef struct __dirstream DIR; -/* Open a directory stream on NAME. - Return a DIR stream on the directory, or NULL if it could not be opened. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern DIR *opendir (const char *__name) __nonnull ((1)); - -#ifdef __USE_XOPEN2K8 -/* Same as opendir, but open the stream on the file descriptor FD. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern DIR *fdopendir (int __fd); -#endif - /* Close the directory stream DIRP. Return 0 if successful, -1 if not. @@ -148,6 +133,23 @@ extern DIR *fdopendir (int __fd); marked with __THROW. */ extern int closedir (DIR *__dirp) __nonnull ((1)); +/* Open a directory stream on NAME. + Return a DIR stream on the directory, or NULL if it could not be opened. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern DIR *opendir (const char *__name) __nonnull ((1)) + __attribute_malloc__ __attr_dealloc (closedir, 1); + +#ifdef __USE_XOPEN2K8 +/* Same as opendir, but open the stream on the file descriptor FD. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern DIR *fdopendir (int __fd) + __attribute_malloc__ __attr_dealloc (closedir, 1); +#endif + /* Read a directory entry from DIRP. Return a pointer to a `struct dirent' describing the entry, or NULL for EOF or error. The storage returned may be overwritten by a later readdir call on the diff --git a/lib/libc/include/generic-glibc/dlfcn.h b/lib/libc/include/generic-glibc/dlfcn.h index 8fa3a090b0663f5e193f9aa6d05d01a0dc276ff3..53ff12dc211083c93349c607803e1efc1dd34e41 100644 --- a/lib/libc/include/generic-glibc/dlfcn.h +++ b/lib/libc/include/generic-glibc/dlfcn.h @@ -1,5 +1,5 @@ /* User functions for run-time dynamic loading. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -28,26 +28,26 @@ #ifdef __USE_GNU +#include + +/* Type for namespace indices. */ +typedef long int Lmid_t; + +/* Special namespace ID values. */ +# define LM_ID_BASE 0 /* Initial namespace. */ +# define LM_ID_NEWLM -1 /* For dlmopen: request new namespace. */ +#endif + /* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT the run-time address of the symbol called NAME in the next shared object is returned. The "next" relation is defined by the order the shared objects were loaded. */ -# define RTLD_NEXT ((void *) -1l) +#define RTLD_NEXT ((void *) -1l) /* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT the run-time address of the symbol called NAME in the global scope is returned. */ -# define RTLD_DEFAULT ((void *) 0) - - -/* Type for namespace indices. */ -typedef long int Lmid_t; - -/* Special namespace ID values. */ -# define LM_ID_BASE 0 /* Initial namespace. */ -# define LM_ID_NEWLM -1 /* For dlmopen: request new namespace. */ -#endif - +#define RTLD_DEFAULT ((void *) 0) __BEGIN_DECLS @@ -162,7 +162,12 @@ enum segment, or if the calling thread has not allocated a block for it. */ RTLD_DI_TLS_DATA = 10, - RTLD_DI_MAX = 10 + /* Treat ARG as const ElfW(Phdr) **, and store the address of the + program header array at that location. The dlinfo call returns + the number of program headers in the array. */ + RTLD_DI_PHDR = 11, + + RTLD_DI_MAX = 11 }; @@ -194,6 +199,31 @@ typedef struct Dl_serpath dls_serpath[1]; /* Actually longer, dls_cnt elements. */ # endif } Dl_serinfo; + +struct dl_find_object +{ + __extension__ unsigned long long int dlfo_flags; + void *dlfo_map_start; /* Beginning of mapping containing address. */ + void *dlfo_map_end; /* End of mapping. */ + struct link_map *dlfo_link_map; + void *dlfo_eh_frame; /* Exception handling data of the object. */ +# if DLFO_STRUCT_HAS_EH_DBASE + void *dlfo_eh_dbase; /* Base address for DW_EH_PE_datarel. */ +# if __WORDSIZE == 32 + unsigned int __dlfo_eh_dbase_pad; +# endif +# endif +# if DLFO_STRUCT_HAS_EH_COUNT + int dlfo_eh_count; /* Number of exception handling entries. */ + unsigned int __dlfo_eh_count_pad; +# endif + __extension__ unsigned long long int __dflo_reserved[7]; +}; + +/* If ADDRESS is found in an object, fill in *RESULT and return 0. + Otherwise, return -1. */ +int _dl_find_object (void *__address, struct dl_find_object *__result) __THROW; + #endif /* __USE_GNU */ diff --git a/lib/libc/include/generic-glibc/elf.h b/lib/libc/include/generic-glibc/elf.h index e55c74a275902e79a35a9a0f06a3bc5e5f0f7738..85a0eed6d6930f557640e5076ed76caa02ecc1b7 100644 --- a/lib/libc/include/generic-glibc/elf.h +++ b/lib/libc/include/generic-glibc/elf.h @@ -1,5 +1,5 @@ /* This file defines standard ELF types, structures, and macros. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -210,7 +210,7 @@ typedef struct #define EM_68HC12 53 /* Motorola M68HC12 */ #define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator */ #define EM_PCP 55 /* Siemens PCP */ -#define EM_NCPU 56 /* Sony nCPU embeeded RISC */ +#define EM_NCPU 56 /* Sony nCPU embedded RISC */ #define EM_NDR1 57 /* Denso NDR1 microprocessor */ #define EM_STARCORE 58 /* Motorola Start*Core processor */ #define EM_ME16 59 /* Toyota ME16 processor */ @@ -358,8 +358,9 @@ typedef struct #define EM_BPF 247 /* Linux BPF -- in-kernel virtual machine */ #define EM_CSKY 252 /* C-SKY */ +#define EM_LOONGARCH 258 /* LoongArch */ -#define EM_NUM 253 +#define EM_NUM 259 /* Old spellings/synonyms. */ @@ -443,7 +444,8 @@ typedef struct #define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */ #define SHT_GROUP 17 /* Section group */ #define SHT_SYMTAB_SHNDX 18 /* Extended section indices */ -#define SHT_NUM 19 /* Number of defined types. */ +#define SHT_RELR 19 /* RELR relative relocations */ +#define SHT_NUM 20 /* Number of defined types. */ #define SHT_LOOS 0x60000000 /* Start OS-specific. */ #define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes. */ #define SHT_GNU_HASH 0x6ffffff6 /* GNU-style hash table. */ @@ -504,6 +506,7 @@ typedef struct /* Legal values for ch_type (compression algorithm). */ #define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE algorithm. */ +#define ELFCOMPRESS_ZSTD 2 /* Zstandard algorithm. */ #define ELFCOMPRESS_LOOS 0x60000000 /* Start of OS-specific. */ #define ELFCOMPRESS_HIOS 0x6fffffff /* End of OS-specific. */ #define ELFCOMPRESS_LOPROC 0x70000000 /* Start of processor-specific. */ @@ -556,7 +559,7 @@ typedef struct /* Possible bitmasks for si_flags. */ #define SYMINFO_FLG_DIRECT 0x0001 /* Direct bound symbol */ -#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-thru symbol for translator */ +#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-through symbol for translator */ #define SYMINFO_FLG_COPY 0x0004 /* Symbol is a copy-reloc */ #define SYMINFO_FLG_LAZYLOAD 0x0008 /* Symbol bound to object to be lazy loaded */ @@ -662,6 +665,11 @@ typedef struct Elf64_Sxword r_addend; /* Addend */ } Elf64_Rela; +/* RELR relocation table entry */ + +typedef Elf32_Word Elf32_Relr; +typedef Elf64_Xword Elf64_Relr; + /* How to extract and insert information held in the r_info field. */ #define ELF32_R_SYM(val) ((val) >> 8) @@ -720,6 +728,7 @@ typedef struct #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ #define PT_GNU_PROPERTY 0x6474e553 /* GNU property */ +#define PT_GNU_SFRAME 0x6474e554 /* SFrame segment. */ #define PT_LOSUNW 0x6ffffffa #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ @@ -801,6 +810,7 @@ typedef struct #define NT_S390_GS_BC 0x30c /* s390 guarded storage broadcast control block. */ #define NT_S390_RI_CB 0x30d /* s390 runtime instrumentation. */ +#define NT_S390_PV_CPU_DATA 0x30e /* s390 protvirt cpu dump data. */ #define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */ #define NT_ARM_TLS 0x401 /* ARM TLS register */ #define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */ @@ -822,6 +832,15 @@ typedef struct #define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers. */ #define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode. */ #define NT_MIPS_MSA 0x802 /* MIPS SIMD registers. */ +#define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers. */ +#define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and + status registers. */ +#define NT_LOONGARCH_LSX 0xa02 /* LoongArch Loongson SIMD + Extension registers. */ +#define NT_LOONGARCH_LASX 0xa03 /* LoongArch Loongson Advanced + SIMD Extension registers. */ +#define NT_LOONGARCH_LBT 0xa04 /* LoongArch Loongson Binary + Translation registers. */ /* Legal values for the note segment descriptor types for object files. */ @@ -887,7 +906,10 @@ typedef struct #define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/ #define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */ #define DT_SYMTAB_SHNDX 34 /* Address of SYMTAB_SHNDX section */ -#define DT_NUM 35 /* Number used */ +#define DT_RELRSZ 35 /* Total size of RELR relative relocations */ +#define DT_RELR 36 /* Address of RELR relative relocations */ +#define DT_RELRENT 37 /* Size of one RELR relative relocaction */ +#define DT_NUM 38 /* Number used */ #define DT_LOOS 0x6000000d /* Start of OS-specific */ #define DT_HIOS 0x6ffff000 /* End of OS-specific */ #define DT_LOPROC 0x70000000 /* Start of processor-specific */ @@ -1044,7 +1066,8 @@ typedef struct /* Legal values for vd_flags (version information flags). */ #define VER_FLG_BASE 0x1 /* Version definition of file itself */ -#define VER_FLG_WEAK 0x2 /* Weak version identifier */ +#define VER_FLG_WEAK 0x2 /* Weak version identifier. Also + used by vna_flags below. */ /* Versym symbol index values. */ #define VER_NDX_LOCAL 0 /* Symbol is local. */ @@ -1122,10 +1145,6 @@ typedef struct } Elf64_Vernaux; -/* Legal values for vna_flags. */ -#define VER_FLG_WEAK 0x2 /* Weak version identifier */ - - /* Auxiliary vector. */ /* This vector is normally only used by the program interpreter. The @@ -1205,6 +1224,9 @@ typedef struct #define AT_HWCAP2 26 /* More machine-dependent hints about processor capabilities. */ +#define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size. */ +#define AT_RSEQ_ALIGN 28 /* rseq allocation alignment. */ + #define AT_EXECFN 31 /* Filename of executable. */ /* Pointer to the global system page used for system calls and other @@ -1231,8 +1253,7 @@ typedef struct #define AT_L3_CACHESIZE 46 #define AT_L3_CACHEGEOMETRY 47 -#define AT_MINSIGSTKSZ 51 /* Stack needed for signal delivery - (AArch64). */ +#define AT_MINSIGSTKSZ 51 /* Stack needed for signal delivery */ /* Note section contents. Each entry in the note section begins with a header of a fixed form. */ @@ -1259,6 +1280,8 @@ typedef struct /* Note entries for GNU systems have this name. */ #define ELF_NOTE_GNU "GNU" +/* Note entries for freedesktop.org have this name. */ +#define ELF_NOTE_FDO "FDO" /* Defined types of notes for Solaris. */ @@ -1302,6 +1325,10 @@ typedef struct /* Program property. */ #define NT_GNU_PROPERTY_TYPE_0 5 +/* Packaging metadata as defined on + https://systemd.io/COREDUMP_PACKAGE_METADATA/ */ +#define NT_FDO_PACKAGING_METADATA 0xcafe1a7e + /* Note section name of program property. */ #define NOTE_GNU_PROPERTY_SECTION_NAME ".note.gnu.property" @@ -1312,6 +1339,23 @@ typedef struct /* No copy relocation on protected data symbol. */ #define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2 +/* A 4-byte unsigned integer property: A bit is set if it is set in all + relocatable inputs. */ +#define GNU_PROPERTY_UINT32_AND_LO 0xb0000000 +#define GNU_PROPERTY_UINT32_AND_HI 0xb0007fff + +/* A 4-byte unsigned integer property: A bit is set if it is set in any + relocatable inputs. */ +#define GNU_PROPERTY_UINT32_OR_LO 0xb0008000 +#define GNU_PROPERTY_UINT32_OR_HI 0xb000ffff + +/* The needed properties by the object file. */ +#define GNU_PROPERTY_1_NEEDED GNU_PROPERTY_UINT32_OR_LO + +/* Set if the object file requires canonical function pointers and + cannot be used with copy relocation. */ +#define GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS (1U << 0) + /* Processor-specific semantics, lo */ #define GNU_PROPERTY_LOPROC 0xc0000000 /* Processor-specific semantics, hi */ @@ -2871,6 +2915,9 @@ enum #define R_AARCH64_TLSDESC 1031 /* TLS Descriptor. */ #define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */ +/* MTE memory tag segment type. */ +#define PT_AARCH64_MEMTAG_MTE (PT_LOPROC + 2) + /* AArch64 specific values for the Dyn d_tag field. */ #define DT_AARCH64_BTI_PLT (DT_LOPROC + 1) #define DT_AARCH64_PAC_PLT (DT_LOPROC + 3) @@ -3896,6 +3943,8 @@ enum #define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 #define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 #define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +#define EF_RISCV_RVE 0x0008 +#define EF_RISCV_TSO 0x0010 /* RISC-V relocations. */ #define R_RISCV_NONE 0 @@ -3953,8 +4002,24 @@ enum #define R_RISCV_SET32 56 #define R_RISCV_32_PCREL 57 #define R_RISCV_IRELATIVE 58 +#define R_RISCV_PLT32 59 +#define R_RISCV_SET_ULEB128 60 +#define R_RISCV_SUB_ULEB128 61 -#define R_RISCV_NUM 59 +#define R_RISCV_NUM 62 + +/* RISC-V specific values for the st_other field. */ +#define STO_RISCV_VARIANT_CC 0x80 /* Function uses variant calling + convention */ + +/* RISC-V specific values for the sh_type field. */ +#define SHT_RISCV_ATTRIBUTES (SHT_LOPROC + 3) + +/* RISC-V specific values for the p_type field. */ +#define PT_RISCV_ATTRIBUTES (PT_LOPROC + 3) + +/* RISC-V specific values for the d_tag field. */ +#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1) /* BPF specific declarations. */ @@ -4034,13 +4099,130 @@ enum #define R_NDS32_TLS_TPOFF 102 #define R_NDS32_TLS_DESC 119 +/* LoongArch ELF Flags */ +#define EF_LARCH_ABI_MODIFIER_MASK 0x07 +#define EF_LARCH_ABI_SOFT_FLOAT 0x01 +#define EF_LARCH_ABI_SINGLE_FLOAT 0x02 +#define EF_LARCH_ABI_DOUBLE_FLOAT 0x03 +#define EF_LARCH_OBJABI_V1 0x40 + +/* LoongArch specific dynamic relocations */ +#define R_LARCH_NONE 0 +#define R_LARCH_32 1 +#define R_LARCH_64 2 +#define R_LARCH_RELATIVE 3 +#define R_LARCH_COPY 4 +#define R_LARCH_JUMP_SLOT 5 +#define R_LARCH_TLS_DTPMOD32 6 +#define R_LARCH_TLS_DTPMOD64 7 +#define R_LARCH_TLS_DTPREL32 8 +#define R_LARCH_TLS_DTPREL64 9 +#define R_LARCH_TLS_TPREL32 10 +#define R_LARCH_TLS_TPREL64 11 +#define R_LARCH_IRELATIVE 12 + +/* Reserved for future relocs that the dynamic linker must understand. */ + +/* used by the static linker for relocating .text. */ +#define R_LARCH_MARK_LA 20 +#define R_LARCH_MARK_PCREL 21 +#define R_LARCH_SOP_PUSH_PCREL 22 +#define R_LARCH_SOP_PUSH_ABSOLUTE 23 +#define R_LARCH_SOP_PUSH_DUP 24 +#define R_LARCH_SOP_PUSH_GPREL 25 +#define R_LARCH_SOP_PUSH_TLS_TPREL 26 +#define R_LARCH_SOP_PUSH_TLS_GOT 27 +#define R_LARCH_SOP_PUSH_TLS_GD 28 +#define R_LARCH_SOP_PUSH_PLT_PCREL 29 +#define R_LARCH_SOP_ASSERT 30 +#define R_LARCH_SOP_NOT 31 +#define R_LARCH_SOP_SUB 32 +#define R_LARCH_SOP_SL 33 +#define R_LARCH_SOP_SR 34 +#define R_LARCH_SOP_ADD 35 +#define R_LARCH_SOP_AND 36 +#define R_LARCH_SOP_IF_ELSE 37 +#define R_LARCH_SOP_POP_32_S_10_5 38 +#define R_LARCH_SOP_POP_32_U_10_12 39 +#define R_LARCH_SOP_POP_32_S_10_12 40 +#define R_LARCH_SOP_POP_32_S_10_16 41 +#define R_LARCH_SOP_POP_32_S_10_16_S2 42 +#define R_LARCH_SOP_POP_32_S_5_20 43 +#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44 +#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45 +#define R_LARCH_SOP_POP_32_U 46 + +/* used by the static linker for relocating non .text. */ +#define R_LARCH_ADD8 47 +#define R_LARCH_ADD16 48 +#define R_LARCH_ADD24 49 +#define R_LARCH_ADD32 50 +#define R_LARCH_ADD64 51 +#define R_LARCH_SUB8 52 +#define R_LARCH_SUB16 53 +#define R_LARCH_SUB24 54 +#define R_LARCH_SUB32 55 +#define R_LARCH_SUB64 56 +#define R_LARCH_GNU_VTINHERIT 57 +#define R_LARCH_GNU_VTENTRY 58 + +/* reserved 59-63 */ + +#define R_LARCH_B16 64 +#define R_LARCH_B21 65 +#define R_LARCH_B26 66 +#define R_LARCH_ABS_HI20 67 +#define R_LARCH_ABS_LO12 68 +#define R_LARCH_ABS64_LO20 69 +#define R_LARCH_ABS64_HI12 70 +#define R_LARCH_PCALA_HI20 71 +#define R_LARCH_PCALA_LO12 72 +#define R_LARCH_PCALA64_LO20 73 +#define R_LARCH_PCALA64_HI12 74 +#define R_LARCH_GOT_PC_HI20 75 +#define R_LARCH_GOT_PC_LO12 76 +#define R_LARCH_GOT64_PC_LO20 77 +#define R_LARCH_GOT64_PC_HI12 78 +#define R_LARCH_GOT_HI20 79 +#define R_LARCH_GOT_LO12 80 +#define R_LARCH_GOT64_LO20 81 +#define R_LARCH_GOT64_HI12 82 +#define R_LARCH_TLS_LE_HI20 83 +#define R_LARCH_TLS_LE_LO12 84 +#define R_LARCH_TLS_LE64_LO20 85 +#define R_LARCH_TLS_LE64_HI12 86 +#define R_LARCH_TLS_IE_PC_HI20 87 +#define R_LARCH_TLS_IE_PC_LO12 88 +#define R_LARCH_TLS_IE64_PC_LO20 89 +#define R_LARCH_TLS_IE64_PC_HI12 90 +#define R_LARCH_TLS_IE_HI20 91 +#define R_LARCH_TLS_IE_LO12 92 +#define R_LARCH_TLS_IE64_LO20 93 +#define R_LARCH_TLS_IE64_HI12 94 +#define R_LARCH_TLS_LD_PC_HI20 95 +#define R_LARCH_TLS_LD_HI20 96 +#define R_LARCH_TLS_GD_PC_HI20 97 +#define R_LARCH_TLS_GD_HI20 98 +#define R_LARCH_32_PCREL 99 +#define R_LARCH_RELAX 100 + +/* ARC specific declarations. */ + +/* Processor specific flags for the Ehdr e_flags field. */ +#define EF_ARC_MACH_MSK 0x000000ff +#define EF_ARC_OSABI_MSK 0x00000f00 +#define EF_ARC_ALL_MSK (EF_ARC_MACH_MSK | EF_ARC_OSABI_MSK) + +/* Processor specific values for the Shdr sh_type field. */ +#define SHT_ARC_ATTRIBUTES (SHT_LOPROC + 1) /* ARC attributes section. */ + /* ARCompact/ARCv2 specific relocs. */ #define R_ARC_NONE 0x0 #define R_ARC_8 0x1 #define R_ARC_16 0x2 #define R_ARC_24 0x3 #define R_ARC_32 0x4 -#define R_ARC_B26 0x5 + #define R_ARC_B22_PCREL 0x6 #define R_ARC_H30 0x7 #define R_ARC_N8 0x8 @@ -4080,16 +4262,23 @@ enum #define R_ARC_SECTOFF_ME_2 0x2A #define R_ARC_SECTOFF_1 0x2B #define R_ARC_SECTOFF_2 0x2C +#define R_ARC_SDA_12 0x2D +#define R_ARC_SDA16_ST2 0x30 +#define R_ARC_32_PCREL 0x31 #define R_ARC_PC32 0x32 #define R_ARC_GOTPC32 0x33 #define R_ARC_PLT32 0x34 #define R_ARC_COPY 0x35 #define R_ARC_GLOB_DAT 0x36 -#define R_ARC_JUMP_SLOT 0x37 +#define R_ARC_JMP_SLOT 0x37 #define R_ARC_RELATIVE 0x38 #define R_ARC_GOTOFF 0x39 #define R_ARC_GOTPC 0x3A #define R_ARC_GOT32 0x3B +#define R_ARC_S21W_PCREL_PLT 0x3C +#define R_ARC_S25H_PCREL_PLT 0x3D + +#define R_ARC_JLI_SECTOFF 0x3F #define R_ARC_TLS_DTPMOD 0x42 #define R_ARC_TLS_DTPOFF 0x43 @@ -4098,8 +4287,48 @@ enum #define R_ARC_TLS_GD_LD 0x46 #define R_ARC_TLS_GD_CALL 0x47 #define R_ARC_TLS_IE_GOT 0x48 -#define R_ARC_TLS_DTPOFF_S9 0x4a -#define R_ARC_TLS_LE_S9 0x4a -#define R_ARC_TLS_LE_32 0x4b +#define R_ARC_TLS_DTPOFF_S9 0x49 +#define R_ARC_TLS_LE_S9 0x4A +#define R_ARC_TLS_LE_32 0x4B +#define R_ARC_S25W_PCREL_PLT 0x4C +#define R_ARC_S21H_PCREL_PLT 0x4D +#define R_ARC_NPS_CMEM16 0x4E + +/* OpenRISC 1000 specific relocs. */ +#define R_OR1K_NONE 0 +#define R_OR1K_32 1 +#define R_OR1K_16 2 +#define R_OR1K_8 3 +#define R_OR1K_LO_16_IN_INSN 4 +#define R_OR1K_HI_16_IN_INSN 5 +#define R_OR1K_INSN_REL_26 6 +#define R_OR1K_GNU_VTENTRY 7 +#define R_OR1K_GNU_VTINHERIT 8 +#define R_OR1K_32_PCREL 9 +#define R_OR1K_16_PCREL 10 +#define R_OR1K_8_PCREL 11 +#define R_OR1K_GOTPC_HI16 12 +#define R_OR1K_GOTPC_LO16 13 +#define R_OR1K_GOT16 14 +#define R_OR1K_PLT26 15 +#define R_OR1K_GOTOFF_HI16 16 +#define R_OR1K_GOTOFF_LO16 17 +#define R_OR1K_COPY 18 +#define R_OR1K_GLOB_DAT 19 +#define R_OR1K_JMP_SLOT 20 +#define R_OR1K_RELATIVE 21 +#define R_OR1K_TLS_GD_HI16 22 +#define R_OR1K_TLS_GD_LO16 23 +#define R_OR1K_TLS_LDM_HI16 24 +#define R_OR1K_TLS_LDM_LO16 25 +#define R_OR1K_TLS_LDO_HI16 26 +#define R_OR1K_TLS_LDO_LO16 27 +#define R_OR1K_TLS_IE_HI16 28 +#define R_OR1K_TLS_IE_LO16 29 +#define R_OR1K_TLS_LE_HI16 30 +#define R_OR1K_TLS_LE_LO16 31 +#define R_OR1K_TLS_TPOFF 32 +#define R_OR1K_TLS_DTPOFF 33 +#define R_OR1K_TLS_DTPMOD 34 #endif /* elf.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/endian.h b/lib/libc/include/generic-glibc/endian.h index b72d888f343a07ca0c9c82deace010b258570d2c..a121c174d5159b0949d7a73292e123fcd6279bdd 100644 --- a/lib/libc/include/generic-glibc/endian.h +++ b/lib/libc/include/generic-glibc/endian.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/envz.h b/lib/libc/include/generic-glibc/envz.h index f58aae10ee9ac3dce732279ae201e3ca108cc6f6..7380ed1b74ee9983668585337b8e7fde4ce91a0f 100644 --- a/lib/libc/include/generic-glibc/envz.h +++ b/lib/libc/include/generic-glibc/envz.h @@ -1,5 +1,5 @@ /* Routines for dealing with '\0' separated environment vectors - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/err.h b/lib/libc/include/generic-glibc/err.h index 8dc0d54bf16ccffc0a202fdbb219c1b793958770..ac65ae3e79c749aa52e264bcff2609df4671b113 100644 --- a/lib/libc/include/generic-glibc/err.h +++ b/lib/libc/include/generic-glibc/err.h @@ -1,5 +1,5 @@ /* 4.4BSD utility functions for error messages. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,9 +32,9 @@ __BEGIN_DECLS /* Print "program: ", FORMAT, ": ", the standard error string for errno, and a newline, on stderr. */ extern void warn (const char *__format, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); + __attribute__ ((__format__ (__printf__, 1, 2))) __COLD; extern void vwarn (const char *__format, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 1, 0))); + __attribute__ ((__format__ (__printf__, 1, 0))) __COLD; /* Likewise, but without ": " and the standard error string. */ extern void warnx (const char *__format, ...) @@ -44,13 +44,13 @@ extern void vwarnx (const char *__format, __gnuc_va_list) /* Likewise, and then exit with STATUS. */ extern void err (int __status, const char *__format, ...) - __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD; extern void verr (int __status, const char *__format, __gnuc_va_list) - __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD; extern void errx (int __status, const char *__format, ...) - __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD; extern void verrx (int __status, const char *, __gnuc_va_list) - __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD; #include #if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 diff --git a/lib/libc/include/generic-glibc/errno.h b/lib/libc/include/generic-glibc/errno.h index 2fe78325ac3c6fdf0ec0a02010d0d651704d3c63..8a7960188d1feff36aa03cd21b9fb2bb807f9bb0 100644 --- a/lib/libc/include/generic-glibc/errno.h +++ b/lib/libc/include/generic-glibc/errno.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/error.h b/lib/libc/include/generic-glibc/error.h index 4b024e0b9eaebd92ca2ee780409e4ba0bce20938..8b4b655ba074da92cb1c5b754a4e2c8206ee3e74 100644 --- a/lib/libc/include/generic-glibc/error.h +++ b/lib/libc/include/generic-glibc/error.h @@ -1,5 +1,5 @@ /* Declaration for error-reporting function - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,11 +29,11 @@ __BEGIN_DECLS If STATUS is nonzero, terminate the program with `exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); + __attribute__ ((__format__ (__printf__, 3, 4))) __COLD; extern void error_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, ...) - __attribute__ ((__format__ (__printf__, 5, 6))); + __attribute__ ((__format__ (__printf__, 5, 6))) __COLD; /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this diff --git a/lib/libc/include/generic-glibc/execinfo.h b/lib/libc/include/generic-glibc/execinfo.h index efee46f7667346e5fb5967256ff26fbfa76ca8f2..d9ed82cca79b1881a7cb35fbef252d959b527fd8 100644 --- a/lib/libc/include/generic-glibc/execinfo.h +++ b/lib/libc/include/generic-glibc/execinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fcntl.h b/lib/libc/include/generic-glibc/fcntl.h index fb93ee658bbc80d5a850cc57eb9bd7793bd0c91f..ebe306343e74c9c17a98c9e1088882c2dac85318 100644 --- a/lib/libc/include/generic-glibc/fcntl.h +++ b/lib/libc/include/generic-glibc/fcntl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -167,11 +167,6 @@ typedef __pid_t pid_t; effective IDs, not real IDs. */ #endif - -/* fcntl was a simple symbol until glibc 2.27 inclusive. - * glibc 2.28 onwards converted it to a macro when compiled with - * USE_LARGEFILE64. */ -#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 28) || __GLIBC__ > 2 /* Do the file control operation described by CMD on FD. The remaining arguments are interpreted depending on CMD. @@ -192,19 +187,16 @@ extern int fcntl64 (int __fd, int __cmd, ...); # endif #else /* __USE_TIME_BITS64 */ # ifdef __REDIRECT -extern int __REDIRECT (fcntl, (int __fd, int __request, ...), - __fcntl_time64) __THROW; -extern int __REDIRECT (fcntl64, (int __fd, int __request, ...), - __fcntl_time64) __THROW; +extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...), + __fcntl_time64); +extern int __REDIRECT_NTH (fcntl64, (int __fd, int __request, ...), + __fcntl_time64); # else extern int __fcntl_time64 (int __fd, int __request, ...) __THROW; # define fcntl64 __fcntl_time64 # define fcntl __fcntl_time64 # endif #endif -#else /* glibc 2.27 or lower */ -extern int fcntl (int __fd, int __cmd, ...); -#endif /* Open FILE and return a new file descriptor for it, or -1 on error. OFLAG determines the type of access used. If O_CREAT or O_TMPFILE is set diff --git a/lib/libc/include/generic-glibc/features-time64.h b/lib/libc/include/generic-glibc/features-time64.h index 8e8163f6a3806fe8243016394cf57fb0318bed8a..68ef417efdeced29fd0489c5ed374b12655ffb88 100644 --- a/lib/libc/include/generic-glibc/features-time64.h +++ b/lib/libc/include/generic-glibc/features-time64.h @@ -1,5 +1,5 @@ /* Features part to handle 64-bit time_t support. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/features.h b/lib/libc/include/generic-glibc/features.h index dba3fc84912ca314bc66e4051fc0f0b5dd12bc00..a86e84edc4c4872dbb73cacf33dbbdf9f3365624 100644 --- a/lib/libc/include/generic-glibc/features.h +++ b/lib/libc/include/generic-glibc/features.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,8 @@ __STRICT_ANSI__). _FORTIFY_SOURCE Add security hardening to many library functions. - Set to 1 or 2; 2 performs stricter checks than 1. + Set to 1, 2 or 3; 3 performs stricter checks than 2, which + performs stricter checks than 1. _REENTRANT, _THREAD_SAFE Obsolete; equivalent to _POSIX_C_SOURCE=199506L. @@ -150,6 +151,7 @@ #undef __GLIBC_USE_ISOC2X #undef __GLIBC_USE_DEPRECATED_GETS #undef __GLIBC_USE_DEPRECATED_SCANF +#undef __GLIBC_USE_C2X_STRTOL /* Suppress kernel-name space pollution unless user expressedly asks for it. */ @@ -220,12 +222,8 @@ # define _DEFAULT_SOURCE 1 # undef _ATFILE_SOURCE # define _ATFILE_SOURCE 1 - -# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || __GLIBC__ > 2 # undef _DYNAMIC_STACK_SIZE_SOURCE # define _DYNAMIC_STACK_SIZE_SOURCE 1 -# endif - #endif /* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, @@ -416,7 +414,9 @@ # warning _FORTIFY_SOURCE requires compiling with optimization (-O) # elif !__GNUC_PREREQ (4, 1) # warning _FORTIFY_SOURCE requires GCC 4.1 or later -# elif _FORTIFY_SOURCE > 2 && __glibc_clang_prereq (9, 0) +# elif _FORTIFY_SOURCE > 2 && (__glibc_clang_prereq (9, 0) \ + || __GNUC_PREREQ (12, 0)) + # if _FORTIFY_SOURCE > 3 # warning _FORTIFY_SOURCE > 3 is treated like 3 on this platform # endif @@ -465,6 +465,17 @@ # define __GLIBC_USE_DEPRECATED_SCANF 0 #endif +/* ISO C2X added support for a 0b or 0B prefix on binary constants as + inputs to strtol-family functions (base 0 or 2). This macro is + used to condition redirection in headers to allow that redirection + to be disabled when building those functions, despite _GNU_SOURCE + being defined. */ +#if __GLIBC_USE (ISOC2X) +# define __GLIBC_USE_C2X_STRTOL 1 +#else +# define __GLIBC_USE_C2X_STRTOL 0 +#endif + /* Get definitions of __STDC_* predefined macros, if the compiler has not preincluded this header automatically. */ #include @@ -481,7 +492,7 @@ /* Major and minor version number of the GNU C library package. Use these macros to test for features in specific releases. */ #define __GLIBC__ 2 -/* Zig patch: we pass `-D__GLIBC_MINOR__=XX` depending on the target. */ +#define __GLIBC_MINOR__ 38 #define __GLIBC_PREREQ(maj, min) \ ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) @@ -516,4 +527,4 @@ #include -#endif /* features.h */ +#endif /* features.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/fenv.h b/lib/libc/include/generic-glibc/fenv.h index 978d81009dbf9263aad2917677b1fcece440eed1..081cac0eccb93e7d16210131f42dde8e38cafa79 100644 --- a/lib/libc/include/generic-glibc/fenv.h +++ b/lib/libc/include/generic-glibc/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,7 +25,7 @@ #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #include -/* Get the architecture dependend definitions. The following definitions +/* Get the architecture dependent definitions. The following definitions are expected to be done: fenv_t type for object representing an entire floating-point diff --git a/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h b/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h index 0f2ebfeba3881a71c1260501a7bb53796f0146c8..3ac3c6f253025a55b25a43c616b9de80f5fd9e77 100644 --- a/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h +++ b/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h @@ -1,5 +1,5 @@ ! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- -! Copyright (C) 2019-2021 Free Software Foundation, Inc. +! Copyright (C) 2019-2023 Free Software Foundation, Inc. ! This file is part of the GNU C Library. ! ! The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fmtmsg.h b/lib/libc/include/generic-glibc/fmtmsg.h index 6bdb421cd6c3fa0e268e49a31a488f041668baa1..da9e9a2b53693e8f4dc4a78aaf259563228b467c 100644 --- a/lib/libc/include/generic-glibc/fmtmsg.h +++ b/lib/libc/include/generic-glibc/fmtmsg.h @@ -1,5 +1,5 @@ /* Message display handling. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fnmatch.h b/lib/libc/include/generic-glibc/fnmatch.h index acea08c1d85316c49a5dd6563c49937d99273677..2472a0075a4d6606753d1f8966a19e8d2ebbd21f 100644 --- a/lib/libc/include/generic-glibc/fnmatch.h +++ b/lib/libc/include/generic-glibc/fnmatch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fpregdef.h b/lib/libc/include/generic-glibc/fpregdef.h index 7c670560e002db260d5016e6ce0579526f6550db..b78efa58be94c8dcbb5049bf48cc403b83c02fba 100644 --- a/lib/libc/include/generic-glibc/fpregdef.h +++ b/lib/libc/include/generic-glibc/fpregdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fpu_control.h b/lib/libc/include/generic-glibc/fpu_control.h index 729526935e40a06d149f1a629b3f432888abc41c..73334a41a87ccfc688e36cef78bf363274184e3d 100644 --- a/lib/libc/include/generic-glibc/fpu_control.h +++ b/lib/libc/include/generic-glibc/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word bits. Mips version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fts.h b/lib/libc/include/generic-glibc/fts.h index 2705c1c67afcf2e2eef5c227dca324bfbd2a213b..18c153b42077df348af18942576dc194dcf1c6bc 100644 --- a/lib/libc/include/generic-glibc/fts.h +++ b/lib/libc/include/generic-glibc/fts.h @@ -1,5 +1,5 @@ /* File tree traversal functions declarations. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/ftw.h b/lib/libc/include/generic-glibc/ftw.h index 14531bc774e834fc65dce2e45decffe25fc7a85d..ea1490482aa017d602596632291cd5df4739b2e8 100644 --- a/lib/libc/include/generic-glibc/ftw.h +++ b/lib/libc/include/generic-glibc/ftw.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/gconv.h b/lib/libc/include/generic-glibc/gconv.h index 8c7b9422275d477b3b6492efc195124d954ae803..46fb3fab48afea06ba4b7ab87eada4b5c6547848 100644 --- a/lib/libc/include/generic-glibc/gconv.h +++ b/lib/libc/include/generic-glibc/gconv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/getopt.h b/lib/libc/include/generic-glibc/getopt.h index 7b879b96eff2634e4640ccf028e5d67b6dde95c8..dfaf7b07572d41d67c8b653ad203aa1521a556c8 100644 --- a/lib/libc/include/generic-glibc/getopt.h +++ b/lib/libc/include/generic-glibc/getopt.h @@ -1,5 +1,5 @@ /* Declarations for getopt. - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. Unlike the bulk of the getopt implementation, this file is NOT part of gnulib; gnulib also has a getopt.h but it is different. diff --git a/lib/libc/include/generic-glibc/glob.h b/lib/libc/include/generic-glibc/glob.h index a014ec4db5e1ba938faeef48f3dc610439747c9e..a0f8156156ee3866eda25cef77af1956ab1dbaf2 100644 --- a/lib/libc/include/generic-glibc/glob.h +++ b/lib/libc/include/generic-glibc/glob.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/gnu-versions.h b/lib/libc/include/generic-glibc/gnu-versions.h index 4f5206c97e5f8929665a3bd1ec3c7e708db0e128..110e1acc0c7319bca7ae3274abddcf301825b83a 100644 --- a/lib/libc/include/generic-glibc/gnu-versions.h +++ b/lib/libc/include/generic-glibc/gnu-versions.h @@ -1,5 +1,5 @@ /* Header with interface version macros for library pieces copied elsewhere. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-32.h b/lib/libc/include/generic-glibc/gnu/lib-names-32.h index 94b406673b985c7b53ad18395b4e7762b8af5f62..61122a2b06ab2cbba25670ae11a838a1214ddb2b 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-32.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-32.h @@ -3,8 +3,7 @@ # error "Never use directly; include instead." #endif -#define LD_LINUX_SO "ld-linux.so.2" -#define LD_SO "ld-linux.so.2" +#define LD_SO "ld.so.1" #define LIBANL_SO "libanl.so.1" #define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" #define LIBCRYPT_SO "libcrypt.so.1" @@ -21,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-hard.h b/lib/libc/include/generic-glibc/gnu/lib-names-hard.h index eab958367047eb267637cf2d8dc129ccc04c3a5d..13a873c5d2a60a75f937f6c7bc92205fe99030f4 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-hard.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-hard.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-ilp32d.h b/lib/libc/include/generic-glibc/gnu/lib-names-ilp32d.h deleted file mode 100644 index da6ef4813b3a8ee97a5ef5bbdf9e4da26b4d979b..0000000000000000000000000000000000000000 --- a/lib/libc/include/generic-glibc/gnu/lib-names-ilp32d.h +++ /dev/null @@ -1,30 +0,0 @@ -/* This file is automatically generated. */ -#ifndef __GNU_LIB_NAMES_H -# error "Never use directly; include instead." -#endif - -#define LD_LINUX_RISCV32_ILP32D_SO "ld-linux-riscv32-ilp32d.so.1" -#define LD_SO "ld-linux-riscv32-ilp32d.so.1" -#define LIBANL_SO "libanl.so.1" -#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" -#define LIBCRYPT_SO "libcrypt.so.1" -#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" -#define LIBC_SO "libc.so.6" -#define LIBDL_SO "libdl.so.2" -#define LIBGCC_S_SO "libgcc_s.so.1" -#define LIBMVEC_SO "libmvec.so.1" -#define LIBM_SO "libm.so.6" -#define LIBNSL_SO "libnsl.so.1" -#define LIBNSS_COMPAT_SO "libnss_compat.so.2" -#define LIBNSS_DB_SO "libnss_db.so.2" -#define LIBNSS_DNS_SO "libnss_dns.so.2" -#define LIBNSS_FILES_SO "libnss_files.so.2" -#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" -#define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" -#define LIBPTHREAD_SO "libpthread.so.0" -#define LIBRESOLV_SO "libresolv.so.2" -#define LIBRT_SO "librt.so.1" -#define LIBTHREAD_DB_SO "libthread_db.so.1" -#define LIBUTIL_SO "libutil.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h b/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h index a941c82ff7ac144458818217ac2c1c66fd698c01..f65868f500eccd873ff980825d94439d8ececb41 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h @@ -20,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h b/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h index 740f99f84fad153427b410b680a09e794bca80f7..6a0aca7bee94fec632548447c2a94ff7a6ee9146 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h @@ -20,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h b/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h index e5bde87e450c226595157037381d5fbdfa3f2399..da37326c058f552221f7c29380169b6526d2ef8a 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h @@ -20,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h b/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h index 2eb6ca4f6a05310d003238b04abb255ca004752a..8cb4e356d1cf1309130bbff9bb401f7af298957b 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h @@ -20,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-soft.h b/lib/libc/include/generic-glibc/gnu/lib-names-soft.h index bcafe34bddb68c5bf7128ee193330ec90138d7ff..10795569f1803227f6135447f9c32d9c1ad9cbaa 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-soft.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-soft.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/libc-version.h b/lib/libc/include/generic-glibc/gnu/libc-version.h index 76852fcb2470db890a43cc6cdefeac955f3a88ff..8da47d45f67730a6989ba057565ca0a1c954ac87 100644 --- a/lib/libc/include/generic-glibc/gnu/libc-version.h +++ b/lib/libc/include/generic-glibc/gnu/libc-version.h @@ -1,5 +1,5 @@ /* Interface to GNU libc specific functions for version information. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/gnu/stubs-ilp32.h b/lib/libc/include/generic-glibc/gnu/stubs-ilp32.h deleted file mode 100644 index b9af396166e6dfc0c19e99ac906269c7008453e3..0000000000000000000000000000000000000000 --- a/lib/libc/include/generic-glibc/gnu/stubs-ilp32.h +++ /dev/null @@ -1,38 +0,0 @@ -/* This file is automatically generated. - It defines a symbol `__stub_FUNCTION' for each function - in the C library which is a stub, meaning it will fail - every time called, usually setting errno to ENOSYS. */ - -#ifdef _LIBC - #error Applications may not define the macro _LIBC -#endif - -#define __stub___compat_bdflush -#define __stub___compat_create_module -#define __stub___compat_get_kernel_syms -#define __stub___compat_query_module -#define __stub___compat_uselib -#define __stub_chflags -#define __stub_fchflags -#define __stub_feclearexcept -#define __stub_fedisableexcept -#define __stub_feenableexcept -#define __stub_fegetenv -#define __stub_fegetexcept -#define __stub_fegetexceptflag -#define __stub_fegetmode -#define __stub_fegetround -#define __stub_feholdexcept -#define __stub_feraiseexcept -#define __stub_fesetenv -#define __stub_fesetexcept -#define __stub_fesetexceptflag -#define __stub_fesetmode -#define __stub_fesetround -#define __stub_fetestexcept -#define __stub_feupdateenv -#define __stub_gtty -#define __stub_revoke -#define __stub_setlogin -#define __stub_sigreturn -#define __stub_stty diff --git a/lib/libc/include/generic-glibc/gnu/stubs-ilp32d.h b/lib/libc/include/generic-glibc/gnu/stubs-ilp32d.h deleted file mode 100644 index 4d4c0d146a4063129577bff6724df15f3a36b84f..0000000000000000000000000000000000000000 --- a/lib/libc/include/generic-glibc/gnu/stubs-ilp32d.h +++ /dev/null @@ -1,24 +0,0 @@ -/* This file is automatically generated. - It defines a symbol `__stub_FUNCTION' for each function - in the C library which is a stub, meaning it will fail - every time called, usually setting errno to ENOSYS. */ - -#ifdef _LIBC - #error Applications may not define the macro _LIBC -#endif - -#define __stub___compat_bdflush -#define __stub___compat_create_module -#define __stub___compat_get_kernel_syms -#define __stub___compat_query_module -#define __stub___compat_uselib -#define __stub_chflags -#define __stub_fchflags -#define __stub_fedisableexcept -#define __stub_feenableexcept -#define __stub_fegetexcept -#define __stub_gtty -#define __stub_revoke -#define __stub_setlogin -#define __stub_sigreturn -#define __stub_stty diff --git a/lib/libc/include/generic-glibc/grp.h b/lib/libc/include/generic-glibc/grp.h index b7c890f673ed126a8c722ac5804e747e72ed1696..530d5d360dad05b186eddeadb15f36300f2272c6 100644 --- a/lib/libc/include/generic-glibc/grp.h +++ b/lib/libc/include/generic-glibc/grp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -130,7 +130,8 @@ extern struct group *getgrnam (const char *__name); # ifdef __USE_GNU extern int getgrent_r (struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 2, 3)); # endif /* Search for an entry with a matching group ID. @@ -139,7 +140,8 @@ extern int getgrent_r (struct group *__restrict __resultbuf, marked with __THROW. */ extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); /* Search for an entry with a matching group name. @@ -148,7 +150,8 @@ extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, extern int getgrnam_r (const char *__restrict __name, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); # ifdef __USE_MISC /* Read a group entry from STREAM. This function is not standardized @@ -161,7 +164,8 @@ extern int getgrnam_r (const char *__restrict __name, extern int fgetgrent_r (FILE *__restrict __stream, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); # endif #endif /* POSIX or reentrant */ diff --git a/lib/libc/include/generic-glibc/gshadow.h b/lib/libc/include/generic-glibc/gshadow.h index d784c8ce5346f467619ae8e9ca7dc40c9c81223f..865acf118866f9849b42b6d3524af6feecc6b9a3 100644 --- a/lib/libc/include/generic-glibc/gshadow.h +++ b/lib/libc/include/generic-glibc/gshadow.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2021 Free Software Foundation, Inc. +/* Copyright (C) 2009-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -108,19 +108,23 @@ extern int putsgent (const struct sgrp *__g, FILE *__stream); or due to the implementation they are cancellation points and therefore not marked with __THROW. */ extern int getsgent_r (struct sgrp *__result_buf, char *__buffer, - size_t __buflen, struct sgrp **__result); + size_t __buflen, struct sgrp **__result) + __attr_access ((__write_only__, 2, 3)); extern int getsgnam_r (const char *__name, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); extern int sgetsgent_r (const char *__string, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); extern int fgetsgent_r (FILE *__stream, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); #endif /* misc */ __END_DECLS diff --git a/lib/libc/include/generic-glibc/iconv.h b/lib/libc/include/generic-glibc/iconv.h index 8a5722ae933aca1c7a61ff9fecf0b418584c33d8..a1ec71760176c64c52ba880418189e3e37c4ec80 100644 --- a/lib/libc/include/generic-glibc/iconv.h +++ b/lib/libc/include/generic-glibc/iconv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,12 +29,19 @@ __BEGIN_DECLS typedef void *iconv_t; +/* Free resources allocated for descriptor CD for code conversion. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int iconv_close (iconv_t __cd); + /* Allocate descriptor for code conversion from codeset FROMCODE to codeset TOCODE. This function is a possible cancellation point and therefore not marked with __THROW. */ -extern iconv_t iconv_open (const char *__tocode, const char *__fromcode); +extern iconv_t iconv_open (const char *__tocode, const char *__fromcode) + __attribute_malloc__ __attr_dealloc (iconv_close, 1); /* Convert at most *INBYTESLEFT bytes from *INBUF according to the code conversion algorithm specified by CD and place up to @@ -44,12 +51,6 @@ extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, char **__restrict __outbuf, size_t *__restrict __outbytesleft); -/* Free resources allocated for descriptor CD for code conversion. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int iconv_close (iconv_t __cd); - __END_DECLS #endif /* iconv.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/ieee754.h b/lib/libc/include/generic-glibc/ieee754.h index e25e6187cc77e9155201eda51910014cae0ea437..56cf582de332b80b1ed11112c6769d2030471200 100644 --- a/lib/libc/include/generic-glibc/ieee754.h +++ b/lib/libc/include/generic-glibc/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/ifaddrs.h b/lib/libc/include/generic-glibc/ifaddrs.h index 6f866c018f8f5b9dd321c9588401c22a8ba510e4..c6c196945620b613c8b4eb0a37683f0a1e7da83d 100644 --- a/lib/libc/include/generic-glibc/ifaddrs.h +++ b/lib/libc/include/generic-glibc/ifaddrs.h @@ -1,5 +1,5 @@ /* ifaddrs.h -- declarations for getting network interface addresses - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/inttypes.h b/lib/libc/include/generic-glibc/inttypes.h index 86bbd004fa2c5e8c1a22e5dffa407a06e7e7488e..484280650247a135e20863a4258695be0b59cee9 100644 --- a/lib/libc/include/generic-glibc/inttypes.h +++ b/lib/libc/include/generic-glibc/inttypes.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -164,6 +164,45 @@ typedef wchar_t __gwchar_t; # define PRIxPTR __PRIPTR_PREFIX "x" # define PRIXPTR __PRIPTR_PREFIX "X" +/* Binary notation. */ +# if __GLIBC_USE (ISOC2X) +# define PRIb8 "b" +# define PRIb16 "b" +# define PRIb32 "b" +# define PRIb64 __PRI64_PREFIX "b" + +# define PRIbLEAST8 "b" +# define PRIbLEAST16 "b" +# define PRIbLEAST32 "b" +# define PRIbLEAST64 __PRI64_PREFIX "b" + +# define PRIbFAST8 "b" +# define PRIbFAST16 __PRIPTR_PREFIX "b" +# define PRIbFAST32 __PRIPTR_PREFIX "b" +# define PRIbFAST64 __PRI64_PREFIX "b" + +# define PRIbMAX __PRI64_PREFIX "b" +# define PRIbPTR __PRIPTR_PREFIX "b" + +# define PRIB8 "B" +# define PRIB16 "B" +# define PRIB32 "B" +# define PRIB64 __PRI64_PREFIX "B" + +# define PRIBLEAST8 "B" +# define PRIBLEAST16 "B" +# define PRIBLEAST32 "B" +# define PRIBLEAST64 __PRI64_PREFIX "B" + +# define PRIBFAST8 "B" +# define PRIBFAST16 __PRIPTR_PREFIX "B" +# define PRIBFAST32 __PRIPTR_PREFIX "B" +# define PRIBFAST64 __PRI64_PREFIX "B" + +# define PRIBMAX __PRI64_PREFIX "B" +# define PRIBPTR __PRIPTR_PREFIX "B" +# endif + /* Macros for scanning format specifiers. */ @@ -255,7 +294,7 @@ typedef wchar_t __gwchar_t; # define SCNuMAX __PRI64_PREFIX "u" # define SCNxMAX __PRI64_PREFIX "x" -/* Macros for scaning `intptr_t' and `uintptr_t'. */ +/* Macros for scanning `intptr_t' and `uintptr_t'. */ # define SCNdPTR __PRIPTR_PREFIX "d" # define SCNiPTR __PRIPTR_PREFIX "i" # define SCNoPTR __PRIPTR_PREFIX "o" @@ -263,6 +302,28 @@ typedef wchar_t __gwchar_t; # define SCNxPTR __PRIPTR_PREFIX "x" +/* Binary notation. */ +# if __GLIBC_USE (ISOC2X) +# define SCNb8 "hhb" +# define SCNb16 "hb" +# define SCNb32 "b" +# define SCNb64 __PRI64_PREFIX "b" + +# define SCNbLEAST8 "hhb" +# define SCNbLEAST16 "hb" +# define SCNbLEAST32 "b" +# define SCNbLEAST64 __PRI64_PREFIX "b" + +# define SCNbFAST8 "hhb" +# define SCNbFAST16 __PRIPTR_PREFIX "b" +# define SCNbFAST32 __PRIPTR_PREFIX "b" +# define SCNbFAST64 __PRI64_PREFIX "b" + +# define SCNbMAX __PRI64_PREFIX "b" +# define SCNbPTR __PRIPTR_PREFIX "b" +# endif + + __BEGIN_DECLS #if __WORDSIZE == 64 @@ -311,6 +372,46 @@ extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, __gwchar_t ** __restrict __endptr, int __base) __THROW; +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern intmax_t __REDIRECT_NTH (strtoimax, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoimax); +extern uintmax_t __REDIRECT_NTH (strtoumax, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoumax); +extern intmax_t __REDIRECT_NTH (wcstoimax, + (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base), + __isoc23_wcstoimax); +extern uintmax_t __REDIRECT_NTH (wcstoumax, + (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base), + __isoc23_wcstoumax); +# else +extern intmax_t __isoc23_strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW; +extern uintmax_t __isoc23_strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) + __THROW; +extern intmax_t __isoc23_wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, + int __base) + __THROW; +extern uintmax_t __isoc23_wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, + int __base) + __THROW; +# define strtoimax __isoc23_strtoimax +# define strtoumax __isoc23_strtoumax +# define wcstoimax __isoc23_wcstoimax +# define wcstoumax __isoc23_wcstoumax +# endif +#endif + __END_DECLS #endif /* inttypes.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/langinfo.h b/lib/libc/include/generic-glibc/langinfo.h index 5c04c86774ab50e5ac0e66283bed99733d2f70eb..3e85bea96e3aff6931b042a100b382e7953165e4 100644 --- a/lib/libc/include/generic-glibc/langinfo.h +++ b/lib/libc/include/generic-glibc/langinfo.h @@ -1,5 +1,5 @@ /* Access to locale-dependent parameters. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/libgen.h b/lib/libc/include/generic-glibc/libgen.h index de85144d8d0a0a2b2bdfa87be62357ef71dc032a..1408bd60964aadfc5d3bb17dd74a3923abe34bbd 100644 --- a/lib/libc/include/generic-glibc/libgen.h +++ b/lib/libc/include/generic-glibc/libgen.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/libintl.h b/lib/libc/include/generic-glibc/libintl.h index 5c3eb1e8ad3168c34c32a56cf888ac579486f5af..77f9b709beb2f1386e1b635722a25545abd40445 100644 --- a/lib/libc/include/generic-glibc/libintl.h +++ b/lib/libc/include/generic-glibc/libintl.h @@ -1,5 +1,5 @@ /* Message catalogs for internationalization. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. This file is derived from the file libgettext.h in the GNU gettext package. diff --git a/lib/libc/include/generic-glibc/limits.h b/lib/libc/include/generic-glibc/limits.h index a5a9f317acc358069b888433c3d7ecb0667e4488..2634f227d24ec03a8c78eab61848d7e818f4474b 100644 --- a/lib/libc/include/generic-glibc/limits.h +++ b/lib/libc/include/generic-glibc/limits.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/link.h b/lib/libc/include/generic-glibc/link.h index a32d10ede96a183f62a01c149a2a3bc742702dbb..ec9ba1f451b7e3d4784082ba9b6b60fad3b8910c 100644 --- a/lib/libc/include/generic-glibc/link.h +++ b/lib/libc/include/generic-glibc/link.h @@ -1,6 +1,6 @@ /* Data structure for communication from the run-time dynamic linker for loaded ELF shared objects. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,14 +34,13 @@ #include /* Defines __ELF_NATIVE_CLASS. */ #include -/* Rendezvous structure used by the run-time dynamic linker to communicate - details of shared object loading to the debugger. If the executable's - dynamic section has a DT_DEBUG element, the run-time linker sets that - element's value to the address where this structure can be found. */ +/* The legacy rendezvous structure used by the run-time dynamic linker to + communicate details of shared object loading to the debugger. */ struct r_debug { - int r_version; /* Version number for this protocol. */ + /* Version number for this protocol. It should be greater than 0. */ + int r_version; struct link_map *r_map; /* Head of the chain of loaded objects. */ @@ -63,16 +62,34 @@ struct r_debug ElfW(Addr) r_ldbase; /* Base address the linker is loaded at. */ }; -/* This is the instance of that structure used by the dynamic linker. */ +/* This is the symbol of that structure provided by the dynamic linker. */ extern struct r_debug _r_debug; +/* The extended rendezvous structure used by the run-time dynamic linker + to communicate details of shared object loading to the debugger. If + the executable's dynamic section has a DT_DEBUG element, the run-time + linker sets that element's value to the address where this structure + can be found. */ + +struct r_debug_extended + { + struct r_debug base; + + /* The following field is added by r_version == 2. */ + + /* Link to the next r_debug_extended structure. Each r_debug_extended + structure represents a different namespace. The first + r_debug_extended structure is for the default namespace. */ + struct r_debug_extended *r_next; + }; + /* This symbol refers to the "dynamic structure" in the `.dynamic' section of whatever module refers to `_DYNAMIC'. So, to find its own - `struct r_debug', a program could do: + `struct r_debug_extended', a program could do: for (dyn = _DYNAMIC; dyn->d_tag != DT_NULL; ++dyn) if (dyn->d_tag == DT_DEBUG) - r_debug = (struct r_debug *) dyn->d_un.d_ptr; - */ + r_debug_extended = (struct r_debug_extended *) dyn->d_un.d_ptr; + */ extern ElfW(Dyn) _DYNAMIC[]; /* Structure describing a loaded shared object. The `l_next' and `l_prev' @@ -96,7 +113,7 @@ struct link_map #ifdef __USE_GNU /* Version numbers for la_version handshake interface. */ -#define LAV_CURRENT 1 +#include /* Activity types signaled through la_activity. */ enum diff --git a/lib/libc/include/generic-glibc/locale.h b/lib/libc/include/generic-glibc/locale.h index f54d4240af78de1eb5beb9d3950444b413bbdc17..11d7ab1d5962906f1071c3ff36ae2350bba2c284 100644 --- a/lib/libc/include/generic-glibc/locale.h +++ b/lib/libc/include/generic-glibc/locale.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/malloc.h b/lib/libc/include/generic-glibc/malloc.h index d9be803a6f08d9f1abf382a30bfbf970a34116dc..b6f39f3e11bfe6eedcc376fdeccf3e8c8eda5ddb 100644 --- a/lib/libc/include/generic-glibc/malloc.h +++ b/lib/libc/include/generic-glibc/malloc.h @@ -1,5 +1,6 @@ /* Prototypes and definition for malloc implementation. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -64,8 +65,8 @@ extern void free (void *__ptr) __THROW; /* Allocate SIZE bytes allocated to ALIGNMENT bytes. */ extern void *memalign (size_t __alignment, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_size__ ((2)) __wur - __attr_dealloc_free; + __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) + __attribute_alloc_size__ ((2)) __wur __attr_dealloc_free; /* Allocate SIZE bytes on a page boundary. */ extern void *valloc (size_t __size) __THROW __attribute_malloc__ diff --git a/lib/libc/include/generic-glibc/math.h b/lib/libc/include/generic-glibc/math.h index 3c95334ab857bec3b422ca220cb66021c5e6d4e5..43ca8b1c96d8ed2e9f0f9e10d93698e96c91339c 100644 --- a/lib/libc/include/generic-glibc/math.h +++ b/lib/libc/include/generic-glibc/math.h @@ -1,5 +1,5 @@ /* Declarations for math functions. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -573,11 +573,13 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), # define __MATHCALL_NAME(name) f ## name ## l # ifdef __LDBL_COMPAT # define __MATHCALL_REDIR_NAME(name) f ## name +# define __MATHCALL_REDIR_NAME2(name) f ## name # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_REDIR (func, redir, nargs) # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # define __MATHCALL_REDIR_NAME(name) __ ## f32 ## name ## ieee128 +# define __MATHCALL_REDIR_NAME2(name) __ ## f32 ## name ## ieee128 # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_REDIR (func, redir, nargs) @@ -589,6 +591,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), # if defined __LDBL_COMPAT \ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # undef __MATHCALL_REDIR_NAME +# undef __MATHCALL_REDIR_NAME2 # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_NORMAL (func, nargs) @@ -599,11 +602,13 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), # define __MATHCALL_NAME(name) d ## name ## l # ifdef __LDBL_COMPAT # define __MATHCALL_REDIR_NAME(name) __nldbl_d ## name ## l +# define __MATHCALL_REDIR_NAME2(name) name # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_REDIR (func, redir, nargs) # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # define __MATHCALL_REDIR_NAME(name) __ ## f64 ## name ## ieee128 +# define __MATHCALL_REDIR_NAME2(name) __ ## f64 ## name ## ieee128 # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_REDIR (func, redir, nargs) @@ -615,6 +620,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), # if defined __LDBL_COMPAT \ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # undef __MATHCALL_REDIR_NAME +# undef __MATHCALL_REDIR_NAME2 # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_NORMAL (func, nargs) @@ -1009,7 +1015,8 @@ enum /* Return nonzero value if X is positive or negative infinity. */ # if __HAVE_DISTINCT_FLOAT128 && !__GNUC_PREREQ (7,0) \ - && !defined __SUPPORT_SNAN__ && !defined __cplusplus + && !defined __SUPPORT_SNAN__ && !defined __cplusplus \ + && !defined __clang__ /* Since __builtin_isinf_sign is broken for float128 before GCC 7.0, use the helper function, __isinff128, with older compilers. This is only provided for C mode, because in C++ mode, GCC has no support @@ -1152,6 +1159,23 @@ iszero (__T __val) # define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ #endif +/* GNU extension to provide float constants with similar names. */ +#ifdef __USE_GNU +# define M_Ef 2.7182818284590452354f /* e */ +# define M_LOG2Ef 1.4426950408889634074f /* log_2 e */ +# define M_LOG10Ef 0.43429448190325182765f /* log_10 e */ +# define M_LN2f 0.69314718055994530942f /* log_e 2 */ +# define M_LN10f 2.30258509299404568402f /* log_e 10 */ +# define M_PIf 3.14159265358979323846f /* pi */ +# define M_PI_2f 1.57079632679489661923f /* pi/2 */ +# define M_PI_4f 0.78539816339744830962f /* pi/4 */ +# define M_1_PIf 0.31830988618379067154f /* 1/pi */ +# define M_2_PIf 0.63661977236758134308f /* 2/pi */ +# define M_2_SQRTPIf 1.12837916709551257390f /* 2/sqrt(pi) */ +# define M_SQRT2f 1.41421356237309504880f /* sqrt(2) */ +# define M_SQRT1_2f 0.70710678118654752440f /* 1/sqrt(2) */ +#endif + /* The above constants are not adequate for computation using `long double's. Therefore we provide as an extension constants with similar names as a GNU extension. Provide enough digits for the 128-bit IEEE quad. */ @@ -1278,7 +1302,7 @@ iszero (__T __val) these operations. Generic support in GCC for these as builtins went in 2.97, but not all cpus added their patterns until 3.1. Therefore we enable the builtins from 3.1 onwards and use a generic implementation - othwerwise. */ + otherwise. */ # define isgreater(x, y) __builtin_isgreater(x, y) # define isgreaterequal(x, y) __builtin_isgreaterequal(x, y) # define isless(x, y) __builtin_isless(x, y) @@ -1368,14 +1392,62 @@ template<> struct __iseqsig_type } }; -# if __HAVE_FLOAT128_UNLIKE_LDBL +# if __HAVE_FLOAT32 && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float32> +{ + static int __call (_Float32 __x, _Float32 __y) throw () + { + return __iseqsigf (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT64 && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float64> +{ + static int __call (_Float64 __x, _Float64 __y) throw () + { + return __iseqsig (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT128_UNLIKE_LDBL || (__HAVE_FLOAT128 && __GNUC_PREREQ (13, 0)) /* When using an IEEE 128-bit long double, _Float128 is defined as long double in C++. */ template<> struct __iseqsig_type<_Float128> { static int __call (_Float128 __x, _Float128 __y) throw () { +# if __HAVE_FLOAT128_UNLIKE_LDBL return __iseqsigf128 (__x, __y); +# else + return __iseqsigl (__x, __y); +# endif + } +}; +# endif + +# if __HAVE_FLOAT32X && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float32x> +{ + static int __call (_Float32x __x, _Float32x __y) throw () + { + return __iseqsig (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT64X && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float64x> +{ + static int __call (_Float64x __x, _Float64x __y) throw () + { +# if __HAVE_FLOAT64X_LONG_DOUBLE + return __iseqsigl (__x, __y); +# else + return __iseqsigf128 (__x, __y); +# endif } }; # endif diff --git a/lib/libc/include/generic-glibc/mcheck.h b/lib/libc/include/generic-glibc/mcheck.h index fe26edad9ff32fcf38197098696b20a6bdd08cb6..76a0845d6d21f7a79fb84602833721483abda523 100644 --- a/lib/libc/include/generic-glibc/mcheck.h +++ b/lib/libc/include/generic-glibc/mcheck.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/memory.h b/lib/libc/include/generic-glibc/memory.h index 2280d146664afb13606d0e4715e1263cdd5f70b9..c279da778dc77995f9efedb3d8793c08a71be212 100644 --- a/lib/libc/include/generic-glibc/memory.h +++ b/lib/libc/include/generic-glibc/memory.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/mntent.h b/lib/libc/include/generic-glibc/mntent.h index f974d0b7bd4b24a530d434c24b0d56417cfced7d..d8cfcbbb2f61a0411bf93d159d9bf2bfe70b613b 100644 --- a/lib/libc/include/generic-glibc/mntent.h +++ b/lib/libc/include/generic-glibc/mntent.h @@ -1,5 +1,5 @@ /* Utilities for reading/writing fstab, mtab, etc. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/monetary.h b/lib/libc/include/generic-glibc/monetary.h index 4df23ee58ccae291f4e34fc732874e036633a8a0..8288cd75b4f6aaa8a090193bc07602e979d6d512 100644 --- a/lib/libc/include/generic-glibc/monetary.h +++ b/lib/libc/include/generic-glibc/monetary.h @@ -1,5 +1,5 @@ /* Header file for monetary value formatting functions. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/mqueue.h b/lib/libc/include/generic-glibc/mqueue.h index 99066fff8e92ad6a9e1b635a1e4cbdf3d60402d1..de56bf731c94fa080fadda9c6d10e3c41f53842d 100644 --- a/lib/libc/include/generic-glibc/mqueue.h +++ b/lib/libc/include/generic-glibc/mqueue.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/ethernet.h b/lib/libc/include/generic-glibc/net/ethernet.h index e5b5f86097f2efcb11038844ed6eac696a7be7e8..d42a9d7ff8a7f73fb47f9071955f7226a04ff55a 100644 --- a/lib/libc/include/generic-glibc/net/ethernet.h +++ b/lib/libc/include/generic-glibc/net/ethernet.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/if.h b/lib/libc/include/generic-glibc/net/if.h index 299ac38fd68c5e0158451c4a3acd5b076b08cc5f..c60cfd375b44d85af1661450aae33d853b155de7 100644 --- a/lib/libc/include/generic-glibc/net/if.h +++ b/lib/libc/include/generic-glibc/net/if.h @@ -1,5 +1,5 @@ /* net/if.h -- declarations for inquiring about network interfaces - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/if_arp.h b/lib/libc/include/generic-glibc/net/if_arp.h index a52d2e6209bb9a58415622f037352c86edca38af..064a415f8eb35fc0bc71cc2952d7747d0ca94771 100644 --- a/lib/libc/include/generic-glibc/net/if_arp.h +++ b/lib/libc/include/generic-glibc/net/if_arp.h @@ -1,7 +1,6 @@ /* Definitions for Address Resolution Protocol. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -95,6 +94,8 @@ struct arphdr #define ARPHRD_ROSE 270 #define ARPHRD_X25 271 /* CCITT X.25. */ #define ARPHRD_HWX25 272 /* Boards with X.25 in firmware. */ +#define ARPHRD_CAN 280 /* Controller Area Network. */ +#define ARPHRD_MCTP 290 #define ARPHRD_PPP 512 #define ARPHRD_CISCO 513 /* Cisco HDLC. */ #define ARPHRD_HDLC ARPHRD_CISCO diff --git a/lib/libc/include/generic-glibc/net/if_packet.h b/lib/libc/include/generic-glibc/net/if_packet.h index 91ccf109bade9198b5c1eb1601ef1a9e512b66ab..fae22ac72340d14a2301bd801bcdc07d1ec78b2b 100644 --- a/lib/libc/include/generic-glibc/net/if_packet.h +++ b/lib/libc/include/generic-glibc/net/if_packet.h @@ -1,5 +1,5 @@ /* Definitions for use with Linux SOCK_PACKET sockets. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/if_shaper.h b/lib/libc/include/generic-glibc/net/if_shaper.h index c27d10a414ba1d15b121f08d6e83bf248f4a6f72..0a7413c4f51b9f753530c60f83e1dd1d8779da18 100644 --- a/lib/libc/include/generic-glibc/net/if_shaper.h +++ b/lib/libc/include/generic-glibc/net/if_shaper.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -27,7 +27,7 @@ __BEGIN_DECLS #define SHAPER_QLEN 10 /* - * This is a bit speed dependant (read it shouldnt be a constant!) + * This is a bit speed dependent (read it shouldn't be a constant!) * * 5 is about right for 28.8 upwards. Below that double for every * halving of speed or so. - ie about 20 for 9600 baud. diff --git a/lib/libc/include/generic-glibc/net/if_slip.h b/lib/libc/include/generic-glibc/net/if_slip.h index fac229eff2a51c8625238cf68a469934f3598fd5..59eff20c7008d1aa864a6ab934cc44dd8f17778e 100644 --- a/lib/libc/include/generic-glibc/net/if_slip.h +++ b/lib/libc/include/generic-glibc/net/if_slip.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/route.h b/lib/libc/include/generic-glibc/net/route.h index 699d1d1341a89d3680f75b44cfd7db8a500c8dda..756165aade061c807360ca4ddd319d1cee025787 100644 --- a/lib/libc/include/generic-glibc/net/route.h +++ b/lib/libc/include/generic-glibc/net/route.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netash/ash.h b/lib/libc/include/generic-glibc/netash/ash.h index a0d7be567d1cdfc8efde2e721c016d1312a1ac3f..b2fdb5334f95aaa7a618c32ad87994b666691afa 100644 --- a/lib/libc/include/generic-glibc/netash/ash.h +++ b/lib/libc/include/generic-glibc/netash/ash.h @@ -1,5 +1,5 @@ /* Definitions for use with Linux AF_ASH sockets. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netatalk/at.h b/lib/libc/include/generic-glibc/netatalk/at.h index 51e36ba84faa1e159b87f7e4adaf06b8e8acbfbe..cf81e8b24ced4f5280bb08951f03903c4d032a35 100644 --- a/lib/libc/include/generic-glibc/netatalk/at.h +++ b/lib/libc/include/generic-glibc/netatalk/at.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netax25/ax25.h b/lib/libc/include/generic-glibc/netax25/ax25.h index c636f2a3453b909fb8e99199cac5fff275295541..dbf2088b08e012531c7f71bf01ca9d9df986276e 100644 --- a/lib/libc/include/generic-glibc/netax25/ax25.h +++ b/lib/libc/include/generic-glibc/netax25/ax25.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -62,7 +62,7 @@ #define AX25_DIGI_INBAND 0x01 /* Allow digipeating within port */ #define AX25_DIGI_XBAND 0x02 /* Allow digipeating across ports */ -/* Maximim number of digipeaters: */ +/* Maximum number of digipeaters: */ #define AX25_MAX_DIGIS 8 @@ -80,7 +80,7 @@ struct sockaddr_ax25 }; /* - * The sockaddr struct with the digipeater adresses: + * The sockaddr struct with the digipeater addresses: */ struct full_sockaddr_ax25 { diff --git a/lib/libc/include/generic-glibc/netdb.h b/lib/libc/include/generic-glibc/netdb.h index ffdd666793680ebf6d04d2486432913b76cfae3a..00e98215ddf33fe5af3460ee9c7791abc89ebcef 100644 --- a/lib/libc/include/generic-glibc/netdb.h +++ b/lib/libc/include/generic-glibc/netdb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/neteconet/ec.h b/lib/libc/include/generic-glibc/neteconet/ec.h index 06f0d1a45653800e70d3fea88bcdbae2f294332c..b2dcf94973d3749f800990d2eb5c127a841bcf2c 100644 --- a/lib/libc/include/generic-glibc/neteconet/ec.h +++ b/lib/libc/include/generic-glibc/neteconet/ec.h @@ -1,5 +1,5 @@ /* Definitions for use with Linux AF_ECONET sockets. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/ether.h b/lib/libc/include/generic-glibc/netinet/ether.h index e59ed7644d63a8edaf463c7be1ba5cb237fbc9e9..aca26e0f5eba26e22d83af372a8d9d38598c54e6 100644 --- a/lib/libc/include/generic-glibc/netinet/ether.h +++ b/lib/libc/include/generic-glibc/netinet/ether.h @@ -1,5 +1,5 @@ /* Functions for storing Ethernet addresses in ASCII and mapping to hostnames. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/icmp6.h b/lib/libc/include/generic-glibc/netinet/icmp6.h index 04a482ead85a4d386d97554ea79c2b0baf51a6ff..bc9185ad85f87d2fe920c0b63682b85836fbc4a7 100644 --- a/lib/libc/include/generic-glibc/netinet/icmp6.h +++ b/lib/libc/include/generic-glibc/netinet/icmp6.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/if_ether.h b/lib/libc/include/generic-glibc/netinet/if_ether.h index e7cc24e5704ad190d4cec859999383da4cfa7502..4fc6c42a810952f5afd5b677cda8204bc6dad40d 100644 --- a/lib/libc/include/generic-glibc/netinet/if_ether.h +++ b/lib/libc/include/generic-glibc/netinet/if_ether.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/if_fddi.h b/lib/libc/include/generic-glibc/netinet/if_fddi.h index 582578e5a162d6d21ad1609ca9e49b10e6dfbc0b..2cdaf41355e5fea200e53d719cb9594ec6c2fd25 100644 --- a/lib/libc/include/generic-glibc/netinet/if_fddi.h +++ b/lib/libc/include/generic-glibc/netinet/if_fddi.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/if_tr.h b/lib/libc/include/generic-glibc/netinet/if_tr.h index a1836e58227a31b55b01981f92da8133ef080b63..77479bf723ead206cfd70405697f5cb479df7a68 100644 --- a/lib/libc/include/generic-glibc/netinet/if_tr.h +++ b/lib/libc/include/generic-glibc/netinet/if_tr.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/igmp.h b/lib/libc/include/generic-glibc/netinet/igmp.h index d44693cf4f1dd12607f5b92bff8ae728cfc04d1b..2938450e93a845e34f33ffc617343a88fe60df17 100644 --- a/lib/libc/include/generic-glibc/netinet/igmp.h +++ b/lib/libc/include/generic-glibc/netinet/igmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -110,7 +110,7 @@ struct igmp { #define IGMP_v2_ROUTER 2 /* - * The following four defininitions are for backwards compatibility. + * The following four definitions are for backwards compatibility. * They should be removed as soon as all applications are updated to * use the new constant names. */ diff --git a/lib/libc/include/generic-glibc/netinet/in.h b/lib/libc/include/generic-glibc/netinet/in.h index 03a1f431926f923cbe2c57c4c5fae4eddd7d9e9f..e9f43e7c3b6efb35e15e53a16a7f31ec25441cfe 100644 --- a/lib/libc/include/generic-glibc/netinet/in.h +++ b/lib/libc/include/generic-glibc/netinet/in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -81,6 +81,8 @@ enum #define IPPROTO_PIM IPPROTO_PIM IPPROTO_COMP = 108, /* Compression Header Protocol. */ #define IPPROTO_COMP IPPROTO_COMP + IPPROTO_L2TP = 115, /* Layer 2 Tunnelling Protocol. */ +#define IPPROTO_L2TP IPPROTO_L2TP IPPROTO_SCTP = 132, /* Stream Control Transmission Protocol. */ #define IPPROTO_SCTP IPPROTO_SCTP IPPROTO_UDPLITE = 136, /* UDP-Lite protocol. */ @@ -196,6 +198,9 @@ enum #define INADDR_BROADCAST ((in_addr_t) 0xffffffff) /* Address indicating an error return. */ #define INADDR_NONE ((in_addr_t) 0xffffffff) +/* Dummy address for source of ICMPv6 errors converted to IPv4 (RFC + 7600). */ +#define INADDR_DUMMY ((in_addr_t) 0xc0000008) /* Network number for local host loopback. */ #define IN_LOOPBACKNET 127 @@ -275,6 +280,19 @@ struct ip_mreq struct in_addr imr_interface; }; +/* IPv4 multicast request with interface index. */ +struct ip_mreqn + { + /* IP multicast address of group. */ + struct in_addr imr_multiaddr; + + /* Local IP address of interface. */ + struct in_addr imr_address; + + /* Interface index. */ + int imr_ifindex; + }; + struct ip_mreq_source { /* IP multicast address of group. */ diff --git a/lib/libc/include/generic-glibc/netinet/in_systm.h b/lib/libc/include/generic-glibc/netinet/in_systm.h index 2956aadffafcba807b319499c5b4903642b0cdf1..42c8c0eea7910020cbc37be68b5de9f161642027 100644 --- a/lib/libc/include/generic-glibc/netinet/in_systm.h +++ b/lib/libc/include/generic-glibc/netinet/in_systm.h @@ -1,5 +1,5 @@ /* System specific type definitions for networking code. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/ip.h b/lib/libc/include/generic-glibc/netinet/ip.h index 603a7ea680d09e948a9b63c8c3bd9eee752c72d5..2d1333a58caf187592c36c0d3f948431ea99eab3 100644 --- a/lib/libc/include/generic-glibc/netinet/ip.h +++ b/lib/libc/include/generic-glibc/netinet/ip.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -186,6 +186,11 @@ struct ip_timestamp #define IPTOS_DSCP_AF43 0x98 #define IPTOS_DSCP_EF 0xb8 +/* + * Voice-Admit DSCP code point from RFC-5865, Section 4. + */ +#define IPTOS_DSCP_VA 0xb0 + /* * In RFC 2474, Section 4.2.2.1, the Class Selector Codepoints subsume * the old ToS Precedence values. diff --git a/lib/libc/include/generic-glibc/netinet/ip6.h b/lib/libc/include/generic-glibc/netinet/ip6.h index 4d1e162577837ff0c2f93ca41055adbb83131714..6b0a304bdaf90ba49dd40a8bdd8b2443648a591f 100644 --- a/lib/libc/include/generic-glibc/netinet/ip6.h +++ b/lib/libc/include/generic-glibc/netinet/ip6.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/ip_icmp.h b/lib/libc/include/generic-glibc/netinet/ip_icmp.h index 47abfae972355e89169ab7b31fb4eca87757a14b..c9c238ea4be7b4fffd6202b03a2afb9c18389f98 100644 --- a/lib/libc/include/generic-glibc/netinet/ip_icmp.h +++ b/lib/libc/include/generic-glibc/netinet/ip_icmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/tcp.h b/lib/libc/include/generic-glibc/netinet/tcp.h index ec933410c9bd2e664bfabd4ca016497b0238a81b..24e7b973f11a789f5809b3b4eddf70b3899d1e4d 100644 --- a/lib/libc/include/generic-glibc/netinet/tcp.h +++ b/lib/libc/include/generic-glibc/netinet/tcp.h @@ -48,7 +48,7 @@ #define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */ #define TCP_WINDOW_CLAMP 10 /* Bound advertised window */ #define TCP_INFO 11 /* Information about this connection. */ -#define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */ +#define TCP_QUICKACK 12 /* Bock/re-enable quick ACKs. */ #define TCP_CONGESTION 13 /* Congestion control algorithm. */ #define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */ #define TCP_COOKIE_TRANSACTIONS 15 /* TCP Cookie Transactions */ @@ -209,7 +209,7 @@ enum # define TCPI_OPT_TIMESTAMPS 1 # define TCPI_OPT_SACK 2 # define TCPI_OPT_WSCALE 4 -# define TCPI_OPT_ECN 8 /* ECN was negociated at TCP session init */ +# define TCPI_OPT_ECN 8 /* ECN was negotiated at TCP session init */ # define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */ # define TCPI_OPT_SYN_DATA 32 /* SYN-ACK acked data in SYN sent or rcvd */ @@ -307,7 +307,7 @@ enum /* Flags for both getsockopt and setsockopt */ #define TCP_COOKIE_IN_ALWAYS (1 << 0) /* Discard SYN without cookie */ #define TCP_COOKIE_OUT_NEVER (1 << 1) /* Prohibit outgoing cookies, - * supercedes everything. */ + * supersedes everything. */ /* Flags for getsockopt */ #define TCP_S_DATA_IN (1 << 2) /* Was data received? */ diff --git a/lib/libc/include/generic-glibc/netinet/udp.h b/lib/libc/include/generic-glibc/netinet/udp.h index a7e84ddb4ad99823c4b2e4aca2bab0a9944b0a46..772ee96cd0c3a44ca3f6a5abf4147be217295cb4 100644 --- a/lib/libc/include/generic-glibc/netinet/udp.h +++ b/lib/libc/include/generic-glibc/netinet/udp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netipx/ipx.h b/lib/libc/include/generic-glibc/netipx/ipx.h index dc236e196499b62ff2e365891a441245815eb36e..9f4bebeecbcdb80ff06b130838cfac28aa6906fb 100644 --- a/lib/libc/include/generic-glibc/netipx/ipx.h +++ b/lib/libc/include/generic-glibc/netipx/ipx.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netiucv/iucv.h b/lib/libc/include/generic-glibc/netiucv/iucv.h index fef3b453df96419e790fa3b498e4b191bfd50bcd..1d667a5d3985425d71bf0ab27565bf79693e15fb 100644 --- a/lib/libc/include/generic-glibc/netiucv/iucv.h +++ b/lib/libc/include/generic-glibc/netiucv/iucv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netpacket/packet.h b/lib/libc/include/generic-glibc/netpacket/packet.h index 629da0133ea71d1e6f6107a4c72e1c319bbbc1e5..9f4b7f6f8ef24c5bff22979eac86a55a80396fad 100644 --- a/lib/libc/include/generic-glibc/netpacket/packet.h +++ b/lib/libc/include/generic-glibc/netpacket/packet.h @@ -1,5 +1,5 @@ /* Definitions for use with Linux AF_PACKET sockets. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netrom/netrom.h b/lib/libc/include/generic-glibc/netrom/netrom.h index d44cfaca060564a07f849d946d6157f0fe6c8cf4..6cf3049ca22d8538933ec34b31fe2bc591787eeb 100644 --- a/lib/libc/include/generic-glibc/netrom/netrom.h +++ b/lib/libc/include/generic-glibc/netrom/netrom.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netrose/rose.h b/lib/libc/include/generic-glibc/netrose/rose.h index e5068aa4f1e417addac7339cbbe02af6f1bc921b..f267c2e980596f9db175edf5625cd91542b46e72 100644 --- a/lib/libc/include/generic-glibc/netrose/rose.h +++ b/lib/libc/include/generic-glibc/netrose/rose.h @@ -1,5 +1,5 @@ /* Definitions for Rose packet radio address family. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/nl_types.h b/lib/libc/include/generic-glibc/nl_types.h index d2950ae24761e8a48b3d6438f7cc39d3924f6830..d5167e4d0de79db1678b15c52c05b36991fa8703 100644 --- a/lib/libc/include/generic-glibc/nl_types.h +++ b/lib/libc/include/generic-glibc/nl_types.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/nss.h b/lib/libc/include/generic-glibc/nss.h index 53187118a173015cbdae02e60a9b4aac9d3574e7..f66ddd1d120f1bfcc9a60e1da3a9424586d6df3e 100644 --- a/lib/libc/include/generic-glibc/nss.h +++ b/lib/libc/include/generic-glibc/nss.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/obstack.h b/lib/libc/include/generic-glibc/obstack.h index e79294a431d24ff209a934504b1bca9f317e1f99..ad5c63c8de1419a9c5098d2a48ff551cfc26b58e 100644 --- a/lib/libc/include/generic-glibc/obstack.h +++ b/lib/libc/include/generic-glibc/obstack.h @@ -1,5 +1,5 @@ /* obstack.h - object stack macros - Copyright (C) 1988-2021 Free Software Foundation, Inc. + Copyright (C) 1988-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/printf.h b/lib/libc/include/generic-glibc/printf.h index 0931bd4d5549b830fcd94bc15d2ba922b621ae5e..9ae72917350f2085b7b4f717d8c459875c3c3188 100644 --- a/lib/libc/include/generic-glibc/printf.h +++ b/lib/libc/include/generic-glibc/printf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/proc_service.h b/lib/libc/include/generic-glibc/proc_service.h index 19142e890d553b0b5451e48d3f3a075aecb0743d..a6e39ae949cf99296640a992bca3d7386517fca1 100644 --- a/lib/libc/include/generic-glibc/proc_service.h +++ b/lib/libc/include/generic-glibc/proc_service.h @@ -1,5 +1,5 @@ /* Callback interface for libthread_db, functions users must define. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/pthread.h b/lib/libc/include/generic-glibc/pthread.h index 4c46be9a6a827038bbb0d32c5b63b56e06a88e3c..0e810cb8ca2ce68377baa8be5937760030777750 100644 --- a/lib/libc/include/generic-glibc/pthread.h +++ b/lib/libc/include/generic-glibc/pthread.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -516,7 +516,7 @@ extern int pthread_once (pthread_once_t *__once_control, exception in C++ code. If cancellation is implemented by unwinding this is necessary to have the compiler generate the unwind information. */ -/* Set cancelability state of current thread to STATE, returning old +/* Set cancellability state of current thread to STATE, returning old state in *OLDSTATE if OLDSTATE is not NULL. */ extern int pthread_setcancelstate (int __state, int *__oldstate); @@ -933,7 +933,7 @@ extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, # ifdef __USE_GNU # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (pthread_mutexattr_getrobust_np, - (pthread_mutex_t *, int *), + (pthread_mutexattr_t *, int *), pthread_mutexattr_getrobust) __nonnull ((1)) __attribute_deprecated_msg__ ("\ pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust"); @@ -949,7 +949,7 @@ extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, # ifdef __USE_GNU # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (pthread_mutexattr_setrobust_np, - (pthread_mutex_t *, int), + (pthread_mutexattr_t *, int), pthread_mutexattr_setrobust) __nonnull ((1)) __attribute_deprecated_msg__ ("\ pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust"); @@ -981,7 +981,7 @@ extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) __THROWNL __nonnull ((1)); # ifdef __USE_XOPEN2K -/* Try to acquire read lock for RWLOCK or return after specfied time. */ +/* Try to acquire read lock for RWLOCK or return after specified time. */ # ifndef __USE_TIME_BITS64 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict @@ -1028,7 +1028,7 @@ extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) __THROWNL __nonnull ((1)); # ifdef __USE_XOPEN2K -/* Try to acquire write lock for RWLOCK or return after specfied time. */ +/* Try to acquire write lock for RWLOCK or return after specified time. */ # ifndef __USE_TIME_BITS64 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict diff --git a/lib/libc/include/generic-glibc/pty.h b/lib/libc/include/generic-glibc/pty.h index ccbd8d8affa797fd072ad6dbfe33d27fcfe200ff..d3503256d8b7dfc8a31fb8a06615aab46df7559c 100644 --- a/lib/libc/include/generic-glibc/pty.h +++ b/lib/libc/include/generic-glibc/pty.h @@ -1,5 +1,5 @@ /* Functions for pseudo TTY handling. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/pwd.h b/lib/libc/include/generic-glibc/pwd.h index 382a580c2bd88cf8b21a43d5b3f16f674b181bc5..d8bd58eeed090b6dc84ea32b3a55dbae601a9a44 100644 --- a/lib/libc/include/generic-glibc/pwd.h +++ b/lib/libc/include/generic-glibc/pwd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/re_comp.h b/lib/libc/include/generic-glibc/re_comp.h index f5b9b74eff920ee24e6f3ba2e603d5ab6067788c..46183ab9445d0c4ec31a73034fc0879f72a0fbf0 100644 --- a/lib/libc/include/generic-glibc/re_comp.h +++ b/lib/libc/include/generic-glibc/re_comp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/regdef.h b/lib/libc/include/generic-glibc/regdef.h index 0110b20cc164d308d5b10def67ca1fe351d41413..ee87471085ba0b64ff67721377c5e811ce4f1265 100644 --- a/lib/libc/include/generic-glibc/regdef.h +++ b/lib/libc/include/generic-glibc/regdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2021 Free Software Foundation, Inc. +/* Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/regex.h b/lib/libc/include/generic-glibc/regex.h index 0d44e6a12a9da0877a0ca4444ae6842687295700..d2b8592e9ff0f6aba417453cbd7599891401af4d 100644 --- a/lib/libc/include/generic-glibc/regex.h +++ b/lib/libc/include/generic-glibc/regex.h @@ -1,6 +1,6 @@ /* Definitions for data structures and routines for the regular expression library. - Copyright (C) 1985, 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1985, 1989-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -522,6 +522,30 @@ typedef struct /* Declarations for routines. */ +#ifndef _REGEX_NELTS +# if (defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__ \ + && !defined __STDC_NO_VLA__) +# define _REGEX_NELTS(n) n +# else +# define _REGEX_NELTS(n) +# endif +#endif + +#if defined __GNUC__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wvla" +#endif + +#ifndef _Attr_access_ +# ifdef __attr_access +# define _Attr_access_(arg) __attr_access (arg) +# elif defined __GNUC__ && 10 <= __GNUC__ +# define _Attr_access_(x) __attribute__ ((__access__ x)) +# else +# define _Attr_access_(x) +# endif +#endif + #ifdef __USE_GNU /* Sets the current default syntax to SYNTAX, and return the old syntax. You can also simply assign to the 're_syntax_options' variable. */ @@ -537,7 +561,7 @@ extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax); 'regfree'. */ extern const char *re_compile_pattern (const char *__pattern, size_t __length, struct re_pattern_buffer *__buffer) - __attr_access ((__read_only__, 1, 2)); + _Attr_access_ ((__read_only__, 1, 2)); /* Compile a fastmap for the compiled pattern in BUFFER; used to @@ -555,7 +579,7 @@ extern regoff_t re_search (struct re_pattern_buffer *__buffer, const char *__String, regoff_t __length, regoff_t __start, regoff_t __range, struct re_registers *__regs) - __attr_access ((__read_only__, 2, 3)); + _Attr_access_ ((__read_only__, 2, 3)); /* Like 're_search', but search in the concatenation of STRING1 and @@ -566,8 +590,8 @@ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, regoff_t __start, regoff_t __range, struct re_registers *__regs, regoff_t __stop) - __attr_access ((__read_only__, 2, 3)) - __attr_access ((__read_only__, 4, 5)); + _Attr_access_ ((__read_only__, 2, 3)) + _Attr_access_ ((__read_only__, 4, 5)); /* Like 're_search', but return how many characters in STRING the regexp @@ -575,7 +599,7 @@ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, extern regoff_t re_match (struct re_pattern_buffer *__buffer, const char *__String, regoff_t __length, regoff_t __start, struct re_registers *__regs) - __attr_access ((__read_only__, 2, 3)); + _Attr_access_ ((__read_only__, 2, 3)); /* Relates to 're_match' as 're_search_2' relates to 're_search'. */ @@ -584,8 +608,8 @@ extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer, const char *__string2, regoff_t __length2, regoff_t __start, struct re_registers *__regs, regoff_t __stop) - __attr_access ((__read_only__, 2, 3)) - __attr_access ((__read_only__, 4, 5)); + _Attr_access_ ((__read_only__, 2, 3)) + _Attr_access_ ((__read_only__, 4, 5)); /* Set REGS to hold NUM_REGS registers, storing them in STARTS and @@ -654,16 +678,19 @@ extern int regcomp (regex_t *_Restrict_ __preg, extern int regexec (const regex_t *_Restrict_ __preg, const char *_Restrict_ __String, size_t __nmatch, - regmatch_t __pmatch[_Restrict_arr_], - int __eflags) - __attr_access ((__write_only__, 4, 3)); + regmatch_t __pmatch[_Restrict_arr_ + _REGEX_NELTS (__nmatch)], + int __eflags); extern size_t regerror (int __errcode, const regex_t *_Restrict_ __preg, char *_Restrict_ __errbuf, size_t __errbuf_size) - __attr_access ((__write_only__, 3, 4)); + _Attr_access_ ((__write_only__, 3, 4)); extern void regfree (regex_t *__preg); +#if defined __GNUC__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic pop +#endif #ifdef __cplusplus } diff --git a/lib/libc/include/generic-glibc/regexp.h b/lib/libc/include/generic-glibc/regexp.h index a76c0a0dded39889369fa4e89a8e1b2a7f8cf452..2915d19d069c78211e222de0c1b75695a5b64ad8 100644 --- a/lib/libc/include/generic-glibc/regexp.h +++ b/lib/libc/include/generic-glibc/regexp.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1996. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/resolv.h b/lib/libc/include/generic-glibc/resolv.h index d0f9955f9461d490347eb2b63f955137530a5c9c..f25d325a10e27c1ab9405a17d0504808ddc77fdb 100644 --- a/lib/libc/include/generic-glibc/resolv.h +++ b/lib/libc/include/generic-glibc/resolv.h @@ -87,7 +87,7 @@ /* * Resolver configuration file. * Normally not present, but may contain the address of the - * inital name server(s) to query and the domain search list. + * initial name server(s) to query and the domain search list. */ #ifndef _PATH_RESCONF @@ -132,6 +132,7 @@ struct res_sym { as a TLD. */ #define RES_NORELOAD 0x02000000 /* No automatic configuration reload. */ #define RES_TRUSTAD 0x04000000 /* Request AD bit, keep it in responses. */ +#define RES_NOAAAA 0x08000000 /* Suppress AAAA queries. */ #define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH) @@ -169,35 +170,6 @@ __END_DECLS #define res_init __res_init #define res_isourserver __res_isourserver -/* In glibc 2.33 and earlier res_search, res_nsearch, res_query, res_nquery, - * res_querydomain, res_nquerydomain, dn_skipname, dn_comp, dn_expand were - * #define'd to __res_search, __res_nsearch, etc. glibc 2.34 onwards removes - * the macros and exposes the symbols directly. New glibc exposes compat - * symbols with underscores for backwards compatibility. Applications linked to - * glibc 2.34+ are expected to use the non-underscored symbols. - * - * It is enough to bring the macros back when compiling against the older glibc - * versions. - * - * See glibc commits: - * - ea9878ec271c791880fcbbe519d70c42f8113750 res_* - * - 391e02236b931132c0e8b5ba4c3b087c2aaa1044 dn_skipname - * - fd8a87c0c1932de591e7ad108ff6288a4b6b18c9 dn_comp - * - 640bbdf71c6f10ac26252ac67a22902e26657bd8 dn_expand - */ -#if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 34) -#define res_search __res_search -#define res_nsearch __res_nsearch -#define res_query __res_query -#define res_nquery __res_nquery -#define res_querydomain __res_querydomain -#define res_nquerydomain __res_nquerydomain -#define dn_skipname __dn_skipname -#define dn_comp __dn_comp -#define dn_expand __dn_expand -#endif -/* end glibc compat hacks */ - #ifdef _LIBC # define __RESOLV_DEPRECATED # define __RESOLV_DEPRECATED_MSG(msg) @@ -334,4 +306,4 @@ void res_nclose (res_state) __THROW; __END_DECLS -#endif /* !_RESOLV_H_ */ +#endif /* !_RESOLV_H_ */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/sched.h b/lib/libc/include/generic-glibc/sched.h index 2ecd9b33774e4a80169c8ccf5c5ec5038fe7af44..a15d76c03470d6d8bda08b562bb661ddd5fa7fe1 100644 --- a/lib/libc/include/generic-glibc/sched.h +++ b/lib/libc/include/generic-glibc/sched.h @@ -1,5 +1,5 @@ /* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/scsi/scsi.h b/lib/libc/include/generic-glibc/scsi/scsi.h index f5207b3e26fba4d2ac5b4daabd3ca3987307d1c1..a06d41d7f91a83a73d1f9483028965152710ae2a 100644 --- a/lib/libc/include/generic-glibc/scsi/scsi.h +++ b/lib/libc/include/generic-glibc/scsi/scsi.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h b/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h index 403908930786a35fd41e7696be6c2887be16cf37..78463ed44e8b89d2e75d883c30f0381eddfb8159 100644 --- a/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h +++ b/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/scsi/sg.h b/lib/libc/include/generic-glibc/scsi/sg.h index 94c44f7d0ac92e6e4ebe91439d6e5655ebb939d3..e200ba6a43a75dd564966a93177ed288c40a8989 100644 --- a/lib/libc/include/generic-glibc/scsi/sg.h +++ b/lib/libc/include/generic-glibc/scsi/sg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -119,7 +119,7 @@ struct sg_scsi_id { /* Used by SG_GET_REQUEST_TABLE ioctl(). */ typedef struct sg_req_info { char req_state; /* 0 -> not used, 1 -> written, 2 -> ready to read */ - char orphan; /* 0 -> normal request, 1 -> from interruped SG_IO */ + char orphan; /* 0 -> normal request, 1 -> from interrupted SG_IO */ char sg_io_owned; /* 0 -> complete with read(), 1 -> owned by SG_IO */ char problem; /* 0 -> no problem detected, 1 -> error to report */ int pack_id; /* pack_id associated with request */ diff --git a/lib/libc/include/generic-glibc/search.h b/lib/libc/include/generic-glibc/search.h index 8c514ff23f8f8f9c77ca76fe634f80d731a12017..9f7ab23bb6ec67ff947d0706af373c578fd5e26b 100644 --- a/lib/libc/include/generic-glibc/search.h +++ b/lib/libc/include/generic-glibc/search.h @@ -1,5 +1,5 @@ /* Declarations for System V style searching functions. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,7 +78,7 @@ struct _ENTRY; /* Family of hash table handling functions. The functions also have reentrant counterparts ending with _r. The non-reentrant - functions all work on a signle internal hashing table. */ + functions all work on a single internal hashing table. */ /* Search for entry matching ITEM.key in internal hash table. If ACTION is `FIND' return found entry or signal error by returning diff --git a/lib/libc/include/generic-glibc/semaphore.h b/lib/libc/include/generic-glibc/semaphore.h index f62f4d300c9ff559fc1062100af9e49223edfab2..38145b1c1acc851c313811cf251fffd77055e831 100644 --- a/lib/libc/include/generic-glibc/semaphore.h +++ b/lib/libc/include/generic-glibc/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/setjmp.h b/lib/libc/include/generic-glibc/setjmp.h index bf6929df03715ac467ad513d4aab7c5998fe4522..bb28128e4f8cb3be235affaaa9ff47bed1b94865 100644 --- a/lib/libc/include/generic-glibc/setjmp.h +++ b/lib/libc/include/generic-glibc/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sgidefs.h b/lib/libc/include/generic-glibc/sgidefs.h index 2e0e9017e5aaf587d5f2583d7df8c870100e2cbd..5ae1c896895e2b3bbf9aba260a733839f4a8386b 100644 --- a/lib/libc/include/generic-glibc/sgidefs.h +++ b/lib/libc/include/generic-glibc/sgidefs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sgtty.h b/lib/libc/include/generic-glibc/sgtty.h index 1e624e7d7727bc334dd4dd9af14289b1151868cf..190aa5e6724fb0bd830aeaca0946c1f0015bad18 100644 --- a/lib/libc/include/generic-glibc/sgtty.h +++ b/lib/libc/include/generic-glibc/sgtty.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/shadow.h b/lib/libc/include/generic-glibc/shadow.h index da913a5f42c2907f1de29e524ce0cfcb42ebcd43..35e4e2393bb87e06d64303264a927c7aee7e6ecb 100644 --- a/lib/libc/include/generic-glibc/shadow.h +++ b/lib/libc/include/generic-glibc/shadow.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -122,19 +122,23 @@ extern int putspent (const struct spwd *__p, FILE *__stream); or due to the implementation they are cancellation points and therefore not marked with __THROW. */ extern int getspent_r (struct spwd *__result_buf, char *__buffer, - size_t __buflen, struct spwd **__result); + size_t __buflen, struct spwd **__result) + __attr_access ((__write_only__, 2, 3)); extern int getspnam_r (const char *__name, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); extern int sgetspent_r (const char *__string, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); extern int fgetspent_r (FILE *__stream, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); #endif /* misc */ diff --git a/lib/libc/include/generic-glibc/signal.h b/lib/libc/include/generic-glibc/signal.h index d73d1f710e2cdd16d37a91370827394b7d73b89a..f0a0452fe844c668cb885d9a9d8ed95e82c182c3 100644 --- a/lib/libc/include/generic-glibc/signal.h +++ b/lib/libc/include/generic-glibc/signal.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/spawn.h b/lib/libc/include/generic-glibc/spawn.h index b48b07c1b48ff172d2f3500ec42b9190b8bf578f..4993e789abfce9c2d97c50f01b671b0f16affac6 100644 --- a/lib/libc/include/generic-glibc/spawn.h +++ b/lib/libc/include/generic-glibc/spawn.h @@ -1,5 +1,5 @@ /* Definitions for POSIX spawn interface. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -166,7 +166,6 @@ extern int posix_spawnattr_setschedparam (posix_spawnattr_t *__restrict __attr, __restrict __schedparam) __THROW __nonnull ((1, 2)); - /* Initialize data structure for file attribute for `spawn' call. */ extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t * __file_actions) @@ -199,7 +198,7 @@ extern int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t * int __fd, int __newfd) __THROW __nonnull ((1)); -#ifdef __USE_GNU +#ifdef __USE_MISC /* Add an action changing the directory to PATH during spawn. This affects the subsequent file actions. */ extern int posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t * @@ -221,7 +220,14 @@ posix_spawn_file_actions_addclosefrom_np (posix_spawn_file_actions_t *, int __from) __THROW __nonnull ((1)); -#endif +/* Add an action to set the process group of the foreground process group + associated with the terminal TCFD. */ +extern int +posix_spawn_file_actions_addtcsetpgrp_np (posix_spawn_file_actions_t *, + int __tcfd) + __THROW __nonnull ((1)); + +#endif /* __USE_MISC */ __END_DECLS diff --git a/lib/libc/include/generic-glibc/stdc-predef.h b/lib/libc/include/generic-glibc/stdc-predef.h index 64eb92f881bc85aa7b993c2be58ded1ec8a5f0e0..56f91d9578c791c8c0fb90bad36c3654049212c1 100644 --- a/lib/libc/include/generic-glibc/stdc-predef.h +++ b/lib/libc/include/generic-glibc/stdc-predef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,17 +36,21 @@ #ifdef __GCC_IEC_559 # if __GCC_IEC_559 > 0 # define __STDC_IEC_559__ 1 +# define __STDC_IEC_60559_BFP__ 201404L # endif #else # define __STDC_IEC_559__ 1 +# define __STDC_IEC_60559_BFP__ 201404L #endif #ifdef __GCC_IEC_559_COMPLEX # if __GCC_IEC_559_COMPLEX > 0 # define __STDC_IEC_559_COMPLEX__ 1 +# define __STDC_IEC_60559_COMPLEX__ 201404L # endif #else # define __STDC_IEC_559_COMPLEX__ 1 +# define __STDC_IEC_60559_COMPLEX__ 201404L #endif /* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is diff --git a/lib/libc/include/generic-glibc/stdint.h b/lib/libc/include/generic-glibc/stdint.h index 876c3327c83bcde322fdc3afeb8cd9e01081beba..ab0f1beaa16397b12c7a2f58476cba49baa35450 100644 --- a/lib/libc/include/generic-glibc/stdint.h +++ b/lib/libc/include/generic-glibc/stdint.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/stdio.h b/lib/libc/include/generic-glibc/stdio.h index 9f5bc7efd5b965f4372758ab40ba8733dddc5200..4c0d28f74f034b2220283e24a9edba797c045583 100644 --- a/lib/libc/include/generic-glibc/stdio.h +++ b/lib/libc/include/generic-glibc/stdio.h @@ -1,5 +1,5 @@ /* Define ISO C stdio on top of C++ iostreams. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,7 +42,7 @@ __BEGIN_DECLS #include #include -#ifdef __USE_GNU +#ifdef __USE_MISC # include #endif @@ -120,18 +120,29 @@ typedef __fpos64_t fpos64_t; # define P_tmpdir "/tmp" #endif +#define L_tmpnam 20 +#define TMP_MAX 238328 /* Get the values: - L_tmpnam How long an array of chars must be to be passed to `tmpnam'. - TMP_MAX The minimum number of unique filenames generated by tmpnam - (and tempnam when it uses tmpnam's name space), - or tempnam (the two are separate). - L_ctermid How long an array to pass to `ctermid'. - L_cuserid How long an array to pass to `cuserid'. - FOPEN_MAX Minimum number of files that can be open at once. FILENAME_MAX Maximum length of a filename. */ #include +#ifdef __USE_POSIX +# define L_ctermid 9 +# if !defined __USE_XOPEN2K || defined __USE_GNU +# define L_cuserid 9 +# endif +#endif + +#undef FOPEN_MAX +#define FOPEN_MAX 16 + + +#if __GLIBC_USE (ISOC2X) +/* Maximum length of printf output for a NaN. */ +# define _PRINTF_NAN_LEN_MAX 4 +#endif + /* Standard streams. */ extern FILE *stdin; /* Standard input stream. */ @@ -169,7 +180,7 @@ extern int renameat2 (int __oldfd, const char *__old, int __newfd, This function is a possible cancellation point and therefore not marked with __THROW. */ -extern int fclose (FILE *__stream); +extern int fclose (FILE *__stream) __nonnull ((1)); #undef __attr_dealloc_fclose #define __attr_dealloc_fclose __attr_dealloc (fclose, 1) @@ -258,7 +269,7 @@ extern FILE *fopen (const char *__restrict __filename, marked with __THROW. */ extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, - FILE *__restrict __stream) __wur; + FILE *__restrict __stream) __wur __nonnull ((3)); #else # ifdef __REDIRECT extern FILE *__REDIRECT (fopen, (const char *__restrict __filename, @@ -279,7 +290,7 @@ extern FILE *fopen64 (const char *__restrict __filename, __attribute_malloc__ __attr_dealloc_fclose __wur; extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, - FILE *__restrict __stream) __wur; + FILE *__restrict __stream) __wur __nonnull ((3)); #endif #ifdef __USE_POSIX @@ -288,7 +299,7 @@ extern FILE *fdopen (int __fd, const char *__modes) __THROW __attribute_malloc__ __attr_dealloc_fclose __wur; #endif -#ifdef __USE_GNU +#ifdef __USE_MISC /* Create a new stream that refers to the given magic cookie, and uses the given functions for input and output. */ extern FILE *fopencookie (void *__restrict __magic_cookie, @@ -378,7 +389,7 @@ extern int vsnprintf (char *__restrict __s, size_t __maxlen, __THROWNL __attribute__ ((__format__ (__printf__, 3, 0))); #endif -#if __GLIBC_USE (LIB_EXT2) +#if defined (__USE_MISC) || __GLIBC_USE (LIB_EXT2) /* Write formatted output to a string dynamically allocated with `malloc'. Store the address of the string in *PTR. */ extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, @@ -424,7 +435,28 @@ extern int sscanf (const char *__restrict __s, #include #if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (fscanf, (FILE *__restrict __stream, + const char *__restrict __format, ...), + __isoc23_fscanf) __wur; +extern int __REDIRECT (scanf, (const char *__restrict __format, ...), + __isoc23_scanf) __wur; +extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, + const char *__restrict __format, ...), + __isoc23_sscanf); +# else +extern int __isoc23_fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __wur; +extern int __isoc23_scanf (const char *__restrict __format, ...) __wur; +extern int __isoc23_sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __THROW; +# define fscanf __isoc23_fscanf +# define scanf __isoc23_scanf +# define sscanf __isoc23_sscanf +# endif +# else +# ifdef __REDIRECT extern int __REDIRECT (fscanf, (FILE *__restrict __stream, const char *__restrict __format, ...), __isoc99_fscanf) __wur; @@ -433,15 +465,16 @@ extern int __REDIRECT (scanf, (const char *__restrict __format, ...), extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, const char *__restrict __format, ...), __isoc99_sscanf); -# else +# else extern int __isoc99_fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __wur; extern int __isoc99_scanf (const char *__restrict __format, ...) __wur; extern int __isoc99_sscanf (const char *__restrict __s, const char *__restrict __format, ...) __THROW; -# define fscanf __isoc99_fscanf -# define scanf __isoc99_scanf -# define sscanf __isoc99_sscanf +# define fscanf __isoc99_fscanf +# define scanf __isoc99_scanf +# define sscanf __isoc99_sscanf +# endif # endif #endif @@ -468,7 +501,37 @@ extern int vsscanf (const char *__restrict __s, /* Same redirection as above for the v*scanf family. */ # if !__GLIBC_USE (DEPRECATED_SCANF) -# if defined __REDIRECT && !defined __LDBL_COMPAT \ +# if __GLIBC_USE (C2X_STRTOL) +# if defined __REDIRECT && !defined __LDBL_COMPAT \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 +extern int __REDIRECT (vfscanf, + (FILE *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg), + __isoc23_vfscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))) __wur; +extern int __REDIRECT (vscanf, (const char *__restrict __format, + __gnuc_va_list __arg), __isoc23_vscanf) + __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; +extern int __REDIRECT_NTH (vsscanf, + (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg), __isoc23_vsscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))); +# elif !defined __REDIRECT +extern int __isoc23_vfscanf (FILE *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __wur; +extern int __isoc23_vscanf (const char *__restrict __format, + __gnuc_va_list __arg) __wur; +extern int __isoc23_vsscanf (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfscanf __isoc23_vfscanf +# define vscanf __isoc23_vscanf +# define vsscanf __isoc23_vsscanf +# endif +# else +# if defined __REDIRECT && !defined __LDBL_COMPAT \ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 extern int __REDIRECT (vfscanf, (FILE *__restrict __s, @@ -483,7 +546,7 @@ extern int __REDIRECT_NTH (vsscanf, const char *__restrict __format, __gnuc_va_list __arg), __isoc99_vsscanf) __attribute__ ((__format__ (__scanf__, 2, 0))); -# elif !defined __REDIRECT +# elif !defined __REDIRECT extern int __isoc99_vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __wur; @@ -492,9 +555,10 @@ extern int __isoc99_vscanf (const char *__restrict __format, extern int __isoc99_vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __THROW; -# define vfscanf __isoc99_vfscanf -# define vscanf __isoc99_vscanf -# define vsscanf __isoc99_vsscanf +# define vfscanf __isoc99_vfscanf +# define vscanf __isoc99_vscanf +# define vsscanf __isoc99_vsscanf +# endif # endif # endif #endif /* Use ISO C9x. */ @@ -584,7 +648,7 @@ extern int putw (int __w, FILE *__stream); This function is a possible cancellation point and therefore not marked with __THROW. */ extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) - __wur __attr_access ((__write_only__, 1, 2)); + __wur __fortified_attr_access (__write_only__, 1, 2); #if __GLIBC_USE (DEPRECATED_GETS) /* Get a newline-terminated string from stdin, removing the newline. @@ -608,7 +672,7 @@ extern char *gets (char *__s) __wur __attribute_deprecated__; therefore not marked with __THROW. */ extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __wur - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); #endif @@ -795,7 +859,7 @@ extern int ferror_unlocked (FILE *__stream) __THROW __wur; This function is a possible cancellation point and therefore not marked with __THROW. */ -extern void perror (const char *__s); +extern void perror (const char *__s) __COLD; #ifdef __USE_POSIX @@ -879,20 +943,27 @@ extern void funlockfile (FILE *__stream) __THROW; extern int __uflow (FILE *); extern int __overflow (FILE *, int); +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Declare all functions from bits/stdio2-decl.h first. */ +# include +#endif + +/* The following headers provide asm redirections. These redirections must + appear before the first usage of these functions, e.g. in bits/stdio.h. */ +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + /* If we are compiling with optimizing read this file. It contains several optimizing inline functions and macros. */ #ifdef __USE_EXTERN_INLINES # include #endif #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Now include the function definitions and redirects too. */ # include #endif -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include -#endif - __END_DECLS #endif /* included. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/stdio_ext.h b/lib/libc/include/generic-glibc/stdio_ext.h index cd08f537ceebf8833b76dfdd2838dcaaf91cc419..f1e84328426299a5d1a89b6975e645954bd59f19 100644 --- a/lib/libc/include/generic-glibc/stdio_ext.h +++ b/lib/libc/include/generic-glibc/stdio_ext.h @@ -1,5 +1,5 @@ /* Functions to access FILE structure internals. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/stdlib.h b/lib/libc/include/generic-glibc/stdlib.h index d04a49c967ed5f7c0ba2f555e585effac3bde4e7..9d4da27916ae5f91cce72bcb1cca9e2e3635a29d 100644 --- a/lib/libc/include/generic-glibc/stdlib.h +++ b/lib/libc/include/generic-glibc/stdlib.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -207,6 +208,71 @@ extern unsigned long long int strtoull (const char *__restrict __nptr, __THROW __nonnull ((1)); #endif /* ISO C99 or use MISC. */ +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (strtol, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtol) + __nonnull ((1)); +extern unsigned long int __REDIRECT_NTH (strtoul, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoul) + __nonnull ((1)); +# ifdef __USE_MISC +__extension__ +extern long long int __REDIRECT_NTH (strtoq, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoll) + __nonnull ((1)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtouq, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoull) + __nonnull ((1)); +# endif +__extension__ +extern long long int __REDIRECT_NTH (strtoll, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoll) + __nonnull ((1)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtoull, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoull) + __nonnull ((1)); +# else +extern long int __isoc23_strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +extern unsigned long int __isoc23_strtoul (const char *__restrict __nptr, + char **__restrict __endptr, + int __base) + __THROW __nonnull ((1)); +__extension__ +extern long long int __isoc23_strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +__extension__ +extern unsigned long long int __isoc23_strtoull (const char *__restrict __nptr, + char **__restrict __endptr, + int __base) + __THROW __nonnull ((1)); +# define strtol __isoc23_strtol +# define strtoul __isoc23_strtoul +# ifdef __USE_MISC +# define strtoq __isoc23_strtoll +# define strtouq __isoc23_strtoull +# endif +# define strtoll __isoc23_strtoll +# define strtoull __isoc23_strtoull +# endif +#endif + /* Convert a floating-point number to a string. */ #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) extern int strfromd (char *__dest, size_t __size, const char *__format, @@ -292,6 +358,60 @@ extern unsigned long long int strtoull_l (const char *__restrict __nptr, int __base, locale_t __loc) __THROW __nonnull ((1, 4)); +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (strtol_l, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtol_l) + __nonnull ((1, 4)); +extern unsigned long int __REDIRECT_NTH (strtoul_l, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtoul_l) + __nonnull ((1, 4)); +__extension__ +extern long long int __REDIRECT_NTH (strtoll_l, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, + locale_t __loc), + __isoc23_strtoll_l) + __nonnull ((1, 4)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtoull_l, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtoull_l) + __nonnull ((1, 4)); +# else +extern long int __isoc23_strtol_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + locale_t __loc) __THROW __nonnull ((1, 4)); +extern unsigned long int __isoc23_strtoul_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +__extension__ +extern long long int __isoc23_strtoll_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +__extension__ +extern unsigned long long int __isoc23_strtoull_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +# define strtol_l __isoc23_strtol_l +# define strtoul_l __isoc23_strtoul_l +# define strtoll_l __isoc23_strtoll_l +# define strtoull_l __isoc23_strtoull_l +# endif +# endif + extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __THROW __nonnull ((1, 3)); @@ -532,6 +652,19 @@ extern int seed48_r (unsigned short int __seed16v[3], extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __THROW __nonnull ((1, 2)); + +/* Return a random integer between zero and 2**32-1 (inclusive). */ +extern __uint32_t arc4random (void) + __THROW __wur; + +/* Fill the buffer with random data. */ +extern void arc4random_buf (void *__buf, size_t __size) + __THROW __nonnull ((1)); + +/* Return a random number between zero (inclusive) and the specified + limit (exclusive). */ +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __THROW __wur; # endif /* Use misc. */ #endif /* Use misc or X/Open. */ @@ -589,7 +722,8 @@ extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) #ifdef __USE_ISOC11 /* ISO C variant of aligned allocation. */ extern void *aligned_alloc (size_t __alignment, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_size__ ((2)) __wur; + __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) + __attribute_alloc_size__ ((2)) __wur; #endif /* Abort execution and generate a core-dump. */ @@ -943,7 +1077,8 @@ extern size_t mbstowcs (wchar_t *__restrict __pwcs, extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __THROW - __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); + __fortified_attr_access (__write_only__, 1, 3) + __attr_access ((__read_only__, 2)); #ifdef __USE_MISC /* Determine whether the string value of RESPONSE matches the affirmation @@ -997,7 +1132,7 @@ extern char *ptsname (int __fd) __THROW __wur; terminal associated with the master FD is open on in BUF. Return 0 on success, otherwise an error number. */ extern int ptsname_r (int __fd, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); + __THROW __nonnull ((2)) __fortified_attr_access (__write_only__, 2, 3); /* Open a master pseudo terminal and return its file descriptor. */ extern int getpt (void); diff --git a/lib/libc/include/generic-glibc/string.h b/lib/libc/include/generic-glibc/string.h index 7e1b51018563218a869a53fd33f9f57dba8aae10..77b6aa346b5145174cab994232236df56ce5346c 100644 --- a/lib/libc/include/generic-glibc/string.h +++ b/lib/libc/include/generic-glibc/string.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -64,6 +64,22 @@ extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1)); extern int memcmp (const void *__s1, const void *__s2, size_t __n) __THROW __attribute_pure__ __nonnull ((1, 2)); +/* Compare N bytes of S1 and S2. Return zero if S1 and S2 are equal. + Return some non-zero value otherwise. + + Essentially __memcmpeq has the exact same semantics as memcmp + except the return value is less constrained. memcmp is always a + correct implementation of __memcmpeq. As well !!memcmp, -memcmp, + or bcmp are correct implementations. + + __memcmpeq is meant to be used by compilers when memcmp return is + only used for its boolean value. + + __memcmpeq is declared only for use by compilers. Programs should + continue to use memcmp. */ +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __THROW __attribute_pure__ __nonnull ((1, 2)); + /* Search N bytes of S for C. */ #ifdef __CORRECT_ISO_CPP_STRING_H_PROTO extern "C++" @@ -258,7 +274,7 @@ extern char *strrchr (const char *__s, int __c) __THROW __attribute_pure__ __nonnull ((1)); #endif -#ifdef __USE_GNU +#ifdef __USE_MISC /* This function is similar to `strchr'. But it returns a pointer to the closing NUL byte in case C is not found in S. */ # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO @@ -352,7 +368,7 @@ extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, __THROW __nonnull ((2, 3)); #endif -#ifdef __USE_GNU +#ifdef __USE_MISC /* Similar to `strstr' but this function ignores the case of both strings. */ # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO extern "C++" char *strcasestr (char *__haystack, const char *__needle) @@ -366,7 +382,7 @@ extern char *strcasestr (const char *__haystack, const char *__needle) # endif #endif -#ifdef __USE_GNU +#ifdef __USE_MISC /* Find the first occurrence of NEEDLE in HAYSTACK. NEEDLE is NEEDLELEN bytes long; HAYSTACK is HAYSTACKLEN bytes long. */ @@ -448,7 +464,7 @@ extern char *strerror_l (int __errnum, locale_t __l) __THROW; /* Set N bytes of S to 0. The compiler will not delete a call to this function, even if S is dead after the call. */ extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); /* Return the next DELIM-delimited token from *STRINGP, terminating it with a '\0', and update *STRINGP to point past it. */ @@ -485,6 +501,19 @@ extern char *stpncpy (char *__restrict __dest, __THROW __nonnull ((1, 2)); #endif +#ifdef __USE_MISC +/* Copy at most N - 1 characters from SRC to DEST. */ +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 3)); + +/* Append SRC to DEST, possibly with truncation to keep the total size + below N. */ +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__read_write__, 1, 3)); +#endif + #ifdef __USE_GNU /* Compare S1 and S2 as strings holding name & indices/version numbers. */ extern int strverscmp (const char *__s1, const char *__s2) @@ -495,7 +524,7 @@ extern char *strfry (char *__string) __THROW __nonnull ((1)); /* Frobnicate N bytes of S. */ extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); + __attr_access ((__read_write__, 1, 2)); # ifndef basename /* Return the file name within directory of FILENAME. We don't diff --git a/lib/libc/include/generic-glibc/strings.h b/lib/libc/include/generic-glibc/strings.h index 3959e62e5f720ed46531a3553b2751f4d0d762ce..2f210da8a65f670327616e4f9c0551695b6e9b19 100644 --- a/lib/libc/include/generic-glibc/strings.h +++ b/lib/libc/include/generic-glibc/strings.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/acct.h b/lib/libc/include/generic-glibc/sys/acct.h index ecfb8f60e91d6db17a1faf8fea877b64ad1e1379..346bcdbb867d28994182a537431aec24a819051d 100644 --- a/lib/libc/include/generic-glibc/sys/acct.h +++ b/lib/libc/include/generic-glibc/sys/acct.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -86,7 +86,9 @@ enum AFORK = 0x01, /* Has executed fork, but no exec. */ ASU = 0x02, /* Used super-user privileges. */ ACORE = 0x08, /* Dumped core. */ - AXSIG = 0x10 /* Killed by a signal. */ + AXSIG = 0x10, /* Killed by a signal. */ + AGROUP = 0x20 /* Was the last task of the process + (task group). */ }; #if __BYTE_ORDER == __BIG_ENDIAN diff --git a/lib/libc/include/generic-glibc/sys/asm.h b/lib/libc/include/generic-glibc/sys/asm.h index 70de7df1a3b4a62299ba46c65dbd70c044fbb8c2..c1c8e325b65591969a4d66d96bd0102cc5944284 100644 --- a/lib/libc/include/generic-glibc/sys/asm.h +++ b/lib/libc/include/generic-glibc/sys/asm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -198,7 +198,7 @@ symbol = value TEXT(msg) /* - * Print formated string + * Print formatted string */ #define PRINT(string) \ .set push; \ diff --git a/lib/libc/include/generic-glibc/sys/auxv.h b/lib/libc/include/generic-glibc/sys/auxv.h index 6dd2888056b0e0e20393899594b40eda364183eb..9d3a20adc886e3cd4a6c59ccd3145139425f9572 100644 --- a/lib/libc/include/generic-glibc/sys/auxv.h +++ b/lib/libc/include/generic-glibc/sys/auxv.h @@ -1,5 +1,5 @@ /* Access to the auxiliary vector. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/cachectl.h b/lib/libc/include/generic-glibc/sys/cachectl.h index 47396f51e21f4480974a2f8e11a30d494d5c36bc..cf65e8599db4e3c83d94c03b93ba10dc6828c017 100644 --- a/lib/libc/include/generic-glibc/sys/cachectl.h +++ b/lib/libc/include/generic-glibc/sys/cachectl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/cdefs.h b/lib/libc/include/generic-glibc/sys/cdefs.h index 2d594e1ba6a721caa584c4d721476dba769501e4..e1b8d983dc8fbb79815c352f7080c97bf19bae5c 100644 --- a/lib/libc/include/generic-glibc/sys/cdefs.h +++ b/lib/libc/include/generic-glibc/sys/cdefs.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,8 +27,8 @@ /* The GNU libc does not support any K&R compilers or the traditional mode of ISO C compilers anymore. Check for some of the combinations not supported anymore. */ -#if defined __GNUC__ && !defined __STDC__ -# error "You need a ISO C conforming compiler to use the glibc headers" +#if defined __GNUC__ && !defined __STDC__ && !defined __cplusplus +# error "You need a ISO C or C++ conforming compiler to use the glibc headers" #endif /* Some user header file might have defined this before. */ @@ -80,7 +81,7 @@ # define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct # define __NTHNL(fct) __attribute__ ((__nothrow__)) fct # else -# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4) +# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4) # if __cplusplus >= 201103L # define __THROW noexcept (true) # else @@ -97,6 +98,12 @@ # endif # endif +# if __GNUC_PREREQ (4, 3) || __glibc_has_attribute (__cold__) +# define __COLD __attribute__ ((__cold__)) +# else +# define __COLD +# endif + #else /* Not GCC or clang. */ # if (defined __cplusplus \ @@ -109,6 +116,7 @@ # define __THROW # define __THROWNL # define __NTH(fct) fct +# define __COLD #endif /* GCC || clang. */ @@ -142,7 +150,8 @@ #define __bos0(ptr) __builtin_object_size (ptr, 0) /* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ -#if __USE_FORTIFY_LEVEL == 3 && __glibc_clang_prereq (9, 0) +#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ + || __GNUC_PREREQ (12, 0)) # define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) # define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) #else @@ -150,6 +159,55 @@ # define __glibc_objsize(__o) __bos (__o) #endif +#if __USE_FORTIFY_LEVEL > 0 +/* Compile time conditions to choose between the regular, _chk and _chk_warn + variants. These conditions should get evaluated to constant and optimized + away. */ + +#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s)) +#define __glibc_unsigned_or_positive(__l) \ + ((__typeof (__l)) 0 < (__typeof (__l)) -1 \ + || (__builtin_constant_p (__l) && (__l) > 0)) + +/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ + condition can be folded to a constant and if it is true, or unknown (-1) */ +#define __glibc_safe_or_unknown_len(__l, __s, __osz) \ + ((__builtin_constant_p (__osz) && (__osz) == (__SIZE_TYPE__) -1) \ + || (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + (__s), (__osz))) \ + && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) + +/* Conversely, we know at compile time that the length is unsafe if the + __L * __S <= __OBJSZ condition can be folded to a constant and if it is + false. */ +#define __glibc_unsafe_len(__l, __s, __osz) \ + (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + __s, __osz)) \ + && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) + +/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be + declared. */ + +#define __glibc_fortify(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \ + : __ ## f ## _chk (__VA_ARGS__, __osz))) + +/* Fortify function f, where object size argument passed to f is the number of + elements and not total size. */ + +#define __glibc_fortify_n(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ + : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) +#endif + #if __GNUC_PREREQ (4,3) # define __warnattr(msg) __attribute__((__warning__ (msg))) # define __errordecl(name, msg) \ @@ -210,6 +268,14 @@ # define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) # define __ASMNAME2(prefix, cname) __STRING (prefix) cname +#ifndef __REDIRECT_FORTIFY +#define __REDIRECT_FORTIFY __REDIRECT +#endif + +#ifndef __REDIRECT_FORTIFY_NTH +#define __REDIRECT_FORTIFY_NTH __REDIRECT_NTH +#endif + /* #elif __SOME_OTHER_COMPILER__ @@ -243,6 +309,15 @@ # define __attribute_alloc_size__(params) /* Ignore. */ #endif +/* Tell the compiler which argument to an allocation function + indicates the alignment of the allocation. */ +#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__) +# define __attribute_alloc_align__(param) \ + __attribute__ ((__alloc_align__ param)) +#else +# define __attribute_alloc_align__(param) /* Ignore. */ +#endif + /* At some point during the gcc 2.96 development the `pure' attribute for functions was introduced. We don't want to use it unconditionally (although this would be possible) since it generates warnings. */ @@ -318,16 +393,18 @@ #endif /* The nonnull function attribute marks pointer parameters that - must not be NULL. */ -#ifndef __nonnull + must not be NULL. This has the name __nonnull in glibc, + and __attribute_nonnull__ in files shared with Gnulib to avoid + collision with a different __nonnull in DragonFlyBSD 5.9. */ +#ifndef __attribute_nonnull__ # if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) -# define __nonnull(params) __attribute__ ((__nonnull__ params)) +# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) # else -# define __nonnull(params) +# define __attribute_nonnull__(params) # endif -#elif !defined __GLIBC__ -# undef __nonnull -# define __nonnull(params) _GL_ATTRIBUTE_NONNULL (params) +#endif +#ifndef __nonnull +# define __nonnull(params) __attribute_nonnull__ (params) #endif /* The returns_nonnull function attribute marks the return type of the function @@ -493,9 +570,9 @@ [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] #endif -/* The #ifndef lets Gnulib avoid including these on non-glibc - platforms, where the includes typically do not exist. */ -#ifdef __GLIBC__ +/* Gnulib avoids including these, as they don't work on non-glibc or + older glibc platforms. */ +#ifndef __GNULIB_CDEFS # include # include #endif @@ -507,6 +584,8 @@ # define __LDBL_REDIR(name, proto) ... unused__ldbl_redir # define __LDBL_REDIR_DECL(name) \ extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128")); +# define __REDIRECT_LDBL(name, proto, alias) \ + name proto __asm (__ASMNAME ("__" #alias "ieee128")) /* Alias name defined automatically, with leading underscores. */ # define __LDBL_REDIR2_DECL(name) \ @@ -524,7 +603,6 @@ __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128) /* Unused. */ -# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl # define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth # else @@ -603,12 +681,22 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf size-index is not provided: access (access-mode, [, ]) */ # define __attr_access(x) __attribute__ ((__access__ x)) +/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may + use the access attribute to get object sizes from function definition + arguments, so we can't use them on functions we fortify. Drop the object + size hints for such functions. */ +# if __USE_FORTIFY_LEVEL == 3 +# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o))) +# else +# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) +# endif # if __GNUC_PREREQ (11, 0) # define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) # else # define __attr_access_none(argno) # endif #else +# define __fortified_attr_access(a, o, s) # define __attr_access(x) # define __attr_access_none(argno) #endif diff --git a/lib/libc/include/generic-glibc/sys/debugreg.h b/lib/libc/include/generic-glibc/sys/debugreg.h index 73f6c1adce407838346f9df86bb94345dff61bd4..a379309e1441b870183287631e3bbe2d8328fedb 100644 --- a/lib/libc/include/generic-glibc/sys/debugreg.h +++ b/lib/libc/include/generic-glibc/sys/debugreg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/dir.h b/lib/libc/include/generic-glibc/sys/dir.h index 27369aa4e591ad7f768d58518e5aba52e5666850..5b1fe74c80c80cde5f9ab203a58fa92d84341e7f 100644 --- a/lib/libc/include/generic-glibc/sys/dir.h +++ b/lib/libc/include/generic-glibc/sys/dir.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/elf.h b/lib/libc/include/generic-glibc/sys/elf.h index da0ac260ac68ef19a8f1c2b36aa90ef3b9e7dabd..458bed022efb0357dce07d567eb670ddf8d89372 100644 --- a/lib/libc/include/generic-glibc/sys/elf.h +++ b/lib/libc/include/generic-glibc/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/epoll.h b/lib/libc/include/generic-glibc/sys/epoll.h index 780a3eac51d9d93e5d28cee19859d571028fe548..a301552849b7e6b41d3b2e0bafbd7ca2115de42c 100644 --- a/lib/libc/include/generic-glibc/sys/epoll.h +++ b/lib/libc/include/generic-glibc/sys/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,6 +22,7 @@ #include #include +#include /* Get the platform-dependent flags. */ #include @@ -121,7 +122,8 @@ extern int epoll_ctl (int __epfd, int __op, int __fd, This function is a cancellation point and therefore not marked with __THROW. */ extern int epoll_wait (int __epfd, struct epoll_event *__events, - int __maxevents, int __timeout); + int __maxevents, int __timeout) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); /* Same as epoll_wait, but the thread's signal mask is temporarily @@ -131,7 +133,30 @@ extern int epoll_wait (int __epfd, struct epoll_event *__events, __THROW. */ extern int epoll_pwait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout, - const __sigset_t *__ss); + const __sigset_t *__ss) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); + +/* Same as epoll_pwait, but the timeout as a timespec. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_TIME_BITS64 +extern int epoll_pwait2 (int __epfd, struct epoll_event *__events, + int __maxevents, const struct timespec *__timeout, + const __sigset_t *__ss) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); +#else +# ifdef __REDIRECT +extern int __REDIRECT (epoll_pwait2, (int __epfd, struct epoll_event *__ev, + int __maxevs, + const struct timespec *__timeout, + const __sigset_t *__ss), + __epoll_pwait2_time64) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); +# else +# define epoll_pwait2 __epoll_pwait2_time64 +# endif +#endif __END_DECLS diff --git a/lib/libc/include/generic-glibc/sys/eventfd.h b/lib/libc/include/generic-glibc/sys/eventfd.h index 901128e326d560ea8b406aad8d413103d2255f1b..d8d51ad530b3e95cea4804f591d6b99d41981a75 100644 --- a/lib/libc/include/generic-glibc/sys/eventfd.h +++ b/lib/libc/include/generic-glibc/sys/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/fanotify.h b/lib/libc/include/generic-glibc/sys/fanotify.h index b32190e21d1399f644342e7b0519810ff96ee505..d18862c5819dd08b2f8f47ac76bcb6b1995fb68c 100644 --- a/lib/libc/include/generic-glibc/sys/fanotify.h +++ b/lib/libc/include/generic-glibc/sys/fanotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/file.h b/lib/libc/include/generic-glibc/sys/file.h index 798f5c0dcac9f91fa78315a96efa044c6b91cc92..664ddfbe7e548181cf978a36078191b482ed37f6 100644 --- a/lib/libc/include/generic-glibc/sys/file.h +++ b/lib/libc/include/generic-glibc/sys/file.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/fpregdef.h b/lib/libc/include/generic-glibc/sys/fpregdef.h index 10628e068c2280fb5ff2d44dc9f938c3d9ba5732..b2b01cf807770863574a023e67b5fd683a5c1cf9 100644 --- a/lib/libc/include/generic-glibc/sys/fpregdef.h +++ b/lib/libc/include/generic-glibc/sys/fpregdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/fsuid.h b/lib/libc/include/generic-glibc/sys/fsuid.h index 1661cc729e7f02dbb11cf2acae264a1d5e7b1e3e..cdfb3863a1dc9a615accc03ed26e9e552548287b 100644 --- a/lib/libc/include/generic-glibc/sys/fsuid.h +++ b/lib/libc/include/generic-glibc/sys/fsuid.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/gmon.h b/lib/libc/include/generic-glibc/sys/gmon.h index e227e4e7f653bef34373b3f7366d51d54eb68736..a9f056cccce02fe6ae100f61195c11706d0f51c2 100644 --- a/lib/libc/include/generic-glibc/sys/gmon.h +++ b/lib/libc/include/generic-glibc/sys/gmon.h @@ -111,6 +111,8 @@ extern struct __bb *__bb_head; * Always allocate at least this many tostructs. This * hides the inadequacy of the ARCDENSITY heuristic, at least * for small programs. + * + * Value can be overridden at runtime by glibc.gmon.minarcs tunable. */ #define MINARCS 50 @@ -124,8 +126,8 @@ extern struct __bb *__bb_head; * Used to be max representable value of ARCINDEX minus 2, but now * that ARCINDEX is a long, that's too large; we don't really want * to allow a 48 gigabyte table. - * The old value of 1<<16 wasn't high enough in practice for large C++ - * programs; will 1<<20 be adequate for long? FIXME + * + * Value can be overridden at runtime by glibc.gmon.maxarcs tunable. */ #define MAXARCS (1 << 20) diff --git a/lib/libc/include/generic-glibc/sys/gmon_out.h b/lib/libc/include/generic-glibc/sys/gmon_out.h index 2eed4730009303bf9e673f2f79e9beba56857a28..803e7dda9fa7a9947709e742ca210508ae253930 100644 --- a/lib/libc/include/generic-glibc/sys/gmon_out.h +++ b/lib/libc/include/generic-glibc/sys/gmon_out.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by David Mosberger . The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/sys/ifunc.h b/lib/libc/include/generic-glibc/sys/ifunc.h index 9dd2353772a9039e684a44bc3ffe3831b640040d..0c1e8745fca85c5d8da225637e687d3be65b68d4 100644 --- a/lib/libc/include/generic-glibc/sys/ifunc.h +++ b/lib/libc/include/generic-glibc/sys/ifunc.h @@ -1,5 +1,5 @@ /* Definitions used by AArch64 indirect function resolvers. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/inotify.h b/lib/libc/include/generic-glibc/sys/inotify.h index 647b8f8ccca15023ccd96782f8484288474c001c..e1242484635efe9560c480d5cba8d708d4e85248 100644 --- a/lib/libc/include/generic-glibc/sys/inotify.h +++ b/lib/libc/include/generic-glibc/sys/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/io.h b/lib/libc/include/generic-glibc/sys/io.h index d3da86c34c0ce6440fcb86752707fd52ea9cc4de..905202470e9299bcc92e9522ff37b97f25cb62ad 100644 --- a/lib/libc/include/generic-glibc/sys/io.h +++ b/lib/libc/include/generic-glibc/sys/io.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/ioctl.h b/lib/libc/include/generic-glibc/sys/ioctl.h index 0bf578863e5ab7409bcb9c63ffc84605013b6c7b..2abd52e2bf68326dc03cde385c80b6170dbaaa13 100644 --- a/lib/libc/include/generic-glibc/sys/ioctl.h +++ b/lib/libc/include/generic-glibc/sys/ioctl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,8 +42,8 @@ __BEGIN_DECLS extern int ioctl (int __fd, unsigned long int __request, ...) __THROW; #else # ifdef __REDIRECT -extern int __REDIRECT (ioctl, (int __fd, unsigned long int __request, ...), - __ioctl_time64) __THROW; +extern int __REDIRECT_NTH (ioctl, (int __fd, unsigned long int __request, ...), + __ioctl_time64); # else extern int __ioctl_time64 (int __fd, unsigned long int __request, ...) __THROW; # define ioctl __ioctl_time64 diff --git a/lib/libc/include/generic-glibc/sys/ipc.h b/lib/libc/include/generic-glibc/sys/ipc.h index 6b0657e8367ace2f2d16263217be300663fe2c0f..f907605deecc37c1be3dc15a50cd297bbd1aa64e 100644 --- a/lib/libc/include/generic-glibc/sys/ipc.h +++ b/lib/libc/include/generic-glibc/sys/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/kd.h b/lib/libc/include/generic-glibc/sys/kd.h index 6247131af91d2455be753035d3faec998dc6474d..06489c91c764fedf3e9ce964a01fc8801538b4bc 100644 --- a/lib/libc/include/generic-glibc/sys/kd.h +++ b/lib/libc/include/generic-glibc/sys/kd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/klog.h b/lib/libc/include/generic-glibc/sys/klog.h index eb7e738da89025bf51d97f05d32066c93da53b30..cd4fa1a404ea73e132911c2a7706a28b71001aa9 100644 --- a/lib/libc/include/generic-glibc/sys/klog.h +++ b/lib/libc/include/generic-glibc/sys/klog.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/mman.h b/lib/libc/include/generic-glibc/sys/mman.h index 0ffdf75dbbca9af834b88a02e2e7866899ddc004..c542c16eb2d94c5bb6758947320357eed58c2511 100644 --- a/lib/libc/include/generic-glibc/sys/mman.h +++ b/lib/libc/include/generic-glibc/sys/mman.h @@ -1,5 +1,5 @@ /* Definitions for BSD-style memory management. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -146,6 +146,9 @@ extern int shm_open (const char *__name, int __oflag, mode_t __mode); /* Remove shared memory segment. */ extern int shm_unlink (const char *__name); +/* System-specific extensions. */ +#include + __END_DECLS #endif /* sys/mman.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/sys/mount.h b/lib/libc/include/generic-glibc/sys/mount.h index ea7a023b09d07def0506610e88970db624c62fc7..76853a30ab6dd52b65c8e9cf18ff7a83913b5251 100644 --- a/lib/libc/include/generic-glibc/sys/mount.h +++ b/lib/libc/include/generic-glibc/sys/mount.h @@ -1,5 +1,5 @@ /* Header file for mounting/unmount Linux filesystems. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,80 +21,119 @@ #ifndef _SYS_MOUNT_H #define _SYS_MOUNT_H 1 +#include #include +#include +#include #include -#define BLOCK_SIZE 1024 +#ifdef __has_include +# if __has_include ("linux/mount.h") +# include "linux/mount.h" +# endif +#endif + + #define BLOCK_SIZE_BITS 10 +#define BLOCK_SIZE (1<. */ -/* Written by H. Bergman . */ #ifndef _SYS_MTIO_H #define _SYS_MTIO_H 1 diff --git a/lib/libc/include/generic-glibc/sys/param.h b/lib/libc/include/generic-glibc/sys/param.h index 255cb0d7009073019a405e6dd17a00ebc2d6eed3..14b2c6ab106dcc6adfb98ce3603b2071cd7ca516 100644 --- a/lib/libc/include/generic-glibc/sys/param.h +++ b/lib/libc/include/generic-glibc/sys/param.h @@ -1,5 +1,5 @@ /* Compatibility header for old-style Unix parameters and limits. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/pci.h b/lib/libc/include/generic-glibc/sys/pci.h index 923022cbfb71d33e0f0cd479524a3ce1a9e29eec..74d03ce8f811444ffbbdd98212cf226732d191eb 100644 --- a/lib/libc/include/generic-glibc/sys/pci.h +++ b/lib/libc/include/generic-glibc/sys/pci.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/perm.h b/lib/libc/include/generic-glibc/sys/perm.h index a7da5ed46b009409e7ae4ab9496f5489a1d55b6c..07720ba97de0009e1b50bc253e6c9633b1d9bb1b 100644 --- a/lib/libc/include/generic-glibc/sys/perm.h +++ b/lib/libc/include/generic-glibc/sys/perm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/personality.h b/lib/libc/include/generic-glibc/sys/personality.h index 540473f1ee861268856f3efd903d27e9ffb8cce6..dab756ec19c7d26860b042b7e2dd1b82f612c940 100644 --- a/lib/libc/include/generic-glibc/sys/personality.h +++ b/lib/libc/include/generic-glibc/sys/personality.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/pidfd.h b/lib/libc/include/generic-glibc/sys/pidfd.h new file mode 100644 index 0000000000000000000000000000000000000000..bb596f3217584dccf4391cb04b629d3d92f98ee7 --- /dev/null +++ b/lib/libc/include/generic-glibc/sys/pidfd.h @@ -0,0 +1,49 @@ +/* Wrapper for file descriptors that refers to a process functions. + Copyright (C) 2022-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _PIDFD_H + +#include +#include + +#define PIDFD_NONBLOCK O_NONBLOCK + +/* Returns a file descriptor that refers to the process PID. The + close-on-exec is set on the file descriptor. + + The FLAGS argument is reserved for future use, it must be specified + as 0. */ +extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW; + +/* Duplicates an existing file descriptor TARGETFD in the process referred + by the PIDFD file descriptor PIDFD. + + The FLAGS argument is reserved for future use, it must be specified + as 0. */ +extern int pidfd_getfd (int __pidfd, int __targetfd, + unsigned int __flags) __THROW; + +/* Sends the signal SIG to the target process referred by the PIDFD. If + INFO points to a siginfo_t buffer, it will be populated. + + The FLAGS argument is reserved for future use, it must be specified + as 0. */ +extern int pidfd_send_signal (int __pidfd, int __sig, siginfo_t *__info, + unsigned int __flags) __THROW; + +#endif /* _PIDFD_H */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/sys/platform/ppc.h b/lib/libc/include/generic-glibc/sys/platform/ppc.h index 7e019db36909114afbde02b126ddeb87de4b4ed5..60b363e260ab283108cbe8e12af2feeb830f5a1e 100644 --- a/lib/libc/include/generic-glibc/sys/platform/ppc.h +++ b/lib/libc/include/generic-glibc/sys/platform/ppc.h @@ -1,5 +1,5 @@ /* Facilities specific to the PowerPC architecture - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/platform/x86.h b/lib/libc/include/generic-glibc/sys/platform/x86.h index 1d0d73c94848c036d8ac24471148abdfc2c54ae1..6fd1d5e69e1d92942d7c394e73f5dfd7f797e685 100644 --- a/lib/libc/include/generic-glibc/sys/platform/x86.h +++ b/lib/libc/include/generic-glibc/sys/platform/x86.h @@ -1,6 +1,6 @@ /* Data structure for x86 CPU features. This file is part of the GNU C Library. - Copyright (C) 2008-2021 Free Software Foundation, Inc. + Copyright (C) 2008-2023 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/sys/poll.h b/lib/libc/include/generic-glibc/sys/poll.h index 358e8c2b80502fdbff083ee0c457d4c1a156dfe4..63e91f371d0ad0ad7e307aefafd4f677d0601de9 100644 --- a/lib/libc/include/generic-glibc/sys/poll.h +++ b/lib/libc/include/generic-glibc/sys/poll.h @@ -1,5 +1,5 @@ /* Compatibility definitions for System V `poll' interface. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -52,7 +52,7 @@ __BEGIN_DECLS This function is a cancellation point and therefore not marked with __THROW. */ extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); #ifdef __USE_GNU /* Like poll, but before waiting the threads signal mask is replaced @@ -64,7 +64,7 @@ extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) extern int ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); # ifdef __USE_TIME_BITS64 # ifdef __REDIRECT @@ -72,7 +72,7 @@ extern int __REDIRECT (ppoll, (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss), __ppoll64) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); # else # define ppoll __ppoll64 # endif diff --git a/lib/libc/include/generic-glibc/sys/prctl.h b/lib/libc/include/generic-glibc/sys/prctl.h index 5435c0473a09faca07c302914aa84b7619625310..30f68508b4554e81755ea52298f0d3bb01e038ee 100644 --- a/lib/libc/include/generic-glibc/sys/prctl.h +++ b/lib/libc/include/generic-glibc/sys/prctl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,7 +42,7 @@ __BEGIN_DECLS extern int prctl (int __option, ...) __THROW; #else # ifdef __REDIRECT -extern int __REDIRECT (prctl, (int __option, ...), __prctl_time64) __THROW; +extern int __REDIRECT_NTH (prctl, (int __option, ...), __prctl_time64); # else extern int __prctl_time64 (int __option,d ...) __THROW; # define ioctl __prctl_time64 diff --git a/lib/libc/include/generic-glibc/sys/procfs.h b/lib/libc/include/generic-glibc/sys/procfs.h index 3449597af6515d0fbdf8001b7fac9aec640b194c..0d977c60935d7c08fbddaec5540a38708b89afa7 100644 --- a/lib/libc/include/generic-glibc/sys/procfs.h +++ b/lib/libc/include/generic-glibc/sys/procfs.h @@ -1,5 +1,5 @@ /* Definitions for core files and libthread_db. Generic Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/sys/profil.h b/lib/libc/include/generic-glibc/sys/profil.h index b282f2c76aa1a81a7a79d3224ea78a9eb97b7ea7..e1be307f80b789e4c1a8a5809a59609634f7e19b 100644 --- a/lib/libc/include/generic-glibc/sys/profil.h +++ b/lib/libc/include/generic-glibc/sys/profil.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/ptrace.h b/lib/libc/include/generic-glibc/sys/ptrace.h index c2df853b0675a761b1c6f3fb08e8bcc19d2a7cf7..df5abb9b1315b9c4aa22205a23bbfeeb82e974af 100644 --- a/lib/libc/include/generic-glibc/sys/ptrace.h +++ b/lib/libc/include/generic-glibc/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -170,8 +170,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/generic-glibc/sys/quota.h b/lib/libc/include/generic-glibc/sys/quota.h index 0efe77268181769ef43d3d063d084ec7e7ad9844..e6f75ae7614d4dd9c1b25c73b936a9e377ebc1e6 100644 --- a/lib/libc/include/generic-glibc/sys/quota.h +++ b/lib/libc/include/generic-glibc/sys/quota.h @@ -1,5 +1,5 @@ /* This just represents the non-kernel parts of . - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/random.h b/lib/libc/include/generic-glibc/sys/random.h index 78e588f4b545eeb91d2582869f1a4b17137926a8..403123daca2b005da8fe8bb65ec9789538a06bcf 100644 --- a/lib/libc/include/generic-glibc/sys/random.h +++ b/lib/libc/include/generic-glibc/sys/random.h @@ -1,5 +1,5 @@ /* Interfaces for obtaining random bytes. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,11 +32,13 @@ __BEGIN_DECLS /* Write LENGTH bytes of randomness starting at BUFFER. Return the number of bytes written, or -1 on error. */ ssize_t getrandom (void *__buffer, size_t __length, - unsigned int __flags) __wur; + unsigned int __flags) __wur + __attr_access ((__write_only__, 1, 2)); /* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on success or -1 on error. */ -int getentropy (void *__buffer, size_t __length) __wur; +int getentropy (void *__buffer, size_t __length) __wur + __attr_access ((__write_only__, 1, 2)); __END_DECLS diff --git a/lib/libc/include/generic-glibc/sys/raw.h b/lib/libc/include/generic-glibc/sys/raw.h index 15d48c9728fe79d9e23a4ab10b2453e0c728be13..354a4058f4b864b5a21fd04a5c52a761dd51872b 100644 --- a/lib/libc/include/generic-glibc/sys/raw.h +++ b/lib/libc/include/generic-glibc/sys/raw.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/reboot.h b/lib/libc/include/generic-glibc/sys/reboot.h index 0fc5dcc29fcc331c5ffebe92b0218331ee8ded1b..1fabf2891a2f632726dc1166fda0d36cfb8057a7 100644 --- a/lib/libc/include/generic-glibc/sys/reboot.h +++ b/lib/libc/include/generic-glibc/sys/reboot.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/reg.h b/lib/libc/include/generic-glibc/sys/reg.h index ed08d665048d0f9adcca99b5d87c5cb6e769e296..1a702ec561ea9e2c1757c8dd4dc0adb967bacf35 100644 --- a/lib/libc/include/generic-glibc/sys/reg.h +++ b/lib/libc/include/generic-glibc/sys/reg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/regdef.h b/lib/libc/include/generic-glibc/sys/regdef.h index 60d5eebddfabcf37eddf658400172a7476918726..b050c6cc74ee9b074d769815eadb56461a9f4674 100644 --- a/lib/libc/include/generic-glibc/sys/regdef.h +++ b/lib/libc/include/generic-glibc/sys/regdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/resource.h b/lib/libc/include/generic-glibc/sys/resource.h index da44ec0320dabaf42e5e162278891da9a8c9edc7..ed68e25c627346c5601ddbbb2dc12f948c9b03fd 100644 --- a/lib/libc/include/generic-glibc/sys/resource.h +++ b/lib/libc/include/generic-glibc/sys/resource.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/rseq.h b/lib/libc/include/generic-glibc/sys/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..66e1da2635fdf8465a0e62e775b4729d8d5e941e --- /dev/null +++ b/lib/libc/include/generic-glibc/sys/rseq.h @@ -0,0 +1,169 @@ +/* Restartable Sequences exported symbols. Linux header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +#define _SYS_RSEQ_H 1 + +/* Architecture-specific rseq signature. */ +#include + +#include +#include +#include + +#ifdef __has_include +# if __has_include ("linux/rseq.h") +# define __GLIBC_HAVE_KERNEL_RSEQ +# endif +#else +# include +# if LINUX_VERSION_CODE >= KERNEL_VERSION (4, 18, 0) +# define __GLIBC_HAVE_KERNEL_RSEQ +# endif +#endif + +#ifdef __GLIBC_HAVE_KERNEL_RSEQ +/* We use the structures declarations from the kernel headers. */ +# include +#else /* __GLIBC_HAVE_KERNEL_RSEQ */ +/* We use a copy of the include/uapi/linux/rseq.h kernel header. */ + +enum rseq_cpu_id_state + { + RSEQ_CPU_ID_UNINITIALIZED = -1, + RSEQ_CPU_ID_REGISTRATION_FAILED = -2, + }; + +enum rseq_flags + { + RSEQ_FLAG_UNREGISTER = (1 << 0), + }; + +enum rseq_cs_flags_bit + { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, + }; + +enum rseq_cs_flags + { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT), + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT), + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT), + }; + +/* struct rseq_cs is aligned on 32 bytes to ensure it is always + contained within a single cache-line. It is usually declared as + link-time constant data. */ +struct rseq_cs + { + /* Version of this structure. */ + uint32_t version; + /* enum rseq_cs_flags. */ + uint32_t flags; + uint64_t start_ip; + /* Offset from start_ip. */ + uint64_t post_commit_offset; + uint64_t abort_ip; + } __attribute__ ((__aligned__ (32))); + +/* struct rseq is aligned on 32 bytes to ensure it is always + contained within a single cache-line. + + A single struct rseq per thread is allowed. */ +struct rseq + { + /* Restartable sequences cpu_id_start field. Updated by the + kernel. Read by user-space with single-copy atomicity + semantics. This field should only be read by the thread which + registered this data structure. Aligned on 32-bit. Always + contains a value in the range of possible CPUs, although the + value may not be the actual current CPU (e.g. if rseq is not + initialized). This CPU number value should always be compared + against the value of the cpu_id field before performing a rseq + commit or returning a value read from a data structure indexed + using the cpu_id_start value. */ + uint32_t cpu_id_start; + /* Restartable sequences cpu_id field. Updated by the kernel. + Read by user-space with single-copy atomicity semantics. This + field should only be read by the thread which registered this + data structure. Aligned on 32-bit. Values + RSEQ_CPU_ID_UNINITIALIZED and RSEQ_CPU_ID_REGISTRATION_FAILED + have a special semantic: the former means "rseq uninitialized", + and latter means "rseq initialization failed". This value is + meant to be read within rseq critical sections and compared + with the cpu_id_start value previously read, before performing + the commit instruction, or read and compared with the + cpu_id_start value before returning a value loaded from a data + structure indexed using the cpu_id_start value. */ + uint32_t cpu_id; + /* Restartable sequences rseq_cs field. + + Contains NULL when no critical section is active for the current + thread, or holds a pointer to the currently active struct rseq_cs. + + Updated by user-space, which sets the address of the currently + active rseq_cs at the beginning of assembly instruction sequence + block, and set to NULL by the kernel when it restarts an assembly + instruction sequence block, as well as when the kernel detects that + it is preempting or delivering a signal outside of the range + targeted by the rseq_cs. Also needs to be set to NULL by user-space + before reclaiming memory that contains the targeted struct rseq_cs. + + Read and set by the kernel. Set by user-space with single-copy + atomicity semantics. This field should only be updated by the + thread which registered this data structure. Aligned on 64-bit. + + 32-bit architectures should update the low order bits of the + rseq_cs field, leaving the high order bits initialized to 0. */ + uint64_t rseq_cs; + /* Restartable sequences flags field. + + This field should only be updated by the thread which + registered this data structure. Read by the kernel. + Mainly used for single-stepping through rseq critical sections + with debuggers. + + - RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT + Inhibit instruction sequence block restart on preemption + for this thread. + - RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL + Inhibit instruction sequence block restart on signal + delivery for this thread. + - RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE + Inhibit instruction sequence block restart on migration for + this thread. */ + uint32_t flags; + } __attribute__ ((__aligned__ (32))); + +#endif /* __GLIBC_HAVE_KERNEL_RSEQ */ + +/* Offset from the thread pointer to the rseq area. */ +extern const ptrdiff_t __rseq_offset; + +/* Size of the registered rseq area. 0 if the registration was + unsuccessful. */ +extern const unsigned int __rseq_size; + +/* Flags used during rseq registration. */ +extern const unsigned int __rseq_flags; + +#endif /* sys/rseq.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/sys/select.h b/lib/libc/include/generic-glibc/sys/select.h index 47298cf1fa6d4581c0a14327fd86317cb9d7252f..28e9c7296a9d99b16fffab94ced8bfbf9c8cf8d4 100644 --- a/lib/libc/include/generic-glibc/sys/select.h +++ b/lib/libc/include/generic-glibc/sys/select.h @@ -1,5 +1,5 @@ /* `fd_set' type and related macros, and `select'/`pselect' declarations. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/sem.h b/lib/libc/include/generic-glibc/sys/sem.h index f8d45b103829f31c7e0b0e03e66910ad6a7f1dbc..c9536e39c95d7d7f08988be35e0b94e90d9d2a4c 100644 --- a/lib/libc/include/generic-glibc/sys/sem.h +++ b/lib/libc/include/generic-glibc/sys/sem.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/sendfile.h b/lib/libc/include/generic-glibc/sys/sendfile.h index af8058691f7f05f510fc2b7ad56adae87be9c874..5ff2124bd656cae308f178d47696707451865fd8 100644 --- a/lib/libc/include/generic-glibc/sys/sendfile.h +++ b/lib/libc/include/generic-glibc/sys/sendfile.h @@ -1,5 +1,5 @@ /* sendfile -- copy data directly from one file descriptor to another - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/shm.h b/lib/libc/include/generic-glibc/sys/shm.h index 6fbac1752379bb461e390bace7fb6dc49bd1b536..180b0ac4f9d403d8f6df3155f316d99f9fc51272 100644 --- a/lib/libc/include/generic-glibc/sys/shm.h +++ b/lib/libc/include/generic-glibc/sys/shm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/signalfd.h b/lib/libc/include/generic-glibc/sys/signalfd.h index be2a5809270d58bb9d8de1bc0456c25dcf111703..dc3a1837a1620d28dc6ad8407622c4c2c174c1db 100644 --- a/lib/libc/include/generic-glibc/sys/signalfd.h +++ b/lib/libc/include/generic-glibc/sys/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/single_threaded.h b/lib/libc/include/generic-glibc/sys/single_threaded.h index 17638fcc425b5c06e163d71b82cf07539ac7a041..9a8d7e3b264e8ae2b02c529facbb0675f90a55a5 100644 --- a/lib/libc/include/generic-glibc/sys/single_threaded.h +++ b/lib/libc/include/generic-glibc/sys/single_threaded.h @@ -1,5 +1,5 @@ /* Support for single-thread optimizations. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/socket.h b/lib/libc/include/generic-glibc/sys/socket.h index 2599db5d59d6d1396ebc61ac0d0e4f0996102d2d..95191e5a725c0097aaca4fde4cb9e22a79abb404 100644 --- a/lib/libc/include/generic-glibc/sys/socket.h +++ b/lib/libc/include/generic-glibc/sys/socket.h @@ -1,5 +1,5 @@ /* Declarations of socket constants, types, and functions. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -154,7 +154,7 @@ extern ssize_t sendto (int __fd, const void *__buf, size_t __n, socklen_t __addr_len); /* Read N bytes into BUF through socket FD. - If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of + If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of the sender, and store the actual size of the address in *ADDR_LEN. Returns the number of bytes read or -1 for errors. @@ -181,7 +181,7 @@ extern ssize_t __REDIRECT (sendmsg, (int __fd, const struct msghdr *__message, # else extern ssize_t __sendmsg64 (int __fd, const struct msghdr *__message, int __flags); -# defien sendmsg __sendmsg64 +# define sendmsg __sendmsg64 # endif #endif diff --git a/lib/libc/include/generic-glibc/sys/stat.h b/lib/libc/include/generic-glibc/sys/stat.h index f1248327fb3452c6bd2d31f32d9b891e86ab4592..ff147958874b2df65c8bc1819fb3b59257d54622 100644 --- a/lib/libc/include/generic-glibc/sys/stat.h +++ b/lib/libc/include/generic-glibc/sys/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/statfs.h b/lib/libc/include/generic-glibc/sys/statfs.h index 22027078735afdcc2c1d9b032ff27015211ff6b5..325983a5ffab01069151c31d4f4d84b12206af40 100644 --- a/lib/libc/include/generic-glibc/sys/statfs.h +++ b/lib/libc/include/generic-glibc/sys/statfs.h @@ -1,5 +1,5 @@ /* Definitions for getting information about a filesystem. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/statvfs.h b/lib/libc/include/generic-glibc/sys/statvfs.h index a36a9ada1da7be037229ae9dcece3bf92083e5e9..69cf6c56a235066a96a6b350393b2cc82b807eb0 100644 --- a/lib/libc/include/generic-glibc/sys/statvfs.h +++ b/lib/libc/include/generic-glibc/sys/statvfs.h @@ -1,5 +1,5 @@ /* Definitions for getting information about a filesystem. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/swap.h b/lib/libc/include/generic-glibc/sys/swap.h index c739fdb00d7e4dbe62dfdb8087c3033c7e69adf8..69de00829b59eae7efd075f0a3c1180b7a26a847 100644 --- a/lib/libc/include/generic-glibc/sys/swap.h +++ b/lib/libc/include/generic-glibc/sys/swap.h @@ -1,5 +1,5 @@ /* Calls to enable and disable swapping on specified locations. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/syscall.h b/lib/libc/include/generic-glibc/sys/syscall.h index 23e1b29758c38de95797e669a18d4aebccc596e8..30dfa08d8680fdb781c9d9e6d2d213686919dedb 100644 --- a/lib/libc/include/generic-glibc/sys/syscall.h +++ b/lib/libc/include/generic-glibc/sys/syscall.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/sysinfo.h b/lib/libc/include/generic-glibc/sys/sysinfo.h index fa622ec23d91d315764d95dc08d936d3647a13ec..6af957b1ef4c86c1eaf2e8ccd8f6b7e094467070 100644 --- a/lib/libc/include/generic-glibc/sys/sysinfo.h +++ b/lib/libc/include/generic-glibc/sys/sysinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/syslog.h b/lib/libc/include/generic-glibc/sys/syslog.h index 3c249a278999b3eba059d95d2497787a98af088d..f34473c3eb2d349a244823c196d63c7c112259f6 100644 --- a/lib/libc/include/generic-glibc/sys/syslog.h +++ b/lib/libc/include/generic-glibc/sys/syslog.h @@ -62,7 +62,7 @@ #define LOG_PRI(p) ((p) & LOG_PRIMASK) #define LOG_MAKEPRI(fac, pri) ((fac) | (pri)) -#ifdef SYSLOG_NAMES +#if defined SYSLOG_NAMES && defined __USE_MISC #define INTERNAL_NOPRI 0x10 /* the "no priority" priority */ /* mark "facility" */ #define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES << 3, 0) @@ -118,7 +118,7 @@ CODE prioritynames[] = /* facility of pri */ #define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) -#ifdef SYSLOG_NAMES +#if defined SYSLOG_NAMES && defined __USE_MISC CODE facilitynames[] = { { "auth", LOG_AUTH }, @@ -205,11 +205,11 @@ extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap) /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function # include -#endif - -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include +#else +# include +# if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +# endif #endif __END_DECLS diff --git a/lib/libc/include/generic-glibc/sys/sysmacros.h b/lib/libc/include/generic-glibc/sys/sysmacros.h index 314e21d5d258a16398e11d38970ce22e9eac8b32..fe90fa086c9ba3f65886a8c80087856b2aaacfe8 100644 --- a/lib/libc/include/generic-glibc/sys/sysmacros.h +++ b/lib/libc/include/generic-glibc/sys/sysmacros.h @@ -1,5 +1,5 @@ /* Definitions of macros to access `dev_t' values. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/sysmips.h b/lib/libc/include/generic-glibc/sys/sysmips.h index 71e01aa98fa4bae3ea76961fdce8978050660902..05b5b1196199e8de5c4c9c4e6037543f10fb505c 100644 --- a/lib/libc/include/generic-glibc/sys/sysmips.h +++ b/lib/libc/include/generic-glibc/sys/sysmips.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/tas.h b/lib/libc/include/generic-glibc/sys/tas.h index 545278a89a838d3f3cb4c93c52b132b06f7f85e6..c8fa82ba2ae2eb9b52abd4caf35752042eef1936 100644 --- a/lib/libc/include/generic-glibc/sys/tas.h +++ b/lib/libc/include/generic-glibc/sys/tas.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Maciej W. Rozycki , 2000. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/sys/time.h b/lib/libc/include/generic-glibc/sys/time.h index 35bad81116651a2b1d44b32f94e9fa14d4972645..ffee313631fc3dca462c6ff44188951d991b4b1f 100644 --- a/lib/libc/include/generic-glibc/sys/time.h +++ b/lib/libc/include/generic-glibc/sys/time.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/timeb.h b/lib/libc/include/generic-glibc/sys/timeb.h index 7180adc662d00853a8ae1a436ba8e710719336e5..084dfb5b7b1335fcdb9ed0d0bd60c2a0fee5ef6c 100644 --- a/lib/libc/include/generic-glibc/sys/timeb.h +++ b/lib/libc/include/generic-glibc/sys/timeb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2021 Free Software Foundation, Inc. +/* Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/timerfd.h b/lib/libc/include/generic-glibc/sys/timerfd.h index 32643a90a160ae5470645a44d431e1da34ff0ec7..b64ffabcab87507cec2bd14ceeafb78e1349d284 100644 --- a/lib/libc/include/generic-glibc/sys/timerfd.h +++ b/lib/libc/include/generic-glibc/sys/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/times.h b/lib/libc/include/generic-glibc/sys/times.h index 5bd2a0b76107268feaf595e0158f838ca7d785cb..0170b4e080ff8d8d8422199f02dce1e7235382b7 100644 --- a/lib/libc/include/generic-glibc/sys/times.h +++ b/lib/libc/include/generic-glibc/sys/times.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/timex.h b/lib/libc/include/generic-glibc/sys/timex.h index 2ca80d7baf14bc2458abfe675bdd121a39dcbac7..2754e0392fac463605c8d37cf887ca66900cdee4 100644 --- a/lib/libc/include/generic-glibc/sys/timex.h +++ b/lib/libc/include/generic-glibc/sys/timex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,26 +55,26 @@ struct ntptimeval __BEGIN_DECLS #ifndef __USE_TIME_BITS64 -extern int adjtimex (struct timex *__ntx) __THROW; -extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW; +extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1)); +extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW __nonnull ((1)); # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), - ntp_gettimex); + ntp_gettimex) __nonnull ((1)); # else # define ntp_gettime ntp_gettimex # endif -extern int ntp_adjtime (struct timex *__tntx) __THROW; +extern int ntp_adjtime (struct timex *__tntx) __THROW __nonnull ((1)); #else # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (adjtimex, (struct timex *__ntx), - ___adjtimex64); + ___adjtimex64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), - __ntp_gettime64); + __ntp_gettime64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_gettimex, (struct ntptimeval *__ntv), - __ntp_gettimex64); + __ntp_gettimex64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_adjtime, (struct timex *__ntx), - ___adjtimex64); + ___adjtimex64) __nonnull ((1)); # else # define adjtimex ___adjtimex64 # define ntp_adjtime ___adjtimex64 diff --git a/lib/libc/include/generic-glibc/sys/types.h b/lib/libc/include/generic-glibc/sys/types.h index a604bba497ab9d566c74ececac7fedf63ea764a1..5a2bb5d8240212a54aaf7615417efc6d855cd748 100644 --- a/lib/libc/include/generic-glibc/sys/types.h +++ b/lib/libc/include/generic-glibc/sys/types.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/ucontext.h b/lib/libc/include/generic-glibc/sys/ucontext.h index 1b0186693a3eab7140877b937bb6b80c96038059..ebd085c5680d569f48adbc53a185b87e64c8e6a3 100644 --- a/lib/libc/include/generic-glibc/sys/ucontext.h +++ b/lib/libc/include/generic-glibc/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/sys/uio.h b/lib/libc/include/generic-glibc/sys/uio.h index 8a8846a5de407a0070bc5273ee36e27973ae3fa6..f01744a0b7b9d23253e0fd77f16e827f61d4a137 100644 --- a/lib/libc/include/generic-glibc/sys/uio.h +++ b/lib/libc/include/generic-glibc/sys/uio.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/un.h b/lib/libc/include/generic-glibc/sys/un.h index 76b80cfa9d277b7f89607d0cce75a2f7c0539f4d..bf87d46495db394e03249479e1e9f031755eaef9 100644 --- a/lib/libc/include/generic-glibc/sys/un.h +++ b/lib/libc/include/generic-glibc/sys/un.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,10 +34,11 @@ struct sockaddr_un #ifdef __USE_MISC +# include # include /* For prototype of `strlen'. */ /* Evaluate to actual length of the `sockaddr_un' structure. */ -# define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) \ +# define SUN_LEN(ptr) (offsetof (struct sockaddr_un, sun_path) \ + strlen ((ptr)->sun_path)) #endif diff --git a/lib/libc/include/generic-glibc/sys/user.h b/lib/libc/include/generic-glibc/sys/user.h index 552a40bd26143b1db74b16fd432ba09b8a9c477d..128ccc11a6aca4c0a17f46db0e2e82f64d4f818f 100644 --- a/lib/libc/include/generic-glibc/sys/user.h +++ b/lib/libc/include/generic-glibc/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/utsname.h b/lib/libc/include/generic-glibc/sys/utsname.h index 4321db26ce5e3a86735a3914e601fb1e07b8e70f..2e840965c8c140b5e25536a472ec91676173e090 100644 --- a/lib/libc/include/generic-glibc/sys/utsname.h +++ b/lib/libc/include/generic-glibc/sys/utsname.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/vlimit.h b/lib/libc/include/generic-glibc/sys/vlimit.h index 6844873042760a7bdca26012ae7a777002a756d2..25bf52679686861fe03f3135a6d78e7c93fa8f67 100644 --- a/lib/libc/include/generic-glibc/sys/vlimit.h +++ b/lib/libc/include/generic-glibc/sys/vlimit.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/vm86.h b/lib/libc/include/generic-glibc/sys/vm86.h index a245bfd2ffa3681d65111106e821af7fbdfb6fd0..474c120bb0a857106753816ae6f9d7615db2c08e 100644 --- a/lib/libc/include/generic-glibc/sys/vm86.h +++ b/lib/libc/include/generic-glibc/sys/vm86.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/wait.h b/lib/libc/include/generic-glibc/sys/wait.h index 17d2be0a62195be1c8c9fa4fe408262023379999..8437391ea20cb20453085f06c53f9834ac25dddb 100644 --- a/lib/libc/include/generic-glibc/sys/wait.h +++ b/lib/libc/include/generic-glibc/sys/wait.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -71,12 +71,7 @@ typedef __pid_t pid_t; /* The following values are used by the `waitid' function. */ #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -typedef enum -{ - P_ALL, /* Wait for any child. */ - P_PID, /* Wait for specified process. */ - P_PGID /* Wait for members of process group. */ -} idtype_t; +# include #endif diff --git a/lib/libc/include/generic-glibc/sys/xattr.h b/lib/libc/include/generic-glibc/sys/xattr.h index 43eaa7f42bcb3de7e9fedb2b7bdef2288a247ff5..ba6cf21f6c4d63b9e2c90a272d79d9cc9718b1cf 100644 --- a/lib/libc/include/generic-glibc/sys/xattr.h +++ b/lib/libc/include/generic-glibc/sys/xattr.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -40,52 +40,56 @@ enum is SIZE bytes long). Return 0 on success, -1 for errors. */ extern int setxattr (const char *__path, const char *__name, const void *__value, size_t __size, int __flags) - __THROW; + __THROW __attr_access ((__read_only__, 3, 4)); /* Set the attribute NAME of the file pointed to by PATH to VALUE (which is SIZE bytes long), not following symlinks for the last pathname component. Return 0 on success, -1 for errors. */ extern int lsetxattr (const char *__path, const char *__name, const void *__value, size_t __size, int __flags) - __THROW; + __THROW __attr_access ((__read_only__, 3, 4)); /* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE bytes long). Return 0 on success, -1 for errors. */ extern int fsetxattr (int __fd, const char *__name, const void *__value, - size_t __size, int __flags) __THROW; + size_t __size, int __flags) + __THROW __attr_access ((__read_only__, 3, 4)); /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is SIZE bytes long). Return 0 on success, -1 for errors. */ extern ssize_t getxattr (const char *__path, const char *__name, - void *__value, size_t __size) __THROW; + void *__value, size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is SIZE bytes long), not following symlinks for the last pathname component. Return 0 on success, -1 for errors. */ extern ssize_t lgetxattr (const char *__path, const char *__name, - void *__value, size_t __size) __THROW; + void *__value, size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); /* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE bytes long). Return 0 on success, -1 for errors. */ extern ssize_t fgetxattr (int __fd, const char *__name, void *__value, - size_t __size) __THROW; + size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); /* List attributes of the file pointed to by PATH into the user-supplied buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */ extern ssize_t listxattr (const char *__path, char *__list, size_t __size) - __THROW; + __THROW __attr_access ((__write_only__, 2, 3)); /* List attributes of the file pointed to by PATH into the user-supplied buffer LIST (which is SIZE bytes big), not following symlinks for the last pathname component. Return 0 on success, -1 for errors. */ extern ssize_t llistxattr (const char *__path, char *__list, size_t __size) - __THROW; + __THROW __attr_access ((__write_only__, 2, 3)); /* List attributes of the file descriptor FD into the user-supplied buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */ extern ssize_t flistxattr (int __fd, char *__list, size_t __size) - __THROW; + __THROW __attr_access ((__write_only__, 2, 3)); /* Remove the attribute NAME from the file pointed to by PATH. Return 0 on success, -1 for errors. */ diff --git a/lib/libc/include/generic-glibc/tar.h b/lib/libc/include/generic-glibc/tar.h index 5cd319e639ef562efe7eee761db5e2c8b3d4597a..f98994ec58045cf04859f65264149a0808c3de6a 100644 --- a/lib/libc/include/generic-glibc/tar.h +++ b/lib/libc/include/generic-glibc/tar.h @@ -1,7 +1,6 @@ /* Extended tar format from POSIX.1. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Written by David J. MacKenzie. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/termios.h b/lib/libc/include/generic-glibc/termios.h index a06c147e9c811f3c7fd7ffa59cd8878fdcb9984e..5d42f1aeb0b4e915d65a9739489a593fe241d8fc 100644 --- a/lib/libc/include/generic-glibc/termios.h +++ b/lib/libc/include/generic-glibc/termios.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/tgmath.h b/lib/libc/include/generic-glibc/tgmath.h index 9be123c91e5cc746ea68fa9efd4c75ef0ef3b7ec..c7378a1f75c028e7e2b4bc10d58e20176e4ee632 100644 --- a/lib/libc/include/generic-glibc/tgmath.h +++ b/lib/libc/include/generic-glibc/tgmath.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -37,9 +37,17 @@ for older GCC, using other compiler extensions but with macros expanding their arguments many times (so resulting in exponential blowup of the size of expansions when calls to such macros are - nested inside arguments to such macros). */ + nested inside arguments to such macros). Because of a long series + of defect fixes made after the initial release of TS 18661-1, GCC + versions before GCC 13 have __builtin_tgmath semantics that, when + integer arguments are passed to narrowing macros returning + _Float32x, or non-narrowing macros with at least two generic + arguments, do not always correspond to the C2X semantics, so more + complicated macro definitions are also used in some cases for + versions from GCC 8 to GCC 12. */ #define __HAVE_BUILTIN_TGMATH __GNUC_PREREQ (8, 0) +#define __HAVE_BUILTIN_TGMATH_C2X __GNUC_PREREQ (13, 0) #if __GNUC_PREREQ (2, 7) @@ -53,13 +61,25 @@ || (__HAVE_FLOAT128 && !__HAVE_FLOAT64X)) # error "Unsupported combination of types for ." # endif +# define __TGMATH_1_NARROW_D(F, X) \ + (F ## l (X)) # define __TGMATH_2_NARROW_D(F, X, Y) \ (F ## l (X, Y)) +# define __TGMATH_3_NARROW_D(F, X, Y, Z) \ + (F ## l (X, Y, Z)) +# define __TGMATH_1_NARROW_F64X(F, X) \ + (F ## f128 (X)) # define __TGMATH_2_NARROW_F64X(F, X, Y) \ (F ## f128 (X, Y)) +# define __TGMATH_3_NARROW_F64X(F, X, Y, Z) \ + (F ## f128 (X, Y, Z)) # if !__HAVE_FLOAT128 +# define __TGMATH_1_NARROW_F32X(F, X) \ + (F ## f64 (X)) # define __TGMATH_2_NARROW_F32X(F, X, Y) \ (F ## f64 (X, Y)) +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (F ## f64 (X, Y, Z)) # endif # if __HAVE_BUILTIN_TGMATH @@ -127,21 +147,42 @@ __TG_F64X_ARG (X) __TG_F128X_ARG (X) \ __TG_F64_ARG (X) __TG_F128_ARG (X) +# define __TGMATH_1_NARROW_F(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X)) # define __TGMATH_2_NARROW_F(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y)) +# define __TGMATH_3_NARROW_F(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F16(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X)) # define __TGMATH_2_NARROW_F16(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y)) +# define __TGMATH_3_NARROW_F16(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F32(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X)) # define __TGMATH_2_NARROW_F32(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y)) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F64(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X)) # define __TGMATH_2_NARROW_F64(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y)) -# if __HAVE_FLOAT128 +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y), (Z)) +# if __HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_1_NARROW_F32X(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X)) # define __TGMATH_2_NARROW_F32X(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y)) +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y), (Z)) # endif -# else /* !__HAVE_BUILTIN_TGMATH. */ +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X # ifdef __NO_LONG_DOUBLE_MATH # define __tgml(fct) fct # else @@ -181,13 +222,17 @@ /* Whether an expression (of arithmetic type) has a real type. */ # define __expr_is_real(E) (__builtin_classify_type (E) != 9) +/* Type T1 if E is 1, type T2 is E is 0. */ +# define __tgmath_type_if(T1, T2, E) \ + __typeof__ (*(0 ? (__typeof__ (0 ? (T2 *) 0 : (void *) (E))) 0 \ + : (__typeof__ (0 ? (T1 *) 0 : (void *) (!(E)))) 0)) + /* The tgmath real type for T, where E is 0 if T is an integer type and 1 for a floating type. If T has a complex type, it is unspecified whether the return type is real or complex (but it has the correct corresponding real type). */ # define __tgmath_real_type_sub(T, E) \ - __typeof__ (*(0 ? (__typeof__ (0 ? (double *) 0 : (void *) (E))) 0 \ - : (__typeof__ (0 ? (T *) 0 : (void *) (!(E)))) 0)) + __tgmath_type_if (T, double, E) /* The tgmath real type of EXPR. */ # define __tgmath_real_type(expr) \ @@ -215,6 +260,56 @@ __real_integer_type (__typeof__ (+(expr))), \ __complex_integer_type (__typeof__ (+(expr)))) +/* The tgmath real type of EXPR1 combined with EXPR2, without handling + the C2X rule of interpreting integer arguments as _Float32x if any + argument is _FloatNx. */ +# define __tgmath_real_type2_base(expr1, expr2) \ + __typeof ((__tgmath_real_type (expr1)) 0 + (__tgmath_real_type (expr2)) 0) + +/* The tgmath complex type of EXPR1 combined with EXPR2, without + handling the C2X rule of interpreting integer arguments as + _Float32x if any argument is _FloatNx. */ +# define __tgmath_complex_type2_base(expr1, expr2) \ + __typeof ((__tgmath_complex_type (expr1)) 0 \ + + (__tgmath_complex_type (expr2)) 0) + +/* The tgmath real type of EXPR1 combined with EXPR2 and EXPR3, + without handling the C2X rule of interpreting integer arguments as + _Float32x if any argument is _FloatNx. */ +# define __tgmath_real_type3_base(expr1, expr2, expr3) \ + __typeof ((__tgmath_real_type (expr1)) 0 \ + + (__tgmath_real_type (expr2)) 0 \ + + (__tgmath_real_type (expr3)) 0) + +/* The tgmath real or complex type of EXPR1 combined with EXPR2 (and + EXPR3 if applicable). */ +# if __HAVE_FLOATN_NOT_TYPEDEF +# define __tgmath_real_type2(expr1, expr2) \ + __tgmath_type_if (_Float32x, __tgmath_real_type2_base (expr1, expr2), \ + _Generic ((expr1) + (expr2), _Float32x: 1, default: 0)) +# define __tgmath_complex_type2(expr1, expr2) \ + __tgmath_type_if (_Float32x, \ + __tgmath_type_if (_Complex _Float32x, \ + __tgmath_complex_type2_base (expr1, \ + expr2), \ + _Generic ((expr1) + (expr2), \ + _Complex _Float32x: 1, \ + default: 0)), \ + _Generic ((expr1) + (expr2), _Float32x: 1, default: 0)) +# define __tgmath_real_type3(expr1, expr2, expr3) \ + __tgmath_type_if (_Float32x, \ + __tgmath_real_type3_base (expr1, expr2, expr3), \ + _Generic ((expr1) + (expr2) + (expr3), \ + _Float32x: 1, default: 0)) +# else +# define __tgmath_real_type2(expr1, expr2) \ + __tgmath_real_type2_base (expr1, expr2) +# define __tgmath_complex_type2(expr1, expr2) \ + __tgmath_complex_type2_base (expr1, expr2) +# define __tgmath_real_type3(expr1, expr2, expr3) \ + __tgmath_real_type3_base (expr1, expr2, expr3) +# endif + # if (__HAVE_DISTINCT_FLOAT16 \ || __HAVE_DISTINCT_FLOAT32 \ || __HAVE_DISTINCT_FLOAT64 \ @@ -226,7 +321,10 @@ /* Expand to text that checks if ARG_COMB has type _Float128, and if so calls the appropriately suffixed FCT (which may include a cast), - or FCT and CFCT for complex functions, with arguments ARG_CALL. */ + or FCT and CFCT for complex functions, with arguments ARG_CALL. + __TGMATH_F128LD (only used in the __HAVE_FLOAT64X_LONG_DOUBLE case, + for narrowing macros) handles long double the same as + _Float128. */ # if __HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) # if (!__HAVE_FLOAT64X \ || __HAVE_FLOAT64X_LONG_DOUBLE \ @@ -234,6 +332,10 @@ # define __TGMATH_F128(arg_comb, fct, arg_call) \ __builtin_types_compatible_p (__typeof (+(arg_comb)), _Float128) \ ? fct ## f128 arg_call : +# define __TGMATH_F128LD(arg_comb, fct, arg_call) \ + (__builtin_types_compatible_p (__typeof (+(arg_comb)), _Float128) \ + || __builtin_types_compatible_p (__typeof (+(arg_comb)), long double)) \ + ? fct ## f128 arg_call : # define __TGMATH_CF128(arg_comb, fct, cfct, arg_call) \ __builtin_types_compatible_p (__typeof (+__real__ (arg_comb)), _Float128) \ ? (__expr_is_real (arg_comb) \ @@ -259,7 +361,7 @@ # define __TGMATH_CF128(arg_comb, fct, cfct, arg_call) /* Nothing. */ # endif -# endif /* !__HAVE_BUILTIN_TGMATH. */ +# endif /* !__HAVE_BUILTIN_TGMATH_C2X. */ /* We have two kinds of generic macros: to support functions which are only defined on real valued parameters and those which are defined @@ -272,14 +374,18 @@ __TGMATH_2 (Fct, (Val1), (Val2)) # define __TGMATH_BINARY_FIRST_REAL_STD_ONLY(Val1, Val2, Fct) \ __TGMATH_2STD (Fct, (Val1), (Val2)) -# define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ +# if __HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ __TGMATH_2 (Fct, (Val1), (Val2)) +# endif # define __TGMATH_BINARY_REAL_STD_ONLY(Val1, Val2, Fct) \ __TGMATH_2STD (Fct, (Val1), (Val2)) -# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ +# if __HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) -# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \ +# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \ __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) +# endif # define __TGMATH_TERNARY_FIRST_REAL_RET_ONLY(Val1, Val2, Val3, Fct) \ __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) # define __TGMATH_UNARY_REAL_IMAG(Val, Fct, Cfct) \ @@ -289,11 +395,14 @@ __TGMATH_1C (Fct, Cfct, (Val)) # define __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME(Val, Cfct) \ __TGMATH_1 (Cfct, (Val)) -# define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ +# if __HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ __TGMATH_2C (Fct, Cfct, (Val1), (Val2)) +# endif -# else /* !__HAVE_BUILTIN_TGMATH. */ +# endif +# if !__HAVE_BUILTIN_TGMATH # define __TGMATH_UNARY_REAL_ONLY(Val, Fct) \ (__extension__ ((sizeof (+(Val)) == sizeof (double) \ || __builtin_classify_type (Val) != 8) \ @@ -330,29 +439,28 @@ : (sizeof (+(Val1)) == sizeof (float)) \ ? (__tgmath_real_type (Val1)) Fct##f (Val1, Val2) \ : (__tgmath_real_type (Val1)) __tgml(Fct) (Val1, Val2))) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X # define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ && __builtin_classify_type ((Val1) + (Val2)) == 8) \ ? __TGMATH_F128 ((Val1) + (Val2), \ - (__typeof \ - ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) Fct, \ + (__tgmath_real_type2 (Val1, Val2)) Fct, \ (Val1, Val2)) \ - (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + (__tgmath_real_type2 (Val1, Val2)) \ __tgml(Fct) (Val1, Val2) \ : (sizeof (+(Val1)) == sizeof (double) \ || sizeof (+(Val2)) == sizeof (double) \ || __builtin_classify_type (Val1) != 8 \ || __builtin_classify_type (Val2) != 8) \ - ? (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + ? (__tgmath_real_type2 (Val1, Val2)) \ Fct (Val1, Val2) \ - : (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + : (__tgmath_real_type2 (Val1, Val2)) \ Fct##f (Val1, Val2))) +# endif +# if !__HAVE_BUILTIN_TGMATH # define __TGMATH_BINARY_REAL_STD_ONLY(Val1, Val2, Fct) \ (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ && __builtin_classify_type ((Val1) + (Val2)) == 8) \ @@ -369,27 +477,24 @@ : (__typeof ((__tgmath_real_type (Val1)) 0 \ + (__tgmath_real_type (Val2)) 0)) \ Fct##f (Val1, Val2))) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X # define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ && __builtin_classify_type ((Val1) + (Val2)) == 8) \ ? __TGMATH_F128 ((Val1) + (Val2), \ - (__typeof \ - ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) Fct, \ + (__tgmath_real_type2 (Val1, Val2)) Fct, \ (Val1, Val2, Val3)) \ - (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + (__tgmath_real_type2 (Val1, Val2)) \ __tgml(Fct) (Val1, Val2, Val3) \ : (sizeof (+(Val1)) == sizeof (double) \ || sizeof (+(Val2)) == sizeof (double) \ || __builtin_classify_type (Val1) != 8 \ || __builtin_classify_type (Val2) != 8) \ - ? (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + ? (__tgmath_real_type2 (Val1, Val2)) \ Fct (Val1, Val2, Val3) \ - : (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + : (__tgmath_real_type2 (Val1, Val2)) \ Fct##f (Val1, Val2, Val3))) # define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \ @@ -397,14 +502,10 @@ && __builtin_classify_type ((Val1) + (Val2) + (Val3)) \ == 8) \ ? __TGMATH_F128 ((Val1) + (Val2) + (Val3), \ - (__typeof \ - ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0 \ - + (__tgmath_real_type (Val3)) 0)) Fct, \ + (__tgmath_real_type3 (Val1, Val2, \ + Val3)) Fct, \ (Val1, Val2, Val3)) \ - (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0 \ - + (__tgmath_real_type (Val3)) 0)) \ + (__tgmath_real_type3 (Val1, Val2, Val3)) \ __tgml(Fct) (Val1, Val2, Val3) \ : (sizeof (+(Val1)) == sizeof (double) \ || sizeof (+(Val2)) == sizeof (double) \ @@ -412,15 +513,13 @@ || __builtin_classify_type (Val1) != 8 \ || __builtin_classify_type (Val2) != 8 \ || __builtin_classify_type (Val3) != 8) \ - ? (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0 \ - + (__tgmath_real_type (Val3)) 0)) \ + ? (__tgmath_real_type3 (Val1, Val2, Val3)) \ Fct (Val1, Val2, Val3) \ - : (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0 \ - + (__tgmath_real_type (Val3)) 0)) \ + : (__tgmath_real_type3 (Val1, Val2, Val3)) \ Fct##f (Val1, Val2, Val3))) +# endif +# if !__HAVE_BUILTIN_TGMATH # define __TGMATH_TERNARY_FIRST_REAL_RET_ONLY(Val1, Val2, Val3, Fct) \ (__extension__ ((sizeof (+(Val1)) == sizeof (double) \ || __builtin_classify_type (Val1) != 8) \ @@ -496,7 +595,9 @@ __tgml(Cfct) (Val)))) # define __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME(Val, Cfct) \ __TGMATH_UNARY_REAL_IMAG_RET_REAL ((Val), Cfct, Cfct) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X /* XXX This definition has to be changed as soon as the compiler understands the imaginary keyword. */ # define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ @@ -505,46 +606,49 @@ && __builtin_classify_type (__real__ (Val1) \ + __real__ (Val2)) == 8) \ ? __TGMATH_CF128 ((Val1) + (Val2), \ - (__typeof \ - ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + (__tgmath_complex_type2 (Val1, Val2)) \ Fct, \ - (__typeof \ - ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + (__tgmath_complex_type2 (Val1, Val2)) \ Cfct, \ (Val1, Val2)) \ (__expr_is_real ((Val1) + (Val2)) \ - ? (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ __tgml(Fct) (Val1, Val2) \ - : (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ __tgml(Cfct) (Val1, Val2)) \ : (sizeof (+__real__ (Val1)) == sizeof (double) \ || sizeof (+__real__ (Val2)) == sizeof (double) \ || __builtin_classify_type (__real__ (Val1)) != 8 \ || __builtin_classify_type (__real__ (Val2)) != 8) \ ? (__expr_is_real ((Val1) + (Val2)) \ - ? (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ Fct (Val1, Val2) \ - : (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ Cfct (Val1, Val2)) \ : (__expr_is_real ((Val1) + (Val2)) \ - ? (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ Fct##f (Val1, Val2) \ - : (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ Cfct##f (Val1, Val2)))) +# endif +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (double) \ + ? F ## l (X) \ + : F (X))) # define __TGMATH_2_NARROW_F(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (double) \ ? F ## l (X, Y) \ : F (X, Y))) +# define __TGMATH_3_NARROW_F(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (double) \ + ? F ## l (X, Y, Z) \ + : F (X, Y, Z))) +# endif /* In most cases, these narrowing macro definitions based on sizeof ensure that the function called has the right argument format, as for other macros for compilers before GCC 8, but may not @@ -553,52 +657,140 @@ In the case of macros for _Float32x return type, when _Float64x exists, _Float64 arguments should result in the *f64 function being - called while _Float32x arguments should result in the *f64x - function being called. These cases cannot be distinguished using - sizeof (or at all if the types are typedefs rather than different - types). However, for these functions it is OK (does not affect the - final result) to call a function with any argument format at least - as wide as all the floating-point arguments, unless that affects - rounding of integer arguments. Integer arguments are considered to - have type _Float64, so the *f64 functions are preferred for f32x* - macros when no argument has a wider floating-point type. */ -# if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128 + called while _Float32x, float and double arguments should result in + the *f64x function being called (and integer arguments are + considered to have type _Float32x if any argument has type + _FloatNx, or double otherwise). These cases cannot be + distinguished using sizeof (or at all if the types are typedefs + rather than different types, in which case we err on the side of + using the wider type if unsure). */ +# if !__HAVE_BUILTIN_TGMATH_C2X +# if __HAVE_FLOATN_NOT_TYPEDEF +# define __TGMATH_NARROW_F32X_USE_F64X(X) \ + !__builtin_types_compatible_p (__typeof (+(X)), _Float64) +# else +# define __TGMATH_NARROW_F32X_USE_F64X(X) \ + (__builtin_types_compatible_p (__typeof (+(X)), double) \ + || __builtin_types_compatible_p (__typeof (+(X)), float) \ + || !__floating_type (__typeof (+(X)))) +# endif +# endif +# if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128 +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f64 (X))) # define __TGMATH_2_NARROW_F32(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ - ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \ + ? __TGMATH_F128LD ((X) + (Y), F, (X, Y)) \ F ## f64x (X, Y) \ : F ## f64 (X, Y))) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# define __TGMATH_1_NARROW_F64(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f128 (X))) # define __TGMATH_2_NARROW_F64(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ - ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \ + ? __TGMATH_F128LD ((X) + (Y), F, (X, Y)) \ F ## f64x (X, Y) \ : F ## f128 (X, Y))) +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f128 (X, Y, Z))) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_1_NARROW_F32X(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X (X) \ + ? __TGMATH_F128 ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f64 (X))) # define __TGMATH_2_NARROW_F32X(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y)) \ ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \ F ## f64x (X, Y) \ : F ## f64 (X, Y))) -# elif __HAVE_FLOAT128 +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y) + (Z)) \ + ? __TGMATH_F128 ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# endif +# elif __HAVE_FLOAT128 +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? F ## f128 (X) \ + : F ## f64 (X))) # define __TGMATH_2_NARROW_F32(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ ? F ## f128 (X, Y) \ : F ## f64 (X, Y))) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? F ## f128 (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# define __TGMATH_1_NARROW_F64(F, X) \ + (F ## f128 (X)) # define __TGMATH_2_NARROW_F64(F, X, Y) \ (F ## f128 (X, Y)) +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + (F ## f128 (X, Y, Z)) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_1_NARROW_F32X(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X (X) \ + ? F ## f64x (X) \ + : F ## f64 (X))) # define __TGMATH_2_NARROW_F32X(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y)) \ ? F ## f64x (X, Y) \ : F ## f64 (X, Y))) -# else +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y) + (Z)) \ + ? F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# endif +# else +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (F ## f64 (X)) # define __TGMATH_2_NARROW_F32(F, X, Y) \ (F ## f64 (X, Y)) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (F ## f64 (X, Y, Z)) # endif -# endif /* !__HAVE_BUILTIN_TGMATH. */ +# endif #else # error "Unsupported compiler; you cannot use " #endif @@ -679,6 +871,11 @@ /* Compute base-2 logarithm of X. */ #define log2(Val) __TGMATH_UNARY_REAL_ONLY (Val, log2) +#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C2X) +/* Compute exponent to base ten. */ +#define exp10(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp10) +#endif + /* Power functions. */ @@ -764,7 +961,7 @@ #define nexttoward(Val1, Val2) \ __TGMATH_BINARY_FIRST_REAL_STD_ONLY (Val1, Val2, nexttoward) -/* Return the remainder of integer divison X / Y with infinite precision. */ +/* Return the remainder of integer division X / Y with infinite precision. */ #define remainder(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, remainder) /* Return X times (2 to the Nth power). */ @@ -786,11 +983,19 @@ /* Return positive difference between X and Y. */ #define fdim(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fdim) +#if __GLIBC_USE (ISOC2X) && !defined __USE_GNU /* Return maximum numeric value from X and Y. */ -#define fmax(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmax) +# define fmax(Val1, Val2) __TGMATH_BINARY_REAL_STD_ONLY (Val1, Val2, fmax) /* Return minimum numeric value from X and Y. */ -#define fmin(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmin) +# define fmin(Val1, Val2) __TGMATH_BINARY_REAL_STD_ONLY (Val1, Val2, fmin) +#else +/* Return maximum numeric value from X and Y. */ +# define fmax(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmax) + +/* Return minimum numeric value from X and Y. */ +# define fmin(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmin) +#endif /* Multiply-add function computed as a ternary operation. */ @@ -815,7 +1020,9 @@ /* Like ilogb, but returning long int. */ # define llogb(Val) __TGMATH_UNARY_REAL_RET_ONLY (Val, llogb) +#endif +#if __GLIBC_USE (IEC_60559_BFP_EXT) /* Return value with maximum magnitude. */ # define fmaxmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaxmag) @@ -823,6 +1030,38 @@ # define fminmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminmag) #endif +#if __GLIBC_USE (ISOC2X) +/* Return maximum value from X and Y. */ +# define fmaximum(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum) + +/* Return minimum value from X and Y. */ +# define fminimum(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum) + +/* Return maximum numeric value from X and Y. */ +# define fmaximum_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_num) + +/* Return minimum numeric value from X and Y. */ +# define fminimum_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_num) + +/* Return value with maximum magnitude. */ +# define fmaximum_mag(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_mag) + +/* Return value with minimum magnitude. */ +# define fminimum_mag(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_mag) + +/* Return numeric value with maximum magnitude. */ +# define fmaximum_mag_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_mag_num) + +/* Return numeric value with minimum magnitude. */ +# define fminimum_mag_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_mag_num) +#endif + /* Absolute value, conjugates, and projection. */ @@ -865,6 +1104,14 @@ # define fsub(Val1, Val2) __TGMATH_2_NARROW_F (fsub, Val1, Val2) # define dsub(Val1, Val2) __TGMATH_2_NARROW_D (dsub, Val1, Val2) +/* Square root. */ +# define fsqrt(Val) __TGMATH_1_NARROW_F (fsqrt, Val) +# define dsqrt(Val) __TGMATH_1_NARROW_D (dsqrt, Val) + +/* Fused multiply-add. */ +# define ffma(Val1, Val2, Val3) __TGMATH_3_NARROW_F (ffma, Val1, Val2, Val3) +# define dfma(Val1, Val2, Val3) __TGMATH_3_NARROW_D (dfma, Val1, Val2, Val3) + #endif #if __GLIBC_USE (IEC_60559_TYPES_EXT) @@ -874,6 +1121,9 @@ # define f16div(Val1, Val2) __TGMATH_2_NARROW_F16 (f16div, Val1, Val2) # define f16mul(Val1, Val2) __TGMATH_2_NARROW_F16 (f16mul, Val1, Val2) # define f16sub(Val1, Val2) __TGMATH_2_NARROW_F16 (f16sub, Val1, Val2) +# define f16sqrt(Val) __TGMATH_1_NARROW_F16 (f16sqrt, Val) +# define f16fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F16 (f16fma, Val1, Val2, Val3) # endif # if __HAVE_FLOAT32 @@ -881,6 +1131,9 @@ # define f32div(Val1, Val2) __TGMATH_2_NARROW_F32 (f32div, Val1, Val2) # define f32mul(Val1, Val2) __TGMATH_2_NARROW_F32 (f32mul, Val1, Val2) # define f32sub(Val1, Val2) __TGMATH_2_NARROW_F32 (f32sub, Val1, Val2) +# define f32sqrt(Val) __TGMATH_1_NARROW_F32 (f32sqrt, Val) +# define f32fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F32 (f32fma, Val1, Val2, Val3) # endif # if __HAVE_FLOAT64 && (__HAVE_FLOAT64X || __HAVE_FLOAT128) @@ -888,6 +1141,9 @@ # define f64div(Val1, Val2) __TGMATH_2_NARROW_F64 (f64div, Val1, Val2) # define f64mul(Val1, Val2) __TGMATH_2_NARROW_F64 (f64mul, Val1, Val2) # define f64sub(Val1, Val2) __TGMATH_2_NARROW_F64 (f64sub, Val1, Val2) +# define f64sqrt(Val) __TGMATH_1_NARROW_F64 (f64sqrt, Val) +# define f64fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F64 (f64fma, Val1, Val2, Val3) # endif # if __HAVE_FLOAT32X @@ -895,6 +1151,9 @@ # define f32xdiv(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xdiv, Val1, Val2) # define f32xmul(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xmul, Val1, Val2) # define f32xsub(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xsub, Val1, Val2) +# define f32xsqrt(Val) __TGMATH_1_NARROW_F32X (f32xsqrt, Val) +# define f32xfma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F32X (f32xfma, Val1, Val2, Val3) # endif # if __HAVE_FLOAT64X && (__HAVE_FLOAT128X || __HAVE_FLOAT128) @@ -902,6 +1161,9 @@ # define f64xdiv(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xdiv, Val1, Val2) # define f64xmul(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xmul, Val1, Val2) # define f64xsub(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xsub, Val1, Val2) +# define f64xsqrt(Val) __TGMATH_1_NARROW_F64X (f64xsqrt, Val) +# define f64xfma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F64X (f64xfma, Val1, Val2, Val3) # endif #endif diff --git a/lib/libc/include/generic-glibc/thread_db.h b/lib/libc/include/generic-glibc/thread_db.h index 542d3c1dd8d9bae2d1a678d6be824dec4ead8d63..51405a60880eb2d0ffffa40aee0244819093b8f3 100644 --- a/lib/libc/include/generic-glibc/thread_db.h +++ b/lib/libc/include/generic-glibc/thread_db.h @@ -1,5 +1,5 @@ /* thread_db.h -- interface to libthread_db.so library for debugging -lpthread - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/threads.h b/lib/libc/include/generic-glibc/threads.h index 4f994324950ee5396278db26beb7ca6d251e5d60..11e0f1949b3f338fe4677fde95f3c2bdb954ebfe 100644 --- a/lib/libc/include/generic-glibc/threads.h +++ b/lib/libc/include/generic-glibc/threads.h @@ -1,5 +1,5 @@ /* ISO C11 Standard: 7.26 - Thread support library . - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -27,7 +27,9 @@ __BEGIN_DECLS #include #include -#ifndef __cplusplus +#if (!defined __STDC_VERSION__ \ + || __STDC_VERSION__ <= 201710L \ + || !__GNUC_PREREQ (13, 0)) && !defined __cplusplus # define thread_local _Thread_local #endif @@ -74,7 +76,7 @@ typedef union /* Threads functions. */ /* Create a new thread executing the function __FUNC. Arguments for __FUNC - are passed through __ARG. If succesful, __THR is set to new thread + are passed through __ARG. If successful, __THR is set to new thread identifier. */ extern int thrd_create (thrd_t *__thr, thrd_start_t __func, void *__arg); diff --git a/lib/libc/include/generic-glibc/time.h b/lib/libc/include/generic-glibc/time.h index 10ad9d992e2b8c5551855011866d4299e77bc7ab..d1da751b913fcee32bd5f37d11d578794b06989a 100644 --- a/lib/libc/include/generic-glibc/time.h +++ b/lib/libc/include/generic-glibc/time.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -99,7 +99,8 @@ extern time_t __REDIRECT_NTH (mktime, (struct tm *__tp), __mktime64); of characters written, or 0 if it would exceed MAXSIZE. */ extern size_t strftime (char *__restrict __s, size_t __maxsize, const char *__restrict __format, - const struct tm *__restrict __tp) __THROW; + const struct tm *__restrict __tp) + __THROW __nonnull((1, 3, 4)); #ifdef __USE_XOPEN /* Parse S according to FORMAT and store binary time information in TP. @@ -214,7 +215,7 @@ extern char *__REDIRECT_NTH (ctime_r, (const time_t *__restrict __timer, /* Defined in localtime.c. */ -extern char *__tzname[2]; /* Current timezone names. */ +extern char *__tzname[2]; /* Current time zone abbreviations. */ extern int __daylight; /* If daylight-saving time is ever in use. */ extern long int __timezone; /* Seconds west of UTC. */ @@ -240,21 +241,30 @@ extern long int timezone; ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) +#if defined __USE_MISC || __GLIBC_USE (ISOC2X) +# ifndef __USE_TIME_BITS64 +/* Like `mktime', but for TP represents Universal Time, not local time. */ +extern time_t timegm (struct tm *__tp) __THROW; +# else +# ifdef __REDIRECT_NTH +extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64); +# else +# define timegm __timegm64 +# endif +# endif +#endif + + #ifdef __USE_MISC /* Miscellaneous functions many Unices inherited from the public domain localtime package. These are included only for compatibility. */ #ifndef __USE_TIME_BITS64 -/* Like `mktime', but for TP represents Universal Time, not local time. */ -extern time_t timegm (struct tm *__tp) __THROW; /* Another name for `mktime'. */ extern time_t timelocal (struct tm *__tp) __THROW; #else # ifdef __REDIRECT_NTH -extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64); extern time_t __REDIRECT_NTH (timelocal, (struct tm *__tp), __mktime64); -# else -# define timegm __timegm64 # endif #endif @@ -276,11 +286,12 @@ extern int nanosleep (const struct timespec *__requested_time, extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __THROW; /* Get current value of clock CLOCK_ID and store it in TP. */ -extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __THROW; +extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) + __THROW __nonnull((2)); /* Set clock CLOCK_ID to value TP. */ extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) - __THROW; + __THROW __nonnull((2)); # else # ifdef __REDIRECT extern int __REDIRECT (nanosleep, (const struct timespec *__requested_time, @@ -290,9 +301,11 @@ extern int __REDIRECT_NTH (clock_getres, (clockid_t __clock_id, struct timespec *__res), __clock_getres64); extern int __REDIRECT_NTH (clock_gettime, (clockid_t __clock_id, struct - timespec *__tp), __clock_gettime64); + timespec *__tp), __clock_gettime64) + __nonnull((2)); extern int __REDIRECT_NTH (clock_settime, (clockid_t __clock_id, const struct - timespec *__tp), __clock_settime64); + timespec *__tp), __clock_settime64) + __nonnull((2)); # else # define nanosleep __nanosleep64 # define clock_getres __clock_getres64 diff --git a/lib/libc/include/generic-glibc/uchar.h b/lib/libc/include/generic-glibc/uchar.h index d844d0f4c982cd3f3f93d34503441389a0ce4138..f0ce22f0da2d0a0b2fafc20a28a53e95c185ab64 100644 --- a/lib/libc/include/generic-glibc/uchar.h +++ b/lib/libc/include/generic-glibc/uchar.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. +/* Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,6 +31,21 @@ #include #include +/* Declare the C2x char8_t typedef in C2x modes, but only if the C++ + __cpp_char8_t feature test macro is not defined. */ +#if __GLIBC_USE (ISOC2X) && !defined __cpp_char8_t +#if __GNUC_PREREQ (10, 0) && defined __cplusplus +/* Suppress the diagnostic regarding char8_t being a keyword in C++20. */ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wc++20-compat" +#endif +/* Define the 8-bit character type. */ +typedef unsigned char char8_t; +#if __GNUC_PREREQ (10, 0) && defined __cplusplus +# pragma GCC diagnostic pop +#endif +#endif + #ifndef __USE_ISOCXX11 /* Define the 16-bit and 32-bit character types. */ typedef __uint_least16_t char16_t; @@ -40,6 +55,20 @@ typedef __uint_least32_t char32_t; __BEGIN_DECLS +/* Declare the C2x mbrtoc8() and c8rtomb() functions in C2x modes or if + the C++ __cpp_char8_t feature test macro is defined. */ +#if __GLIBC_USE (ISOC2X) || defined __cpp_char8_t +/* Write char8_t representation of multibyte character pointed + to by S to PC8. */ +extern size_t mbrtoc8 (char8_t *__restrict __pc8, + const char *__restrict __s, size_t __n, + mbstate_t *__restrict __p) __THROW; + +/* Write multibyte representation of char8_t C8 to S. */ +extern size_t c8rtomb (char *__restrict __s, char8_t __c8, + mbstate_t *__restrict __ps) __THROW; +#endif + /* Write char16_t representation of multibyte character pointed to by S to PC16. */ extern size_t mbrtoc16 (char16_t *__restrict __pc16, diff --git a/lib/libc/include/generic-glibc/ucontext.h b/lib/libc/include/generic-glibc/ucontext.h index e2d207ba1a997d0abf44d362c3a8e1c6defddaec..808dfd76cc4cff1cb3b1d0f6c90cfe33336cfbbe 100644 --- a/lib/libc/include/generic-glibc/ucontext.h +++ b/lib/libc/include/generic-glibc/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/ulimit.h b/lib/libc/include/generic-glibc/ulimit.h index cfc34eadd8a4088027969a22c5955382a40741f2..0c9390dadec2e0e934c42eb5f1fce0b5acda4606 100644 --- a/lib/libc/include/generic-glibc/ulimit.h +++ b/lib/libc/include/generic-glibc/ulimit.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/unistd.h b/lib/libc/include/generic-glibc/unistd.h index 61a801716c2213cbd75a05f9b21e955f645ac3eb..5a1e9856dad0f979d736483c25aeddd74ce7ad4b 100644 --- a/lib/libc/include/generic-glibc/unistd.h +++ b/lib/libc/include/generic-glibc/unistd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -369,7 +369,7 @@ extern void closefrom (int __lowfd) __THROW; This function is a cancellation point and therefore not marked with __THROW. */ extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); /* Write N bytes of BUF to FD. Return the number written, or -1. @@ -388,7 +388,7 @@ extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur __THROW. */ extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __wur - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); /* Write N bytes of BUF to FD at the given position OFFSET without changing the file pointer. Return the number written, or -1. @@ -404,7 +404,7 @@ extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes, __off64_t __offset), pread64) __wur - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf, size_t __nbytes, __off64_t __offset), pwrite64) __wur @@ -421,7 +421,7 @@ extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf, or 0 for EOF. */ extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __wur - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); /* Write N bytes of BUF to FD at the given position OFFSET without changing the file pointer. Return the number written, or -1. */ extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, @@ -528,8 +528,7 @@ extern int fchdir (int __fd) __THROW __wur; an array is allocated with `malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ -extern char *getcwd (char *__buf, size_t __size) __THROW __wur - __attr_access ((__write_only__, 1, 2)); +extern char *getcwd (char *__buf, size_t __size) __THROW __wur; #ifdef __USE_GNU /* Return a malloc'd string containing the current directory name. @@ -643,7 +642,7 @@ extern long int sysconf (int __name) __THROW; #ifdef __USE_POSIX2 /* Get the value of the string-valued system variable NAME. */ extern size_t confstr (int __name, char *__buf, size_t __len) __THROW - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); #endif @@ -710,7 +709,7 @@ extern __gid_t getegid (void) __THROW; the calling process is in. Otherwise, fill in the group IDs of its supplementary groups in LIST and return the number written. */ extern int getgroups (int __size, __gid_t __list[]) __THROW __wur - __attr_access ((__write_only__, 2, 1)); + __fortified_attr_access (__write_only__, 2, 1); #ifdef __USE_GNU /* Return nonzero iff the calling process is in group GID. */ extern int group_member (__gid_t __gid) __THROW; @@ -802,7 +801,8 @@ extern char *ttyname (int __fd) __THROW; /* Store at most BUFLEN characters of the pathname of the terminal FD is open on in BUF. Return 0 on success, otherwise an error number. */ extern int ttyname_r (int __fd, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3)); + __THROW __nonnull ((2)) __wur + __fortified_attr_access (__write_only__, 2, 3); /* Return 1 if FD is a valid descriptor associated with a terminal, zero if not. */ @@ -837,7 +837,8 @@ extern int symlink (const char *__from, const char *__to) Returns the number of characters read, or -1 for errors. */ extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) - __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); + __THROW __nonnull ((1, 2)) __wur + __fortified_attr_access (__write_only__, 2, 3); #endif /* Use POSIX.1-2001. */ @@ -849,7 +850,8 @@ extern int symlinkat (const char *__from, int __tofd, /* Like readlink but a relative PATH is interpreted relative to FD. */ extern ssize_t readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) - __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); + __THROW __nonnull ((2, 3)) __wur + __fortified_attr_access (__write_only__, 3, 4); #endif /* Remove the link NAME. */ @@ -885,7 +887,7 @@ extern char *getlogin (void); This function is a possible cancellation point and therefore not marked with __THROW. */ extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); #endif #ifdef __USE_MISC @@ -907,7 +909,7 @@ extern int setlogin (const char *__name) __THROW __nonnull ((1)); The result is null-terminated if LEN is large enough for the full name and the terminator. */ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); #endif @@ -926,7 +928,8 @@ extern int sethostid (long int __id) __THROW __wur; Called just like `gethostname' and `sethostname'. The NIS domain name is usually the empty string when not using NIS. */ extern int getdomainname (char *__name, size_t __len) - __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); + __THROW __nonnull ((1)) __wur + __fortified_attr_access (__write_only__, 1, 2); extern int setdomainname (const char *__name, size_t __len) __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2)); @@ -1196,6 +1199,16 @@ int getentropy (void *__buffer, size_t __length) __wur __attr_access ((__write_only__, 1, 2)); #endif +#ifdef __USE_GNU +/* Close all file descriptors in the range FD up to MAX_FD. The flag FLAGS + are define by the CLOSE_RANGE prefix. This function behaves like close + on the range and gaps where the file descriptor is invalid or errors + encountered while closing file descriptors are ignored. Returns 0 on + successor or -1 for failure (and sets errno accordingly). */ +extern int close_range (unsigned int __fd, unsigned int __max_fd, + int __flags) __THROW; +#endif + /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function # include diff --git a/lib/libc/include/generic-glibc/utime.h b/lib/libc/include/generic-glibc/utime.h index 0a86b5413f74e01556cc479915f4a4d78a7f7a01..78b8090138def6ce32286974dd99e12db90d70c0 100644 --- a/lib/libc/include/generic-glibc/utime.h +++ b/lib/libc/include/generic-glibc/utime.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/utmp.h b/lib/libc/include/generic-glibc/utmp.h index 29a2393f001bdb23cc0a5c76df7d81d5e2b4ea02..d0629dc44c02dd97af1e87d2d9035ad9d61c5485 100644 --- a/lib/libc/include/generic-glibc/utmp.h +++ b/lib/libc/include/generic-glibc/utmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2021 Free Software Foundation, Inc. +/* Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/utmpx.h b/lib/libc/include/generic-glibc/utmpx.h index 358133afe2666d9d6082a1695ebc0b67dfcb1659..923c678925da7a7984b0b9904e621ab1e7b76de6 100644 --- a/lib/libc/include/generic-glibc/utmpx.h +++ b/lib/libc/include/generic-glibc/utmpx.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/values.h b/lib/libc/include/generic-glibc/values.h index 2d8d94245e708ccb093205936ef8fb94231be66f..a5712b9daff6c3d8f1604dc00b8dbdc84b59f98e 100644 --- a/lib/libc/include/generic-glibc/values.h +++ b/lib/libc/include/generic-glibc/values.h @@ -1,5 +1,5 @@ /* Old compatibility names for and constants. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/wchar.h b/lib/libc/include/generic-glibc/wchar.h index 6957f3829421036d9d72470d7cd4962c95762a83..f0b80c8bb142875f6e1a217344cb233e733e0c62 100644 --- a/lib/libc/include/generic-glibc/wchar.h +++ b/lib/libc/include/generic-glibc/wchar.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -37,6 +37,17 @@ #define __need___va_list #include +#if defined __USE_XOPEN2K || defined __USE_XOPEN2K8 +# ifdef __GNUC__ +# ifndef _VA_LIST_DEFINED +typedef __gnuc_va_list va_list; +# define _VA_LIST_DEFINED +# endif +# else +# include +# endif +#endif + #include #include #include @@ -93,6 +104,19 @@ extern wchar_t *wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __THROW __nonnull ((1, 2)); +#ifdef __USE_MISC +/* Copy at most N - 1 characters from SRC to DEST. */ +extern size_t wcslcpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 3)); + +/* Append SRC to DEST, possibly with truncation to keep the total size + below N. */ +extern size_t wcslcat (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__read_write__, 1, 3)); +#endif + /* Append SRC onto DEST. */ extern wchar_t *wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) @@ -386,42 +410,44 @@ extern long double wcstold (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; #endif /* C99 */ +#if __GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X) /* Likewise for `_FloatN' and `_FloatNx' when support is enabled. */ -#if __HAVE_FLOAT16 && defined __USE_GNU +# if __HAVE_FLOAT16 extern _Float16 wcstof16 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT32 && defined __USE_GNU +# if __HAVE_FLOAT32 extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT64 && defined __USE_GNU +# if __HAVE_FLOAT64 extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT128 && defined __USE_GNU +# if __HAVE_FLOAT128 extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT32X && defined __USE_GNU +# if __HAVE_FLOAT32X extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT64X && defined __USE_GNU +# if __HAVE_FLOAT64X extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT128X && defined __USE_GNU +# if __HAVE_FLOAT128X extern _Float128x wcstof128x (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif +#endif /* __GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X) */ /* Convert initial portion of wide string NPTR to `long int' @@ -467,6 +493,67 @@ extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, int __base) __THROW; #endif /* Use GNU. */ +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (wcstol, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstol); +extern unsigned long int __REDIRECT_NTH (wcstoul, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoul); +__extension__ +extern long long int __REDIRECT_NTH (wcstoll, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoll); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstoull, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoull); +# ifdef __USE_GNU +__extension__ +extern long long int __REDIRECT_NTH (wcstoq, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoll); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstouq, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoull); +# endif +# else +extern long int __isoc23_wcstol (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + __THROW; +extern unsigned long int __isoc23_wcstoul (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +__extension__ +extern long long int __isoc23_wcstoll (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +__extension__ +extern unsigned long long int __isoc23_wcstoull (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +# define wcstol __isoc23_wcstol +# define wcstoul __isoc23_wcstoul +# define wcstoll __isoc23_wcstoll +# define wcstoull __isoc23_wcstoull +# ifdef __USE_GNU +# define wcstoq __isoc23_wcstoll +# define wcstouq __isoc23_wcstoull +# endif +# endif +#endif + #ifdef __USE_GNU /* Parallel versions of the functions above which take the locale to use as an additional parameter. These are GNU extensions inspired @@ -490,6 +577,56 @@ extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, int __base, locale_t __loc) __THROW; +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (wcstol_l, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstol_l); +extern unsigned long int __REDIRECT_NTH (wcstoul_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoul_l); +__extension__ +extern long long int __REDIRECT_NTH (wcstoll_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoll_l); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstoull_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoull_l); +# else +extern long int __isoc23_wcstol_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base, + locale_t __loc) __THROW; +extern unsigned long int __isoc23_wcstoul_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +__extension__ +extern long long int __isoc23_wcstoll_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +__extension__ +extern unsigned long long int __isoc23_wcstoull_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +# define wcstol_l __isoc23_wcstol_l +# define wcstoul_l __isoc23_wcstoul_l +# define wcstoll_l __isoc23_wcstoll_l +# define wcstoull_l __isoc23_wcstoull_l +# endif +# endif + extern double wcstod_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, locale_t __loc) __THROW; @@ -651,9 +788,34 @@ extern int swscanf (const wchar_t *__restrict __s, functions are at alternative names. When __LDBL_COMPAT or __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in bits/wchar-ldbl.h. */ -#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ +# if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...), + __isoc23_fwscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...), + __isoc23_wscanf) + /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; +extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + ...), __isoc23_swscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +# else +extern int __isoc23_fwscanf (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...); +extern int __isoc23_wscanf (const wchar_t *__restrict __format, ...); +extern int __isoc23_swscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, ...) + __THROW; +# define fwscanf __isoc23_fwscanf +# define wscanf __isoc23_wscanf +# define swscanf __isoc23_swscanf +# endif +# else +# ifdef __REDIRECT extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...), __isoc99_fwscanf) @@ -665,16 +827,17 @@ extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...), __isoc99_swscanf) /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; -# else +# else extern int __isoc99_fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...); extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...); extern int __isoc99_swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) __THROW; -# define fwscanf __isoc99_fwscanf -# define wscanf __isoc99_wscanf -# define swscanf __isoc99_swscanf +# define fwscanf __isoc99_fwscanf +# define wscanf __isoc99_wscanf +# define swscanf __isoc99_swscanf +# endif # endif # endif @@ -707,7 +870,34 @@ extern int vswscanf (const wchar_t *__restrict __s, && (!defined __LDBL_COMPAT || !defined __REDIRECT) \ && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vfwscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vwscanf) + /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; +extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vswscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +# else +extern int __isoc23_vfwscanf (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg); +extern int __isoc23_vwscanf (const wchar_t *__restrict __format, + __gnuc_va_list __arg); +extern int __isoc23_vswscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfwscanf __isoc23_vfwscanf +# define vwscanf __isoc23_vwscanf +# define vswscanf __isoc23_vswscanf +# endif +# else +# ifdef __REDIRECT extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg), __isoc99_vfwscanf) @@ -719,7 +909,7 @@ extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg), __isoc99_vswscanf) /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; -# else +# else extern int __isoc99_vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg); @@ -728,9 +918,10 @@ extern int __isoc99_vwscanf (const wchar_t *__restrict __format, extern int __isoc99_vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __THROW; -# define vfwscanf __isoc99_vfwscanf -# define vwscanf __isoc99_vwscanf -# define vswscanf __isoc99_vswscanf +# define vfwscanf __isoc99_vfwscanf +# define vwscanf __isoc99_vwscanf +# define vswscanf __isoc99_vswscanf +# endif # endif # endif @@ -864,14 +1055,21 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -# include +/* Declare all functions from bits/wchar2-decl.h first. */ +# include #endif -#include +/* The following headers provide asm redirections. These redirections must + appear before the first usage of these functions, e.g. in bits/wchar.h. */ #if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # include #endif +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Now include the function definitions and redirects too. */ +# include +#endif + __END_DECLS #endif /* wchar.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/wctype.h b/lib/libc/include/generic-glibc/wctype.h index 2ed2736dc18b78b4d46c2cf16ecc8792eaf59868..24457c2000d139002bc63567ed5d03297d4d3808 100644 --- a/lib/libc/include/generic-glibc/wctype.h +++ b/lib/libc/include/generic-glibc/wctype.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/wordexp.h b/lib/libc/include/generic-glibc/wordexp.h index e01d8512fafbac991fea56499a4d40eab79d5d3f..1d3ddfc0b109db5282f73a7cddc63dee0d9d98f3 100644 --- a/lib/libc/include/generic-glibc/wordexp.h +++ b/lib/libc/include/generic-glibc/wordexp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/fcntl.h b/lib/libc/include/m68k-linux-gnu/bits/fcntl.h index f4f6d57c1c25e10db39b1072163720fbdff39dca..d4998e10e7d50f91f2c1b571582682ea9d25e49f 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/m68k-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/fenv.h b/lib/libc/include/m68k-linux-gnu/bits/fenv.h index 1bd8601ce162795d555069c83a2187258634f1a5..9581e3fb687b4393b4359b74b9d81b100c3fc363 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/fenv.h +++ b/lib/libc/include/m68k-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/floatn.h b/lib/libc/include/m68k-linux-gnu/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/floatn.h +++ b/lib/libc/include/m68k-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h b/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h index 33644b4dcc9a0ac6fcce9b6fb687bbae3facc37c..25523e9cb188393c13cb2213dc12e29d0557489b 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h +++ b/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. M68K version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h b/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h index 1f184bd5db531376b6d451a979b1ac5b6662027d..c7f77a39d8a8d3c46b07275f4993a348fe9d9bda 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h +++ b/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. M68K version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h b/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h index 8e6c0d05f5016f5a498a62ab68c72468d0142931..d7e7ae35cb0da9afa8bbfbcce56ca9bdb2d14304 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/link.h b/lib/libc/include/m68k-linux-gnu/bits/link.h index 55d203f3701b66b347194b7cf43073d138dd9cfc..8d9d3f9eae1c4643184ff27ee8d0ab2bd374e562 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/link.h +++ b/lib/libc/include/m68k-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/long-double.h b/lib/libc/include/m68k-linux-gnu/bits/long-double.h index ef3832bc80d643a47f2501845cab95ac4316e201..3839f69a6f6f5c6cf787b6edd6f244e740a3142d 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/long-double.h +++ b/lib/libc/include/m68k-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/poll.h b/lib/libc/include/m68k-linux-gnu/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/poll.h +++ b/lib/libc/include/m68k-linux-gnu/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h b/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h index 9ac1a07e15c90da8a8e5791c16af3a4f6370a883..d6259ff0f9be5815ea2c52873f6ea7c687305136 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. M68K version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/m68k-linux-gnu/bits/procfs.h b/lib/libc/include/m68k-linux-gnu/bits/procfs.h index 65a067f77ce3aa161fa24938dc05b5cbcfb6975d..e86115963eee89857e2980bfeeb5fc40420cb973 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/procfs.h +++ b/lib/libc/include/m68k-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. M68K version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h index 262ca65c838189b77cf41e73e162cf6f962ece07..aa6b609c18dbba7239acdc4f6ab3cef016c71d34 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov , 2010. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/m68k-linux-gnu/bits/rseq.h b/lib/libc/include/m68k-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/m68k-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/m68k-linux-gnu/bits/semaphore.h b/lib/libc/include/m68k-linux-gnu/bits/semaphore.h index d0ef954dd36f44bef59fd3023fe8cb8aa47103ea..1640ab5b86e945cf07ac4f87dfb3a8efae5ef072 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/semaphore.h +++ b/lib/libc/include/m68k-linux-gnu/bits/semaphore.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov , 2010. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/m68k-linux-gnu/bits/setjmp.h b/lib/libc/include/m68k-linux-gnu/bits/setjmp.h index 3cd6dc3e6e7abdc79a80ab0313a6908c225d535c..c918976d762fac09f7b62410d60d45d621996dcd 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/m68k-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h b/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h index fe1093bd0d4978bf68f04a6161e286a412e0cb63..6805858bd249fd67e75a057bbdf159ac2314ac12 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h +++ b/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h @@ -1,5 +1,5 @@ /* Definition of struct sockaddr_* members and sizes, Linux/m68k version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/m68k-linux-gnu/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/m68k-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h b/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h index 07a734438fd303a10a43c13d304720a8f5151921..d8ec6bce18f579c944fd5ba28b94a7a2d19e506b 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/timesize.h b/lib/libc/include/m68k-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..0cfda6075808e3dc9a55dddc6a4b767967761d71 --- /dev/null +++ b/lib/libc/include/m68k-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/m68k. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/m68k-linux-gnu/bits/typesizes.h b/lib/libc/include/m68k-linux-gnu/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..990809f077b2a821c7671e871fa390191ba0f9e8 --- /dev/null +++ b/lib/libc/include/m68k-linux-gnu/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. m68k version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/m68k-linux-gnu/bits/wordsize.h b/lib/libc/include/m68k-linux-gnu/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/wordsize.h +++ b/lib/libc/include/m68k-linux-gnu/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/fpu_control.h b/lib/libc/include/m68k-linux-gnu/fpu_control.h index 70ed49f091ceb4fc0eebe4c6624006c1e4803950..14abc3b546ac51f48e28727ae2710d9a965e964d 100644 --- a/lib/libc/include/m68k-linux-gnu/fpu_control.h +++ b/lib/libc/include/m68k-linux-gnu/fpu_control.h @@ -1,5 +1,5 @@ /* 68k FPU control word definitions. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h b/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h index 666f9805be50efa56c5be4670f24d5f806fabb82..779009e7b636d86f2298e2e9317bcfda2fb7d051 100644 --- a/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h +++ b/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/m68k-linux-gnu/sys/reg.h b/lib/libc/include/m68k-linux-gnu/sys/reg.h index 53b46a16aa1d976b8363a21cb07a5c2b44695f3f..b6fe7a745ab6927a36ed7788fa34f4c2e7d70749 100644 --- a/lib/libc/include/m68k-linux-gnu/sys/reg.h +++ b/lib/libc/include/m68k-linux-gnu/sys/reg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/sys/ucontext.h b/lib/libc/include/m68k-linux-gnu/sys/ucontext.h index 6ec3ab57da654478c1ea826f908db3391d2bc691..98b6f768e32b6c6fa47c98a8707ef143f0760b31 100644 --- a/lib/libc/include/m68k-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/m68k-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/sys/user.h b/lib/libc/include/m68k-linux-gnu/sys/user.h index 7e210f85b9cc11fabf18614eaabf6f56d94a081d..97bb9aea1f184abaf4db2d0e206a20c8eb7cf6b6 100644 --- a/lib/libc/include/m68k-linux-gnu/sys/user.h +++ b/lib/libc/include/m68k-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h b/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/errno.h b/lib/libc/include/mips-linux-gnueabi/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/errno.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h b/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/inotify.h b/lib/libc/include/mips-linux-gnueabi/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/inotify.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h b/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h b/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/mman.h b/lib/libc/include/mips-linux-gnueabi/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/mman.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips-linux-gnueabi/bits/poll.h b/lib/libc/include/mips-linux-gnueabi/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/poll.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h b/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h b/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/resource.h b/lib/libc/include/mips-linux-gnueabi/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/resource.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h b/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h b/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h b/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h b/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h b/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h b/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h b/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h b/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/statfs.h b/lib/libc/include/mips-linux-gnueabi/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/statfs.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h b/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h b/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h b/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h b/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h b/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h b/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h b/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/ieee754.h b/lib/libc/include/mips-linux-gnueabi/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips-linux-gnueabi/ieee754.h +++ b/lib/libc/include/mips-linux-gnueabi/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h b/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/errno.h b/lib/libc/include/mips-linux-gnueabihf/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/errno.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h b/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h b/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h b/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h b/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/mman.h b/lib/libc/include/mips-linux-gnueabihf/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/mman.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/poll.h b/lib/libc/include/mips-linux-gnueabihf/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/poll.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h b/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h b/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/resource.h b/lib/libc/include/mips-linux-gnueabihf/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/resource.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h b/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h b/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h b/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h b/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h b/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h b/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h b/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h b/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h b/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h b/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h b/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h b/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h b/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h b/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h b/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/ieee754.h b/lib/libc/include/mips-linux-gnueabihf/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips-linux-gnueabihf/ieee754.h +++ b/lib/libc/include/mips-linux-gnueabihf/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h b/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h b/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h b/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h b/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h b/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h b/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h b/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h b/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h b/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h b/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h b/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h b/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h b/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h b/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h b/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h b/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h b/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h b/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h b/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h b/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h b/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h b/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h b/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/ieee754.h b/lib/libc/include/mips64-linux-gnuabi64/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/ieee754.h +++ b/lib/libc/include/mips64-linux-gnuabi64/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h b/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h b/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h b/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h b/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h b/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h b/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h b/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h b/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h b/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h b/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h b/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h b/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h b/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h b/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h b/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h b/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h b/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h b/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h b/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h b/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h b/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h b/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h b/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/ieee754.h b/lib/libc/include/mips64-linux-gnuabin32/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/ieee754.h +++ b/lib/libc/include/mips64-linux-gnuabin32/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h b/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h b/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h b/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h b/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h b/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h b/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h b/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h b/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h b/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h b/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h b/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h b/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h b/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h b/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h b/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h b/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h b/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h b/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h b/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h b/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h b/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h b/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h b/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h b/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h b/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/ieee754.h b/lib/libc/include/mipsel-linux-gnueabi/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/ieee754.h +++ b/lib/libc/include/mipsel-linux-gnueabi/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h b/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h b/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h b/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h index abb1bd7083421b12fd1b94623bd3a28ea43099fb..9d5fb2d79a4a7d871554eecb81762254fb4dabc5 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/PowerPC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,6 +33,12 @@ # define __O_LARGEFILE 0200000 #endif +#if __WORDSIZE == 64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h b/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h index a1e1b6ba4bb411f8737436f795882e11dc8f7d1f..e3737480fe65fd44b2eecdca813ccff64a5b07ea 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h b/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h index cb7f2fe5bc1a1c6f741575d1c12ac3db7c861ab4..9a382593aa0000ea51267016d69e65e6dd2346f1 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on powerpc. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ # if __LDBL_MANT_DIG__ == 113 # define __f128(x) x##l @@ -71,10 +71,10 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) typedef long double _Float128; # define __CFLOAT128 _Complex long double -# elif !__GNUC_PREREQ (7, 0) || defined __cplusplus +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The type _Float128 exist for powerpc only since GCC 7.0. */ typedef __float128 _Float128; /* Add a typedef for older GCC and C++ compilers which don't natively support diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h b/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h index e10d37d400918ba0ecfc03705e6aff7cb572eef9..ae6bf92fa635c61f87045ff4bbb8140918007e14 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. PowerPC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h b/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h index 9858baf991a6fe88fbf81b752f0470612b97861c..658ed53cb40c18a3845a76ba3707909f462edd5c 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP and AT_HWCAP2. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h b/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h index 919610e5ca793749924fffe6e1d33031c9c1092c..6f4ec38e1b95449bf800082e3cc86fa535e2c415 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/powerpc version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h b/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h index ff13f53218450d35aff8b97285b72416d0bfab8d..06ba41e02c941e681b0019d6531affb440134011 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/powerpc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h b/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h index 288b2f2d8ade3ceaf29116854c476cb8eb17d679..42d01898febc684697cd9fe168907d11063b216a 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-128ibm version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/link.h b/lib/libc/include/powerpc-linux-gnueabi/bits/link.h index fc234f741e96db4971c1dc160769337b8501563b..7bc884809ff46ae1384766d7f5eba8a917e2ba53 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/link.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. PowerPC version - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h b/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h index e3ec00d82b8b8427e244d35af5ede8a687325fd0..270ba4d0c3d8b0aceef249e580633c2cf17f27cc 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h b/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h index c920654b2806a79cdc19d4c0b1bf8a33ee36c353..bfd947e2625b52baaa8801b5fdd8ffec84b1271c 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/PowerPC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,21 +26,19 @@ #define PROT_SAO 0x10 /* Strong Access Ordering. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x00080 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h b/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h index eabe87ff35d2d544859ee4f5b35448bf0ef049c6..3a96bab1786a96215198caedbc6299ac72df3cf8 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h b/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h index c8caed37b2ee08492c7955984c9032788c944c9a..b579aabf715aceacf8f56ef09539d786192313b7 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/PPC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h b/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..5442eae04eb9521530a48f92a90d2e1b0e63ce57 --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h b/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h index 47eec4fe737e64dad01a76b43213afaef40d360d..4f4a3b3c863439c8dba433c82e68fb7db2cc4157 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ /* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI the vrsave must be at byte 248 & v20 at byte 256. So we must pad this - correctly on 32 bit. It also insists that vecregs are only gauranteed + correctly on 32 bit. It also insists that vecregs are only guaranteed 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. We have to version the code because members like int __mask_was_saved in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h b/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..5b629acd87cbfaa2c84ad33c662646d47819344f 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,15 @@ # error "Never include this file directly. Use instead" #endif +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 +#endif #endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h b/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h index a6223eff2769aee1584a0b2a7f574b174238ba3f..2047f7066d04621e870dfe10412ed6be3b5fea84 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for POWER. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h index 708b22e85ac2fab956f158b23158191885d41dc3..55e161158c4492db0bed9301c4516c2e11969e31 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* PowerPC internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h index 5d5bc3f8946292c7a483bffcb1d4be04b4893968..14a741d3b9a8bdd382405495d1a2d9f2b56d4beb 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* PowerPC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h index 3faed3a29beb7013175ec64854c4e4a2c6852812..4556a091984a14a5346ea8f70cfbce3f2bbd4380 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h index 4ee2f824bfe793d478733402046a425612dbe240..20b51e0fbdc09e68f6651563d5373f1b32a1c504 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h index 32283b153f2e1e121506c1557f3ee5cddac1752e..2156d51f74203c56e242838a71c4e1d5204f8f07 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h index 01c2a123b5c39c976b194803a23eefa79a87dd9c..bcf4ca1cebfa6dda6cd02290aa13e12b74e1cd03 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,4 +32,8 @@ #define PARODD 00020000 #define HUPCL 00040000 -#define CLOCAL 00100000 \ No newline at end of file +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h index 4df494e6dc26ecfa358f011e361f516d0dcf0236..d3153f38d163941a470a81fba9701ca70d62dbaa 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h index ee2291cc562b7f8f6890ff505a00b69c5f6f3c54..212ea4f7734c68cf94e00e9538c95b1bc5f37649 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h index a875d23d4f88cba41d34efaaf699e21f5190c5a1..aad487134432208364fda55f86330cc276603e0c 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h index dc3fb15aa7045b060c476bf3a6ed0dce273aee75..3b0c67b2fc17d7709524a5cba393f046498fc338 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h b/lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..46ff2940e498a51a2806402767e096cff9b53a94 --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h index 52cc930886f6852a8c82a54e36eb3bea8ff2071c..3662f1fcd00801ab2a73827cc5cfce2ae6d6408c 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h index d70967d6e07cef5fc8f443a80309a2beffc6ac78..3976a51bb4f63441e88111730c3f11d4e166820a 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* PowerPC implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h index 6a47b1c39ffe6ff0ede4570fdbda64371a99babe..b30672d8b91852b3741826ab58c25120d0edc42e 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h b/lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..2d8c19edb404ba66f122497e75922013222c787e --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h b/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h index 7f66352f1a90f966931e3b9d639ab1893efe34db..4b9525d96bfdb4e37e7bfa8033377cb5d8662421 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h +++ b/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h b/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h deleted file mode 100644 index 7dfe5a7147490c21adb83ee28f2300eb57046f4d..0000000000000000000000000000000000000000 --- a/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h +++ /dev/null @@ -1,29 +0,0 @@ -/* This file is automatically generated. */ -#ifndef __GNU_LIB_NAMES_H -# error "Never use directly; include instead." -#endif - -#define LD_SO "ld.so.1" -#define LIBANL_SO "libanl.so.1" -#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" -#define LIBCRYPT_SO "libcrypt.so.1" -#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" -#define LIBC_SO "libc.so.6" -#define LIBDL_SO "libdl.so.2" -#define LIBGCC_S_SO "libgcc_s.so.1" -#define LIBMVEC_SO "libmvec.so.1" -#define LIBM_SO "libm.so.6" -#define LIBNSL_SO "libnsl.so.1" -#define LIBNSS_COMPAT_SO "libnss_compat.so.2" -#define LIBNSS_DB_SO "libnss_db.so.2" -#define LIBNSS_DNS_SO "libnss_dns.so.2" -#define LIBNSS_FILES_SO "libnss_files.so.2" -#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" -#define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" -#define LIBPTHREAD_SO "libpthread.so.0" -#define LIBRESOLV_SO "libresolv.so.2" -#define LIBRT_SO "librt.so.1" -#define LIBTHREAD_DB_SO "libthread_db.so.1" -#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/ieee754.h b/lib/libc/include/powerpc-linux-gnueabi/ieee754.h index 78bbb343c41b699ff634823f5108c3c814964e45..1169f4b24f152c1aa55da2eb454590982cf6ff37 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/ieee754.h +++ b/lib/libc/include/powerpc-linux-gnueabi/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h b/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h index a0134d5dfe44f7ec3f8cd4f7a0f80c7307dc6d94..478282bf8d2058d125b74b8e4f3f64cfb32f0fba 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h +++ b/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/PowerPC version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h b/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h index a48adedb951ad2301d2de5f53777036b01e22a4e..e868d0bb669a1ab134cc233598c0753fe9307c80 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h +++ b/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/sys/user.h b/lib/libc/include/powerpc-linux-gnueabi/sys/user.h index c18c39983b419061e0d80622a4806baebceb6dc7..5c485b637b99afec0cf670f1af4b49d628b0c129 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/sys/user.h +++ b/lib/libc/include/powerpc-linux-gnueabi/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h index abb1bd7083421b12fd1b94623bd3a28ea43099fb..9d5fb2d79a4a7d871554eecb81762254fb4dabc5 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/PowerPC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,6 +33,12 @@ # define __O_LARGEFILE 0200000 #endif +#if __WORDSIZE == 64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h index a1e1b6ba4bb411f8737436f795882e11dc8f7d1f..e3737480fe65fd44b2eecdca813ccff64a5b07ea 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h index cb7f2fe5bc1a1c6f741575d1c12ac3db7c861ab4..9a382593aa0000ea51267016d69e65e6dd2346f1 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on powerpc. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ # if __LDBL_MANT_DIG__ == 113 # define __f128(x) x##l @@ -71,10 +71,10 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) typedef long double _Float128; # define __CFLOAT128 _Complex long double -# elif !__GNUC_PREREQ (7, 0) || defined __cplusplus +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The type _Float128 exist for powerpc only since GCC 7.0. */ typedef __float128 _Float128; /* Add a typedef for older GCC and C++ compilers which don't natively support diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h index e10d37d400918ba0ecfc03705e6aff7cb572eef9..ae6bf92fa635c61f87045ff4bbb8140918007e14 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. PowerPC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h index 9858baf991a6fe88fbf81b752f0470612b97861c..658ed53cb40c18a3845a76ba3707909f462edd5c 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP and AT_HWCAP2. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h index 919610e5ca793749924fffe6e1d33031c9c1092c..6f4ec38e1b95449bf800082e3cc86fa535e2c415 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/powerpc version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h index ff13f53218450d35aff8b97285b72416d0bfab8d..06ba41e02c941e681b0019d6531affb440134011 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/powerpc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h index 288b2f2d8ade3ceaf29116854c476cb8eb17d679..42d01898febc684697cd9fe168907d11063b216a 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-128ibm version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h index fc234f741e96db4971c1dc160769337b8501563b..7bc884809ff46ae1384766d7f5eba8a917e2ba53 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. PowerPC version - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h index e3ec00d82b8b8427e244d35af5ede8a687325fd0..270ba4d0c3d8b0aceef249e580633c2cf17f27cc 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h index c920654b2806a79cdc19d4c0b1bf8a33ee36c353..bfd947e2625b52baaa8801b5fdd8ffec84b1271c 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/PowerPC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,21 +26,19 @@ #define PROT_SAO 0x10 /* Strong Access Ordering. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x00080 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h index eabe87ff35d2d544859ee4f5b35448bf0ef049c6..3a96bab1786a96215198caedbc6299ac72df3cf8 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h index c8caed37b2ee08492c7955984c9032788c944c9a..b579aabf715aceacf8f56ef09539d786192313b7 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/PPC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..5442eae04eb9521530a48f92a90d2e1b0e63ce57 --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h index 47eec4fe737e64dad01a76b43213afaef40d360d..4f4a3b3c863439c8dba433c82e68fb7db2cc4157 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ /* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI the vrsave must be at byte 248 & v20 at byte 256. So we must pad this - correctly on 32 bit. It also insists that vecregs are only gauranteed + correctly on 32 bit. It also insists that vecregs are only guaranteed 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. We have to version the code because members like int __mask_was_saved in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..5b629acd87cbfaa2c84ad33c662646d47819344f 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,15 @@ # error "Never include this file directly. Use instead" #endif +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 +#endif #endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h index a6223eff2769aee1584a0b2a7f574b174238ba3f..2047f7066d04621e870dfe10412ed6be3b5fea84 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for POWER. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h index 708b22e85ac2fab956f158b23158191885d41dc3..55e161158c4492db0bed9301c4516c2e11969e31 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* PowerPC internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h index 5d5bc3f8946292c7a483bffcb1d4be04b4893968..14a741d3b9a8bdd382405495d1a2d9f2b56d4beb 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* PowerPC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h index 3faed3a29beb7013175ec64854c4e4a2c6852812..4556a091984a14a5346ea8f70cfbce3f2bbd4380 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h index 4ee2f824bfe793d478733402046a425612dbe240..20b51e0fbdc09e68f6651563d5373f1b32a1c504 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h index 32283b153f2e1e121506c1557f3ee5cddac1752e..2156d51f74203c56e242838a71c4e1d5204f8f07 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h index 01c2a123b5c39c976b194803a23eefa79a87dd9c..bcf4ca1cebfa6dda6cd02290aa13e12b74e1cd03 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,4 +32,8 @@ #define PARODD 00020000 #define HUPCL 00040000 -#define CLOCAL 00100000 \ No newline at end of file +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h index 4df494e6dc26ecfa358f011e361f516d0dcf0236..d3153f38d163941a470a81fba9701ca70d62dbaa 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h index ee2291cc562b7f8f6890ff505a00b69c5f6f3c54..212ea4f7734c68cf94e00e9538c95b1bc5f37649 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h index a875d23d4f88cba41d34efaaf699e21f5190c5a1..aad487134432208364fda55f86330cc276603e0c 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h index dc3fb15aa7045b060c476bf3a6ed0dce273aee75..3b0c67b2fc17d7709524a5cba393f046498fc338 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..46ff2940e498a51a2806402767e096cff9b53a94 --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h index 52cc930886f6852a8c82a54e36eb3bea8ff2071c..3662f1fcd00801ab2a73827cc5cfce2ae6d6408c 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h index d70967d6e07cef5fc8f443a80309a2beffc6ac78..3976a51bb4f63441e88111730c3f11d4e166820a 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* PowerPC implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h index 6a47b1c39ffe6ff0ede4570fdbda64371a99babe..b30672d8b91852b3741826ab58c25120d0edc42e 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..2d8c19edb404ba66f122497e75922013222c787e --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h b/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h index 7f66352f1a90f966931e3b9d639ab1893efe34db..4b9525d96bfdb4e37e7bfa8033377cb5d8662421 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h b/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h deleted file mode 100644 index 7dfe5a7147490c21adb83ee28f2300eb57046f4d..0000000000000000000000000000000000000000 --- a/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h +++ /dev/null @@ -1,29 +0,0 @@ -/* This file is automatically generated. */ -#ifndef __GNU_LIB_NAMES_H -# error "Never use directly; include instead." -#endif - -#define LD_SO "ld.so.1" -#define LIBANL_SO "libanl.so.1" -#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" -#define LIBCRYPT_SO "libcrypt.so.1" -#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" -#define LIBC_SO "libc.so.6" -#define LIBDL_SO "libdl.so.2" -#define LIBGCC_S_SO "libgcc_s.so.1" -#define LIBMVEC_SO "libmvec.so.1" -#define LIBM_SO "libm.so.6" -#define LIBNSL_SO "libnsl.so.1" -#define LIBNSS_COMPAT_SO "libnss_compat.so.2" -#define LIBNSS_DB_SO "libnss_db.so.2" -#define LIBNSS_DNS_SO "libnss_dns.so.2" -#define LIBNSS_FILES_SO "libnss_files.so.2" -#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" -#define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" -#define LIBPTHREAD_SO "libpthread.so.0" -#define LIBRESOLV_SO "libresolv.so.2" -#define LIBRT_SO "librt.so.1" -#define LIBTHREAD_DB_SO "libthread_db.so.1" -#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h b/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h index 78bbb343c41b699ff634823f5108c3c814964e45..1169f4b24f152c1aa55da2eb454590982cf6ff37 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h b/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h index a0134d5dfe44f7ec3f8cd4f7a0f80c7307dc6d94..478282bf8d2058d125b74b8e4f3f64cfb32f0fba 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/PowerPC version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h b/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h index a48adedb951ad2301d2de5f53777036b01e22a4e..e868d0bb669a1ab134cc233598c0753fe9307c80 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h b/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h index c18c39983b419061e0d80622a4806baebceb6dc7..5c485b637b99afec0cf670f1af4b49d628b0c129 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/environments.h b/lib/libc/include/powerpc64-linux-gnu/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/environments.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h b/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h index abb1bd7083421b12fd1b94623bd3a28ea43099fb..9d5fb2d79a4a7d871554eecb81762254fb4dabc5 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/PowerPC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,6 +33,12 @@ # define __O_LARGEFILE 0200000 #endif +#if __WORDSIZE == 64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h b/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h index a1e1b6ba4bb411f8737436f795882e11dc8f7d1f..e3737480fe65fd44b2eecdca813ccff64a5b07ea 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h b/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h index cb7f2fe5bc1a1c6f741575d1c12ac3db7c861ab4..9a382593aa0000ea51267016d69e65e6dd2346f1 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on powerpc. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ # if __LDBL_MANT_DIG__ == 113 # define __f128(x) x##l @@ -71,10 +71,10 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) typedef long double _Float128; # define __CFLOAT128 _Complex long double -# elif !__GNUC_PREREQ (7, 0) || defined __cplusplus +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The type _Float128 exist for powerpc only since GCC 7.0. */ typedef __float128 _Float128; /* Add a typedef for older GCC and C++ compilers which don't natively support diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h b/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h index e10d37d400918ba0ecfc03705e6aff7cb572eef9..ae6bf92fa635c61f87045ff4bbb8140918007e14 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. PowerPC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h b/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h index 9858baf991a6fe88fbf81b752f0470612b97861c..658ed53cb40c18a3845a76ba3707909f462edd5c 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP and AT_HWCAP2. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h b/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h index 919610e5ca793749924fffe6e1d33031c9c1092c..6f4ec38e1b95449bf800082e3cc86fa535e2c415 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/powerpc version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h b/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h index ff13f53218450d35aff8b97285b72416d0bfab8d..06ba41e02c941e681b0019d6531affb440134011 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/powerpc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h b/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h index 288b2f2d8ade3ceaf29116854c476cb8eb17d679..42d01898febc684697cd9fe168907d11063b216a 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-128ibm version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/link.h b/lib/libc/include/powerpc64-linux-gnu/bits/link.h index fc234f741e96db4971c1dc160769337b8501563b..7bc884809ff46ae1384766d7f5eba8a917e2ba53 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/link.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. PowerPC version - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h b/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h index e3ec00d82b8b8427e244d35af5ede8a687325fd0..270ba4d0c3d8b0aceef249e580633c2cf17f27cc 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/mman.h b/lib/libc/include/powerpc64-linux-gnu/bits/mman.h index c920654b2806a79cdc19d4c0b1bf8a33ee36c353..bfd947e2625b52baaa8801b5fdd8ffec84b1271c 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/mman.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/PowerPC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,21 +26,19 @@ #define PROT_SAO 0x10 /* Strong Access Ordering. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x00080 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h b/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h index eabe87ff35d2d544859ee4f5b35448bf0ef049c6..3a96bab1786a96215198caedbc6299ac72df3cf8 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h index c8caed37b2ee08492c7955984c9032788c944c9a..b579aabf715aceacf8f56ef09539d786192313b7 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/PPC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h b/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..5442eae04eb9521530a48f92a90d2e1b0e63ce57 --- /dev/null +++ b/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h b/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h index 47eec4fe737e64dad01a76b43213afaef40d360d..4f4a3b3c863439c8dba433c82e68fb7db2cc4157 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ /* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI the vrsave must be at byte 248 & v20 at byte 256. So we must pad this - correctly on 32 bit. It also insists that vecregs are only gauranteed + correctly on 32 bit. It also insists that vecregs are only guaranteed 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. We have to version the code because members like int __mask_was_saved in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h b/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..5b629acd87cbfaa2c84ad33c662646d47819344f 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,15 @@ # error "Never include this file directly. Use instead" #endif +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 +#endif #endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h b/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h index a6223eff2769aee1584a0b2a7f574b174238ba3f..2047f7066d04621e870dfe10412ed6be3b5fea84 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for POWER. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h b/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h index 708b22e85ac2fab956f158b23158191885d41dc3..55e161158c4492db0bed9301c4516c2e11969e31 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* PowerPC internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h index 5d5bc3f8946292c7a483bffcb1d4be04b4893968..14a741d3b9a8bdd382405495d1a2d9f2b56d4beb 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* PowerPC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h b/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h index 3faed3a29beb7013175ec64854c4e4a2c6852812..4556a091984a14a5346ea8f70cfbce3f2bbd4380 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h index 4ee2f824bfe793d478733402046a425612dbe240..20b51e0fbdc09e68f6651563d5373f1b32a1c504 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h index 32283b153f2e1e121506c1557f3ee5cddac1752e..2156d51f74203c56e242838a71c4e1d5204f8f07 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h index 01c2a123b5c39c976b194803a23eefa79a87dd9c..bcf4ca1cebfa6dda6cd02290aa13e12b74e1cd03 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,4 +32,8 @@ #define PARODD 00020000 #define HUPCL 00040000 -#define CLOCAL 00100000 \ No newline at end of file +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h index 4df494e6dc26ecfa358f011e361f516d0dcf0236..d3153f38d163941a470a81fba9701ca70d62dbaa 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h index ee2291cc562b7f8f6890ff505a00b69c5f6f3c54..212ea4f7734c68cf94e00e9538c95b1bc5f37649 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h index a875d23d4f88cba41d34efaaf699e21f5190c5a1..aad487134432208364fda55f86330cc276603e0c 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h index dc3fb15aa7045b060c476bf3a6ed0dce273aee75..3b0c67b2fc17d7709524a5cba393f046498fc338 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h b/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..46ff2940e498a51a2806402767e096cff9b53a94 --- /dev/null +++ b/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h index 52cc930886f6852a8c82a54e36eb3bea8ff2071c..3662f1fcd00801ab2a73827cc5cfce2ae6d6408c 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h index d70967d6e07cef5fc8f443a80309a2beffc6ac78..3976a51bb4f63441e88111730c3f11d4e166820a 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* PowerPC implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h index 6a47b1c39ffe6ff0ede4570fdbda64371a99babe..b30672d8b91852b3741826ab58c25120d0edc42e 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h b/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..2d8c19edb404ba66f122497e75922013222c787e --- /dev/null +++ b/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/fpu_control.h b/lib/libc/include/powerpc64-linux-gnu/fpu_control.h index 7f66352f1a90f966931e3b9d639ab1893efe34db..4b9525d96bfdb4e37e7bfa8033377cb5d8662421 100644 --- a/lib/libc/include/powerpc64-linux-gnu/fpu_control.h +++ b/lib/libc/include/powerpc64-linux-gnu/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h b/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h index d6398763ede89299e21b8ac4339b96105055a67c..15032514a42c0709f5725d101d936f9b881029bf 100644 --- a/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h +++ b/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/powerpc64-linux-gnu/ieee754.h b/lib/libc/include/powerpc64-linux-gnu/ieee754.h index 78bbb343c41b699ff634823f5108c3c814964e45..1169f4b24f152c1aa55da2eb454590982cf6ff37 100644 --- a/lib/libc/include/powerpc64-linux-gnu/ieee754.h +++ b/lib/libc/include/powerpc64-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h b/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h index a0134d5dfe44f7ec3f8cd4f7a0f80c7307dc6d94..478282bf8d2058d125b74b8e4f3f64cfb32f0fba 100644 --- a/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/PowerPC version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h b/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h index a48adedb951ad2301d2de5f53777036b01e22a4e..e868d0bb669a1ab134cc233598c0753fe9307c80 100644 --- a/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/sys/user.h b/lib/libc/include/powerpc64-linux-gnu/sys/user.h index c18c39983b419061e0d80622a4806baebceb6dc7..5c485b637b99afec0cf670f1af4b49d628b0c129 100644 --- a/lib/libc/include/powerpc64-linux-gnu/sys/user.h +++ b/lib/libc/include/powerpc64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h b/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h b/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h index abb1bd7083421b12fd1b94623bd3a28ea43099fb..9d5fb2d79a4a7d871554eecb81762254fb4dabc5 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/PowerPC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,6 +33,12 @@ # define __O_LARGEFILE 0200000 #endif +#if __WORDSIZE == 64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h b/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h index a1e1b6ba4bb411f8737436f795882e11dc8f7d1f..e3737480fe65fd44b2eecdca813ccff64a5b07ea 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h b/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h index cb7f2fe5bc1a1c6f741575d1c12ac3db7c861ab4..9a382593aa0000ea51267016d69e65e6dd2346f1 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on powerpc. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ # if __LDBL_MANT_DIG__ == 113 # define __f128(x) x##l @@ -71,10 +71,10 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) typedef long double _Float128; # define __CFLOAT128 _Complex long double -# elif !__GNUC_PREREQ (7, 0) || defined __cplusplus +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The type _Float128 exist for powerpc only since GCC 7.0. */ typedef __float128 _Float128; /* Add a typedef for older GCC and C++ compilers which don't natively support diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h b/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h index e10d37d400918ba0ecfc03705e6aff7cb572eef9..ae6bf92fa635c61f87045ff4bbb8140918007e14 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. PowerPC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h b/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h index 9858baf991a6fe88fbf81b752f0470612b97861c..658ed53cb40c18a3845a76ba3707909f462edd5c 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP and AT_HWCAP2. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h b/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h index 919610e5ca793749924fffe6e1d33031c9c1092c..6f4ec38e1b95449bf800082e3cc86fa535e2c415 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/powerpc version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h b/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h index ff13f53218450d35aff8b97285b72416d0bfab8d..06ba41e02c941e681b0019d6531affb440134011 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/powerpc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h b/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h index 288b2f2d8ade3ceaf29116854c476cb8eb17d679..42d01898febc684697cd9fe168907d11063b216a 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-128ibm version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/link.h b/lib/libc/include/powerpc64le-linux-gnu/bits/link.h index fc234f741e96db4971c1dc160769337b8501563b..7bc884809ff46ae1384766d7f5eba8a917e2ba53 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/link.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. PowerPC version - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h b/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h index 04806b13478d40772bfec514c9f7e8c8ec98bb47..36b3a3a854606323f355991f2755b1aff2c5b814 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h b/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h index c920654b2806a79cdc19d4c0b1bf8a33ee36c353..bfd947e2625b52baaa8801b5fdd8ffec84b1271c 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/PowerPC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,21 +26,19 @@ #define PROT_SAO 0x10 /* Strong Access Ordering. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x00080 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h b/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h index eabe87ff35d2d544859ee4f5b35448bf0ef049c6..3a96bab1786a96215198caedbc6299ac72df3cf8 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h index c8caed37b2ee08492c7955984c9032788c944c9a..b579aabf715aceacf8f56ef09539d786192313b7 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/PPC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h b/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..5442eae04eb9521530a48f92a90d2e1b0e63ce57 --- /dev/null +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h b/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h index 47eec4fe737e64dad01a76b43213afaef40d360d..4f4a3b3c863439c8dba433c82e68fb7db2cc4157 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ /* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI the vrsave must be at byte 248 & v20 at byte 256. So we must pad this - correctly on 32 bit. It also insists that vecregs are only gauranteed + correctly on 32 bit. It also insists that vecregs are only guaranteed 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. We have to version the code because members like int __mask_was_saved in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h b/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..5b629acd87cbfaa2c84ad33c662646d47819344f 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,15 @@ # error "Never include this file directly. Use instead" #endif +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 +#endif #endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h b/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h index a6223eff2769aee1584a0b2a7f574b174238ba3f..2047f7066d04621e870dfe10412ed6be3b5fea84 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for POWER. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h index 708b22e85ac2fab956f158b23158191885d41dc3..55e161158c4492db0bed9301c4516c2e11969e31 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* PowerPC internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h index 5d5bc3f8946292c7a483bffcb1d4be04b4893968..14a741d3b9a8bdd382405495d1a2d9f2b56d4beb 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* PowerPC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h index 3faed3a29beb7013175ec64854c4e4a2c6852812..4556a091984a14a5346ea8f70cfbce3f2bbd4380 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h index 4ee2f824bfe793d478733402046a425612dbe240..20b51e0fbdc09e68f6651563d5373f1b32a1c504 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h index 32283b153f2e1e121506c1557f3ee5cddac1752e..2156d51f74203c56e242838a71c4e1d5204f8f07 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h index 01c2a123b5c39c976b194803a23eefa79a87dd9c..bcf4ca1cebfa6dda6cd02290aa13e12b74e1cd03 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,4 +32,8 @@ #define PARODD 00020000 #define HUPCL 00040000 -#define CLOCAL 00100000 \ No newline at end of file +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h index 4df494e6dc26ecfa358f011e361f516d0dcf0236..d3153f38d163941a470a81fba9701ca70d62dbaa 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h index ee2291cc562b7f8f6890ff505a00b69c5f6f3c54..212ea4f7734c68cf94e00e9538c95b1bc5f37649 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h index a875d23d4f88cba41d34efaaf699e21f5190c5a1..aad487134432208364fda55f86330cc276603e0c 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h index dc3fb15aa7045b060c476bf3a6ed0dce273aee75..3b0c67b2fc17d7709524a5cba393f046498fc338 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h b/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..46ff2940e498a51a2806402767e096cff9b53a94 --- /dev/null +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h index 52cc930886f6852a8c82a54e36eb3bea8ff2071c..3662f1fcd00801ab2a73827cc5cfce2ae6d6408c 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h index d70967d6e07cef5fc8f443a80309a2beffc6ac78..3976a51bb4f63441e88111730c3f11d4e166820a 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* PowerPC implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h index 6a47b1c39ffe6ff0ede4570fdbda64371a99babe..b30672d8b91852b3741826ab58c25120d0edc42e 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h b/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..2d8c19edb404ba66f122497e75922013222c787e --- /dev/null +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h b/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h index 7f66352f1a90f966931e3b9d639ab1893efe34db..4b9525d96bfdb4e37e7bfa8033377cb5d8662421 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h +++ b/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h b/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h index bcfc823b194a00f792f131e5ac76e7a99b8ff393..80de7afa7277f69f66dd557c70895e416514d614 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h +++ b/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/powerpc64le-linux-gnu/ieee754.h b/lib/libc/include/powerpc64le-linux-gnu/ieee754.h index 78bbb343c41b699ff634823f5108c3c814964e45..1169f4b24f152c1aa55da2eb454590982cf6ff37 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/ieee754.h +++ b/lib/libc/include/powerpc64le-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h b/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h index a0134d5dfe44f7ec3f8cd4f7a0f80c7307dc6d94..478282bf8d2058d125b74b8e4f3f64cfb32f0fba 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/PowerPC version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h b/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h index a48adedb951ad2301d2de5f53777036b01e22a4e..e868d0bb669a1ab134cc233598c0753fe9307c80 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/user.h b/lib/libc/include/powerpc64le-linux-gnu/sys/user.h index c18c39983b419061e0d80622a4806baebceb6dc7..5c485b637b99afec0cf670f1af4b49d628b0c129 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/sys/user.h +++ b/lib/libc/include/powerpc64le-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/environments.h b/lib/libc/include/riscv64-linux-gnu/bits/environments.h index 11a6861955970d5dfa7a257e59c27d9fc5823f15..f19db38823193b2c2c76f43b2740e76efcbcf38b 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/environments.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h b/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h index dfe78dc364cd53c66d133fb32b0979b7e7b63410..8b98b47bb09c0c337e7db19ca13a29972b91dcdc 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux / RISC-V. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/riscv64-linux-gnu/bits/fenv.h b/lib/libc/include/riscv64-linux-gnu/bits/fenv.h index 76d0a275ea6562983abd0a5b234ba22d09c0449d..71f14f45b461f5d9d90c275a97db316ae5799539 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/fenv.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/fenv.h @@ -1,5 +1,5 @@ /* Floating point environment, RISC-V version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/floatn.h b/lib/libc/include/riscv64-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/floatn.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/riscv64-linux-gnu/bits/link.h b/lib/libc/include/riscv64-linux-gnu/bits/link.h index 298feed1492fca3daad63e827cc6c53230c77cb7..832f3c39a672c911f7bc262dfadcd689068b2c2f 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/link.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. RISC-V version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/long-double.h b/lib/libc/include/riscv64-linux-gnu/bits/long-double.h index ec1a0674e8d5af68ad6f681616631c595c735d9b..3455ce235633dd59dd9457498ecc984996c92817 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/long-double.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-128 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/procfs.h b/lib/libc/include/riscv64-linux-gnu/bits/procfs.h index f3d48119548011e7bc456ae51f9de102668e93d1..9f5ebb587d2507bf48675c0e1c6106fa76c47621 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/procfs.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. RISC-V version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h index e1e7758a46c1cf3ba0c21aa8abef6179263efeb1..51358872ca3e12579aec05b2c68c042d9d793b17 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. RISC-V version. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/rseq.h b/lib/libc/include/riscv64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/riscv64-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h b/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h index 1468211a4b1f3dbcaeb7a1309c75b86ebe6bc04b..b93a53b65301ce6c37a9464d1144e2dc1aad4649 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. RISC-V version. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h b/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h index 3fb12ebdd47075bccb184f9fa79ea5151f37725c..d36af31c28a03f97c7140ab7451b2af13dbcfc41 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h @@ -1,5 +1,5 @@ /* Machine-dependent signal context structure for Linux. RISC-V version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h index f5af7bd0da468274bb91450107f0fed1d0b26609..a5644d653e91b5e2b94b0390c55070bff5142706 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* RISC-V internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h b/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..54192765a29f969c6369e634d37c75223fffab5c 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/time64.h b/lib/libc/include/riscv64-linux-gnu/bits/time64.h index ba5a262d1262ee77f85ba4901953440f09e83e83..b79c2ea8883e4a24a239e3ed1c3e161908aa88d3 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/time64.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/time64.h @@ -1,5 +1,5 @@ /* bits/time64.h -- underlying types for __time64_t. RISC-V version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/timesize.h b/lib/libc/include/riscv64-linux-gnu/bits/timesize.h index 292bd5e181feddb5e838244820e56ab0f740a3db..00217b042a806ffc2a36bac0bdedad21ee196301 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/timesize.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/timesize.h @@ -1,5 +1,5 @@ -/* Bit size of the time_t type at glibc build time, RISC-V case. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,5 @@ License along with the GNU C Library; if not, see . */ -#include - -/* RV32 and RV64 both use 64-bit time_t */ +/* Size in bits of the 'time_t' type of the default ABI. */ #define __TIMESIZE 64 \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-gnu/bits/typesizes.h b/lib/libc/include/riscv64-linux-gnu/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h b/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h index c2bf0e7f800ef64f7799f9d4179e8cccc92566eb..3a1d73e4f618347ca298a2fe6ebc3cec39862161 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h @@ -1,5 +1,5 @@ /* Determine the wordsize from the preprocessor defines. RISC-V version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/fpu_control.h b/lib/libc/include/riscv64-linux-gnu/fpu_control.h index c0b8528184db2a4079db78f16c93ec0c97afe68e..1131c2af72ded15ba08e6197bbfd13a8eea57276 100644 --- a/lib/libc/include/riscv64-linux-gnu/fpu_control.h +++ b/lib/libc/include/riscv64-linux-gnu/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word bits. RISC-V version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h b/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h index e8d3a8e796e4376876fc150b1b15479f6a46decd..e499a157d000736fbcca2e86bcfd86b0116b732a 100644 --- a/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h +++ b/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h b/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h deleted file mode 100644 index 88de20ca0aa5e6555886c18c877852996276b867..0000000000000000000000000000000000000000 --- a/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h +++ /dev/null @@ -1,30 +0,0 @@ -/* This file is automatically generated. */ -#ifndef __GNU_LIB_NAMES_H -# error "Never use directly; include instead." -#endif - -#define LD_LINUX_RISCV64_LP64D_SO "ld-linux-riscv64-lp64d.so.1" -#define LD_SO "ld-linux-riscv64-lp64d.so.1" -#define LIBANL_SO "libanl.so.1" -#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" -#define LIBCRYPT_SO "libcrypt.so.1" -#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" -#define LIBC_SO "libc.so.6" -#define LIBDL_SO "libdl.so.2" -#define LIBGCC_S_SO "libgcc_s.so.1" -#define LIBMVEC_SO "libmvec.so.1" -#define LIBM_SO "libm.so.6" -#define LIBNSL_SO "libnsl.so.1" -#define LIBNSS_COMPAT_SO "libnss_compat.so.2" -#define LIBNSS_DB_SO "libnss_db.so.2" -#define LIBNSS_DNS_SO "libnss_dns.so.2" -#define LIBNSS_FILES_SO "libnss_files.so.2" -#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" -#define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" -#define LIBPTHREAD_SO "libpthread.so.0" -#define LIBRESOLV_SO "libresolv.so.2" -#define LIBRT_SO "librt.so.1" -#define LIBTHREAD_DB_SO "libthread_db.so.1" -#define LIBUTIL_SO "libutil.so.1" diff --git a/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h b/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h deleted file mode 100644 index 4d4c0d146a4063129577bff6724df15f3a36b84f..0000000000000000000000000000000000000000 --- a/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h +++ /dev/null @@ -1,24 +0,0 @@ -/* This file is automatically generated. - It defines a symbol `__stub_FUNCTION' for each function - in the C library which is a stub, meaning it will fail - every time called, usually setting errno to ENOSYS. */ - -#ifdef _LIBC - #error Applications may not define the macro _LIBC -#endif - -#define __stub___compat_bdflush -#define __stub___compat_create_module -#define __stub___compat_get_kernel_syms -#define __stub___compat_query_module -#define __stub___compat_uselib -#define __stub_chflags -#define __stub_fchflags -#define __stub_fedisableexcept -#define __stub_feenableexcept -#define __stub_fegetexcept -#define __stub_gtty -#define __stub_revoke -#define __stub_setlogin -#define __stub_sigreturn -#define __stub_stty diff --git a/lib/libc/include/riscv64-linux-gnu/ieee754.h b/lib/libc/include/riscv64-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/riscv64-linux-gnu/ieee754.h +++ b/lib/libc/include/riscv64-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/sys/asm.h b/lib/libc/include/riscv64-linux-gnu/sys/asm.h index 494294c5a45cfe9b003176fd4c6fc8e9c103ad3c..02fe1aeacdca020cc926b027c942aabf55635ae2 100644 --- a/lib/libc/include/riscv64-linux-gnu/sys/asm.h +++ b/lib/libc/include/riscv64-linux-gnu/sys/asm.h @@ -1,5 +1,5 @@ /* Miscellaneous macros. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h b/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h index 563ef0910960266cdf8e53ff92ce6e66fca54edc..41f5a28e64bb740cb47ec37fa23346f7a96d3a40 100644 --- a/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h +++ b/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h @@ -1,5 +1,5 @@ /* RISC-V instruction cache flushing interface - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h b/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h index 7a0d6ba2120e660879210cffc268e0ca28218c53..133cbeb735784f9176bddecf357b476c25e7bb77 100644 --- a/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h @@ -1,5 +1,5 @@ /* struct ucontext definition, RISC-V version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/sys/user.h b/lib/libc/include/riscv64-linux-gnu/sys/user.h index cf24a99aa5d96b2eca0da041723297d218096949..333684f8f23b9f8b96a9991950206df72aae39b0 100644 --- a/lib/libc/include/riscv64-linux-gnu/sys/user.h +++ b/lib/libc/include/riscv64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/elfclass.h b/lib/libc/include/s390x-linux-gnu/bits/elfclass.h index 1625466356f3916c7bdf6bfa7b930454416835d8..f6b2441c0d7806bc1fa177468c106bc48a8e0566 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/elfclass.h +++ b/lib/libc/include/s390x-linux-gnu/bits/elfclass.h @@ -1,5 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/environments.h b/lib/libc/include/s390x-linux-gnu/bits/environments.h index b50535f91c25cfb952824674e617924dd3b52cf6..b90dc601fe09788fd8d4d58a1fdac0e88fd1b59d 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/environments.h +++ b/lib/libc/include/s390x-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/fcntl.h b/lib/libc/include/s390x-linux-gnu/bits/fcntl.h index 0af7a3956b1467f265ab4345f2fbb16d5103c6dd..a280bad8851ff0e133842a3eb2f3d157bcdb09a1 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/s390x-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/fenv.h b/lib/libc/include/s390x-linux-gnu/bits/fenv.h index ab73cf60722f3e25cc76b990fa98dc0564b27c97..8b53cce0a6cc991b92aae79ac914de47e506beef 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/fenv.h +++ b/lib/libc/include/s390x-linux-gnu/bits/fenv.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Denis Joseph Barrow . The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/s390x-linux-gnu/bits/floatn.h b/lib/libc/include/s390x-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/floatn.h +++ b/lib/libc/include/s390x-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/s390x-linux-gnu/bits/hwcap.h b/lib/libc/include/s390x-linux-gnu/bits/hwcap.h index a60cd60094132d3590a987cafd8bb6ddb8393c38..bf93845d738992abeeb9f5be0ad013870e77a625 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/s390x-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,6 +22,11 @@ /* * The following must match the kernels asm/elf.h. + * Note: The kernel commit 511ad531afd4090625def4d9aba1f5227bd44b8e + * "s390/hwcaps: shorten HWCAP defines" has shortened the prefix of the macros + * from "HWCAP_S390_" to "HWCAP_". For compatibility reasons, we do not + * change the prefix in public glibc header file. + * * Note that these are *not* the same as the STORE FACILITY LIST bits. */ #define HWCAP_S390_ESAN3 1 @@ -47,4 +52,6 @@ #define HWCAP_S390_SORT 131072 #define HWCAP_S390_DFLT 262144 #define HWCAP_S390_VXRS_PDE2 524288 -#define HWCAP_S390_NNPA 1048576 \ No newline at end of file +#define HWCAP_S390_NNPA 1048576 +#define HWCAP_S390_PCI_MIO 2097152 +#define HWCAP_S390_SIE 4194304 \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-gnu/bits/link.h b/lib/libc/include/s390x-linux-gnu/bits/link.h index 01f4f058d3518b27962dca419f26e5ebf49420b0..40acb9da1efa411b257c7154c8a9bdc8547f8e80 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/link.h +++ b/lib/libc/include/s390x-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/long-double.h b/lib/libc/include/s390x-linux-gnu/bits/long-double.h index e3ec00d82b8b8427e244d35af5ede8a687325fd0..270ba4d0c3d8b0aceef249e580633c2cf17f27cc 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/long-double.h +++ b/lib/libc/include/s390x-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h b/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h index 95af630aeb4f5a8e6b8ca2c4f2638f9812a03cae..d9a4bca0a1de5e1e45176f5875d8e6d1a97bdcc4 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h +++ b/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h @@ -1,5 +1,5 @@ /* Extra sys/procfs.h definitions. S/390 version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h b/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h index 4da8f1f843b5ed849c237da12e0f5f11c3c92a1f..47e3dbcf0dbea79075b9d3722528e98523e6277a 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. S/390 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/s390x-linux-gnu/bits/procfs.h b/lib/libc/include/s390x-linux-gnu/bits/procfs.h index 924f6c6e3609d699e509f9d282642e3f4246dae1..3c9b07ad5cec9229d1e5eb6d84aa1036ef9e6aa4 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/procfs.h +++ b/lib/libc/include/s390x-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. S/390 version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/rseq.h b/lib/libc/include/s390x-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..4690a2a26df349ae1595bc40d8201fa680d4fdfa --- /dev/null +++ b/lib/libc/include/s390x-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux s390 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the trap4 instruction. As Linux does not make use of the + access-register mode nor the linkage stack this instruction will always + cause a special-operation exception (the trap-enabled bit in the DUCT + is and will stay 0). The instruction pattern is + b2 ff 0f ff trap4 4095(%r0) */ + +#define RSEQ_SIG 0xB2FF0FFF \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-gnu/bits/setjmp.h b/lib/libc/include/s390x-linux-gnu/bits/setjmp.h index 42dbb2709f9e5560c07df6ee2761ab1318ba10a6..0ba7999645ef2ffe663e63aa484fae6e7b831717 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/s390x-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/sigaction.h b/lib/libc/include/s390x-linux-gnu/bits/sigaction.h index 566e083351fedc0ba5209fb2eaeca43862586560..58fac4fc38b50dc79154ca98d8afd9d55be9b1b9 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/sigaction.h +++ b/lib/libc/include/s390x-linux-gnu/bits/sigaction.h @@ -1,5 +1,5 @@ /* Definitions for 31 & 64 bit S/390 sigaction. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/statfs.h b/lib/libc/include/s390x-linux-gnu/bits/statfs.h index 202dc21d42c8f3fa0286984b9e2457dedbb0c086..9391e74c5738a26bb37268aee08b4c729e1070e6 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/statfs.h +++ b/lib/libc/include/s390x-linux-gnu/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h b/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h index 0a10aa1ef0f610533e6844de2f20bbc9a33972ca..e55b3ca2a115fd974469bd07fe769dde6061c691 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* S390 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h index 0ca0d74890254cc604b344d0d69eb12e2664291e..c085ef8abfe64c95bc28a8b461e477d27e0be2f3 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* S390 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h b/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h index c925f4cc778c72c52601e4e94f4ca992b7dd70db..2303b1e4fe133297e3ce368285706678771c3852 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/timesize.h b/lib/libc/include/s390x-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..11830d95633df61bcb020e352d823d5d1e47e317 --- /dev/null +++ b/lib/libc/include/s390x-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/s390. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-gnu/bits/typesizes.h b/lib/libc/include/s390x-linux-gnu/bits/typesizes.h index c3c2d56c637b6ed495d9bf9e60a56004b1e9fae1..ee2e1de6f8ef9acc36686a5b5150a9ab8b1e1a34 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/s390x-linux-gnu/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/s390 version. - Copyright (C) 2003-2021 Free Software Foundation, Inc. + Copyright (C) 2003-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/utmp.h b/lib/libc/include/s390x-linux-gnu/bits/utmp.h index 75bef50c8a8d47a95eb5ddc132472e793c470ae5..46bafdc573808a4acdd6973c6a5726245ae67318 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/utmp.h +++ b/lib/libc/include/s390x-linux-gnu/bits/utmp.h @@ -1,5 +1,5 @@ /* The `struct utmp' type, describing entries in the utmp file. GNU version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/utmpx.h b/lib/libc/include/s390x-linux-gnu/bits/utmpx.h index d2adcc3d3f2cc88a561f9318fc81ec04b6654461..27f6bda9f1836f2d3d8f658b3d5410ea646a1295 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/utmpx.h +++ b/lib/libc/include/s390x-linux-gnu/bits/utmpx.h @@ -1,5 +1,5 @@ /* Structures and definitions for the user accounting database. GNU version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/fpu_control.h b/lib/libc/include/s390x-linux-gnu/fpu_control.h index ac2015aec34c914df4b0427cf49157d3e9ac399c..7e5d13fb4492c9ea371231c4c522c9034055fcd4 100644 --- a/lib/libc/include/s390x-linux-gnu/fpu_control.h +++ b/lib/libc/include/s390x-linux-gnu/fpu_control.h @@ -1,7 +1,5 @@ /* FPU control word definitions. Stub version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com) and - Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,8 +32,8 @@ typedef unsigned int fpu_control_t; /* Macros for accessing the hardware control word. */ -#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0,0" : "=d" (cw)) -#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0,0" : : "d" (cw)) +#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0" : "=d" (cw)) +#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0" : : "d" (cw)) /* Default control word set at startup. */ extern fpu_control_t __fpu_control; diff --git a/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h b/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h index d232144282b4e343224b24d5a927205a359b4fca..1a7314db3071d7126e205c3a87848c286e9c2844 100644 --- a/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h +++ b/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/s390x-linux-gnu/ieee754.h b/lib/libc/include/s390x-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/s390x-linux-gnu/ieee754.h +++ b/lib/libc/include/s390x-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/sys/elf.h b/lib/libc/include/s390x-linux-gnu/sys/elf.h index b4c8f9f9ef77f007c1f2c40043321c7d7e484add..a7c82ceb26bf7bae3cb7953582db60ca9b656b94 100644 --- a/lib/libc/include/s390x-linux-gnu/sys/elf.h +++ b/lib/libc/include/s390x-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/sys/ptrace.h b/lib/libc/include/s390x-linux-gnu/sys/ptrace.h index 5c793731c244b222bb564c83a2905b37949d694b..6cb3161dac307d5defc8941b3e73f4fd9443908c 100644 --- a/lib/libc/include/s390x-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/s390x-linux-gnu/sys/ptrace.h @@ -1,6 +1,5 @@ /* `ptrace' debugger support interface. Linux/S390 version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com). + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -86,6 +85,7 @@ __BEGIN_DECLS # undef PTRACE_SYSCALL_INFO_ENTRY # undef PTRACE_SYSCALL_INFO_EXIT # undef PTRACE_SYSCALL_INFO_SECCOMP +# undef PTRACE_GET_RSEQ_CONFIGURATION #endif /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request @@ -217,6 +217,10 @@ enum __ptrace_request PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + PTRACE_PEEKUSR_AREA = 0x5000, #define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA diff --git a/lib/libc/include/s390x-linux-gnu/sys/ucontext.h b/lib/libc/include/s390x-linux-gnu/sys/ucontext.h index 1162f119264ce225bc0d80ec69aac7f8b2e0604a..cc52d61baedd2e39ad9a448bff4f3841adf3b22d 100644 --- a/lib/libc/include/s390x-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/s390x-linux-gnu/sys/ucontext.h @@ -1,5 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com). +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/sys/user.h b/lib/libc/include/s390x-linux-gnu/sys/user.h index 7c9764f3adece0ff600672caf914d761e40a6449..bbf153880478a817c1aaa427df2828acf6148586 100644 --- a/lib/libc/include/s390x-linux-gnu/sys/user.h +++ b/lib/libc/include/s390x-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/a.out.h b/lib/libc/include/sparc-linux-gnu/a.out.h deleted file mode 100644 index 4002e18c91906facc184542bc93b3d20e8ddcc46..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/a.out.h +++ /dev/null @@ -1,174 +0,0 @@ -#ifndef __A_OUT_GNU_H__ -#define __A_OUT_GNU_H__ - -#include - -#define __GNU_EXEC_MACROS__ - -struct exec -{ - unsigned char a_dynamic:1; /* A __DYNAMIC is in this image. */ - unsigned char a_toolversion:7; - unsigned char a_machtype; - unsigned short a_info; - unsigned int a_text; /* Length of text, in bytes. */ - unsigned int a_data; /* Length of data, in bytes. */ - unsigned int a_bss; /* Length of bss, in bytes. */ - unsigned int a_syms; /* Length of symbol table, in bytes. */ - unsigned int a_entry; /* Where program begins. */ - unsigned int a_trsize; - unsigned int a_drsize; -}; - -enum machine_type -{ - M_OLDSUN2 = 0, - M_68010 = 1, - M_68020 = 2, - M_SPARC = 3, - M_386 = 100, - M_MIPS1 = 151, - M_MIPS2 = 152 -}; - -#define N_MAGIC(exec) ((exec).a_info & 0xffff) -#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) -#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) -#define N_SET_INFO(exec, magic, type, flags) \ - ((exec).a_info = ((magic) & 0xffff) \ - | (((int)(type) & 0xff) << 16) \ - | (((flags) & 0xff) << 24)) -#define N_SET_MAGIC(exec, magic) \ - ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff)) -#define N_SET_MACHTYPE(exec, machtype) \ - ((exec).a_info = \ - ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) -#define N_SET_FLAGS(exec, flags) \ - ((exec).a_info = \ - ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) - -/* Code indicating object file or impure executable. */ -#define OMAGIC 0407 -/* Code indicating pure executable. */ -#define NMAGIC 0410 -/* Code indicating demand-paged executable. */ -#define ZMAGIC 0413 -/* This indicates a demand-paged executable with the header in the text. - The first page is unmapped to help trap NULL pointer references. */ -#define QMAGIC 0314 -/* Code indicating core file. */ -#define CMAGIC 0421 - -#define N_TRSIZE(a) ((a).a_trsize) -#define N_DRSIZE(a) ((a).a_drsize) -#define N_SYMSIZE(a) ((a).a_syms) -#define N_BADMAG(x) \ - (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ - && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) -#define _N_HDROFF(x) (1024 - sizeof (struct exec)) -#define N_TXTOFF(x) \ - (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec)) -#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) -#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) -#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) -#define N_SYMOFF(x) \ - (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize) -#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) - -#define SPARC_PGSIZE 0x2000 - -/* Address of text segment in memory after it is loaded. */ -#define N_TXTADDR(x) \ - (unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \ - ? 0 : SPARC_PGSIZE) - -/* Address of data segment in memory after it is loaded. */ -#define SEGMENT_SIZE SPARC_PGSIZE - -#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) -#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) - -#define N_DATADDR(x) \ - (N_MAGIC(x)==OMAGIC \ - ? (N_TXTADDR(x) + (x).a_text) \ - : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) -#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) - -#if !defined (N_NLIST_DECLARED) -struct nlist -{ - union - { - char *n_name; - struct nlist *n_next; - long n_strx; - } n_un; - unsigned char n_type; - char n_other; - short n_desc; - unsigned long n_value; -}; -#endif /* no N_NLIST_DECLARED. */ - -#define N_UNDF 0 -#define N_ABS 2 -#define N_TEXT 4 -#define N_DATA 6 -#define N_BSS 8 -#define N_FN 15 -#define N_EXT 1 -#define N_TYPE 036 -#define N_STAB 0340 -#define N_INDR 0xa -#define N_SETA 0x14 /* Absolute set element symbol. */ -#define N_SETT 0x16 /* Text set element symbol. */ -#define N_SETD 0x18 /* Data set element symbol. */ -#define N_SETB 0x1A /* Bss set element symbol. */ -#define N_SETV 0x1C /* Pointer to set vector in data area. */ - -#if !defined (N_RELOCATION_INFO_DECLARED) -enum reloc_type -{ - RELOC_8, - RELOC_16, - RELOC_32, - RELOC_DISP8, - RELOC_DISP16, - RELOC_DISP32, - RELOC_WDISP30, - RELOC_WDISP22, - RELOC_HI22, - RELOC_22, - RELOC_13, - RELOC_LO10, - RELOC_SFA_BASE, - RELOC_SFA_OFF13, - RELOC_BASE10, - RELOC_BASE13, - RELOC_BASE22, - RELOC_PC10, - RELOC_PC22, - RELOC_JMP_TBL, - RELOC_SEGOFF16, - RELOC_GLOB_DAT, - RELOC_JMP_SLOT, - RELOC_RELATIVE -}; - -/* This structure describes a single relocation to be performed. - The text-relocation section of the file is a vector of these structures, - all of which apply to the text section. - Likewise, the data-relocation section applies to the data section. */ - -struct relocation_info -{ - unsigned int r_address; - unsigned int r_index:24; - unsigned int r_extern:1; - int r_pad:2; - enum reloc_type r_type:5; - int r_addend; -}; -#endif /* no N_RELOCATION_INFO_DECLARED. */ - -#endif /* __A_OUT_GNU_H__ */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/a.out.h b/lib/libc/include/sparc-linux-gnu/bits/a.out.h deleted file mode 100644 index c189482c42bcb7f71c54ae4d95b92902773f323e..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/a.out.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef __A_OUT_GNU_H__ -# error "Never use directly; include instead." -#endif - -#include - -#if __WORDSIZE == 64 - -/* Signal to users of this header that this architecture really doesn't - support a.out binary format. */ -#define __NO_A_OUT_SUPPORT 1 - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/endianness.h b/lib/libc/include/sparc-linux-gnu/bits/endianness.h deleted file mode 100644 index 8b14090d0ec5b80fad71332f3ee618b709f04cfb..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/endianness.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _BITS_ENDIANNESS_H -#define _BITS_ENDIANNESS_H 1 - -#ifndef _BITS_ENDIAN_H -# error "Never use directly; include instead." -#endif - -/* Sparc is big-endian, but v9 supports endian conversion on loads/stores - and GCC supports such a mode. Be prepared. */ -#ifdef __LITTLE_ENDIAN__ -# define __BYTE_ORDER __LITTLE_ENDIAN -#else -# define __BYTE_ORDER __BIG_ENDIAN -#endif - -#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/environments.h b/lib/libc/include/sparc-linux-gnu/bits/environments.h deleted file mode 100644 index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/environments.h +++ /dev/null @@ -1,96 +0,0 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _UNISTD_H -# error "Never include this file directly. Use instead" -#endif - -#include - -/* This header should define the following symbols under the described - situations. A value `1' means that the model is always supported, - `-1' means it is never supported. Undefined means it cannot be - statically decided. - - _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type - _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type - - _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type - _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type - - The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, - _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, - _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were - used in previous versions of the Unix standard and are available - only for compatibility. -*/ - -#if __WORDSIZE == 64 - -/* Environments with 32-bit wide pointers are optionally provided. - Therefore following macros aren't defined: - # undef _POSIX_V7_ILP32_OFF32 - # undef _POSIX_V7_ILP32_OFFBIG - # undef _POSIX_V6_ILP32_OFF32 - # undef _POSIX_V6_ILP32_OFFBIG - # undef _XBS5_ILP32_OFF32 - # undef _XBS5_ILP32_OFFBIG - and users need to check at runtime. */ - -/* We also have no use (for now) for an environment with bigger pointers - and offsets. */ -# define _POSIX_V7_LPBIG_OFFBIG -1 -# define _POSIX_V6_LPBIG_OFFBIG -1 -# define _XBS5_LPBIG_OFFBIG -1 - -/* By default we have 64-bit wide `long int', pointers and `off_t'. */ -# define _POSIX_V7_LP64_OFF64 1 -# define _POSIX_V6_LP64_OFF64 1 -# define _XBS5_LP64_OFF64 1 - -#else /* __WORDSIZE == 32 */ - -/* By default we have 32-bit wide `int', `long int', pointers and `off_t' - and all platforms support LFS. */ -# define _POSIX_V7_ILP32_OFF32 1 -# define _POSIX_V7_ILP32_OFFBIG 1 -# define _POSIX_V6_ILP32_OFF32 1 -# define _POSIX_V6_ILP32_OFFBIG 1 -# define _XBS5_ILP32_OFF32 1 -# define _XBS5_ILP32_OFFBIG 1 - -/* We optionally provide an environment with the above size but an 64-bit - side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ - -/* Environments with 64-bit wide pointers can be provided, - so these macros aren't defined: - # undef _POSIX_V7_LP64_OFF64 - # undef _POSIX_V7_LPBIG_OFFBIG - # undef _POSIX_V6_LP64_OFF64 - # undef _POSIX_V6_LPBIG_OFFBIG - # undef _XBS5_LP64_OFF64 - # undef _XBS5_LPBIG_OFFBIG - and sysconf tests for it at runtime. */ - -#endif /* __WORDSIZE == 32 */ - -#define __ILP32_OFF32_CFLAGS "-m32" -#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -#define __ILP32_OFF32_LDFLAGS "-m32" -#define __ILP32_OFFBIG_LDFLAGS "-m32" -#define __LP64_OFF64_CFLAGS "-m64" -#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/epoll.h b/lib/libc/include/sparc-linux-gnu/bits/epoll.h deleted file mode 100644 index 298f3e8170abd47939c5c7d7c27911369b0c59d6..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/epoll.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_EPOLL_H -# error "Never use directly; include instead." -#endif - -/* Flags to be passed to epoll_create1. */ -enum - { - EPOLL_CLOEXEC = 0x400000 -#define EPOLL_CLOEXEC EPOLL_CLOEXEC - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/errno.h b/lib/libc/include/sparc-linux-gnu/bits/errno.h deleted file mode 100644 index 38a52e3599b49acb29d54edc459b1940db4693e8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/errno.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Error constants. Linux/Sparc specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_ERRNO_H -#define _BITS_ERRNO_H 1 - -#if !defined _ERRNO_H -# error "Never include directly; use instead." -#endif - -# include - -/* Older Linux headers do not define these constants. */ -# ifndef ENOTSUP -# define ENOTSUP EOPNOTSUPP -# endif - -# ifndef ECANCELED -# define ECANCELED 127 -# endif - -# ifndef EOWNERDEAD -# define EOWNERDEAD 132 -# endif - -# ifndef ENOTRECOVERABLE -# define ENOTRECOVERABLE 133 -# endif - -# ifndef ERFKILL -# define ERFKILL 134 -# endif - -# ifndef EHWPOISON -# define EHWPOISON 135 -# endif - -#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/eventfd.h b/lib/libc/include/sparc-linux-gnu/bits/eventfd.h deleted file mode 100644 index 71409f55ba7f8dd19f50110ff056280582fd09a8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/eventfd.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_EVENTFD_H -# error "Never use directly; include instead." -#endif - -/* Flags for eventfd. */ -enum - { - EFD_SEMAPHORE = 0x000001, -#define EFD_SEMAPHORE EFD_SEMAPHORE - EFD_CLOEXEC = 0x400000, -#define EFD_CLOEXEC EFD_CLOEXEC - EFD_NONBLOCK = 0x004000 -#define EFD_NONBLOCK EFD_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/fcntl.h b/lib/libc/include/sparc-linux-gnu/bits/fcntl.h deleted file mode 100644 index d5009f12339d79a040246da5c912e8b2447c9837..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/fcntl.h +++ /dev/null @@ -1,101 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux/SPARC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FCNTL_H -# error "Never use directly; include instead." -#endif - -#include - -#define O_APPEND 0x0008 -#define O_ASYNC 0x0040 -#define O_CREAT 0x0200 /* not fcntl */ -#define O_TRUNC 0x0400 /* not fcntl */ -#define O_EXCL 0x0800 /* not fcntl */ -#define O_SYNC 0x802000 -#define O_NONBLOCK 0x4000 -#define O_NDELAY (0x0004 | O_NONBLOCK) -#define O_NOCTTY 0x8000 /* not fcntl */ - -#define __O_DIRECTORY 0x10000 /* must be a directory */ -#define __O_NOFOLLOW 0x20000 /* don't follow links */ -#define __O_CLOEXEC 0x400000 /* Set close_on_exit. */ - -#define __O_DIRECT 0x100000 /* direct disk access hint */ -#define __O_NOATIME 0x200000 /* Do not set atime. */ -#define __O_PATH 0x1000000 /* Resolve pathname but do not open file. */ -#define __O_TMPFILE 0x2010000 /* Atomically create nameless file. */ - -#if __WORDSIZE == 64 -# define __O_LARGEFILE 0 -#else -# define __O_LARGEFILE 0x40000 -#endif - -#define __O_DSYNC 0x2000 /* Synchronize data. */ - - -#define __F_GETOWN 5 /* Get owner (process receiving SIGIO). */ -#define __F_SETOWN 6 /* Set owner (process receiving SIGIO). */ - -#ifndef __USE_FILE_OFFSET64 -# define F_GETLK 7 /* Get record locking info. */ -# define F_SETLK 8 /* Set record locking info (non-blocking). */ -# define F_SETLKW 9 /* Set record locking info (blocking). */ -#endif - -#if __WORDSIZE == 64 -# define F_GETLK64 7 /* Get record locking info. */ -# define F_SETLK64 8 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 9 /* Set record locking info (blocking). */ -#endif - -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#else - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - __pid_t l_pid; /* Process holding the lock. */ - short int __glibc_reserved; - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - short int __glibc_reserved; - }; -#endif - -/* Include generic Linux declarations. */ -#include \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/fenv.h b/lib/libc/include/sparc-linux-gnu/bits/fenv.h deleted file mode 100644 index 2de6eb4eb378bb8e24b43c028c9b447fa5e026bd..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/fenv.h +++ /dev/null @@ -1,92 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FENV_H -# error "Never use directly; include instead." -#endif - -#include - - -/* Define bits representing the exception. We use the bit positions - of the appropriate accrued exception bits from the FSR. */ -enum - { - FE_INVALID = -#define FE_INVALID (1 << 9) - FE_INVALID, - FE_OVERFLOW = -#define FE_OVERFLOW (1 << 8) - FE_OVERFLOW, - FE_UNDERFLOW = -#define FE_UNDERFLOW (1 << 7) - FE_UNDERFLOW, - FE_DIVBYZERO = -#define FE_DIVBYZERO (1 << 6) - FE_DIVBYZERO, - FE_INEXACT = -#define FE_INEXACT (1 << 5) - FE_INEXACT - }; - -#define FE_ALL_EXCEPT \ - (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) - -/* The Sparc FPU supports all of the four defined rounding modes. We - use again the bit positions in the FPU control word as the values - for the appropriate macros. */ -enum - { - FE_TONEAREST = -#define FE_TONEAREST (0 << 30) - FE_TONEAREST, - FE_TOWARDZERO = -#define FE_TOWARDZERO (1 << 30) - FE_TOWARDZERO, - FE_UPWARD = -#define FE_UPWARD (-0x7fffffff - 1) /* (2 << 30) */ - FE_UPWARD, - FE_DOWNWARD = -#define FE_DOWNWARD (-0x40000000) /* (3 << 30) */ - FE_DOWNWARD - }; - -#define __FE_ROUND_MASK (3U << 30) - - -/* Type representing exception flags. */ -typedef unsigned long int fexcept_t; - - -/* Type representing floating-point environment. */ -typedef unsigned long int fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1) - -#ifdef __USE_GNU -/* Floating-point environment where none of the exception is masked. */ -# define FE_NOMASK_ENV ((const fenv_t *) -2) -#endif - -#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) -/* Type representing floating-point control modes. */ -typedef unsigned long int femode_t; - -/* Default floating-point control modes. */ -# define FE_DFL_MODE ((const femode_t *) -1L) -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/floatn.h b/lib/libc/include/sparc-linux-gnu/bits/floatn.h deleted file mode 100644 index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/floatn.h +++ /dev/null @@ -1,97 +0,0 @@ -/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_FLOATN_H -#define _BITS_FLOATN_H - -#include -#include - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the IEEE 754 binary128 format, and this - glibc includes corresponding *f128 interfaces for it. */ -#ifndef __NO_LONG_DOUBLE_MATH -# define __HAVE_FLOAT128 1 -#else -/* glibc does not support _Float128 for platforms where long double is - normally binary128 when building with long double as binary64. - GCC's default for supported scalar modes does not support it either - in that case. */ -# define __HAVE_FLOAT128 0 -#endif - -/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct - from the default float, double and long double types in this glibc. */ -#define __HAVE_DISTINCT_FLOAT128 0 - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the right format for _Float64x, and this - glibc includes corresponding *f64x interfaces for it. */ -#define __HAVE_FLOAT64X __HAVE_FLOAT128 - -/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format - of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has - the format of _Float128, which must be different from that of long - double. */ -#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 - -#ifndef __ASSEMBLER__ - -/* Defined to concatenate the literal suffix to be used with _Float128 - types, if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* The literal suffix f128 exists only since GCC 7.0. */ -# define __f128(x) x##l -# else -# define __f128(x) x##f128 -# endif -# endif - -/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __CFLOAT128 _Complex long double -# else -# define __CFLOAT128 _Complex _Float128 -# endif -# endif - -/* The remaining of this file provides support for older compilers. */ -# if __HAVE_FLOAT128 - -/* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef long double _Float128; -# endif - -/* Various built-in functions do not exist before GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf128() (__builtin_huge_vall ()) -# define __builtin_inff128() (__builtin_infl ()) -# define __builtin_nanf128(x) (__builtin_nanl (x)) -# define __builtin_nansf128(x) (__builtin_nansl (x)) -# endif - -# endif - -#endif /* !__ASSEMBLER__. */ - -#include - -#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/hwcap.h b/lib/libc/include/sparc-linux-gnu/bits/hwcap.h deleted file mode 100644 index 3f9c7c7f1db769c2cb0650a9ffad0461df6fd973..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/hwcap.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Defines for bits in AT_HWCAP. - Copyright (C) 2011-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) -# error "Never include directly; use instead." -#endif - -#define HWCAP_SPARC_FLUSH 0x00000001 -#define HWCAP_SPARC_STBAR 0x00000002 -#define HWCAP_SPARC_SWAP 0x00000004 -#define HWCAP_SPARC_MULDIV 0x00000008 -#define HWCAP_SPARC_V9 0x00000010 -#define HWCAP_SPARC_ULTRA3 0x00000020 -#define HWCAP_SPARC_BLKINIT 0x00000040 -#define HWCAP_SPARC_N2 0x00000080 -#define HWCAP_SPARC_MUL32 0x00000100 -#define HWCAP_SPARC_DIV32 0x00000200 -#define HWCAP_SPARC_FSMULD 0x00000400 -#define HWCAP_SPARC_V8PLUS 0x00000800 -#define HWCAP_SPARC_POPC 0x00001000 -#define HWCAP_SPARC_VIS 0x00002000 -#define HWCAP_SPARC_VIS2 0x00004000 -#define HWCAP_SPARC_ASI_BLK_INIT 0x00008000 -#define HWCAP_SPARC_FMAF 0x00010000 -#define HWCAP_SPARC_VIS3 0x00020000 -#define HWCAP_SPARC_HPC 0x00040000 -#define HWCAP_SPARC_RANDOM 0x00080000 -#define HWCAP_SPARC_TRANS 0x00100000 -#define HWCAP_SPARC_FJFMAU 0x00200000 -#define HWCAP_SPARC_IMA 0x00400000 -#define HWCAP_SPARC_ASI_CACHE_SPARING \ - 0x00800000 -#define HWCAP_SPARC_PAUSE 0x01000000 -#define HWCAP_SPARC_CBCOND 0x02000000 -#define HWCAP_SPARC_CRYPTO 0x04000000 -#define HWCAP_SPARC_ADP 0x08000000 \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/inotify.h b/lib/libc/include/sparc-linux-gnu/bits/inotify.h deleted file mode 100644 index e489d7406c114b7171be576a9028ce0fcc8bd327..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/inotify.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_INOTIFY_H -# error "Never use directly; include instead." -#endif - -/* Flags for the parameter of inotify_init1. */ -enum - { - IN_CLOEXEC = 0x400000, -#define IN_CLOEXEC IN_CLOEXEC - IN_NONBLOCK = 0x004000 -#define IN_NONBLOCK IN_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/ioctls.h b/lib/libc/include/sparc-linux-gnu/bits/ioctls.h deleted file mode 100644 index 9ed3b296275bcfd40c54f90e778b3575cf85906d..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/ioctls.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_IOCTL_H -# error "Never use directly; include instead." -#endif - -/* Use the definitions from the kernel header files. */ -#include - -/* Oh well, this is necessary since the kernel data structure is - different from the user-level version. */ -#undef TCGETS -#undef TCSETS -#undef TCSETSW -#undef TCSETSF -#define TCGETS _IOR ('T', 8, char[36]) -#define TCSETS _IOW ('T', 9, char[36]) -#define TCSETSW _IOW ('T', 10, char[36]) -#define TCSETSF _IOW ('T', 11, char[36]) - -#include \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h b/lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h deleted file mode 100644 index d1761dca799d83faec4348897092d92717210a23..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h +++ /dev/null @@ -1,36 +0,0 @@ -/* struct ipc_perm definition. Linux/sparc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_IPC_H -# error "Never use directly; include instead." -#endif - -/* Data structure used to pass permission information to IPC operations. */ -struct ipc_perm - { - __key_t __key; /* Key. */ - __uid_t uid; /* Owner's user ID. */ - __gid_t gid; /* Owner's group ID. */ - __uid_t cuid; /* Creator's user ID. */ - __gid_t cgid; /* Creator's group ID. */ - __mode_t mode; /* Read/write permission. */ - unsigned short int __pad1; - unsigned short int __seq; /* Sequence number. */ - __extension__ unsigned long long int __glibc_reserved1; - __extension__ unsigned long long int __glibc_reserved2; - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/link.h b/lib/libc/include/sparc-linux-gnu/bits/link.h deleted file mode 100644 index e6e0d275c4562d2729b4bb26779023de63c0cd6c..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/link.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Machine-specific audit interfaces for dynamic linker. SPARC version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _LINK_H -# error "Never include directly; use instead." -#endif - -#if __WORDSIZE == 32 - -typedef struct La_sparc32_regs -{ - uint32_t lr_lreg[8]; /* %l0 through %l7 */ - uint32_t lr_reg[6]; /* %o0 through %o5 */ - uint32_t lr_sp; /* %o6 */ - uint32_t lr_ra; /* %o7 */ - uint32_t lr_struct; /* Pass-by-reference struct pointer */ -} La_sparc32_regs; - -typedef struct La_sparc32_retval -{ - uint32_t lrv_reg[2]; /* %o0 and %o1 */ - double lrv_fpreg[2]; /* %f0 and %f2 */ -} La_sparc32_retval; - -#else - -typedef struct La_sparc64_regs -{ - uint64_t lr_lreg[8]; /* %l0 through %l7 */ - uint64_t lr_reg[6]; /* %o0 through %o5 */ - uint64_t lr_sp; /* %o6 */ - uint64_t lr_ra; /* %o7 */ - double lr_fpreg[16]; /* %f0 through %f30 */ -} La_sparc64_regs; - -typedef struct La_sparc64_retval -{ - uint64_t lrv_reg[4]; /* %o0 through %o3 */ - double lrv_fprev[4]; /* %f0 through %f8 */ -} La_sparc64_retval; - -#endif - -__BEGIN_DECLS - -#if __WORDSIZE == 32 - -extern Elf32_Addr la_sparc32_gnu_pltenter (Elf32_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_sparc32_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_sparc32_regs *__inregs, - La_sparc32_retval *__outregs, - const char *__symname); - -#else - -extern Elf64_Addr la_sparc64_gnu_pltenter (Elf64_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_sparc64_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_sparc64_regs *__inregs, - La_sparc64_retval *__outregs, - const char *__symname); - -#endif - -__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/long-double.h b/lib/libc/include/sparc-linux-gnu/bits/long-double.h deleted file mode 100644 index c97d298d58e10be1cc11438d31f7dfa32ef67bb2..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/long-double.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Properties of long double type. SPARC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - -#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32 -# define __LONG_DOUBLE_MATH_OPTIONAL 1 -# ifndef __LONG_DOUBLE_128__ -# define __NO_LONG_DOUBLE_MATH 1 -# endif -#endif -#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/mman.h b/lib/libc/include/sparc-linux-gnu/bits/mman.h deleted file mode 100644 index f8a8c978041ffbae648edd6b081976d78d85a876..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/mman.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Definitions for POSIX memory map interface. Linux/SPARC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_MMAN_H -# error "Never use directly; include instead." -#endif - -/* The following definitions basically come from the kernel headers. - But the kernel header is not namespace clean. */ - - -/* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x0800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x0100 /* Lock the mapping. */ -# define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ -# define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ -# define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page - faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap - underlying mapping. */ -#endif - -/* Flags for `mlockall'. */ -#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ -#define MCL_FUTURE 0x4000 /* Lock all additions to address - space. */ -#define MCL_ONFAULT 0x8000 /* Lock all pages that are - faulted in. */ -/* Include generic Linux declarations. */ -#include - -/* Other flags. */ -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/poll.h b/lib/libc/include/sparc-linux-gnu/bits/poll.h deleted file mode 100644 index 7883f8535057116889499d99602f646edf708452..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/poll.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_POLL_H -# error "Never use directly; include instead." -#endif - -/* Event types that can be polled for. These bits may be set in `events' - to indicate the interesting event types; they will appear in `revents' - to indicate the status of the file descriptor. */ -#define POLLIN 0x001 /* There is data to read. */ -#define POLLPRI 0x002 /* There is urgent data to read. */ -#define POLLOUT 0x004 /* Writing now will not block. */ - -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -/* These values are defined in XPG4.2. */ -# define POLLRDNORM 0x040 /* Normal data may be read. */ -# define POLLRDBAND 0x080 /* Priority data may be read. */ -# define POLLWRNORM POLLOUT /* Writing now will not block. */ -# define POLLWRBAND 0x100 /* Priority data may be written. */ -#endif - -#ifdef __USE_GNU -/* These are extensions for Linux. */ -# define POLLMSG 0x200 -# define POLLREMOVE 0x400 -# define POLLRDHUP 0x800 -#endif - -/* Event types always implicitly polled for. These bits need not be set in - `events', but they will appear in `revents' to indicate the status of - the file descriptor. */ -#define POLLERR 0x008 /* Error condition. */ -#define POLLHUP 0x010 /* Hung up. */ -#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h b/lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h deleted file mode 100644 index 570c5de2065b38a197e39157f42ce8f602e393d7..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Extra sys/procfs.h definitions. SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." -#endif - -#if __WORDSIZE == 64 - -/* Provide 32-bit variants so that BFD can read 32-bit - core files. */ -#define ELF_NGREG32 38 -typedef struct - { - union - { - unsigned int pr_regs[32]; - double pr_dregs[16]; - } pr_fr; - unsigned int __glibc_reserved; - unsigned int pr_fsr; - unsigned char pr_qcnt; - unsigned char pr_q_entrysize; - unsigned char pr_en; - unsigned int pr_q[64]; - } elf_fpregset_t32; - -typedef unsigned int elf_greg_t32; -typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32]; - -struct elf_prstatus32 - { - struct elf_siginfo pr_info; /* Info associated with signal. */ - short int pr_cursig; /* Current signal. */ - unsigned int pr_sigpend; /* Set of pending signals. */ - unsigned int pr_sighold; /* Set of held signals. */ - __pid_t pr_pid; - __pid_t pr_ppid; - __pid_t pr_pgrp; - __pid_t pr_sid; - struct - { - int tv_sec, tv_usec; - } pr_utime, /* User time. */ - pr_stime, /* System time. */ - pr_cutime, /* Cumulative user time. */ - pr_cstime; /* Cumulative system time. */ - elf_gregset_t32 pr_reg; /* GP registers. */ - int pr_fpvalid; /* True if math copro being used. */ - }; - -struct elf_prpsinfo32 - { - char pr_state; /* Numeric process state. */ - char pr_sname; /* Char for pr_state. */ - char pr_zomb; /* Zombie. */ - char pr_nice; /* Nice val. */ - unsigned int pr_flag; /* Flags. */ - unsigned short int pr_uid; - unsigned short int pr_gid; - int pr_pid, pr_ppid, pr_pgrp, pr_sid; - /* Lots missing */ - char pr_fname[16]; /* Filename of executable. */ - char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ - }; - -typedef elf_gregset_t32 prgregset32_t; -typedef elf_fpregset_t32 prfpregset32_t; - -typedef struct elf_prstatus32 prstatus32_t; -typedef struct elf_prpsinfo32 prpsinfo32_t; - -#endif /* sparc64 */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/procfs-id.h b/lib/libc/include/sparc-linux-gnu/bits/procfs-id.h deleted file mode 100644 index 3bdb35d0f99ffdc1ad60c5d8f869a868b5d8683c..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/procfs-id.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." -#endif - -#if __WORDSIZE == 64 -typedef unsigned int __pr_uid_t; -typedef unsigned int __pr_gid_t; -#else -typedef unsigned short int __pr_uid_t; -typedef unsigned short int __pr_gid_t; -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/procfs.h b/lib/libc/include/sparc-linux-gnu/bits/procfs.h deleted file mode 100644 index 6217d6f2ff616feeee36dcef78e35d7b23fe3a1a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/procfs.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Types for registers for sys/procfs.h. SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." -#endif - -#include -#include -#include - -#if __WORDSIZE == 64 - -#define ELF_NGREG 36 - -typedef struct - { - unsigned long pr_regs[32]; - unsigned long pr_fsr; - unsigned long pr_gsr; - unsigned long pr_fprs; - } elf_fpregset_t; - -#else /* sparc32 */ - -#define ELF_NGREG 38 - -typedef struct - { - union - { - unsigned long pr_regs[32]; - double pr_dregs[16]; - } pr_fr; - unsigned long __glibc_reserved; - unsigned long pr_fsr; - unsigned char pr_qcnt; - unsigned char pr_q_entrysize; - unsigned char pr_en; - unsigned int pr_q[64]; - } elf_fpregset_t; - -#endif /* sparc32 */ - -typedef unsigned long elf_greg_t; -typedef elf_greg_t elf_gregset_t[ELF_NGREG]; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h deleted file mode 100644 index 220f9fcec31750d04c2d659ae23c66b3fbedc60e..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Definition of PTHREAD_STACK_MIN. Linux/SPARC version. - Copyright (C) 2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ - -/* Minimum size for a thread. We are free to choose a reasonable value. */ -#define PTHREAD_STACK_MIN 24576 \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/resource.h b/lib/libc/include/sparc-linux-gnu/bits/resource.h deleted file mode 100644 index b13aaa86af6c1aca176deb1d99a7cc615dd318f9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/resource.h +++ /dev/null @@ -1,238 +0,0 @@ -/* Bit values & structures for resource limits. Linux/SPARC version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_RESOURCE_H -# error "Never use directly; include instead." -#endif - -#include - -/* Transmute defines to enumerations. The macro re-definitions are - necessary because some programs want to test for operating system - features with #ifdef RUSAGE_SELF. In ISO C the reflexive - definition is a no-op. */ - -/* Kinds of resource limit. */ -enum __rlimit_resource -{ - /* Per-process CPU limit, in seconds. */ - RLIMIT_CPU = 0, -#define RLIMIT_CPU RLIMIT_CPU - - /* Largest file that can be created, in bytes. */ - RLIMIT_FSIZE = 1, -#define RLIMIT_FSIZE RLIMIT_FSIZE - - /* Maximum size of data segment, in bytes. */ - RLIMIT_DATA = 2, -#define RLIMIT_DATA RLIMIT_DATA - - /* Maximum size of stack segment, in bytes. */ - RLIMIT_STACK = 3, -#define RLIMIT_STACK RLIMIT_STACK - - /* Largest core file that can be created, in bytes. */ - RLIMIT_CORE = 4, -#define RLIMIT_CORE RLIMIT_CORE - - /* Largest resident set size, in bytes. - This affects swapping; processes that are exceeding their - resident set size will be more likely to have physical memory - taken from them. */ - __RLIMIT_RSS = 5, -#define RLIMIT_RSS __RLIMIT_RSS - - /* Number of open files. */ - RLIMIT_NOFILE = 6, - __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ -#define RLIMIT_NOFILE RLIMIT_NOFILE -#define RLIMIT_OFILE __RLIMIT_OFILE - - /* Address space limit (?) */ - RLIMIT_AS = 9, -#define RLIMIT_AS RLIMIT_AS - - /* Number of processes. */ - __RLIMIT_NPROC = 7, -#define RLIMIT_NPROC __RLIMIT_NPROC - - /* Locked-in-memory address space. */ - __RLIMIT_MEMLOCK = 8, -#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK - - /* Maximum number of file locks. */ - __RLIMIT_LOCKS = 10, -#define RLIMIT_LOCKS __RLIMIT_LOCKS - - /* Maximum number of pending signals. */ - __RLIMIT_SIGPENDING = 11, -#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING - - /* Maximum bytes in POSIX message queues. */ - __RLIMIT_MSGQUEUE = 12, -#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE - - /* Maximum nice priority allowed to raise to. - Nice levels 19 .. -20 correspond to 0 .. 39 - values of this resource limit. */ - __RLIMIT_NICE = 13, -#define RLIMIT_NICE __RLIMIT_NICE - - /* Maximum realtime priority allowed for non-priviledged - processes. */ - __RLIMIT_RTPRIO = 14, -#define RLIMIT_RTPRIO __RLIMIT_RTPRIO - - /* Maximum CPU time in microseconds that a process scheduled under a real-time - scheduling policy may consume without making a blocking system - call before being forcibly descheduled. */ - __RLIMIT_RTTIME = 15, -#define RLIMIT_RTTIME __RLIMIT_RTTIME - - __RLIMIT_NLIMITS = 16, - __RLIM_NLIMITS = __RLIMIT_NLIMITS -#define RLIMIT_NLIMITS __RLIMIT_NLIMITS -#define RLIM_NLIMITS __RLIM_NLIMITS -}; - -/* Value to indicate that there is no limit. */ -#if __WORDSIZE == 64 - -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((unsigned long int)(~0UL)) -#else -# define RLIM_INFINITY 0xffffffffffffffffuLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0xffffffffffffffffuLL -#endif - -#else - -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((long int)(~0UL >> 1)) -#else -# define RLIM_INFINITY 0xffffffffffffffffLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0xffffffffffffffffLL -#endif - -#endif - -/* We can represent all limits. */ -#define RLIM_SAVED_MAX RLIM_INFINITY -#define RLIM_SAVED_CUR RLIM_INFINITY - - -/* Type for resource quantity measurement. */ -#ifndef __USE_FILE_OFFSET64 -typedef __rlim_t rlim_t; -#else -typedef __rlim64_t rlim_t; -#endif -#ifdef __USE_LARGEFILE64 -typedef __rlim64_t rlim64_t; -#endif - -struct rlimit - { - /* The current (soft) limit. */ - rlim_t rlim_cur; - /* The hard limit. */ - rlim_t rlim_max; - }; - -#ifdef __USE_LARGEFILE64 -struct rlimit64 - { - /* The current (soft) limit. */ - rlim64_t rlim_cur; - /* The hard limit. */ - rlim64_t rlim_max; - }; -#endif - -/* Whose usage statistics do you want? */ -enum __rusage_who -{ - /* The calling process. */ - RUSAGE_SELF = 0, -#define RUSAGE_SELF RUSAGE_SELF - - /* All of its terminated child processes. */ - RUSAGE_CHILDREN = -1 -#define RUSAGE_CHILDREN RUSAGE_CHILDREN - -#ifdef __USE_GNU - , - /* The calling thread. */ - RUSAGE_THREAD = 1 -# define RUSAGE_THREAD RUSAGE_THREAD - /* Name for the same functionality on Solaris. */ -# define RUSAGE_LWP RUSAGE_THREAD -#endif -}; - -#include -#include - -/* Priority limits. */ -#define PRIO_MIN -20 /* Minimum priority a process can have. */ -#define PRIO_MAX 20 /* Maximum priority a process can have. */ - -/* The type of the WHICH argument to `getpriority' and `setpriority', - indicating what flavor of entity the WHO argument specifies. */ -enum __priority_which -{ - PRIO_PROCESS = 0, /* WHO is a process ID. */ -#define PRIO_PROCESS PRIO_PROCESS - PRIO_PGRP = 1, /* WHO is a process group ID. */ -#define PRIO_PGRP PRIO_PGRP - PRIO_USER = 2 /* WHO is a user ID. */ -#define PRIO_USER PRIO_USER -}; - -__BEGIN_DECLS - -#ifdef __USE_GNU -/* Modify and return resource limits of a process atomically. */ -# ifndef __USE_FILE_OFFSET64 -extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, - const struct rlimit *__new_limit, - struct rlimit *__old_limit) __THROW; -# else -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, - enum __rlimit_resource __resource, - const struct rlimit *__new_limit, - struct rlimit *__old_limit), prlimit64); -# else -# define prlimit prlimit64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, - const struct rlimit64 *__new_limit, - struct rlimit64 *__old_limit) __THROW; -# endif -#endif - -__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/setjmp.h b/lib/libc/include/sparc-linux-gnu/bits/setjmp.h deleted file mode 100644 index e7c1964e13634b345cea4b2d8948a09fcd06d317..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/setjmp.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SETJMP_H -#define _BITS_SETJMP_H 1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include directly; use instead." -#endif - -#include - -#if __WORDSIZE == 64 - -#ifndef _ASM -typedef struct __sparc64_jmp_buf - { - struct __sparc64_jmp_buf *__uc_link; - unsigned long __uc_flags; - unsigned long __uc_sigmask; - struct __sparc64_jmp_buf_mcontext - { - unsigned long __mc_gregs[19]; - unsigned long __mc_fp; - unsigned long __mc_i7; - struct __sparc64_jmp_buf_fpu - { - union - { - unsigned int __sregs[32]; - unsigned long __dregs[32]; - long double __qregs[16]; - } __mcfpu_fpregs; - unsigned long __mcfpu_fprs; - unsigned long __mcfpu_gsr; - void *__mcfpu_fq; - unsigned char __mcfpu_qcnt; - unsigned char __mcfpu_qentsz; - unsigned char __mcfpu_enab; - } __mc_fpregs; - } __uc_mcontext; - } __jmp_buf[1]; -#endif - -#else - -#ifndef _ASM -typedef int __jmp_buf[3]; -#endif - -#endif - -#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/shmlba.h b/lib/libc/include/sparc-linux-gnu/bits/shmlba.h deleted file mode 100644 index 0a04d45b51671ef996414e7e70beae478c1b0bc9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/shmlba.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Define SHMLBA. SPARC version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SHM_H -# error "Never use directly; include instead." -#endif - -__BEGIN_DECLS - -/* Segment low boundary address multiple. */ -#define SHMLBA (__getshmlba ()) -extern int __getshmlba (void) __attribute__ ((__const__)); - -__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/sigaction.h b/lib/libc/include/sparc-linux-gnu/bits/sigaction.h deleted file mode 100644 index c81f76e78b96f1d124436f2c590a7eb2dc7e08cc..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/sigaction.h +++ /dev/null @@ -1,89 +0,0 @@ -/* The proper definitions for Linux/SPARC sigaction. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGACTION_H -#define _BITS_SIGACTION_H 1 - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -#include - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ -#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED - union - { - /* Used if SA_SIGINFO is not set. */ - __sighandler_t sa_handler; - /* Used if SA_SIGINFO is set. */ - void (*sa_sigaction) (int, siginfo_t *, void *); - } - __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction -#else - __sighandler_t sa_handler; -#endif - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ -#if __WORDSIZE == 64 - int __glibc_reserved0; -#endif - int sa_flags; - - /* Not used by Linux/Sparc yet. */ - void (*sa_restorer) (void); - }; - - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */ -#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */ -#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with - three arguments instead of one. */ -#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC -# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ -#endif -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ -# define SA_NODEFER 0x00000020 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler. */ -#endif -#ifdef __USE_MISC -# define SA_INTERRUPT 0x00000010 /* Historical no-op. */ - -/* Some aliases for the SA_ constants. */ -# define SA_NOMASK SA_NODEFER -# define SA_ONESHOT SA_RESETHAND -# define SA_STACK SA_ONSTACK -#endif - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ -#define SIG_SETMASK 4 /* Set the set of blocked signals. */ - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h b/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h deleted file mode 100644 index 0176699a882d8a8bbca829b001fd60c7bec4e985..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGCONTEXT_H -#define _BITS_SIGCONTEXT_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use directly; include instead." -#endif - -#include - -#if __WORDSIZE == 32 - -/* It is quite hard to choose what to put here, because - Linux/sparc32 had at least 3 totally incompatible - signal stack layouts. - This one is for the "new" style signals, which are - now delivered unless SA_SIGINFO is requested. */ - -struct sigcontext - { - struct - { - unsigned int psr; - unsigned int pc; - unsigned int npc; - unsigned int y; - unsigned int u_regs[16]; /* globals and ins */ - } si_regs; - int si_mask; - }; - -#else /* sparc64 */ - -typedef struct - { - unsigned int si_float_regs [64]; - unsigned long si_fsr; - unsigned long si_gsr; - unsigned long si_fprs; - } __siginfo_fpu_t; - -struct sigcontext - { - char sigc_info[128]; - struct - { - unsigned long u_regs[16]; /* globals and ins */ - unsigned long tstate; - unsigned long tpc; - unsigned long tnpc; - unsigned int y; - unsigned int fprs; - } sigc_regs; - __siginfo_fpu_t * sigc_fpu_save; - struct - { - void * ss_sp; - int ss_flags; - unsigned long ss_size; - } sigc_stack; - unsigned long sigc_mask; -}; - -#endif /* sparc64 */ - -#endif /* bits/sigcontext.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/siginfo-arch.h b/lib/libc/include/sparc-linux-gnu/bits/siginfo-arch.h deleted file mode 100644 index f3360b0cca12925288f4437c08205e856b2400f5..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/siginfo-arch.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Architecture-specific adjustments to siginfo_t. SPARC version. */ -#ifndef _BITS_SIGINFO_ARCH_H -#define _BITS_SIGINFO_ARCH_H 1 - -/* The kernel uses int instead of long int (as in POSIX). In 32-bit - mode, we can still use long int, but in 64-bit mode, we need to - deviate from POSIX. */ -#if __WORDSIZE == 64 -# define __SI_BAND_TYPE int -#endif - -#define __SI_SIGFAULT_ADDL \ - int _si_trapno; - -#define si_trapno _sifields._sigfault._si_trapno - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/siginfo-consts-arch.h b/lib/libc/include/sparc-linux-gnu/bits/siginfo-consts-arch.h deleted file mode 100644 index a1dd324ec7f6fa104da0977caf7f431a78097e06..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/siginfo-consts-arch.h +++ /dev/null @@ -1,12 +0,0 @@ -/* Architecture-specific additional siginfo constants. SPARC version. */ -#ifndef _BITS_SIGINFO_CONSTS_ARCH_H -#define _BITS_SIGINFO_CONSTS_ARCH_H 1 - -/* `si_code' values for SIGEMT signal. */ -enum -{ - EMT_TAGOVF = 1 /* Tag overflow. */ -#define EMT_TAGOVF EMT_TAGOVF -}; - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/signalfd.h b/lib/libc/include/sparc-linux-gnu/bits/signalfd.h deleted file mode 100644 index c2c5bc4462f1fa059e326086e7768e94c546505f..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/signalfd.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SIGNALFD_H -# error "Never use directly; include instead." -#endif - -/* Flags for signalfd. */ -enum - { - SFD_CLOEXEC = 0x400000, -#define SFD_CLOEXEC SFD_CLOEXEC - SFD_NONBLOCK = 0x004000 -#define SFD_NONBLOCK SFD_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/signum-arch.h b/lib/libc/include/sparc-linux-gnu/bits/signum-arch.h deleted file mode 100644 index f7a416223ceeff16c934b515d2328cc86867d2ff..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/signum-arch.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Signal number definitions. Linux/SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGNUM_ARCH_H -#define _BITS_SIGNUM_ARCH_H 1 - -#ifndef _SIGNAL_H -#error "Never include directly; use instead." -#endif - -/* Adjustments and additions to the signal number constants for - Linux/SPARC systems. Signal values on this platform were chosen - for SunOS binary compatibility. */ - -#define SIGEMT 7 /* Emulator trap. */ -#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */ -#define SIGPWR SIGLOST /* Power failure imminent (SysV). */ - -/* Historical signals specified by POSIX. */ -#define SIGBUS 10 /* Bus error. */ -#define SIGSYS 12 /* Bad system call. */ - -/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ -#define SIGURG 16 /* Urgent data is available at a socket. */ -#define SIGSTOP 17 /* Stop, unblockable. */ -#define SIGTSTP 18 /* Keyboard stop. */ -#define SIGCONT 19 /* Continue. */ -#define SIGCHLD 20 /* Child terminated or stopped. */ -#define SIGTTIN 21 /* Background read from control terminal. */ -#define SIGTTOU 22 /* Background write to control terminal. */ -#define SIGPOLL 23 /* Pollable event occurred (System V). */ -#define SIGXCPU 24 /* CPU time limit exceeded. */ -#define SIGVTALRM 26 /* Virtual timer expired. */ -#define SIGPROF 27 /* Profiling timer expired. */ -#define SIGXFSZ 25 /* File size limit exceeded. */ -#define SIGUSR1 30 /* User-defined signal 1. */ -#define SIGUSR2 31 /* User-defined signal 2. */ - -/* Nonstandard signals found in all modern POSIX systems - (including both BSD and Linux). */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ - -/* Archaic names for compatibility. */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ -#define SIGCLD SIGCHLD /* Old System V name */ - -#define __SIGRTMIN 32 -#define __SIGRTMAX 64 - -#endif /* included. */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/sigstack.h b/lib/libc/include/sparc-linux-gnu/bits/sigstack.h deleted file mode 100644 index f2371950e290c1427a9758287af0be999b05047d..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/sigstack.h +++ /dev/null @@ -1,32 +0,0 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGSTACK_H -#define _BITS_SIGSTACK_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never include this file directly. Use instead" -#endif - -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 4096 - -/* System default stack size. */ -#define SIGSTKSZ 16384 - -#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h b/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h deleted file mode 100644 index 177bd23494bdb8f195dbb37733994aecb14ce452..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h +++ /dev/null @@ -1,70 +0,0 @@ -/* Socket constants which vary among Linux architectures. Version for SPARC. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SOCKET_H -# error "Never include directly; use instead." -#endif - -#define SOL_SOCKET 65535 -#define SO_ACCEPTCONN 32768 -#define SO_BROADCAST 32 -#define SO_DONTROUTE 16 -#define SO_ERROR 4103 -#define SO_KEEPALIVE 8 -#define SO_LINGER 128 -#define SO_OOBINLINE 256 -#define SO_RCVBUF 4098 -#define SO_RCVLOWAT 2048 -#define SO_REUSEADDR 4 -#define SO_SNDBUF 4097 -#define SO_SNDLOWAT 4096 -#define SO_TYPE 4104 - -#if __TIMESIZE == 64 -# define SO_RCVTIMEO 8192 -# define SO_SNDTIMEO 16384 -# define SO_TIMESTAMP 29 -# define SO_TIMESTAMPNS 33 -# define SO_TIMESTAMPING 35 -#else -# define SO_RCVTIMEO_OLD 8192 -# define SO_SNDTIMEO_OLD 16384 -# define SO_RCVTIMEO_NEW 68 -# define SO_SNDTIMEO_NEW 69 - -# define SO_TIMESTAMP_OLD 0x001d -# define SO_TIMESTAMPNS_OLD 0x0021 -# define SO_TIMESTAMPING_OLD 0x0023 -# define SO_TIMESTAMP_NEW 0x0046 -# define SO_TIMESTAMPNS_NEW 0x0042 -# define SO_TIMESTAMPING_NEW 0x0043 - -# ifdef __USE_TIME_BITS64 -# define SO_RCVTIMEO SO_RCVTIMEO_NEW -# define SO_SNDTIMEO SO_SNDTIMEO_NEW -# define SO_TIMESTAMP SO_TIMESTAMP_NEW -# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW -# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW -# else -# define SO_RCVTIMEO SO_RCVTIMEO_OLD -# define SO_SNDTIMEO SO_SNDTIMEO_OLD -# define SO_TIMESTAMP SO_TIMESTAMP_OLD -# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD -# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD -# endif -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/socket_type.h b/lib/libc/include/sparc-linux-gnu/bits/socket_type.h deleted file mode 100644 index 16f1604498fb02752b7ff28eff973b173d24f9e7..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/socket_type.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Define enum __socket_type for Linux/SPARC. - Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SOCKET_H -# error "Never include directly; use instead." -#endif - -/* Types of sockets. */ -enum __socket_type -{ - SOCK_STREAM = 1, /* Sequenced, reliable, connection-based - byte streams. */ -#define SOCK_STREAM SOCK_STREAM - SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams - of fixed maximum length. */ -#define SOCK_DGRAM SOCK_DGRAM - SOCK_RAW = 3, /* Raw protocol interface. */ -#define SOCK_RAW SOCK_RAW - SOCK_RDM = 4, /* Reliably-delivered messages. */ -#define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, - datagrams of fixed maximum length. */ -#define SOCK_SEQPACKET SOCK_SEQPACKET - SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ -#define SOCK_DCCP SOCK_DCCP - SOCK_PACKET = 10, /* Linux specific way of getting packets - at the dev level. For writing rarp and - other similar things on the user level. */ -#define SOCK_PACKET SOCK_PACKET - - /* Flags to be ORed into the type parameter of socket and socketpair and - used for the flags parameter of paccept. */ - - SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the - new descriptor(s). */ -#define SOCK_CLOEXEC SOCK_CLOEXEC - SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as - non-blocking. */ -#define SOCK_NONBLOCK SOCK_NONBLOCK -}; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h deleted file mode 100644 index 01b8d4b742d5a17f19faec2dbb475637b185e868..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h +++ /dev/null @@ -1,58 +0,0 @@ -/* SPARC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _RWLOCK_INTERNAL_H -#define _RWLOCK_INTERNAL_H - -struct __pthread_rwlock_arch_t -{ - unsigned int __readers; - unsigned int __writers; - unsigned int __wrphase_futex; - unsigned int __writers_futex; - unsigned int __pad3; - unsigned int __pad4; -#if __WORDSIZE == 64 - int __cur_writer; - int __shared; - unsigned long int __pad1; - unsigned long int __pad2; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned int __flags; -#else - unsigned char __pad1; - unsigned char __pad2; - unsigned char __shared; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned char __flags; - int __cur_writer; -#endif -}; - -#if __WORDSIZE == 64 -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags -#else -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/struct_stat.h b/lib/libc/include/sparc-linux-gnu/bits/struct_stat.h deleted file mode 100644 index 5cf20aac064e104ee985afbe20ef2d815a83f386..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/struct_stat.h +++ /dev/null @@ -1,131 +0,0 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#if !defined _SYS_STAT_H && !defined _FCNTL_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_STRUCT_STAT_H -#define _BITS_STRUCT_STAT_H 1 - -#include -#include - -struct stat - { - __dev_t st_dev; /* Device. */ -#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 - unsigned short int __pad1; - __ino_t st_ino; /* File serial number. */ -#else - __ino64_t st_ino; /* File serial number. */ -#endif - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; -#ifndef __USE_FILE_OFFSET64 - __off_t st_size; /* Size of file, in bytes. */ -#else - __off64_t st_size; /* Size of file, in bytes. */ -#endif - __blksize_t st_blksize; /* Optimal block size for I/O. */ - -#ifndef __USE_FILE_OFFSET64 - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ -#else - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -#endif -#ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif - unsigned long int __glibc_reserved4; - unsigned long int __glibc_reserved5; - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - __dev_t st_dev; /* Device. */ -# if __WORDSIZE == 64 - unsigned short int __pad1; -# endif - __ino64_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; - __off64_t st_size; /* Size of file, in bytes. */ - __blksize_t st_blksize; /* Optimal block size for I/O. */ - - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -# ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -# else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -# endif - unsigned long int __glibc_reserved4; - unsigned long int __glibc_reserved5; - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV -/* Nanosecond resolution time values are supported. */ -#define _STATBUF_ST_NSEC - -#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/termios-baud.h b/lib/libc/include/sparc-linux-gnu/bits/termios-baud.h deleted file mode 100644 index f12fccaa0b059cca2a6aad109d17ff08932555ea..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/termios-baud.h +++ /dev/null @@ -1,46 +0,0 @@ -/* termios baud rate selection definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -#ifdef __USE_MISC -# define CBAUD 0x0000100f -# define CBAUDEX 0x00001000 -# define CIBAUD 0x100f0000 /* input baud rate (not used) */ -# define CMSPAR 0x40000000 /* mark or space (stick) parity */ -# define CRTSCTS 0x80000000 /* flow control */ -#endif - -#define B57600 0x00001001 -#define B115200 0x00001002 -#define B230400 0x00001003 -#define B460800 0x00001004 -#define B76800 0x00001005 -#define B153600 0x00001006 -#define B307200 0x00001007 -#define B614400 0x00001008 -#define B921600 0x00001009 -#define B500000 0x0000100a -#define B576000 0x0000100b -#define B1000000 0x0000100c -#define B1152000 0x0000100d -#define B1500000 0x0000100e -#define B2000000 0x0000100f -#define __MAX_BAUD B2000000 \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h deleted file mode 100644 index c91028b51990b42140edee4805851066b859765a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h +++ /dev/null @@ -1,43 +0,0 @@ -/* termios c_cc symbolic constant definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_cc characters */ -#define VINTR 0 -#define VQUIT 1 -#define VERASE 2 -#define VKILL 3 -#define VEOF 4 -#define VEOL 5 -#define VEOL2 6 -#define VSWTC 7 -#define VSTART 8 -#define VSTOP 9 -#define VSUSP 10 -#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */ -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT 15 - -/* User apps assume vmin/vtime is shared with eof/eol */ -#define VMIN VEOF -#define VTIME VEOL \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h deleted file mode 100644 index c20f5d876f4b8de57120dd57b3401e3b456324c8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h +++ /dev/null @@ -1,64 +0,0 @@ -/* termios output mode definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_oflag bits */ -#define OPOST 0x00000001 -#define OLCUC 0x00000002 -#define ONLCR 0x00000004 -#define OCRNL 0x00000008 -#define ONOCR 0x00000010 -#define ONLRET 0x00000020 -#define OFILL 0x00000040 -#define OFDEL 0x00000080 -#if defined __USE_MISC || defined __USE_XOPEN -# define NLDLY 0x00000100 -# define NL0 0x00000000 -# define NL1 0x00000100 -# define CRDLY 0x00000600 -# define CR0 0x00000000 -# define CR1 0x00000200 -# define CR2 0x00000400 -# define CR3 0x00000600 -# define TABDLY 0x00001800 -# define TAB0 0x00000000 -# define TAB1 0x00000800 -# define TAB2 0x00001000 -# define TAB3 0x00001800 -# define BSDLY 0x00002000 -# define BS0 0x00000000 -# define BS1 0x00002000 -#define FFDLY 0x00008000 -#define FF0 0x00000000 -#define FF1 0x00008000 -#endif -#define VTDLY 0x00004000 -#define VT0 0x00000000 -#define VT1 0x00004000 - -# if defined __USE_GNU -#define PAGEOUT 0x00010000 /* SUNOS specific */ -#define WRAP 0x00020000 /* SUNOS specific */ -# endif - -#ifdef __USE_MISC -# define XTABS 0x00001800 -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/termios-struct.h b/lib/libc/include/sparc-linux-gnu/bits/termios-struct.h deleted file mode 100644 index 3ba93c65cabea801ee4c5242b3c5dbc75c30c097..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/termios-struct.h +++ /dev/null @@ -1,34 +0,0 @@ -/* struct termios definition. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -#define NCCS 17 -struct termios - { - tcflag_t c_iflag; /* input mode flags */ - tcflag_t c_oflag; /* output mode flags */ - tcflag_t c_cflag; /* control mode flags */ - tcflag_t c_lflag; /* local mode flags */ - cc_t c_line; /* line discipline */ - cc_t c_cc[NCCS]; /* control characters */ -#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 -#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/timerfd.h b/lib/libc/include/sparc-linux-gnu/bits/timerfd.h deleted file mode 100644 index 127510fa662e4b25d4fd703c10c21f1fb5eccdca..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/timerfd.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_TIMERFD_H -# error "Never use directly; include instead." -#endif - -/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ -enum - { - TFD_CLOEXEC = 0x400000, -#define TFD_CLOEXEC TFD_CLOEXEC - TFD_NONBLOCK = 0x004000 -#define TFD_NONBLOCK TFD_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h deleted file mode 100644 index d56c69e62f55a0d419bfb2bea00337dd43778de1..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Linux/SPARC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_MSG_H -# error "Never use directly; include instead." -#endif - -#include - -/* Structure of record for one message inside the kernel. - The type `struct msg' is opaque. */ -struct msqid_ds -{ -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm msg_perm; /* structure describing operation permission */ -# if __TIMESIZE == 32 - unsigned long int __msg_stime_high; - __time_t msg_stime; /* time of last msgsnd command */ - unsigned long int __msg_rtime_high; - __time_t msg_rtime; /* time of last msgsnd command */ - unsigned long int __msg_ctime_high; - __time_t msg_ctime; /* time of last change */ -# else - __time_t msg_stime; /* time of last msgsnd command */ - __time_t msg_rtime; /* time of last msgsnd command */ - __time_t msg_ctime; /* time of last change */ -# endif - __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ - msgqnum_t msg_qnum; /* number of messages currently on queue */ - msglen_t msg_qbytes; /* max number of bytes allowed on queue */ - __pid_t msg_lspid; /* pid of last msgsnd() */ - __pid_t msg_lrpid; /* pid of last msgrcv() */ - __syscall_ulong_t __glibc_reserved4; - __syscall_ulong_t __glibc_reserved5; -#endif -}; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h deleted file mode 100644 index 1eebddfb1571208d82fd7fe8d8797cff167383a9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Sparc implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SEM_H -# error "Never include directly; use instead." -#endif - -/* Data structure describing a set of semaphores. */ -struct semid_ds -{ -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm sem_perm; /* operation permission struct */ -# if __TIMESIZE == 32 - __syscall_ulong_t __sem_otime_high; - __time_t sem_otime; /* last semop() time */ - __syscall_ulong_t __sem_ctime_high; - __time_t sem_ctime; /* last time changed by semctl() */ -# else - __time_t sem_otime; /* last semop() time */ - __time_t sem_ctime; /* last time changed by semctl() */ -# endif - __syscall_ulong_t sem_nsems; /* number of semaphores in set */ - __syscall_ulong_t __glibc_reserved3; - __syscall_ulong_t __glibc_reserved4; -#endif -}; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h deleted file mode 100644 index 25d101b362088d8922a204125c0803e13f4f02c8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Linux/SPARC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SHM_H -# error "Never include directly; use instead." -#endif - -/* Data structure describing a shared memory segment. */ -struct shmid_ds - { -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm shm_perm; /* operation permission struct */ -# if __TIMESIZE == 32 - unsigned long int __shm_atime_high; - __time_t shm_atime; /* time of last shmat() */ - unsigned long int __shm_dtime_high; - __time_t shm_dtime; /* time of last shmdt() */ - unsigned long int __shm_ctime_high; - __time_t shm_ctime; /* time of last change by shmctl() */ -# else - __time_t shm_atime; /* time of last shmat() */ - __time_t shm_dtime; /* time of last shmdt() */ - __time_t shm_ctime; /* time of last change by shmctl() */ -# endif - size_t shm_segsz; /* size of segment in bytes */ - __pid_t shm_cpid; /* pid of creator */ - __pid_t shm_lpid; /* pid of last shmop */ - shmatt_t shm_nattch; /* number of current attaches */ - __syscall_ulong_t __glibc_reserved5; - __syscall_ulong_t __glibc_reserved6; -#endif - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/typesizes.h b/lib/libc/include/sparc-linux-gnu/bits/typesizes.h deleted file mode 100644 index 1035ac097ba862ca6191ed9f154ef77a2ad7708b..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/typesizes.h +++ /dev/null @@ -1,95 +0,0 @@ -/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_TYPES_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_TYPESIZES_H -#define _BITS_TYPESIZES_H 1 - -/* See for the meaning of these macros. This file exists so - that need not vary across different GNU platforms. */ - -#define __DEV_T_TYPE __UQUAD_TYPE -#define __UID_T_TYPE __U32_TYPE -#define __GID_T_TYPE __U32_TYPE -#define __INO_T_TYPE __ULONGWORD_TYPE -#define __INO64_T_TYPE __UQUAD_TYPE -#define __MODE_T_TYPE __U32_TYPE -#define __NLINK_T_TYPE __U32_TYPE -#define __OFF_T_TYPE __SLONGWORD_TYPE -#define __OFF64_T_TYPE __SQUAD_TYPE -#define __PID_T_TYPE __S32_TYPE -#define __RLIM_T_TYPE __ULONGWORD_TYPE -#define __RLIM64_T_TYPE __UQUAD_TYPE -#define __BLKCNT_T_TYPE __SLONGWORD_TYPE -#define __BLKCNT64_T_TYPE __SQUAD_TYPE -#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE -#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE -#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE -#define __FSFILCNT64_T_TYPE __UQUAD_TYPE -#define __FSWORD_T_TYPE __SWORD_TYPE -#define __ID_T_TYPE __U32_TYPE -#define __CLOCK_T_TYPE __SLONGWORD_TYPE -#define __TIME_T_TYPE __SLONGWORD_TYPE -#define __USECONDS_T_TYPE __U32_TYPE -#define __SUSECONDS_T_TYPE __S32_TYPE -#define __SUSECONDS64_T_TYPE __SQUAD_TYPE -#define __DADDR_T_TYPE __S32_TYPE -#define __KEY_T_TYPE __S32_TYPE -#define __CLOCKID_T_TYPE __S32_TYPE -#define __TIMER_T_TYPE void * -#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE -#define __FSID_T_TYPE struct { int __val[2]; } -#define __SSIZE_T_TYPE __SWORD_TYPE -#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE -#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE -#define __CPU_MASK_TYPE __ULONGWORD_TYPE - -#if defined __arch64__ || defined __sparcv9 -/* Tell the libc code that off_t and off64_t are actually the same type - for all ABI purposes, even if possibly expressed as different base types - for C type-checking purposes. */ -# define __OFF_T_MATCHES_OFF64_T 1 - -/* Same for ino_t and ino64_t. */ -# define __INO_T_MATCHES_INO64_T 1 - -/* And for __rlim_t and __rlim64_t. */ -# define __RLIM_T_MATCHES_RLIM64_T 1 - -/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ -# define __STATFS_MATCHES_STATFS64 1 - -/* And for getitimer, setitimer and rusage */ -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 -#else -# define __RLIM_T_MATCHES_RLIM64_T 0 - -# define __STATFS_MATCHES_STATFS64 0 - -/* And for getitimer, setitimer and rusage */ -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 -#endif - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/wordsize.h b/lib/libc/include/sparc-linux-gnu/bits/wordsize.h deleted file mode 100644 index e08131d42361abf40adec92539cfff1d9696cccf..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/wordsize.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Determine the wordsize from the preprocessor defines. */ - -#if defined __arch64__ || defined __sparcv9 -# define __WORDSIZE 64 -# define __WORDSIZE_TIME64_COMPAT32 1 -#else -# define __WORDSIZE 32 -# define __WORDSIZE32_SIZE_ULONG 0 -# define __WORDSIZE32_PTRDIFF_LONG 0 -# define __WORDSIZE_TIME64_COMPAT32 0 -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/fpu_control.h b/lib/libc/include/sparc-linux-gnu/fpu_control.h deleted file mode 100644 index 4dd8dc0c987e1581e96be24e5f4c67b342cf03c6..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/fpu_control.h +++ /dev/null @@ -1,72 +0,0 @@ -/* FPU control word bits. SPARC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Miguel de Icaza - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FPU_CONTROL_H -#define _FPU_CONTROL_H 1 - - -#include -#include - -/* masking of interrupts */ -#define _FPU_MASK_IM 0x08000000 -#define _FPU_MASK_OM 0x04000000 -#define _FPU_MASK_UM 0x02000000 -#define _FPU_MASK_ZM 0x01000000 -#define _FPU_MASK_PM 0x00800000 - -/* precision control */ -#define _FPU_EXTENDED 0x00000000 /* RECOMMENDED */ -#define _FPU_DOUBLE 0x20000000 -#define _FPU_80BIT 0x30000000 -#define _FPU_SINGLE 0x10000000 /* DO NOT USE */ - -/* rounding control / Sparc */ -#define _FPU_RC_DOWN 0xc0000000 -#define _FPU_RC_UP 0x80000000 -#define _FPU_RC_ZERO 0x40000000 -#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ - -#define _FPU_RESERVED 0x30300000 /* Reserved bits in cw */ - - -/* Now two recommended cw */ - -/* Linux and IEEE default: - - extended precision - - rounding to nearest - - no exceptions */ -#define _FPU_DEFAULT 0x0 -#define _FPU_IEEE 0x0 - -/* Type of the control word. */ -typedef unsigned long int fpu_control_t; - -#if __WORDSIZE == 64 -# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw)) -# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw)) -#else -# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw)) -# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw)) -#endif - -/* Default control word set at startup. */ -extern fpu_control_t __fpu_control; - -#endif /* fpu_control.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h b/lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h deleted file mode 100644 index c76c33569f40195c103140bea95766e16216e3bf..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h +++ /dev/null @@ -1,30 +0,0 @@ -/* This file is automatically generated. */ -#ifndef __GNU_LIB_NAMES_H -# error "Never use directly; include instead." -#endif - -#define LD_LINUX_SO "ld-linux.so.2" -#define LD_SO "ld-linux.so.2" -#define LIBANL_SO "libanl.so.1" -#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" -#define LIBCRYPT_SO "libcrypt.so.1" -#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" -#define LIBC_SO "libc.so.6" -#define LIBDL_SO "libdl.so.2" -#define LIBGCC_S_SO "libgcc_s.so.1" -#define LIBMVEC_SO "libmvec.so.1" -#define LIBM_SO "libm.so.6" -#define LIBNSL_SO "libnsl.so.1" -#define LIBNSS_COMPAT_SO "libnss_compat.so.2" -#define LIBNSS_DB_SO "libnss_db.so.2" -#define LIBNSS_DNS_SO "libnss_dns.so.2" -#define LIBNSS_FILES_SO "libnss_files.so.2" -#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" -#define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" -#define LIBPTHREAD_SO "libpthread.so.0" -#define LIBRESOLV_SO "libresolv.so.2" -#define LIBRT_SO "librt.so.1" -#define LIBTHREAD_DB_SO "libthread_db.so.1" -#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/gnu/lib-names.h b/lib/libc/include/sparc-linux-gnu/gnu/lib-names.h deleted file mode 100644 index ad6471507a48c834a5c8cbc13cd851c2e20b74b9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/gnu/lib-names.h +++ /dev/null @@ -1,16 +0,0 @@ -/* This file is automatically generated. - It defines macros to allow user program to find the shared - library files which come as part of GNU libc. */ -#ifndef __GNU_LIB_NAMES_H -#define __GNU_LIB_NAMES_H 1 - -#include - -#if __WORDSIZE == 32 -# include -#endif -#if __WORDSIZE == 64 -# include -#endif - -#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/gnu/stubs.h b/lib/libc/include/sparc-linux-gnu/gnu/stubs.h deleted file mode 100644 index 120171a87ae7a525497cffc5786ed0383b47ca33..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/gnu/stubs.h +++ /dev/null @@ -1,12 +0,0 @@ -/* This file is automatically generated. - This file selects the right generated file of `__stub_FUNCTION' macros - based on the architecture being compiled for. */ - -#include - -#if __WORDSIZE == 32 -# include -#endif -#if __WORDSIZE == 64 -# include -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/ieee754.h b/lib/libc/include/sparc-linux-gnu/ieee754.h deleted file mode 100644 index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/ieee754.h +++ /dev/null @@ -1,170 +0,0 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _IEEE754_H -#define _IEEE754_H 1 - -#include - -#include - -__BEGIN_DECLS - -union ieee754_float - { - float f; - - /* This is the IEEE 754 single-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:8; - unsigned int mantissa:23; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int mantissa:23; - unsigned int exponent:8; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:8; - unsigned int quiet_nan:1; - unsigned int mantissa:22; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int mantissa:22; - unsigned int quiet_nan:1; - unsigned int exponent:8; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee_nan; - }; - -#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ - - -union ieee754_double - { - double d; - - /* This is the IEEE 754 double-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:11; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:20; - unsigned int mantissa1:32; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - /* Together these comprise the mantissa. */ - unsigned int mantissa1:32; - unsigned int mantissa0:20; - unsigned int exponent:11; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:11; - unsigned int quiet_nan:1; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:19; - unsigned int mantissa1:32; -#else - /* Together these comprise the mantissa. */ - unsigned int mantissa1:32; - unsigned int mantissa0:19; - unsigned int quiet_nan:1; - unsigned int exponent:11; - unsigned int negative:1; -#endif - } ieee_nan; - }; - -#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ - - -union ieee854_long_double - { - long double d; - - /* This is the IEEE 854 quad-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:15; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:16; - unsigned int mantissa1:32; - unsigned int mantissa2:32; - unsigned int mantissa3:32; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - /* Together these comprise the mantissa. */ - unsigned int mantissa3:32; - unsigned int mantissa2:32; - unsigned int mantissa1:32; - unsigned int mantissa0:16; - unsigned int exponent:15; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:15; - unsigned int quiet_nan:1; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:15; - unsigned int mantissa1:32; - unsigned int mantissa2:32; - unsigned int mantissa3:32; -#else - /* Together these comprise the mantissa. */ - unsigned int mantissa3:32; - unsigned int mantissa2:32; - unsigned int mantissa1:32; - unsigned int mantissa0:15; - unsigned int quiet_nan:1; - unsigned int exponent:15; - unsigned int negative:1; -#endif - } ieee_nan; - }; - -#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ - -__END_DECLS - -#endif /* ieee754.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/sys/ptrace.h b/lib/libc/include/sparc-linux-gnu/sys/ptrace.h deleted file mode 100644 index 9a7b58b46e1e5795dbdccad2e33762adc533bf13..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/sys/ptrace.h +++ /dev/null @@ -1,233 +0,0 @@ -/* `ptrace' debugger support interface. Linux/SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PTRACE_H -#define _SYS_PTRACE_H 1 - -#include -#include -#include - -/* Linux/SPARC kernels up to 2.3.18 do not care much - about what namespace polution, so use a kludge now. */ -#undef PTRACE_GETREGS -#undef PTRACE_SETREGS -#undef PTRACE_GETFPREGS -#undef PTRACE_SETFPREGS -#undef PTRACE_READDATA -#undef PTRACE_WRITEDATA -#undef PTRACE_READTEXT -#undef PTRACE_WRITETEXT -#undef PTRACE_SUNDETACH - -__BEGIN_DECLS - -/* Type of the REQUEST argument to `ptrace.' */ -enum __ptrace_request -{ - /* Indicate that the process making this request should be traced. - All signals received by this process can be intercepted by its - parent, and its parent can use the other `ptrace' requests. */ - PTRACE_TRACEME = 0, -#define PT_TRACE_ME PTRACE_TRACEME - - /* Return the word in the process's text space at address ADDR. */ - PTRACE_PEEKTEXT = 1, -#define PT_READ_I PTRACE_PEEKTEXT - - /* Return the word in the process's data space at address ADDR. */ - PTRACE_PEEKDATA = 2, -#define PT_READ_D PTRACE_PEEKDATA - - /* Return the word in the process's user area at offset ADDR. */ - PTRACE_PEEKUSER = 3, -#define PT_READ_U PTRACE_PEEKUSER - - /* Write the word DATA into the process's text space at address ADDR. */ - PTRACE_POKETEXT = 4, -#define PT_WRITE_I PTRACE_POKETEXT - - /* Write the word DATA into the process's data space at address ADDR. */ - PTRACE_POKEDATA = 5, -#define PT_WRITE_D PTRACE_POKEDATA - - /* Write the word DATA into the process's user area at offset ADDR. */ - PTRACE_POKEUSER = 6, -#define PT_WRITE_U PTRACE_POKEUSER - - /* Continue the process. */ - PTRACE_CONT = 7, -#define PT_CONTINUE PTRACE_CONT - - /* Kill the process. */ - PTRACE_KILL = 8, -#define PT_KILL PTRACE_KILL - - /* Single step the process. */ - PTRACE_SINGLESTEP = 9, -#define PT_STEP PTRACE_SINGLESTEP - - /* Detach from a process attached to with PTRACE_ATTACH. */ - PTRACE_DETACH = 11, -#define PT_DETACH PTRACE_DETACH - - /* This define is needed for older programs which were - trying to work around sparc-linux ptrace nastiness. */ -#define PTRACE_SUNDETACH PTRACE_DETACH - -#if __WORDSIZE == 32 - - /* Get all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETREGS = 12, -#define PT_GETREGS PTRACE_GETREGS - - /* Set all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETREGS = 13, -#define PT_SETREGS PTRACE_SETREGS - - /* Get all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETFPREGS = 14, -#define PT_GETFPREGS PTRACE_GETFPREGS - - /* Set all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETFPREGS = 15, -#define PT_SETFPREGS PTRACE_SETFPREGS - -#endif - - /* Attach to a process that is already running. */ - PTRACE_ATTACH = 16, -#define PT_ATTACH PTRACE_ATTACH - - /* Write several bytes at a time. */ - PTRACE_WRITEDATA = 17, -#define PTRACE_WRITEDATA PTRACE_WRITEDATA - - /* Read several bytes at a time. */ - PTRACE_READTEXT = 18, -#define PTRACE_READTEXT PTRACE_READTEXT -#define PTRACE_READDATA PTRACE_READTEXT - - /* Write several bytes at a time. */ - PTRACE_WRITETEXT = 19, -#define PTRACE_WRITETEXT PTRACE_WRITETEXT - -#if __WORDSIZE == 64 - - /* Get all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETREGS = 22, -#define PT_GETREGS PTRACE_GETREGS - - /* Set all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETREGS = 23, -#define PT_SETREGS PTRACE_SETREGS - -#endif - - /* Continue and stop at the next entry to or return from syscall. */ - PTRACE_SYSCALL = 24, -#define PTRACE_SYSCALL PTRACE_SYSCALL - -#if __WORDSIZE == 64 - - /* Get all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETFPREGS = 25, -#define PT_GETFPREGS PTRACE_GETFPREGS - - /* Set all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETFPREGS = 26, -#define PT_SETFPREGS PTRACE_SETFPREGS - -#endif - - /* Set ptrace filter options. */ - PTRACE_SETOPTIONS = 0x4200, -#define PT_SETOPTIONS PTRACE_SETOPTIONS - - /* Get last ptrace message. */ - PTRACE_GETEVENTMSG = 0x4201, -#define PT_GETEVENTMSG PTRACE_GETEVENTMSG - - /* Get siginfo for process. */ - PTRACE_GETSIGINFO = 0x4202, -#define PT_GETSIGINFO PTRACE_GETSIGINFO - - /* Set new siginfo for process. */ - PTRACE_SETSIGINFO = 0x4203, -#define PT_SETSIGINFO PTRACE_SETSIGINFO - - /* Get register content. */ - PTRACE_GETREGSET = 0x4204, -#define PTRACE_GETREGSET PTRACE_GETREGSET - - /* Set register content. */ - PTRACE_SETREGSET = 0x4205, -#define PTRACE_SETREGSET PTRACE_SETREGSET - - /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect - signal or group stop state. */ - PTRACE_SEIZE = 0x4206, -#define PTRACE_SEIZE PTRACE_SEIZE - - /* Trap seized tracee. */ - PTRACE_INTERRUPT = 0x4207, -#define PTRACE_INTERRUPT PTRACE_INTERRUPT - - /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208, -#define PTRACE_LISTEN PTRACE_LISTEN - - /* Retrieve siginfo_t structures without removing signals from a queue. */ - PTRACE_PEEKSIGINFO = 0x4209, -#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO - - /* Get the mask of blocked signals. */ - PTRACE_GETSIGMASK = 0x420a, -#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK - - /* Change the mask of blocked signals. */ - PTRACE_SETSIGMASK = 0x420b, -#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK - - /* Get seccomp BPF filters. */ - PTRACE_SECCOMP_GET_FILTER = 0x420c, -#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER - - /* Get seccomp BPF filter metadata. */ - PTRACE_SECCOMP_GET_METADATA = 0x420d, -#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA - - /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e -#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO -}; - - -#include - -__END_DECLS - -#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/sys/ucontext.h b/lib/libc/include/sparc-linux-gnu/sys/ucontext.h deleted file mode 100644 index 4c7f7a1493bdbbd1b9c9cc673bb010edba2e2a50..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/sys/ucontext.h +++ /dev/null @@ -1,304 +0,0 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include - -#include -#include - -#include - - -#ifdef __USE_MISC -# define __ctx(fld) fld -#else -# define __ctx(fld) __ ## fld -#endif - -#if __WORDSIZE == 64 - -#define __MC_NGREG 19 -#ifdef __USE_MISC -# define MC_TSTATE 0 -# define MC_PC 1 -# define MC_NPC 2 -# define MC_Y 3 -# define MC_G1 4 -# define MC_G2 5 -# define MC_G3 6 -# define MC_G4 7 -# define MC_G5 8 -# define MC_G6 9 -# define MC_G7 10 -# define MC_O0 11 -# define MC_O1 12 -# define MC_O2 13 -# define MC_O3 14 -# define MC_O4 15 -# define MC_O5 16 -# define MC_O6 17 -# define MC_O7 18 -# define MC_NGREG __MC_NGREG -#endif - -typedef unsigned long mc_greg_t; -typedef mc_greg_t mc_gregset_t[__MC_NGREG]; - -#ifdef __USE_MISC -# define MC_MAXFPQ 16 -#endif -struct __mc_fq { - unsigned long *__ctx(mcfq_addr); - unsigned int __ctx(mcfq_insn); -}; - -typedef struct { - union { - unsigned int __ctx(sregs)[32]; - unsigned long __ctx(dregs)[32]; - long double __ctx(qregs)[16]; - } __ctx(mcfpu_fregs); - unsigned long __ctx(mcfpu_fsr); - unsigned long __ctx(mcfpu_fprs); - unsigned long __ctx(mcfpu_gsr); - struct __mc_fq *__ctx(mcfpu_fq); - unsigned char __ctx(mcfpu_qcnt); - unsigned char __ctx(mcfpu_qentsz); - unsigned char __ctx(mcfpu_enab); -} mc_fpu_t; - -typedef struct { - mc_gregset_t __ctx(mc_gregs); - mc_greg_t __ctx(mc_fp); - mc_greg_t __ctx(mc_i7); - mc_fpu_t __ctx(mc_fpregs); -} mcontext_t; - -typedef struct ucontext_t { - struct ucontext_t *uc_link; - unsigned long __ctx(uc_flags); - unsigned long __uc_sigmask; - mcontext_t uc_mcontext; - stack_t uc_stack; - sigset_t uc_sigmask; -} ucontext_t; - -#endif /* __WORDISIZE == 64 */ - -/* - * Location of the users' stored registers relative to R0. - * Usage is as an index into a gregset_t array or as u.u_ar0[XX]. - */ -#ifdef __USE_MISC -# define REG_PSR (0) -# define REG_PC (1) -# define REG_nPC (2) -# define REG_Y (3) -# define REG_G1 (4) -# define REG_G2 (5) -# define REG_G3 (6) -# define REG_G4 (7) -# define REG_G5 (8) -# define REG_G6 (9) -# define REG_G7 (10) -# define REG_O0 (11) -# define REG_O1 (12) -# define REG_O2 (13) -# define REG_O3 (14) -# define REG_O4 (15) -# define REG_O5 (16) -# define REG_O6 (17) -# define REG_O7 (18) -#endif - -/* - * A gregset_t is defined as an array type for compatibility with the reference - * source. This is important due to differences in the way the C language - * treats arrays and structures as parameters. - * - * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), - * but that the ABI defines it absolutely to be 21 (resp. 19). - */ - -#if __WORDSIZE == 64 - -# define __NGREG 21 -# ifdef __USE_MISC -# define REG_ASI (19) -# define REG_FPRS (20) - -# define NGREG __NGREG -# endif -typedef long greg_t; - -#else /* __WORDSIZE == 32 */ - -# define __NGREG 19 -# ifdef __USE_MISC -# define NGREG __NGREG -# endif -typedef int greg_t; - -#endif /* __WORDSIZE == 32 */ - -typedef greg_t gregset_t[__NGREG]; - -/* - * The following structures define how a register window can appear on the - * stack. This structure is available (when required) through the `gwins' - * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the - * maximum number of outstanding regiters window defined in the SPARC - * architecture (*not* implementation). - */ -# define __SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */ -#ifdef __USE_MISC -# define SPARC_MAXREGWINDOW __SPARC_MAXREGWINDOW -#endif -struct __rwindow - { - greg_t __ctx(rw_local)[8]; /* locals */ - greg_t __ctx(rw_in)[8]; /* ins */ - }; - -#ifdef __USE_MISC -# define rw_fp __ctx(rw_in)[6] /* frame pointer */ -# define rw_rtn __ctx(rw_in)[7] /* return address */ -#endif - -typedef struct - { - int __ctx(wbcnt); - int *__ctx(spbuf)[__SPARC_MAXREGWINDOW]; - struct __rwindow __ctx(wbuf)[__SPARC_MAXREGWINDOW]; - } gwindows_t; - -/* - * Floating point definitions. - */ - -#ifdef __USE_MISC -# define MAXFPQ 16 /* max # of fpu queue entries currently supported */ -#endif - -/* - * struct fq defines the minimal format of a floating point instruction queue - * entry. The size of entries in the floating point queue are implementation - * dependent. The union FQu is guarenteed to be the first field in any ABI - * conformant system implementation. Any additional fields provided by an - * implementation should not be used applications designed to be ABI conformant. */ - -struct __fpq - { - unsigned long *__ctx(fpq_addr); /* address */ - unsigned long __ctx(fpq_instr); /* instruction */ - }; - -struct __fq - { - union /* FPU inst/addr queue */ - { - double __ctx(whole); - struct __fpq __ctx(fpq); - } __ctx(FQu); - }; - -#ifdef __USE_MISC -# define FPU_REGS_TYPE unsigned -# define FPU_DREGS_TYPE unsigned long long -# define V7_FPU_FSR_TYPE unsigned -# define V9_FPU_FSR_TYPE unsigned long long -# define V9_FPU_FPRS_TYPE unsigned -#endif - -#if __WORDSIZE == 64 - -typedef struct - { - union { /* FPU floating point regs */ - unsigned __ctx(fpu_regs)[32]; /* 32 singles */ - double __ctx(fpu_dregs)[32]; /* 32 doubles */ - long double __ctx(fpu_qregs)[16]; /* 16 quads */ - } __ctx(fpu_fr); - struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ - unsigned long __ctx(fpu_fsr); /* FPU status register */ - unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ - unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ - unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ - } fpregset_t; - -#else /* __WORDSIZE == 32 */ - -typedef struct - { - union { /* FPU floating point regs */ - __extension__ unsigned long long __ctx(fpu_regs)[32]; /* 32 singles */ - double __ctx(fpu_dregs)[16]; /* 16 doubles */ - } __ctx(fpu_fr); - struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ - unsigned __ctx(fpu_fsr); /* FPU status register */ - unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ - unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ - unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ - } fpregset_t; - -/* - * The following structure is for associating extra register state with - * the ucontext structure and is kept within the uc_mcontext filler area. - * - * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to - * extra register state. The exact format of the extra register state - * pointed to by xrs_ptr is platform-dependent. - * - * Note: a platform may or may not manage extra register state. - */ -typedef struct - { - unsigned int __ctx(xrs_id); /* indicates xrs_ptr validity */ - void * __ctx(xrs_ptr); /* ptr to extra reg state */ - } xrs_t; - -#ifdef __USE_MISC -# define XRS_ID 0x78727300 /* the string "xrs" */ -#endif - -typedef struct - { - gregset_t __ctx(gregs); /* general register set */ - gwindows_t *__ctx(gwins); /* POSSIBLE pointer to register - windows */ - fpregset_t __ctx(fpregs); /* floating point register set */ - xrs_t __ctx(xrs); /* POSSIBLE extra register state - association */ - long __glibc_reserved1[19]; - } mcontext_t; - - -/* Userlevel context. */ -typedef struct ucontext_t - { - unsigned long __ctx(uc_flags); - struct ucontext_t *uc_link; - sigset_t uc_sigmask; - stack_t uc_stack; - mcontext_t uc_mcontext; - } ucontext_t; - -#endif /* __WORDSIZE == 32 */ -#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/sys/user.h b/lib/libc/include/sparc-linux-gnu/sys/user.h deleted file mode 100644 index 7ea56205de91da1045754b456fedf660bfabd277..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/sys/user.h +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (C) 2003-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_USER_H -#define _SYS_USER_H 1 - -#include - -struct sunos_regs -{ - unsigned int psr, pc, npc, y; - unsigned int regs[15]; -}; - -struct sunos_fpqueue -{ - unsigned int *addr; - unsigned int inst; -}; - -struct sunos_fp -{ - union - { - unsigned int regs[32]; - double reg_dbls[16]; - } fregs; - unsigned int fsr; - unsigned int flags; - unsigned int extra; - unsigned int fpq_count; - struct sunos_fpqueue fpq[16]; -}; - -struct sunos_fpu -{ - struct sunos_fp fpstatus; -}; - -/* The SunOS core file header layout. */ -struct user { - unsigned int magic; - unsigned int len; - struct sunos_regs regs; - struct - { - unsigned char a_dynamic :1; - unsigned char a_toolversion :7; - unsigned char a_machtype; - unsigned short a_info; - unsigned int a_text; - unsigned int a_data; - unsigned int a_bss; - unsigned int a_syms; - unsigned int a_entry; - unsigned int a_trsize; - unsigned int a_drsize; - } uexec; - int signal; - size_t u_tsize; - size_t u_dsize; - size_t u_ssize; - char u_comm[17]; - struct sunos_fpu fpu; - unsigned int sigcode; -}; - -#define NBPG 0x2000 -#define UPAGES 1 -#define SUNOS_CORE_MAGIC 0x080456 - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/a.out.h b/lib/libc/include/sparc64-linux-gnu/a.out.h new file mode 100644 index 0000000000000000000000000000000000000000..4002e18c91906facc184542bc93b3d20e8ddcc46 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/a.out.h @@ -0,0 +1,174 @@ +#ifndef __A_OUT_GNU_H__ +#define __A_OUT_GNU_H__ + +#include + +#define __GNU_EXEC_MACROS__ + +struct exec +{ + unsigned char a_dynamic:1; /* A __DYNAMIC is in this image. */ + unsigned char a_toolversion:7; + unsigned char a_machtype; + unsigned short a_info; + unsigned int a_text; /* Length of text, in bytes. */ + unsigned int a_data; /* Length of data, in bytes. */ + unsigned int a_bss; /* Length of bss, in bytes. */ + unsigned int a_syms; /* Length of symbol table, in bytes. */ + unsigned int a_entry; /* Where program begins. */ + unsigned int a_trsize; + unsigned int a_drsize; +}; + +enum machine_type +{ + M_OLDSUN2 = 0, + M_68010 = 1, + M_68020 = 2, + M_SPARC = 3, + M_386 = 100, + M_MIPS1 = 151, + M_MIPS2 = 152 +}; + +#define N_MAGIC(exec) ((exec).a_info & 0xffff) +#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) +#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) +#define N_SET_INFO(exec, magic, type, flags) \ + ((exec).a_info = ((magic) & 0xffff) \ + | (((int)(type) & 0xff) << 16) \ + | (((flags) & 0xff) << 24)) +#define N_SET_MAGIC(exec, magic) \ + ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff)) +#define N_SET_MACHTYPE(exec, machtype) \ + ((exec).a_info = \ + ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) +#define N_SET_FLAGS(exec, flags) \ + ((exec).a_info = \ + ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) + +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +/* This indicates a demand-paged executable with the header in the text. + The first page is unmapped to help trap NULL pointer references. */ +#define QMAGIC 0314 +/* Code indicating core file. */ +#define CMAGIC 0421 + +#define N_TRSIZE(a) ((a).a_trsize) +#define N_DRSIZE(a) ((a).a_drsize) +#define N_SYMSIZE(a) ((a).a_syms) +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) +#define _N_HDROFF(x) (1024 - sizeof (struct exec)) +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec)) +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) +#define N_SYMOFF(x) \ + (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize) +#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) + +#define SPARC_PGSIZE 0x2000 + +/* Address of text segment in memory after it is loaded. */ +#define N_TXTADDR(x) \ + (unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \ + ? 0 : SPARC_PGSIZE) + +/* Address of data segment in memory after it is loaded. */ +#define SEGMENT_SIZE SPARC_PGSIZE + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC \ + ? (N_TXTADDR(x) + (x).a_text) \ + : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) + +#if !defined (N_NLIST_DECLARED) +struct nlist +{ + union + { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif /* no N_NLIST_DECLARED. */ + +#define N_UNDF 0 +#define N_ABS 2 +#define N_TEXT 4 +#define N_DATA 6 +#define N_BSS 8 +#define N_FN 15 +#define N_EXT 1 +#define N_TYPE 036 +#define N_STAB 0340 +#define N_INDR 0xa +#define N_SETA 0x14 /* Absolute set element symbol. */ +#define N_SETT 0x16 /* Text set element symbol. */ +#define N_SETD 0x18 /* Data set element symbol. */ +#define N_SETB 0x1A /* Bss set element symbol. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#if !defined (N_RELOCATION_INFO_DECLARED) +enum reloc_type +{ + RELOC_8, + RELOC_16, + RELOC_32, + RELOC_DISP8, + RELOC_DISP16, + RELOC_DISP32, + RELOC_WDISP30, + RELOC_WDISP22, + RELOC_HI22, + RELOC_22, + RELOC_13, + RELOC_LO10, + RELOC_SFA_BASE, + RELOC_SFA_OFF13, + RELOC_BASE10, + RELOC_BASE13, + RELOC_BASE22, + RELOC_PC10, + RELOC_PC22, + RELOC_JMP_TBL, + RELOC_SEGOFF16, + RELOC_GLOB_DAT, + RELOC_JMP_SLOT, + RELOC_RELATIVE +}; + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + unsigned int r_address; + unsigned int r_index:24; + unsigned int r_extern:1; + int r_pad:2; + enum reloc_type r_type:5; + int r_addend; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + +#endif /* __A_OUT_GNU_H__ */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/a.out.h b/lib/libc/include/sparc64-linux-gnu/bits/a.out.h new file mode 100644 index 0000000000000000000000000000000000000000..c189482c42bcb7f71c54ae4d95b92902773f323e --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/a.out.h @@ -0,0 +1,13 @@ +#ifndef __A_OUT_GNU_H__ +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 64 + +/* Signal to users of this header that this architecture really doesn't + support a.out binary format. */ +#define __NO_A_OUT_SUPPORT 1 + +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/endianness.h b/lib/libc/include/sparc64-linux-gnu/bits/endianness.h new file mode 100644 index 0000000000000000000000000000000000000000..8b14090d0ec5b80fad71332f3ee618b709f04cfb --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* Sparc is big-endian, but v9 supports endian conversion on loads/stores + and GCC supports such a mode. Be prepared. */ +#ifdef __LITTLE_ENDIAN__ +# define __BYTE_ORDER __LITTLE_ENDIAN +#else +# define __BYTE_ORDER __BIG_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/environments.h b/lib/libc/include/sparc64-linux-gnu/bits/environments.h new file mode 100644 index 0000000000000000000000000000000000000000..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/environments.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* Environments with 32-bit wide pointers are optionally provided. + Therefore following macros aren't defined: + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V7_ILP32_OFFBIG + # undef _POSIX_V6_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFFBIG + # undef _XBS5_ILP32_OFF32 + # undef _XBS5_ILP32_OFFBIG + and users need to check at runtime. */ + +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* Environments with 64-bit wide pointers can be provided, + so these macros aren't defined: + # undef _POSIX_V7_LP64_OFF64 + # undef _POSIX_V7_LPBIG_OFFBIG + # undef _POSIX_V6_LP64_OFF64 + # undef _POSIX_V6_LPBIG_OFFBIG + # undef _XBS5_LP64_OFF64 + # undef _XBS5_LPBIG_OFFBIG + and sysconf tests for it at runtime. */ + +#endif /* __WORDSIZE == 32 */ + +#define __ILP32_OFF32_CFLAGS "-m32" +#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#define __ILP32_OFF32_LDFLAGS "-m32" +#define __ILP32_OFFBIG_LDFLAGS "-m32" +#define __LP64_OFF64_CFLAGS "-m64" +#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/epoll.h b/lib/libc/include/sparc64-linux-gnu/bits/epoll.h new file mode 100644 index 0000000000000000000000000000000000000000..dd6bd1a938da71dffc6a7f58b2c9c1de43233395 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/epoll.h @@ -0,0 +1,27 @@ +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_EPOLL_H +# error "Never use directly; include instead." +#endif + +/* Flags to be passed to epoll_create1. */ +enum + { + EPOLL_CLOEXEC = 0x400000 +#define EPOLL_CLOEXEC EPOLL_CLOEXEC + }; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/errno.h b/lib/libc/include/sparc64-linux-gnu/bits/errno.h new file mode 100644 index 0000000000000000000000000000000000000000..c84cf393ac0ddcc7b9d8fa4f67dc56d651cf6a21 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/errno.h @@ -0,0 +1,53 @@ +/* Error constants. Linux/Sparc specific version. + Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_ERRNO_H +#define _BITS_ERRNO_H 1 + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 127 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 132 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 133 +# endif + +# ifndef ERFKILL +# define ERFKILL 134 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 135 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/eventfd.h b/lib/libc/include/sparc64-linux-gnu/bits/eventfd.h new file mode 100644 index 0000000000000000000000000000000000000000..3cc3858f1923689b5cd3c13b826c6ec516d9d865 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 0x000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 0x400000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 0x004000 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/fcntl.h b/lib/libc/include/sparc64-linux-gnu/bits/fcntl.h new file mode 100644 index 0000000000000000000000000000000000000000..d86a8d872b03e6519d59413ab2aa2ef797327223 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/fcntl.h @@ -0,0 +1,101 @@ +/* O_*, F_*, FD_* bit values for Linux/SPARC. + Copyright (C) 1995-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#define O_APPEND 0x0008 +#define O_ASYNC 0x0040 +#define O_CREAT 0x0200 /* not fcntl */ +#define O_TRUNC 0x0400 /* not fcntl */ +#define O_EXCL 0x0800 /* not fcntl */ +#define O_SYNC 0x802000 +#define O_NONBLOCK 0x4000 +#define O_NDELAY (0x0004 | O_NONBLOCK) +#define O_NOCTTY 0x8000 /* not fcntl */ + +#define __O_DIRECTORY 0x10000 /* must be a directory */ +#define __O_NOFOLLOW 0x20000 /* don't follow links */ +#define __O_CLOEXEC 0x400000 /* Set close_on_exit. */ + +#define __O_DIRECT 0x100000 /* direct disk access hint */ +#define __O_NOATIME 0x200000 /* Do not set atime. */ +#define __O_PATH 0x1000000 /* Resolve pathname but do not open file. */ +#define __O_TMPFILE 0x2010000 /* Atomically create nameless file. */ + +#if __WORDSIZE == 64 +# define __O_LARGEFILE 0 +#else +# define __O_LARGEFILE 0x40000 +#endif + +#define __O_DSYNC 0x2000 /* Synchronize data. */ + + +#define __F_GETOWN 5 /* Get owner (process receiving SIGIO). */ +#define __F_SETOWN 6 /* Set owner (process receiving SIGIO). */ + +#ifndef __USE_FILE_OFFSET64 +# define F_GETLK 7 /* Get record locking info. */ +# define F_SETLK 8 /* Set record locking info (non-blocking). */ +# define F_SETLKW 9 /* Set record locking info (blocking). */ +#endif + +#if __WORDSIZE == 64 +# define F_GETLK64 7 /* Get record locking info. */ +# define F_SETLK64 8 /* Set record locking info (non-blocking). */ +# define F_SETLKW64 9 /* Set record locking info (blocking). */ +#endif + +/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ +#define F_RDLCK 1 /* Read lock. */ +#define F_WRLCK 2 /* Write lock. */ +#define F_UNLCK 3 /* Remove lock. */ + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + short int __glibc_reserved; + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + short int __glibc_reserved; + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/fenv.h b/lib/libc/include/sparc64-linux-gnu/bits/fenv.h new file mode 100644 index 0000000000000000000000000000000000000000..c493d1fde1ecc06c87f2cbe5135cf5a4bcc29835 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/fenv.h @@ -0,0 +1,92 @@ +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +#include + + +/* Define bits representing the exception. We use the bit positions + of the appropriate accrued exception bits from the FSR. */ +enum + { + FE_INVALID = +#define FE_INVALID (1 << 9) + FE_INVALID, + FE_OVERFLOW = +#define FE_OVERFLOW (1 << 8) + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW (1 << 7) + FE_UNDERFLOW, + FE_DIVBYZERO = +#define FE_DIVBYZERO (1 << 6) + FE_DIVBYZERO, + FE_INEXACT = +#define FE_INEXACT (1 << 5) + FE_INEXACT + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The Sparc FPU supports all of the four defined rounding modes. We + use again the bit positions in the FPU control word as the values + for the appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST (0 << 30) + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO (1 << 30) + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD (-0x7fffffff - 1) /* (2 << 30) */ + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD (-0x40000000) /* (3 << 30) */ + FE_DOWNWARD + }; + +#define __FE_ROUND_MASK (3U << 30) + + +/* Type representing exception flags. */ +typedef unsigned long int fexcept_t; + + +/* Type representing floating-point environment. */ +typedef unsigned long int fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exception is masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) +/* Type representing floating-point control modes. */ +typedef unsigned long int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/floatn.h b/lib/libc/include/sparc64-linux-gnu/bits/floatn.h new file mode 100644 index 0000000000000000000000000000000000000000..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. + Copyright (C) 2017-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/hwcap.h b/lib/libc/include/sparc64-linux-gnu/bits/hwcap.h new file mode 100644 index 0000000000000000000000000000000000000000..13e73be5fbf2934a1bd6b536c92708f4a67c21a9 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/hwcap.h @@ -0,0 +1,51 @@ +/* Defines for bits in AT_HWCAP. + Copyright (C) 2011-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +#define HWCAP_SPARC_FLUSH 0x00000001 +#define HWCAP_SPARC_STBAR 0x00000002 +#define HWCAP_SPARC_SWAP 0x00000004 +#define HWCAP_SPARC_MULDIV 0x00000008 +#define HWCAP_SPARC_V9 0x00000010 +#define HWCAP_SPARC_ULTRA3 0x00000020 +#define HWCAP_SPARC_BLKINIT 0x00000040 +#define HWCAP_SPARC_N2 0x00000080 +#define HWCAP_SPARC_MUL32 0x00000100 +#define HWCAP_SPARC_DIV32 0x00000200 +#define HWCAP_SPARC_FSMULD 0x00000400 +#define HWCAP_SPARC_V8PLUS 0x00000800 +#define HWCAP_SPARC_POPC 0x00001000 +#define HWCAP_SPARC_VIS 0x00002000 +#define HWCAP_SPARC_VIS2 0x00004000 +#define HWCAP_SPARC_ASI_BLK_INIT 0x00008000 +#define HWCAP_SPARC_FMAF 0x00010000 +#define HWCAP_SPARC_VIS3 0x00020000 +#define HWCAP_SPARC_HPC 0x00040000 +#define HWCAP_SPARC_RANDOM 0x00080000 +#define HWCAP_SPARC_TRANS 0x00100000 +#define HWCAP_SPARC_FJFMAU 0x00200000 +#define HWCAP_SPARC_IMA 0x00400000 +#define HWCAP_SPARC_ASI_CACHE_SPARING \ + 0x00800000 +#define HWCAP_SPARC_PAUSE 0x01000000 +#define HWCAP_SPARC_CBCOND 0x02000000 +#define HWCAP_SPARC_CRYPTO 0x04000000 +#define HWCAP_SPARC_ADP 0x08000000 \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/inotify.h b/lib/libc/include/sparc64-linux-gnu/bits/inotify.h new file mode 100644 index 0000000000000000000000000000000000000000..4f04d923cf0b711dabed3615516ce5f3246cddc5 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 0x400000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 0x004000 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/ioctls.h b/lib/libc/include/sparc64-linux-gnu/bits/ioctls.h new file mode 100644 index 0000000000000000000000000000000000000000..48fdf4a5b82702f5d434d72bcbff41b35db907f9 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/ioctls.h @@ -0,0 +1,36 @@ +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Use the definitions from the kernel header files. */ +#include + +/* Oh well, this is necessary since the kernel data structure is + different from the user-level version. */ +#undef TCGETS +#undef TCSETS +#undef TCSETSW +#undef TCSETSF +#define TCGETS _IOR ('T', 8, char[36]) +#define TCSETS _IOW ('T', 9, char[36]) +#define TCSETSW _IOW ('T', 10, char[36]) +#define TCSETSF _IOW ('T', 11, char[36]) + +#include \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h b/lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h new file mode 100644 index 0000000000000000000000000000000000000000..ae58cd60ad3d0138aff754f273df8d775916e5ef --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h @@ -0,0 +1,36 @@ +/* struct ipc_perm definition. Linux/sparc version. + Copyright (C) 1995-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +/* Data structure used to pass permission information to IPC operations. */ +struct ipc_perm + { + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + unsigned short int __pad1; + unsigned short int __seq; /* Sequence number. */ + __extension__ unsigned long long int __glibc_reserved1; + __extension__ unsigned long long int __glibc_reserved2; + }; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/link.h b/lib/libc/include/sparc64-linux-gnu/bits/link.h new file mode 100644 index 0000000000000000000000000000000000000000..22b0f6ac11b0b65489a7865aad7cc911d3b936cf --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/link.h @@ -0,0 +1,99 @@ +/* Machine-specific audit interfaces for dynamic linker. SPARC version. + Copyright (C) 2005-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 32 + +typedef struct La_sparc32_regs +{ + uint32_t lr_lreg[8]; /* %l0 through %l7 */ + uint32_t lr_reg[6]; /* %o0 through %o5 */ + uint32_t lr_sp; /* %o6 */ + uint32_t lr_ra; /* %o7 */ + uint32_t lr_struct; /* Pass-by-reference struct pointer */ +} La_sparc32_regs; + +typedef struct La_sparc32_retval +{ + uint32_t lrv_reg[2]; /* %o0 and %o1 */ + double lrv_fpreg[2]; /* %f0 and %f2 */ +} La_sparc32_retval; + +#else + +typedef struct La_sparc64_regs +{ + uint64_t lr_lreg[8]; /* %l0 through %l7 */ + uint64_t lr_reg[6]; /* %o0 through %o5 */ + uint64_t lr_sp; /* %o6 */ + uint64_t lr_ra; /* %o7 */ + double lr_fpreg[16]; /* %f0 through %f30 */ +} La_sparc64_regs; + +typedef struct La_sparc64_retval +{ + uint64_t lrv_reg[4]; /* %o0 through %o3 */ + double lrv_fprev[4]; /* %f0 through %f8 */ +} La_sparc64_retval; + +#endif + +__BEGIN_DECLS + +#if __WORDSIZE == 32 + +extern Elf32_Addr la_sparc32_gnu_pltenter (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_sparc32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_sparc32_regs *__inregs, + La_sparc32_retval *__outregs, + const char *__symname); + +#else + +extern Elf64_Addr la_sparc64_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_sparc64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_sparc64_regs *__inregs, + La_sparc64_retval *__outregs, + const char *__symname); + +#endif + +__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/long-double.h b/lib/libc/include/sparc64-linux-gnu/bits/long-double.h new file mode 100644 index 0000000000000000000000000000000000000000..daa402663b249a93513eba679d8737593f7a198e --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/long-double.h @@ -0,0 +1,27 @@ +/* Properties of long double type. SPARC version. + Copyright (C) 2016-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32 +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/mman.h b/lib/libc/include/sparc64-linux-gnu/bits/mman.h new file mode 100644 index 0000000000000000000000000000000000000000..a96a44310d0e34e12b9c15655de7a10814bd38ce --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/mman.h @@ -0,0 +1,53 @@ +/* Definitions for POSIX memory map interface. Linux/SPARC version. + Copyright (C) 1997-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + + +/* These are Linux-specific. */ +#define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x0800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x0100 /* Lock the mapping. */ +#define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ +#define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ +#define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +/* Flags for `mlockall'. */ +#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ +#define MCL_FUTURE 0x4000 /* Lock all additions to address + space. */ +#define MCL_ONFAULT 0x8000 /* Lock all pages that are + faulted in. */ +/* Include generic Linux declarations. */ +#include + +/* Other flags. */ +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/poll.h b/lib/libc/include/sparc64-linux-gnu/bits/poll.h new file mode 100644 index 0000000000000000000000000000000000000000..e8d6521395034713eb2af626c2b988dd5cfb6229 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x200 +# define POLLREMOVE 0x400 +# define POLLRDHUP 0x800 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h b/lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h new file mode 100644 index 0000000000000000000000000000000000000000..c1320ad4da4480f58fad98dd5242cbcf80c6af44 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h @@ -0,0 +1,88 @@ +/* Extra sys/procfs.h definitions. SPARC version. + Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 64 + +/* Provide 32-bit variants so that BFD can read 32-bit + core files. */ +#define ELF_NGREG32 38 +typedef struct + { + union + { + unsigned int pr_regs[32]; + double pr_dregs[16]; + } pr_fr; + unsigned int __glibc_reserved; + unsigned int pr_fsr; + unsigned char pr_qcnt; + unsigned char pr_q_entrysize; + unsigned char pr_en; + unsigned int pr_q[64]; + } elf_fpregset_t32; + +typedef unsigned int elf_greg_t32; +typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32]; + +struct elf_prstatus32 + { + struct elf_siginfo pr_info; /* Info associated with signal. */ + short int pr_cursig; /* Current signal. */ + unsigned int pr_sigpend; /* Set of pending signals. */ + unsigned int pr_sighold; /* Set of held signals. */ + __pid_t pr_pid; + __pid_t pr_ppid; + __pid_t pr_pgrp; + __pid_t pr_sid; + struct + { + int tv_sec, tv_usec; + } pr_utime, /* User time. */ + pr_stime, /* System time. */ + pr_cutime, /* Cumulative user time. */ + pr_cstime; /* Cumulative system time. */ + elf_gregset_t32 pr_reg; /* GP registers. */ + int pr_fpvalid; /* True if math copro being used. */ + }; + +struct elf_prpsinfo32 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + unsigned int pr_flag; /* Flags. */ + unsigned short int pr_uid; + unsigned short int pr_gid; + int pr_pid, pr_ppid, pr_pgrp, pr_sid; + /* Lots missing */ + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ + }; + +typedef elf_gregset_t32 prgregset32_t; +typedef elf_fpregset_t32 prfpregset32_t; + +typedef struct elf_prstatus32 prstatus32_t; +typedef struct elf_prpsinfo32 prpsinfo32_t; + +#endif /* sparc64 */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h b/lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h new file mode 100644 index 0000000000000000000000000000000000000000..98c1729f1775efb08f0ffb8f78401d6709fcfea4 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h @@ -0,0 +1,30 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version. + Copyright (C) 2018-2023 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 64 +typedef unsigned int __pr_uid_t; +typedef unsigned int __pr_gid_t; +#else +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/procfs.h b/lib/libc/include/sparc64-linux-gnu/bits/procfs.h new file mode 100644 index 0000000000000000000000000000000000000000..ee2daed639535266ef6b9a8f863e4195f9f1bc66 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/procfs.h @@ -0,0 +1,61 @@ +/* Types for registers for sys/procfs.h. SPARC version. + Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include + +#if __WORDSIZE == 64 + +#define ELF_NGREG 36 + +typedef struct + { + unsigned long pr_regs[32]; + unsigned long pr_fsr; + unsigned long pr_gsr; + unsigned long pr_fprs; + } elf_fpregset_t; + +#else /* sparc32 */ + +#define ELF_NGREG 38 + +typedef struct + { + union + { + unsigned long pr_regs[32]; + double pr_dregs[16]; + } pr_fr; + unsigned long __glibc_reserved; + unsigned long pr_fsr; + unsigned char pr_qcnt; + unsigned char pr_q_entrysize; + unsigned char pr_en; + unsigned int pr_q[64]; + } elf_fpregset_t; + +#endif /* sparc32 */ + +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h new file mode 100644 index 0000000000000000000000000000000000000000..86a218cb44b18b8229d9e25ddf96e1af2642495f --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. Linux/SPARC version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +/* Minimum size for a thread. We are free to choose a reasonable value. */ +#define PTHREAD_STACK_MIN 24576 \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/resource.h b/lib/libc/include/sparc64-linux-gnu/bits/resource.h new file mode 100644 index 0000000000000000000000000000000000000000..5e6b2d6f9cf68e59b91dbf8aafabc85c3219a6a4 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/resource.h @@ -0,0 +1,238 @@ +/* Bit values & structures for resource limits. Linux/SPARC version. + Copyright (C) 1994-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 5, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 6, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 9, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 7, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 8, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if __WORDSIZE == 64 + +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((unsigned long int)(~0UL)) +#else +# define RLIM_INFINITY 0xffffffffffffffffuLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffuLL +#endif + +#else + +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +#else +# define RLIM_INFINITY 0xffffffffffffffffLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffLL +#endif + +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/rseq.h b/lib/libc/include/sparc64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/setjmp.h b/lib/libc/include/sparc64-linux-gnu/bits/setjmp.h new file mode 100644 index 0000000000000000000000000000000000000000..78e03051e9f32effadbbd89dbcefdbc8c5c811a2 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/setjmp.h @@ -0,0 +1,67 @@ +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +#include + +#if __WORDSIZE == 64 + +#ifndef _ASM +typedef struct __sparc64_jmp_buf + { + struct __sparc64_jmp_buf *__uc_link; + unsigned long __uc_flags; + unsigned long __uc_sigmask; + struct __sparc64_jmp_buf_mcontext + { + unsigned long __mc_gregs[19]; + unsigned long __mc_fp; + unsigned long __mc_i7; + struct __sparc64_jmp_buf_fpu + { + union + { + unsigned int __sregs[32]; + unsigned long __dregs[32]; + long double __qregs[16]; + } __mcfpu_fpregs; + unsigned long __mcfpu_fprs; + unsigned long __mcfpu_gsr; + void *__mcfpu_fq; + unsigned char __mcfpu_qcnt; + unsigned char __mcfpu_qentsz; + unsigned char __mcfpu_enab; + } __mc_fpregs; + } __uc_mcontext; + } __jmp_buf[1]; +#endif + +#else + +#ifndef _ASM +typedef int __jmp_buf[3]; +#endif + +#endif + +#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/shmlba.h b/lib/libc/include/sparc64-linux-gnu/bits/shmlba.h new file mode 100644 index 0000000000000000000000000000000000000000..c362b87215531e3f13dea116ea9afbb9c51d9c16 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. SPARC version. + Copyright (C) 2018-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getshmlba ()) +extern int __getshmlba (void) __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/sigaction.h b/lib/libc/include/sparc64-linux-gnu/bits/sigaction.h new file mode 100644 index 0000000000000000000000000000000000000000..bcd152f2bd8105855b5314393b2bb23ba4b0e01f --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/sigaction.h @@ -0,0 +1,89 @@ +/* The proper definitions for Linux/SPARC sigaction. + Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +#include + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* Special flags. */ +#if __WORDSIZE == 64 + int __glibc_reserved0; +#endif + int sa_flags; + + /* Not used by Linux/Sparc yet. */ + void (*sa_restorer) (void); + }; + + +/* Bits in `sa_flags'. */ +#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x00000020 /* Don't automatically block the signal when + its handler is being executed. */ +# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x00000010 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 4 /* Set the set of blocked signals. */ + +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h b/lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h new file mode 100644 index 0000000000000000000000000000000000000000..8692cb5fb4e99b8f580f7e737a4c874bd1b002f9 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 32 + +/* It is quite hard to choose what to put here, because + Linux/sparc32 had at least 3 totally incompatible + signal stack layouts. + This one is for the "new" style signals, which are + now delivered unless SA_SIGINFO is requested. */ + +struct sigcontext + { + struct + { + unsigned int psr; + unsigned int pc; + unsigned int npc; + unsigned int y; + unsigned int u_regs[16]; /* globals and ins */ + } si_regs; + int si_mask; + }; + +#else /* sparc64 */ + +typedef struct + { + unsigned int si_float_regs [64]; + unsigned long si_fsr; + unsigned long si_gsr; + unsigned long si_fprs; + } __siginfo_fpu_t; + +struct sigcontext + { + char sigc_info[128]; + struct + { + unsigned long u_regs[16]; /* globals and ins */ + unsigned long tstate; + unsigned long tpc; + unsigned long tnpc; + unsigned int y; + unsigned int fprs; + } sigc_regs; + __siginfo_fpu_t * sigc_fpu_save; + struct + { + void * ss_sp; + int ss_flags; + unsigned long ss_size; + } sigc_stack; + unsigned long sigc_mask; +}; + +#endif /* sparc64 */ + +#endif /* bits/sigcontext.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h b/lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h new file mode 100644 index 0000000000000000000000000000000000000000..f3360b0cca12925288f4437c08205e856b2400f5 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h @@ -0,0 +1,17 @@ +/* Architecture-specific adjustments to siginfo_t. SPARC version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* The kernel uses int instead of long int (as in POSIX). In 32-bit + mode, we can still use long int, but in 64-bit mode, we need to + deviate from POSIX. */ +#if __WORDSIZE == 64 +# define __SI_BAND_TYPE int +#endif + +#define __SI_SIGFAULT_ADDL \ + int _si_trapno; + +#define si_trapno _sifields._sigfault._si_trapno + +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h b/lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h new file mode 100644 index 0000000000000000000000000000000000000000..a1dd324ec7f6fa104da0977caf7f431a78097e06 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h @@ -0,0 +1,12 @@ +/* Architecture-specific additional siginfo constants. SPARC version. */ +#ifndef _BITS_SIGINFO_CONSTS_ARCH_H +#define _BITS_SIGINFO_CONSTS_ARCH_H 1 + +/* `si_code' values for SIGEMT signal. */ +enum +{ + EMT_TAGOVF = 1 /* Tag overflow. */ +#define EMT_TAGOVF EMT_TAGOVF +}; + +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/signalfd.h b/lib/libc/include/sparc64-linux-gnu/bits/signalfd.h new file mode 100644 index 0000000000000000000000000000000000000000..94f1b152369cddcc494b5c3995c135ae6a84f252 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 0x400000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 0x004000 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h b/lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h new file mode 100644 index 0000000000000000000000000000000000000000..5b144ecc5ff6d23fc744008cb1a1e467265435c5 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h @@ -0,0 +1,66 @@ +/* Signal number definitions. Linux/SPARC version. + Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGNUM_ARCH_H +#define _BITS_SIGNUM_ARCH_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/SPARC systems. Signal values on this platform were chosen + for SunOS binary compatibility. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */ +#define SIGPWR SIGLOST /* Power failure imminent (SysV). */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 16 /* Urgent data is available at a socket. */ +#define SIGSTOP 17 /* Stop, unblockable. */ +#define SIGTSTP 18 /* Keyboard stop. */ +#define SIGCONT 19 /* Continue. */ +#define SIGCHLD 20 /* Child terminated or stopped. */ +#define SIGTTIN 21 /* Background read from control terminal. */ +#define SIGTTOU 22 /* Background write to control terminal. */ +#define SIGPOLL 23 /* Pollable event occurred (System V). */ +#define SIGXCPU 24 /* CPU time limit exceeded. */ +#define SIGVTALRM 26 /* Virtual timer expired. */ +#define SIGPROF 27 /* Profiling timer expired. */ +#define SIGXFSZ 25 /* File size limit exceeded. */ +#define SIGUSR1 30 /* User-defined signal 1. */ +#define SIGUSR2 31 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +#define __SIGRTMIN 32 +#define __SIGRTMAX 64 + +#endif /* included. */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/sigstack.h b/lib/libc/include/sparc64-linux-gnu/bits/sigstack.h new file mode 100644 index 0000000000000000000000000000000000000000..b557f363a172a86f51c229aa1807b80378129461 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/sigstack.h @@ -0,0 +1,32 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 1998-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h b/lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h new file mode 100644 index 0000000000000000000000000000000000000000..38f562a078748eb20c90970962beb40ecce7ca87 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for SPARC. + Copyright (C) 2019-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 32768 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 2048 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4096 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 8192 +# define SO_SNDTIMEO 16384 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 33 +# define SO_TIMESTAMPING 35 +#else +# define SO_RCVTIMEO_OLD 8192 +# define SO_SNDTIMEO_OLD 16384 +# define SO_RCVTIMEO_NEW 68 +# define SO_SNDTIMEO_NEW 69 + +# define SO_TIMESTAMP_OLD 0x001d +# define SO_TIMESTAMPNS_OLD 0x0021 +# define SO_TIMESTAMPING_OLD 0x0023 +# define SO_TIMESTAMP_NEW 0x0046 +# define SO_TIMESTAMPNS_NEW 0x0042 +# define SO_TIMESTAMPING_NEW 0x0043 + +# ifdef __USE_TIME_BITS64 +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/socket_type.h b/lib/libc/include/sparc64-linux-gnu/bits/socket_type.h new file mode 100644 index 0000000000000000000000000000000000000000..b64022ca7725f149274346037779699d20b1e30d --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/SPARC. + Copyright (C) 1991-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_STREAM = 1, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ +#define SOCK_DCCP SOCK_DCCP + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h new file mode 100644 index 0000000000000000000000000000000000000000..5aa7e4ed24abf324bcfcaa37e6b01acfd4fd44df --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h @@ -0,0 +1,58 @@ +/* SPARC internal rwlock struct definitions. + Copyright (C) 2019-2023 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +#else + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + int __cur_writer; +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +#endif + +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h b/lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h new file mode 100644 index 0000000000000000000000000000000000000000..cd1748c035ef4669823c29392966f1f96b087ff4 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h @@ -0,0 +1,139 @@ +/* Definition for struct stat. + Copyright (C) 2020-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +struct stat + { +#ifdef __USE_TIME_BITS64 +# include +#else + __dev_t st_dev; /* Device. */ +# if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 + unsigned short int __pad1; + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +#endif /* __USE_TIME_BITS64 */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME_BITS64 +# include +# else + __dev_t st_dev; /* Device. */ +# if __WORDSIZE == 64 + unsigned short int __pad1; +# endif + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME_BITS64 */ + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h b/lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h new file mode 100644 index 0000000000000000000000000000000000000000..427769da93d80ce7ece05ffadd3a627cf2a6e972 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h @@ -0,0 +1,46 @@ +/* termios baud rate selection definitions. Linux/sparc version. + Copyright (C) 2019-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0x0000100f +# define CBAUDEX 0x00001000 +# define CIBAUD 0x100f0000 /* input baud rate (not used) */ +# define CMSPAR 0x40000000 /* mark or space (stick) parity */ +# define CRTSCTS 0x80000000 /* flow control */ +#endif + +#define B57600 0x00001001 +#define B115200 0x00001002 +#define B230400 0x00001003 +#define B460800 0x00001004 +#define B76800 0x00001005 +#define B153600 0x00001006 +#define B307200 0x00001007 +#define B614400 0x00001008 +#define B921600 0x00001009 +#define B500000 0x0000100a +#define B576000 0x0000100b +#define B1000000 0x0000100c +#define B1152000 0x0000100d +#define B1500000 0x0000100e +#define B2000000 0x0000100f +#define __MAX_BAUD B2000000 \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h new file mode 100644 index 0000000000000000000000000000000000000000..6b58c4f1bcc75e105bfc5b72420a917e77f11a32 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/sparc version. + Copyright (C) 2019-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VEOL 5 +#define VEOL2 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */ +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 + +/* User apps assume vmin/vtime is shared with eof/eol */ +#define VMIN VEOF +#define VTIME VEOL \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h new file mode 100644 index 0000000000000000000000000000000000000000..90d2e063f58029ec7971245a2daa3314c0161802 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h @@ -0,0 +1,64 @@ +/* termios output mode definitions. Linux/sparc version. + Copyright (C) 2019-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_oflag bits */ +#define OPOST 0x00000001 +#define OLCUC 0x00000002 +#define ONLCR 0x00000004 +#define OCRNL 0x00000008 +#define ONOCR 0x00000010 +#define ONLRET 0x00000020 +#define OFILL 0x00000040 +#define OFDEL 0x00000080 +#if defined __USE_MISC || defined __USE_XOPEN +# define NLDLY 0x00000100 +# define NL0 0x00000000 +# define NL1 0x00000100 +# define CRDLY 0x00000600 +# define CR0 0x00000000 +# define CR1 0x00000200 +# define CR2 0x00000400 +# define CR3 0x00000600 +# define TABDLY 0x00001800 +# define TAB0 0x00000000 +# define TAB1 0x00000800 +# define TAB2 0x00001000 +# define TAB3 0x00001800 +# define BSDLY 0x00002000 +# define BS0 0x00000000 +# define BS1 0x00002000 +#define FFDLY 0x00008000 +#define FF0 0x00000000 +#define FF1 0x00008000 +#endif +#define VTDLY 0x00004000 +#define VT0 0x00000000 +#define VT1 0x00004000 + +# if defined __USE_GNU +#define PAGEOUT 0x00010000 /* SUNOS specific */ +#define WRAP 0x00020000 /* SUNOS specific */ +# endif + +#ifdef __USE_MISC +# define XTABS 0x00001800 +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h b/lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h new file mode 100644 index 0000000000000000000000000000000000000000..a4601dfd7b6cd7ab2d4349828c180965530df7f0 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/sparc version. + Copyright (C) 2019-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 17 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/timerfd.h b/lib/libc/include/sparc64-linux-gnu/bits/timerfd.h new file mode 100644 index 0000000000000000000000000000000000000000..afdfd0d37cfeb790affd9c3ae803ef9cb500dca1 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 0x400000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 0x004000 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/timesize.h b/lib/libc/include/sparc64-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..ff62d98daab72c251a6ff62406b766fbacb33c95 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/sparc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h new file mode 100644 index 0000000000000000000000000000000000000000..4b123a5d1787777214a0fbd592719b751db96d4e --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h @@ -0,0 +1,53 @@ +/* Linux/SPARC implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME_BITS64 +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h new file mode 100644 index 0000000000000000000000000000000000000000..9f6b20a43ab22e5b42199234a2c45c1d18af4101 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h @@ -0,0 +1,43 @@ +/* Sparc implementation of the semaphore struct semid_ds + Copyright (C) 1995-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME_BITS64 +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + __syscall_ulong_t __sem_otime_high; + __time_t sem_otime; /* last semop() time */ + __syscall_ulong_t __sem_ctime_high; + __time_t sem_ctime; /* last time changed by semctl() */ +# else + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ +# endif + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +#endif +}; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h new file mode 100644 index 0000000000000000000000000000000000000000..b2d22e8bb11c493a6c67401a73c20318a1e27741 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h @@ -0,0 +1,49 @@ +/* Linux/SPARC implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME_BITS64 +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + unsigned long int __shm_atime_high; + __time_t shm_atime; /* time of last shmat() */ + unsigned long int __shm_dtime_high; + __time_t shm_dtime; /* time of last shmdt() */ + unsigned long int __shm_ctime_high; + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + size_t shm_segsz; /* size of segment in bytes */ + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +#endif + }; \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/typesizes.h b/lib/libc/include/sparc64-linux-gnu/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..f37126816abe0db8f98e83a60dd856acab0dbeb4 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __U32_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __S32_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#if defined __arch64__ || defined __sparcv9 +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for __rlim_t and __rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/bits/wordsize.h b/lib/libc/include/sparc64-linux-gnu/bits/wordsize.h new file mode 100644 index 0000000000000000000000000000000000000000..e08131d42361abf40adec92539cfff1d9696cccf --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/wordsize.h @@ -0,0 +1,11 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __arch64__ || defined __sparcv9 +# define __WORDSIZE 64 +# define __WORDSIZE_TIME64_COMPAT32 1 +#else +# define __WORDSIZE 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +# define __WORDSIZE_TIME64_COMPAT32 0 +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/fpu_control.h b/lib/libc/include/sparc64-linux-gnu/fpu_control.h new file mode 100644 index 0000000000000000000000000000000000000000..0e9238fc6ad5b8e693797f1d05b5164387562fc7 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/fpu_control.h @@ -0,0 +1,71 @@ +/* FPU control word bits. SPARC version. + Copyright (C) 1997-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H 1 + + +#include +#include + +/* masking of interrupts */ +#define _FPU_MASK_IM 0x08000000 +#define _FPU_MASK_OM 0x04000000 +#define _FPU_MASK_UM 0x02000000 +#define _FPU_MASK_ZM 0x01000000 +#define _FPU_MASK_PM 0x00800000 + +/* precision control */ +#define _FPU_EXTENDED 0x00000000 /* RECOMMENDED */ +#define _FPU_DOUBLE 0x20000000 +#define _FPU_80BIT 0x30000000 +#define _FPU_SINGLE 0x10000000 /* DO NOT USE */ + +/* rounding control / Sparc */ +#define _FPU_RC_DOWN 0xc0000000 +#define _FPU_RC_UP 0x80000000 +#define _FPU_RC_ZERO 0x40000000 +#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ + +#define _FPU_RESERVED 0x30300000 /* Reserved bits in cw */ + + +/* Now two recommended cw */ + +/* Linux and IEEE default: + - extended precision + - rounding to nearest + - no exceptions */ +#define _FPU_DEFAULT 0x0 +#define _FPU_IEEE 0x0 + +/* Type of the control word. */ +typedef unsigned long int fpu_control_t; + +#if __WORDSIZE == 64 +# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw)) +# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw)) +#else +# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw)) +# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw)) +#endif + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h b/lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h new file mode 100644 index 0000000000000000000000000000000000000000..3fada291f8d2e4b1cabce5ad74b868a0fa582faf --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h @@ -0,0 +1,28 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_SO "ld-linux.so.2" +#define LD_SO "ld-linux.so.2" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBCRYPT_SO "libcrypt.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h b/lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h new file mode 100644 index 0000000000000000000000000000000000000000..ad6471507a48c834a5c8cbc13cd851c2e20b74b9 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/gnu/stubs.h b/lib/libc/include/sparc64-linux-gnu/gnu/stubs.h new file mode 100644 index 0000000000000000000000000000000000000000..120171a87ae7a525497cffc5786ed0383b47ca33 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/gnu/stubs.h @@ -0,0 +1,12 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 +# include +#endif \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/ieee754.h b/lib/libc/include/sparc64-linux-gnu/ieee754.h new file mode 100644 index 0000000000000000000000000000000000000000..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/ieee754.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/sys/ptrace.h b/lib/libc/include/sparc64-linux-gnu/sys/ptrace.h new file mode 100644 index 0000000000000000000000000000000000000000..64130a617aca4d77758d93a312d5d0386c02bb77 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/sys/ptrace.h @@ -0,0 +1,237 @@ +/* `ptrace' debugger support interface. Linux/SPARC version. + Copyright (C) 1996-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include +#include + +/* Linux/SPARC kernels up to 2.3.18 do not care much + about what namespace pollution, so use a kludge now. */ +#undef PTRACE_GETREGS +#undef PTRACE_SETREGS +#undef PTRACE_GETFPREGS +#undef PTRACE_SETFPREGS +#undef PTRACE_READDATA +#undef PTRACE_WRITEDATA +#undef PTRACE_READTEXT +#undef PTRACE_WRITETEXT +#undef PTRACE_SUNDETACH + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 11, +#define PT_DETACH PTRACE_DETACH + + /* This define is needed for older programs which were + trying to work around sparc-linux ptrace nastiness. */ +#define PTRACE_SUNDETACH PTRACE_DETACH + +#if __WORDSIZE == 32 + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + +#endif + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Write several bytes at a time. */ + PTRACE_WRITEDATA = 17, +#define PTRACE_WRITEDATA PTRACE_WRITEDATA + + /* Read several bytes at a time. */ + PTRACE_READTEXT = 18, +#define PTRACE_READTEXT PTRACE_READTEXT +#define PTRACE_READDATA PTRACE_READTEXT + + /* Write several bytes at a time. */ + PTRACE_WRITETEXT = 19, +#define PTRACE_WRITETEXT PTRACE_WRITETEXT + +#if __WORDSIZE == 64 + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 22, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 23, +#define PT_SETREGS PTRACE_SETREGS + +#endif + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PTRACE_SYSCALL PTRACE_SYSCALL + +#if __WORDSIZE == 64 + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 25, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 26, +#define PT_SETFPREGS PTRACE_SETFPREGS + +#endif + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/sys/ucontext.h b/lib/libc/include/sparc64-linux-gnu/sys/ucontext.h new file mode 100644 index 0000000000000000000000000000000000000000..f69b2b4aa74ba063ad3dfc9f841446396f3332d9 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/sys/ucontext.h @@ -0,0 +1,304 @@ +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +#if __WORDSIZE == 64 + +#define __MC_NGREG 19 +#ifdef __USE_MISC +# define MC_TSTATE 0 +# define MC_PC 1 +# define MC_NPC 2 +# define MC_Y 3 +# define MC_G1 4 +# define MC_G2 5 +# define MC_G3 6 +# define MC_G4 7 +# define MC_G5 8 +# define MC_G6 9 +# define MC_G7 10 +# define MC_O0 11 +# define MC_O1 12 +# define MC_O2 13 +# define MC_O3 14 +# define MC_O4 15 +# define MC_O5 16 +# define MC_O6 17 +# define MC_O7 18 +# define MC_NGREG __MC_NGREG +#endif + +typedef unsigned long mc_greg_t; +typedef mc_greg_t mc_gregset_t[__MC_NGREG]; + +#ifdef __USE_MISC +# define MC_MAXFPQ 16 +#endif +struct __mc_fq { + unsigned long *__ctx(mcfq_addr); + unsigned int __ctx(mcfq_insn); +}; + +typedef struct { + union { + unsigned int __ctx(sregs)[32]; + unsigned long __ctx(dregs)[32]; + long double __ctx(qregs)[16]; + } __ctx(mcfpu_fregs); + unsigned long __ctx(mcfpu_fsr); + unsigned long __ctx(mcfpu_fprs); + unsigned long __ctx(mcfpu_gsr); + struct __mc_fq *__ctx(mcfpu_fq); + unsigned char __ctx(mcfpu_qcnt); + unsigned char __ctx(mcfpu_qentsz); + unsigned char __ctx(mcfpu_enab); +} mc_fpu_t; + +typedef struct { + mc_gregset_t __ctx(mc_gregs); + mc_greg_t __ctx(mc_fp); + mc_greg_t __ctx(mc_i7); + mc_fpu_t __ctx(mc_fpregs); +} mcontext_t; + +typedef struct ucontext_t { + struct ucontext_t *uc_link; + unsigned long __ctx(uc_flags); + unsigned long __uc_sigmask; + mcontext_t uc_mcontext; + stack_t uc_stack; + sigset_t uc_sigmask; +} ucontext_t; + +#endif /* __WORDISIZE == 64 */ + +/* + * Location of the users' stored registers relative to R0. + * Usage is as an index into a gregset_t array or as u.u_ar0[XX]. + */ +#ifdef __USE_MISC +# define REG_PSR (0) +# define REG_PC (1) +# define REG_nPC (2) +# define REG_Y (3) +# define REG_G1 (4) +# define REG_G2 (5) +# define REG_G3 (6) +# define REG_G4 (7) +# define REG_G5 (8) +# define REG_G6 (9) +# define REG_G7 (10) +# define REG_O0 (11) +# define REG_O1 (12) +# define REG_O2 (13) +# define REG_O3 (14) +# define REG_O4 (15) +# define REG_O5 (16) +# define REG_O6 (17) +# define REG_O7 (18) +#endif + +/* + * A gregset_t is defined as an array type for compatibility with the reference + * source. This is important due to differences in the way the C language + * treats arrays and structures as parameters. + * + * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), + * but that the ABI defines it absolutely to be 21 (resp. 19). + */ + +#if __WORDSIZE == 64 + +# define __NGREG 21 +# ifdef __USE_MISC +# define REG_ASI (19) +# define REG_FPRS (20) + +# define NGREG __NGREG +# endif +typedef long greg_t; + +#else /* __WORDSIZE == 32 */ + +# define __NGREG 19 +# ifdef __USE_MISC +# define NGREG __NGREG +# endif +typedef int greg_t; + +#endif /* __WORDSIZE == 32 */ + +typedef greg_t gregset_t[__NGREG]; + +/* + * The following structures define how a register window can appear on the + * stack. This structure is available (when required) through the `gwins' + * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the + * maximum number of outstanding registers window defined in the SPARC + * architecture (*not* implementation). + */ +# define __SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */ +#ifdef __USE_MISC +# define SPARC_MAXREGWINDOW __SPARC_MAXREGWINDOW +#endif +struct __rwindow + { + greg_t __ctx(rw_local)[8]; /* locals */ + greg_t __ctx(rw_in)[8]; /* ins */ + }; + +#ifdef __USE_MISC +# define rw_fp __ctx(rw_in)[6] /* frame pointer */ +# define rw_rtn __ctx(rw_in)[7] /* return address */ +#endif + +typedef struct + { + int __ctx(wbcnt); + int *__ctx(spbuf)[__SPARC_MAXREGWINDOW]; + struct __rwindow __ctx(wbuf)[__SPARC_MAXREGWINDOW]; + } gwindows_t; + +/* + * Floating point definitions. + */ + +#ifdef __USE_MISC +# define MAXFPQ 16 /* max # of fpu queue entries currently supported */ +#endif + +/* + * struct fq defines the minimal format of a floating point instruction queue + * entry. The size of entries in the floating point queue are implementation + * dependent. The union FQu is guaranteed to be the first field in any ABI + * conformant system implementation. Any additional fields provided by an + * implementation should not be used applications designed to be ABI conformant. */ + +struct __fpq + { + unsigned long *__ctx(fpq_addr); /* address */ + unsigned long __ctx(fpq_instr); /* instruction */ + }; + +struct __fq + { + union /* FPU inst/addr queue */ + { + double __ctx(whole); + struct __fpq __ctx(fpq); + } __ctx(FQu); + }; + +#ifdef __USE_MISC +# define FPU_REGS_TYPE unsigned +# define FPU_DREGS_TYPE unsigned long long +# define V7_FPU_FSR_TYPE unsigned +# define V9_FPU_FSR_TYPE unsigned long long +# define V9_FPU_FPRS_TYPE unsigned +#endif + +#if __WORDSIZE == 64 + +typedef struct + { + union { /* FPU floating point regs */ + unsigned __ctx(fpu_regs)[32]; /* 32 singles */ + double __ctx(fpu_dregs)[32]; /* 32 doubles */ + long double __ctx(fpu_qregs)[16]; /* 16 quads */ + } __ctx(fpu_fr); + struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ + unsigned long __ctx(fpu_fsr); /* FPU status register */ + unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ + unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ + unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ + } fpregset_t; + +#else /* __WORDSIZE == 32 */ + +typedef struct + { + union { /* FPU floating point regs */ + __extension__ unsigned long long __ctx(fpu_regs)[32]; /* 32 singles */ + double __ctx(fpu_dregs)[16]; /* 16 doubles */ + } __ctx(fpu_fr); + struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ + unsigned __ctx(fpu_fsr); /* FPU status register */ + unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ + unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ + unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ + } fpregset_t; + +/* + * The following structure is for associating extra register state with + * the ucontext structure and is kept within the uc_mcontext filler area. + * + * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to + * extra register state. The exact format of the extra register state + * pointed to by xrs_ptr is platform-dependent. + * + * Note: a platform may or may not manage extra register state. + */ +typedef struct + { + unsigned int __ctx(xrs_id); /* indicates xrs_ptr validity */ + void * __ctx(xrs_ptr); /* ptr to extra reg state */ + } xrs_t; + +#ifdef __USE_MISC +# define XRS_ID 0x78727300 /* the string "xrs" */ +#endif + +typedef struct + { + gregset_t __ctx(gregs); /* general register set */ + gwindows_t *__ctx(gwins); /* POSSIBLE pointer to register + windows */ + fpregset_t __ctx(fpregs); /* floating point register set */ + xrs_t __ctx(xrs); /* POSSIBLE extra register state + association */ + long __glibc_reserved1[19]; + } mcontext_t; + + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long __ctx(uc_flags); + struct ucontext_t *uc_link; + sigset_t uc_sigmask; + stack_t uc_stack; + mcontext_t uc_mcontext; + } ucontext_t; + +#endif /* __WORDSIZE == 32 */ +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc64-linux-gnu/sys/user.h b/lib/libc/include/sparc64-linux-gnu/sys/user.h new file mode 100644 index 0000000000000000000000000000000000000000..036b392e6bf117952bfd9a245748b6882b72f29d --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/sys/user.h @@ -0,0 +1,86 @@ +/* Copyright (C) 2003-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +#include + +struct sunos_regs +{ + unsigned int psr, pc, npc, y; + unsigned int regs[15]; +}; + +struct sunos_fpqueue +{ + unsigned int *addr; + unsigned int inst; +}; + +struct sunos_fp +{ + union + { + unsigned int regs[32]; + double reg_dbls[16]; + } fregs; + unsigned int fsr; + unsigned int flags; + unsigned int extra; + unsigned int fpq_count; + struct sunos_fpqueue fpq[16]; +}; + +struct sunos_fpu +{ + struct sunos_fp fpstatus; +}; + +/* The SunOS core file header layout. */ +struct user { + unsigned int magic; + unsigned int len; + struct sunos_regs regs; + struct + { + unsigned char a_dynamic :1; + unsigned char a_toolversion :7; + unsigned char a_machtype; + unsigned short a_info; + unsigned int a_text; + unsigned int a_data; + unsigned int a_bss; + unsigned int a_syms; + unsigned int a_entry; + unsigned int a_trsize; + unsigned int a_drsize; + } uexec; + int signal; + size_t u_tsize; + size_t u_dsize; + size_t u_ssize; + char u_comm[17]; + struct sunos_fpu fpu; + unsigned int sigcode; +}; + +#define NBPG 0x2000 +#define UPAGES 1 +#define SUNOS_CORE_MAGIC 0x080456 + +#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/a.out.h b/lib/libc/include/sparcv9-linux-gnu/a.out.h deleted file mode 100644 index 4002e18c91906facc184542bc93b3d20e8ddcc46..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/a.out.h +++ /dev/null @@ -1,174 +0,0 @@ -#ifndef __A_OUT_GNU_H__ -#define __A_OUT_GNU_H__ - -#include - -#define __GNU_EXEC_MACROS__ - -struct exec -{ - unsigned char a_dynamic:1; /* A __DYNAMIC is in this image. */ - unsigned char a_toolversion:7; - unsigned char a_machtype; - unsigned short a_info; - unsigned int a_text; /* Length of text, in bytes. */ - unsigned int a_data; /* Length of data, in bytes. */ - unsigned int a_bss; /* Length of bss, in bytes. */ - unsigned int a_syms; /* Length of symbol table, in bytes. */ - unsigned int a_entry; /* Where program begins. */ - unsigned int a_trsize; - unsigned int a_drsize; -}; - -enum machine_type -{ - M_OLDSUN2 = 0, - M_68010 = 1, - M_68020 = 2, - M_SPARC = 3, - M_386 = 100, - M_MIPS1 = 151, - M_MIPS2 = 152 -}; - -#define N_MAGIC(exec) ((exec).a_info & 0xffff) -#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) -#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) -#define N_SET_INFO(exec, magic, type, flags) \ - ((exec).a_info = ((magic) & 0xffff) \ - | (((int)(type) & 0xff) << 16) \ - | (((flags) & 0xff) << 24)) -#define N_SET_MAGIC(exec, magic) \ - ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff)) -#define N_SET_MACHTYPE(exec, machtype) \ - ((exec).a_info = \ - ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) -#define N_SET_FLAGS(exec, flags) \ - ((exec).a_info = \ - ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) - -/* Code indicating object file or impure executable. */ -#define OMAGIC 0407 -/* Code indicating pure executable. */ -#define NMAGIC 0410 -/* Code indicating demand-paged executable. */ -#define ZMAGIC 0413 -/* This indicates a demand-paged executable with the header in the text. - The first page is unmapped to help trap NULL pointer references. */ -#define QMAGIC 0314 -/* Code indicating core file. */ -#define CMAGIC 0421 - -#define N_TRSIZE(a) ((a).a_trsize) -#define N_DRSIZE(a) ((a).a_drsize) -#define N_SYMSIZE(a) ((a).a_syms) -#define N_BADMAG(x) \ - (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ - && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) -#define _N_HDROFF(x) (1024 - sizeof (struct exec)) -#define N_TXTOFF(x) \ - (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec)) -#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) -#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) -#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) -#define N_SYMOFF(x) \ - (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize) -#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) - -#define SPARC_PGSIZE 0x2000 - -/* Address of text segment in memory after it is loaded. */ -#define N_TXTADDR(x) \ - (unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \ - ? 0 : SPARC_PGSIZE) - -/* Address of data segment in memory after it is loaded. */ -#define SEGMENT_SIZE SPARC_PGSIZE - -#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) -#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) - -#define N_DATADDR(x) \ - (N_MAGIC(x)==OMAGIC \ - ? (N_TXTADDR(x) + (x).a_text) \ - : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) -#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) - -#if !defined (N_NLIST_DECLARED) -struct nlist -{ - union - { - char *n_name; - struct nlist *n_next; - long n_strx; - } n_un; - unsigned char n_type; - char n_other; - short n_desc; - unsigned long n_value; -}; -#endif /* no N_NLIST_DECLARED. */ - -#define N_UNDF 0 -#define N_ABS 2 -#define N_TEXT 4 -#define N_DATA 6 -#define N_BSS 8 -#define N_FN 15 -#define N_EXT 1 -#define N_TYPE 036 -#define N_STAB 0340 -#define N_INDR 0xa -#define N_SETA 0x14 /* Absolute set element symbol. */ -#define N_SETT 0x16 /* Text set element symbol. */ -#define N_SETD 0x18 /* Data set element symbol. */ -#define N_SETB 0x1A /* Bss set element symbol. */ -#define N_SETV 0x1C /* Pointer to set vector in data area. */ - -#if !defined (N_RELOCATION_INFO_DECLARED) -enum reloc_type -{ - RELOC_8, - RELOC_16, - RELOC_32, - RELOC_DISP8, - RELOC_DISP16, - RELOC_DISP32, - RELOC_WDISP30, - RELOC_WDISP22, - RELOC_HI22, - RELOC_22, - RELOC_13, - RELOC_LO10, - RELOC_SFA_BASE, - RELOC_SFA_OFF13, - RELOC_BASE10, - RELOC_BASE13, - RELOC_BASE22, - RELOC_PC10, - RELOC_PC22, - RELOC_JMP_TBL, - RELOC_SEGOFF16, - RELOC_GLOB_DAT, - RELOC_JMP_SLOT, - RELOC_RELATIVE -}; - -/* This structure describes a single relocation to be performed. - The text-relocation section of the file is a vector of these structures, - all of which apply to the text section. - Likewise, the data-relocation section applies to the data section. */ - -struct relocation_info -{ - unsigned int r_address; - unsigned int r_index:24; - unsigned int r_extern:1; - int r_pad:2; - enum reloc_type r_type:5; - int r_addend; -}; -#endif /* no N_RELOCATION_INFO_DECLARED. */ - -#endif /* __A_OUT_GNU_H__ */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/a.out.h b/lib/libc/include/sparcv9-linux-gnu/bits/a.out.h deleted file mode 100644 index c189482c42bcb7f71c54ae4d95b92902773f323e..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/a.out.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef __A_OUT_GNU_H__ -# error "Never use directly; include instead." -#endif - -#include - -#if __WORDSIZE == 64 - -/* Signal to users of this header that this architecture really doesn't - support a.out binary format. */ -#define __NO_A_OUT_SUPPORT 1 - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/endianness.h b/lib/libc/include/sparcv9-linux-gnu/bits/endianness.h deleted file mode 100644 index 8b14090d0ec5b80fad71332f3ee618b709f04cfb..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/endianness.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _BITS_ENDIANNESS_H -#define _BITS_ENDIANNESS_H 1 - -#ifndef _BITS_ENDIAN_H -# error "Never use directly; include instead." -#endif - -/* Sparc is big-endian, but v9 supports endian conversion on loads/stores - and GCC supports such a mode. Be prepared. */ -#ifdef __LITTLE_ENDIAN__ -# define __BYTE_ORDER __LITTLE_ENDIAN -#else -# define __BYTE_ORDER __BIG_ENDIAN -#endif - -#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/environments.h b/lib/libc/include/sparcv9-linux-gnu/bits/environments.h deleted file mode 100644 index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/environments.h +++ /dev/null @@ -1,96 +0,0 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _UNISTD_H -# error "Never include this file directly. Use instead" -#endif - -#include - -/* This header should define the following symbols under the described - situations. A value `1' means that the model is always supported, - `-1' means it is never supported. Undefined means it cannot be - statically decided. - - _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type - _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type - - _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type - _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type - - The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, - _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, - _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were - used in previous versions of the Unix standard and are available - only for compatibility. -*/ - -#if __WORDSIZE == 64 - -/* Environments with 32-bit wide pointers are optionally provided. - Therefore following macros aren't defined: - # undef _POSIX_V7_ILP32_OFF32 - # undef _POSIX_V7_ILP32_OFFBIG - # undef _POSIX_V6_ILP32_OFF32 - # undef _POSIX_V6_ILP32_OFFBIG - # undef _XBS5_ILP32_OFF32 - # undef _XBS5_ILP32_OFFBIG - and users need to check at runtime. */ - -/* We also have no use (for now) for an environment with bigger pointers - and offsets. */ -# define _POSIX_V7_LPBIG_OFFBIG -1 -# define _POSIX_V6_LPBIG_OFFBIG -1 -# define _XBS5_LPBIG_OFFBIG -1 - -/* By default we have 64-bit wide `long int', pointers and `off_t'. */ -# define _POSIX_V7_LP64_OFF64 1 -# define _POSIX_V6_LP64_OFF64 1 -# define _XBS5_LP64_OFF64 1 - -#else /* __WORDSIZE == 32 */ - -/* By default we have 32-bit wide `int', `long int', pointers and `off_t' - and all platforms support LFS. */ -# define _POSIX_V7_ILP32_OFF32 1 -# define _POSIX_V7_ILP32_OFFBIG 1 -# define _POSIX_V6_ILP32_OFF32 1 -# define _POSIX_V6_ILP32_OFFBIG 1 -# define _XBS5_ILP32_OFF32 1 -# define _XBS5_ILP32_OFFBIG 1 - -/* We optionally provide an environment with the above size but an 64-bit - side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ - -/* Environments with 64-bit wide pointers can be provided, - so these macros aren't defined: - # undef _POSIX_V7_LP64_OFF64 - # undef _POSIX_V7_LPBIG_OFFBIG - # undef _POSIX_V6_LP64_OFF64 - # undef _POSIX_V6_LPBIG_OFFBIG - # undef _XBS5_LP64_OFF64 - # undef _XBS5_LPBIG_OFFBIG - and sysconf tests for it at runtime. */ - -#endif /* __WORDSIZE == 32 */ - -#define __ILP32_OFF32_CFLAGS "-m32" -#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -#define __ILP32_OFF32_LDFLAGS "-m32" -#define __ILP32_OFFBIG_LDFLAGS "-m32" -#define __LP64_OFF64_CFLAGS "-m64" -#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/epoll.h b/lib/libc/include/sparcv9-linux-gnu/bits/epoll.h deleted file mode 100644 index 298f3e8170abd47939c5c7d7c27911369b0c59d6..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/epoll.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_EPOLL_H -# error "Never use directly; include instead." -#endif - -/* Flags to be passed to epoll_create1. */ -enum - { - EPOLL_CLOEXEC = 0x400000 -#define EPOLL_CLOEXEC EPOLL_CLOEXEC - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/errno.h b/lib/libc/include/sparcv9-linux-gnu/bits/errno.h deleted file mode 100644 index 38a52e3599b49acb29d54edc459b1940db4693e8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/errno.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Error constants. Linux/Sparc specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_ERRNO_H -#define _BITS_ERRNO_H 1 - -#if !defined _ERRNO_H -# error "Never include directly; use instead." -#endif - -# include - -/* Older Linux headers do not define these constants. */ -# ifndef ENOTSUP -# define ENOTSUP EOPNOTSUPP -# endif - -# ifndef ECANCELED -# define ECANCELED 127 -# endif - -# ifndef EOWNERDEAD -# define EOWNERDEAD 132 -# endif - -# ifndef ENOTRECOVERABLE -# define ENOTRECOVERABLE 133 -# endif - -# ifndef ERFKILL -# define ERFKILL 134 -# endif - -# ifndef EHWPOISON -# define EHWPOISON 135 -# endif - -#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/eventfd.h b/lib/libc/include/sparcv9-linux-gnu/bits/eventfd.h deleted file mode 100644 index 71409f55ba7f8dd19f50110ff056280582fd09a8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/eventfd.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_EVENTFD_H -# error "Never use directly; include instead." -#endif - -/* Flags for eventfd. */ -enum - { - EFD_SEMAPHORE = 0x000001, -#define EFD_SEMAPHORE EFD_SEMAPHORE - EFD_CLOEXEC = 0x400000, -#define EFD_CLOEXEC EFD_CLOEXEC - EFD_NONBLOCK = 0x004000 -#define EFD_NONBLOCK EFD_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/fcntl.h b/lib/libc/include/sparcv9-linux-gnu/bits/fcntl.h deleted file mode 100644 index d5009f12339d79a040246da5c912e8b2447c9837..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/fcntl.h +++ /dev/null @@ -1,101 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux/SPARC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FCNTL_H -# error "Never use directly; include instead." -#endif - -#include - -#define O_APPEND 0x0008 -#define O_ASYNC 0x0040 -#define O_CREAT 0x0200 /* not fcntl */ -#define O_TRUNC 0x0400 /* not fcntl */ -#define O_EXCL 0x0800 /* not fcntl */ -#define O_SYNC 0x802000 -#define O_NONBLOCK 0x4000 -#define O_NDELAY (0x0004 | O_NONBLOCK) -#define O_NOCTTY 0x8000 /* not fcntl */ - -#define __O_DIRECTORY 0x10000 /* must be a directory */ -#define __O_NOFOLLOW 0x20000 /* don't follow links */ -#define __O_CLOEXEC 0x400000 /* Set close_on_exit. */ - -#define __O_DIRECT 0x100000 /* direct disk access hint */ -#define __O_NOATIME 0x200000 /* Do not set atime. */ -#define __O_PATH 0x1000000 /* Resolve pathname but do not open file. */ -#define __O_TMPFILE 0x2010000 /* Atomically create nameless file. */ - -#if __WORDSIZE == 64 -# define __O_LARGEFILE 0 -#else -# define __O_LARGEFILE 0x40000 -#endif - -#define __O_DSYNC 0x2000 /* Synchronize data. */ - - -#define __F_GETOWN 5 /* Get owner (process receiving SIGIO). */ -#define __F_SETOWN 6 /* Set owner (process receiving SIGIO). */ - -#ifndef __USE_FILE_OFFSET64 -# define F_GETLK 7 /* Get record locking info. */ -# define F_SETLK 8 /* Set record locking info (non-blocking). */ -# define F_SETLKW 9 /* Set record locking info (blocking). */ -#endif - -#if __WORDSIZE == 64 -# define F_GETLK64 7 /* Get record locking info. */ -# define F_SETLK64 8 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 9 /* Set record locking info (blocking). */ -#endif - -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#else - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - __pid_t l_pid; /* Process holding the lock. */ - short int __glibc_reserved; - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - short int __glibc_reserved; - }; -#endif - -/* Include generic Linux declarations. */ -#include \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/fenv.h b/lib/libc/include/sparcv9-linux-gnu/bits/fenv.h deleted file mode 100644 index 2de6eb4eb378bb8e24b43c028c9b447fa5e026bd..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/fenv.h +++ /dev/null @@ -1,92 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FENV_H -# error "Never use directly; include instead." -#endif - -#include - - -/* Define bits representing the exception. We use the bit positions - of the appropriate accrued exception bits from the FSR. */ -enum - { - FE_INVALID = -#define FE_INVALID (1 << 9) - FE_INVALID, - FE_OVERFLOW = -#define FE_OVERFLOW (1 << 8) - FE_OVERFLOW, - FE_UNDERFLOW = -#define FE_UNDERFLOW (1 << 7) - FE_UNDERFLOW, - FE_DIVBYZERO = -#define FE_DIVBYZERO (1 << 6) - FE_DIVBYZERO, - FE_INEXACT = -#define FE_INEXACT (1 << 5) - FE_INEXACT - }; - -#define FE_ALL_EXCEPT \ - (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) - -/* The Sparc FPU supports all of the four defined rounding modes. We - use again the bit positions in the FPU control word as the values - for the appropriate macros. */ -enum - { - FE_TONEAREST = -#define FE_TONEAREST (0 << 30) - FE_TONEAREST, - FE_TOWARDZERO = -#define FE_TOWARDZERO (1 << 30) - FE_TOWARDZERO, - FE_UPWARD = -#define FE_UPWARD (-0x7fffffff - 1) /* (2 << 30) */ - FE_UPWARD, - FE_DOWNWARD = -#define FE_DOWNWARD (-0x40000000) /* (3 << 30) */ - FE_DOWNWARD - }; - -#define __FE_ROUND_MASK (3U << 30) - - -/* Type representing exception flags. */ -typedef unsigned long int fexcept_t; - - -/* Type representing floating-point environment. */ -typedef unsigned long int fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1) - -#ifdef __USE_GNU -/* Floating-point environment where none of the exception is masked. */ -# define FE_NOMASK_ENV ((const fenv_t *) -2) -#endif - -#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) -/* Type representing floating-point control modes. */ -typedef unsigned long int femode_t; - -/* Default floating-point control modes. */ -# define FE_DFL_MODE ((const femode_t *) -1L) -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/floatn.h b/lib/libc/include/sparcv9-linux-gnu/bits/floatn.h deleted file mode 100644 index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/floatn.h +++ /dev/null @@ -1,97 +0,0 @@ -/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_FLOATN_H -#define _BITS_FLOATN_H - -#include -#include - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the IEEE 754 binary128 format, and this - glibc includes corresponding *f128 interfaces for it. */ -#ifndef __NO_LONG_DOUBLE_MATH -# define __HAVE_FLOAT128 1 -#else -/* glibc does not support _Float128 for platforms where long double is - normally binary128 when building with long double as binary64. - GCC's default for supported scalar modes does not support it either - in that case. */ -# define __HAVE_FLOAT128 0 -#endif - -/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct - from the default float, double and long double types in this glibc. */ -#define __HAVE_DISTINCT_FLOAT128 0 - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the right format for _Float64x, and this - glibc includes corresponding *f64x interfaces for it. */ -#define __HAVE_FLOAT64X __HAVE_FLOAT128 - -/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format - of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has - the format of _Float128, which must be different from that of long - double. */ -#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 - -#ifndef __ASSEMBLER__ - -/* Defined to concatenate the literal suffix to be used with _Float128 - types, if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* The literal suffix f128 exists only since GCC 7.0. */ -# define __f128(x) x##l -# else -# define __f128(x) x##f128 -# endif -# endif - -/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __CFLOAT128 _Complex long double -# else -# define __CFLOAT128 _Complex _Float128 -# endif -# endif - -/* The remaining of this file provides support for older compilers. */ -# if __HAVE_FLOAT128 - -/* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef long double _Float128; -# endif - -/* Various built-in functions do not exist before GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf128() (__builtin_huge_vall ()) -# define __builtin_inff128() (__builtin_infl ()) -# define __builtin_nanf128(x) (__builtin_nanl (x)) -# define __builtin_nansf128(x) (__builtin_nansl (x)) -# endif - -# endif - -#endif /* !__ASSEMBLER__. */ - -#include - -#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/hwcap.h b/lib/libc/include/sparcv9-linux-gnu/bits/hwcap.h deleted file mode 100644 index 3f9c7c7f1db769c2cb0650a9ffad0461df6fd973..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/hwcap.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Defines for bits in AT_HWCAP. - Copyright (C) 2011-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) -# error "Never include directly; use instead." -#endif - -#define HWCAP_SPARC_FLUSH 0x00000001 -#define HWCAP_SPARC_STBAR 0x00000002 -#define HWCAP_SPARC_SWAP 0x00000004 -#define HWCAP_SPARC_MULDIV 0x00000008 -#define HWCAP_SPARC_V9 0x00000010 -#define HWCAP_SPARC_ULTRA3 0x00000020 -#define HWCAP_SPARC_BLKINIT 0x00000040 -#define HWCAP_SPARC_N2 0x00000080 -#define HWCAP_SPARC_MUL32 0x00000100 -#define HWCAP_SPARC_DIV32 0x00000200 -#define HWCAP_SPARC_FSMULD 0x00000400 -#define HWCAP_SPARC_V8PLUS 0x00000800 -#define HWCAP_SPARC_POPC 0x00001000 -#define HWCAP_SPARC_VIS 0x00002000 -#define HWCAP_SPARC_VIS2 0x00004000 -#define HWCAP_SPARC_ASI_BLK_INIT 0x00008000 -#define HWCAP_SPARC_FMAF 0x00010000 -#define HWCAP_SPARC_VIS3 0x00020000 -#define HWCAP_SPARC_HPC 0x00040000 -#define HWCAP_SPARC_RANDOM 0x00080000 -#define HWCAP_SPARC_TRANS 0x00100000 -#define HWCAP_SPARC_FJFMAU 0x00200000 -#define HWCAP_SPARC_IMA 0x00400000 -#define HWCAP_SPARC_ASI_CACHE_SPARING \ - 0x00800000 -#define HWCAP_SPARC_PAUSE 0x01000000 -#define HWCAP_SPARC_CBCOND 0x02000000 -#define HWCAP_SPARC_CRYPTO 0x04000000 -#define HWCAP_SPARC_ADP 0x08000000 \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/inotify.h b/lib/libc/include/sparcv9-linux-gnu/bits/inotify.h deleted file mode 100644 index e489d7406c114b7171be576a9028ce0fcc8bd327..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/inotify.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_INOTIFY_H -# error "Never use directly; include instead." -#endif - -/* Flags for the parameter of inotify_init1. */ -enum - { - IN_CLOEXEC = 0x400000, -#define IN_CLOEXEC IN_CLOEXEC - IN_NONBLOCK = 0x004000 -#define IN_NONBLOCK IN_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/ioctls.h b/lib/libc/include/sparcv9-linux-gnu/bits/ioctls.h deleted file mode 100644 index 9ed3b296275bcfd40c54f90e778b3575cf85906d..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/ioctls.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_IOCTL_H -# error "Never use directly; include instead." -#endif - -/* Use the definitions from the kernel header files. */ -#include - -/* Oh well, this is necessary since the kernel data structure is - different from the user-level version. */ -#undef TCGETS -#undef TCSETS -#undef TCSETSW -#undef TCSETSF -#define TCGETS _IOR ('T', 8, char[36]) -#define TCSETS _IOW ('T', 9, char[36]) -#define TCSETSW _IOW ('T', 10, char[36]) -#define TCSETSF _IOW ('T', 11, char[36]) - -#include \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/ipc-perm.h b/lib/libc/include/sparcv9-linux-gnu/bits/ipc-perm.h deleted file mode 100644 index d1761dca799d83faec4348897092d92717210a23..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/ipc-perm.h +++ /dev/null @@ -1,36 +0,0 @@ -/* struct ipc_perm definition. Linux/sparc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_IPC_H -# error "Never use directly; include instead." -#endif - -/* Data structure used to pass permission information to IPC operations. */ -struct ipc_perm - { - __key_t __key; /* Key. */ - __uid_t uid; /* Owner's user ID. */ - __gid_t gid; /* Owner's group ID. */ - __uid_t cuid; /* Creator's user ID. */ - __gid_t cgid; /* Creator's group ID. */ - __mode_t mode; /* Read/write permission. */ - unsigned short int __pad1; - unsigned short int __seq; /* Sequence number. */ - __extension__ unsigned long long int __glibc_reserved1; - __extension__ unsigned long long int __glibc_reserved2; - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/link.h b/lib/libc/include/sparcv9-linux-gnu/bits/link.h deleted file mode 100644 index e6e0d275c4562d2729b4bb26779023de63c0cd6c..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/link.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Machine-specific audit interfaces for dynamic linker. SPARC version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _LINK_H -# error "Never include directly; use instead." -#endif - -#if __WORDSIZE == 32 - -typedef struct La_sparc32_regs -{ - uint32_t lr_lreg[8]; /* %l0 through %l7 */ - uint32_t lr_reg[6]; /* %o0 through %o5 */ - uint32_t lr_sp; /* %o6 */ - uint32_t lr_ra; /* %o7 */ - uint32_t lr_struct; /* Pass-by-reference struct pointer */ -} La_sparc32_regs; - -typedef struct La_sparc32_retval -{ - uint32_t lrv_reg[2]; /* %o0 and %o1 */ - double lrv_fpreg[2]; /* %f0 and %f2 */ -} La_sparc32_retval; - -#else - -typedef struct La_sparc64_regs -{ - uint64_t lr_lreg[8]; /* %l0 through %l7 */ - uint64_t lr_reg[6]; /* %o0 through %o5 */ - uint64_t lr_sp; /* %o6 */ - uint64_t lr_ra; /* %o7 */ - double lr_fpreg[16]; /* %f0 through %f30 */ -} La_sparc64_regs; - -typedef struct La_sparc64_retval -{ - uint64_t lrv_reg[4]; /* %o0 through %o3 */ - double lrv_fprev[4]; /* %f0 through %f8 */ -} La_sparc64_retval; - -#endif - -__BEGIN_DECLS - -#if __WORDSIZE == 32 - -extern Elf32_Addr la_sparc32_gnu_pltenter (Elf32_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_sparc32_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_sparc32_regs *__inregs, - La_sparc32_retval *__outregs, - const char *__symname); - -#else - -extern Elf64_Addr la_sparc64_gnu_pltenter (Elf64_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_sparc64_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_sparc64_regs *__inregs, - La_sparc64_retval *__outregs, - const char *__symname); - -#endif - -__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/long-double.h b/lib/libc/include/sparcv9-linux-gnu/bits/long-double.h deleted file mode 100644 index c97d298d58e10be1cc11438d31f7dfa32ef67bb2..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/long-double.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Properties of long double type. SPARC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - -#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32 -# define __LONG_DOUBLE_MATH_OPTIONAL 1 -# ifndef __LONG_DOUBLE_128__ -# define __NO_LONG_DOUBLE_MATH 1 -# endif -#endif -#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/mman.h b/lib/libc/include/sparcv9-linux-gnu/bits/mman.h deleted file mode 100644 index f8a8c978041ffbae648edd6b081976d78d85a876..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/mman.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Definitions for POSIX memory map interface. Linux/SPARC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_MMAN_H -# error "Never use directly; include instead." -#endif - -/* The following definitions basically come from the kernel headers. - But the kernel header is not namespace clean. */ - - -/* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x0800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x0100 /* Lock the mapping. */ -# define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ -# define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ -# define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page - faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap - underlying mapping. */ -#endif - -/* Flags for `mlockall'. */ -#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ -#define MCL_FUTURE 0x4000 /* Lock all additions to address - space. */ -#define MCL_ONFAULT 0x8000 /* Lock all pages that are - faulted in. */ -/* Include generic Linux declarations. */ -#include - -/* Other flags. */ -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/poll.h b/lib/libc/include/sparcv9-linux-gnu/bits/poll.h deleted file mode 100644 index 7883f8535057116889499d99602f646edf708452..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/poll.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_POLL_H -# error "Never use directly; include instead." -#endif - -/* Event types that can be polled for. These bits may be set in `events' - to indicate the interesting event types; they will appear in `revents' - to indicate the status of the file descriptor. */ -#define POLLIN 0x001 /* There is data to read. */ -#define POLLPRI 0x002 /* There is urgent data to read. */ -#define POLLOUT 0x004 /* Writing now will not block. */ - -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -/* These values are defined in XPG4.2. */ -# define POLLRDNORM 0x040 /* Normal data may be read. */ -# define POLLRDBAND 0x080 /* Priority data may be read. */ -# define POLLWRNORM POLLOUT /* Writing now will not block. */ -# define POLLWRBAND 0x100 /* Priority data may be written. */ -#endif - -#ifdef __USE_GNU -/* These are extensions for Linux. */ -# define POLLMSG 0x200 -# define POLLREMOVE 0x400 -# define POLLRDHUP 0x800 -#endif - -/* Event types always implicitly polled for. These bits need not be set in - `events', but they will appear in `revents' to indicate the status of - the file descriptor. */ -#define POLLERR 0x008 /* Error condition. */ -#define POLLHUP 0x010 /* Hung up. */ -#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/procfs-extra.h b/lib/libc/include/sparcv9-linux-gnu/bits/procfs-extra.h deleted file mode 100644 index 570c5de2065b38a197e39157f42ce8f602e393d7..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/procfs-extra.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Extra sys/procfs.h definitions. SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." -#endif - -#if __WORDSIZE == 64 - -/* Provide 32-bit variants so that BFD can read 32-bit - core files. */ -#define ELF_NGREG32 38 -typedef struct - { - union - { - unsigned int pr_regs[32]; - double pr_dregs[16]; - } pr_fr; - unsigned int __glibc_reserved; - unsigned int pr_fsr; - unsigned char pr_qcnt; - unsigned char pr_q_entrysize; - unsigned char pr_en; - unsigned int pr_q[64]; - } elf_fpregset_t32; - -typedef unsigned int elf_greg_t32; -typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32]; - -struct elf_prstatus32 - { - struct elf_siginfo pr_info; /* Info associated with signal. */ - short int pr_cursig; /* Current signal. */ - unsigned int pr_sigpend; /* Set of pending signals. */ - unsigned int pr_sighold; /* Set of held signals. */ - __pid_t pr_pid; - __pid_t pr_ppid; - __pid_t pr_pgrp; - __pid_t pr_sid; - struct - { - int tv_sec, tv_usec; - } pr_utime, /* User time. */ - pr_stime, /* System time. */ - pr_cutime, /* Cumulative user time. */ - pr_cstime; /* Cumulative system time. */ - elf_gregset_t32 pr_reg; /* GP registers. */ - int pr_fpvalid; /* True if math copro being used. */ - }; - -struct elf_prpsinfo32 - { - char pr_state; /* Numeric process state. */ - char pr_sname; /* Char for pr_state. */ - char pr_zomb; /* Zombie. */ - char pr_nice; /* Nice val. */ - unsigned int pr_flag; /* Flags. */ - unsigned short int pr_uid; - unsigned short int pr_gid; - int pr_pid, pr_ppid, pr_pgrp, pr_sid; - /* Lots missing */ - char pr_fname[16]; /* Filename of executable. */ - char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ - }; - -typedef elf_gregset_t32 prgregset32_t; -typedef elf_fpregset_t32 prfpregset32_t; - -typedef struct elf_prstatus32 prstatus32_t; -typedef struct elf_prpsinfo32 prpsinfo32_t; - -#endif /* sparc64 */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/procfs-id.h b/lib/libc/include/sparcv9-linux-gnu/bits/procfs-id.h deleted file mode 100644 index 3bdb35d0f99ffdc1ad60c5d8f869a868b5d8683c..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/procfs-id.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." -#endif - -#if __WORDSIZE == 64 -typedef unsigned int __pr_uid_t; -typedef unsigned int __pr_gid_t; -#else -typedef unsigned short int __pr_uid_t; -typedef unsigned short int __pr_gid_t; -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/procfs.h b/lib/libc/include/sparcv9-linux-gnu/bits/procfs.h deleted file mode 100644 index 6217d6f2ff616feeee36dcef78e35d7b23fe3a1a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/procfs.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Types for registers for sys/procfs.h. SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." -#endif - -#include -#include -#include - -#if __WORDSIZE == 64 - -#define ELF_NGREG 36 - -typedef struct - { - unsigned long pr_regs[32]; - unsigned long pr_fsr; - unsigned long pr_gsr; - unsigned long pr_fprs; - } elf_fpregset_t; - -#else /* sparc32 */ - -#define ELF_NGREG 38 - -typedef struct - { - union - { - unsigned long pr_regs[32]; - double pr_dregs[16]; - } pr_fr; - unsigned long __glibc_reserved; - unsigned long pr_fsr; - unsigned char pr_qcnt; - unsigned char pr_q_entrysize; - unsigned char pr_en; - unsigned int pr_q[64]; - } elf_fpregset_t; - -#endif /* sparc32 */ - -typedef unsigned long elf_greg_t; -typedef elf_greg_t elf_gregset_t[ELF_NGREG]; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/sparcv9-linux-gnu/bits/pthread_stack_min.h deleted file mode 100644 index 220f9fcec31750d04c2d659ae23c66b3fbedc60e..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/pthread_stack_min.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Definition of PTHREAD_STACK_MIN. Linux/SPARC version. - Copyright (C) 2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ - -/* Minimum size for a thread. We are free to choose a reasonable value. */ -#define PTHREAD_STACK_MIN 24576 \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/resource.h b/lib/libc/include/sparcv9-linux-gnu/bits/resource.h deleted file mode 100644 index b13aaa86af6c1aca176deb1d99a7cc615dd318f9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/resource.h +++ /dev/null @@ -1,238 +0,0 @@ -/* Bit values & structures for resource limits. Linux/SPARC version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_RESOURCE_H -# error "Never use directly; include instead." -#endif - -#include - -/* Transmute defines to enumerations. The macro re-definitions are - necessary because some programs want to test for operating system - features with #ifdef RUSAGE_SELF. In ISO C the reflexive - definition is a no-op. */ - -/* Kinds of resource limit. */ -enum __rlimit_resource -{ - /* Per-process CPU limit, in seconds. */ - RLIMIT_CPU = 0, -#define RLIMIT_CPU RLIMIT_CPU - - /* Largest file that can be created, in bytes. */ - RLIMIT_FSIZE = 1, -#define RLIMIT_FSIZE RLIMIT_FSIZE - - /* Maximum size of data segment, in bytes. */ - RLIMIT_DATA = 2, -#define RLIMIT_DATA RLIMIT_DATA - - /* Maximum size of stack segment, in bytes. */ - RLIMIT_STACK = 3, -#define RLIMIT_STACK RLIMIT_STACK - - /* Largest core file that can be created, in bytes. */ - RLIMIT_CORE = 4, -#define RLIMIT_CORE RLIMIT_CORE - - /* Largest resident set size, in bytes. - This affects swapping; processes that are exceeding their - resident set size will be more likely to have physical memory - taken from them. */ - __RLIMIT_RSS = 5, -#define RLIMIT_RSS __RLIMIT_RSS - - /* Number of open files. */ - RLIMIT_NOFILE = 6, - __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ -#define RLIMIT_NOFILE RLIMIT_NOFILE -#define RLIMIT_OFILE __RLIMIT_OFILE - - /* Address space limit (?) */ - RLIMIT_AS = 9, -#define RLIMIT_AS RLIMIT_AS - - /* Number of processes. */ - __RLIMIT_NPROC = 7, -#define RLIMIT_NPROC __RLIMIT_NPROC - - /* Locked-in-memory address space. */ - __RLIMIT_MEMLOCK = 8, -#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK - - /* Maximum number of file locks. */ - __RLIMIT_LOCKS = 10, -#define RLIMIT_LOCKS __RLIMIT_LOCKS - - /* Maximum number of pending signals. */ - __RLIMIT_SIGPENDING = 11, -#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING - - /* Maximum bytes in POSIX message queues. */ - __RLIMIT_MSGQUEUE = 12, -#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE - - /* Maximum nice priority allowed to raise to. - Nice levels 19 .. -20 correspond to 0 .. 39 - values of this resource limit. */ - __RLIMIT_NICE = 13, -#define RLIMIT_NICE __RLIMIT_NICE - - /* Maximum realtime priority allowed for non-priviledged - processes. */ - __RLIMIT_RTPRIO = 14, -#define RLIMIT_RTPRIO __RLIMIT_RTPRIO - - /* Maximum CPU time in microseconds that a process scheduled under a real-time - scheduling policy may consume without making a blocking system - call before being forcibly descheduled. */ - __RLIMIT_RTTIME = 15, -#define RLIMIT_RTTIME __RLIMIT_RTTIME - - __RLIMIT_NLIMITS = 16, - __RLIM_NLIMITS = __RLIMIT_NLIMITS -#define RLIMIT_NLIMITS __RLIMIT_NLIMITS -#define RLIM_NLIMITS __RLIM_NLIMITS -}; - -/* Value to indicate that there is no limit. */ -#if __WORDSIZE == 64 - -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((unsigned long int)(~0UL)) -#else -# define RLIM_INFINITY 0xffffffffffffffffuLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0xffffffffffffffffuLL -#endif - -#else - -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((long int)(~0UL >> 1)) -#else -# define RLIM_INFINITY 0xffffffffffffffffLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0xffffffffffffffffLL -#endif - -#endif - -/* We can represent all limits. */ -#define RLIM_SAVED_MAX RLIM_INFINITY -#define RLIM_SAVED_CUR RLIM_INFINITY - - -/* Type for resource quantity measurement. */ -#ifndef __USE_FILE_OFFSET64 -typedef __rlim_t rlim_t; -#else -typedef __rlim64_t rlim_t; -#endif -#ifdef __USE_LARGEFILE64 -typedef __rlim64_t rlim64_t; -#endif - -struct rlimit - { - /* The current (soft) limit. */ - rlim_t rlim_cur; - /* The hard limit. */ - rlim_t rlim_max; - }; - -#ifdef __USE_LARGEFILE64 -struct rlimit64 - { - /* The current (soft) limit. */ - rlim64_t rlim_cur; - /* The hard limit. */ - rlim64_t rlim_max; - }; -#endif - -/* Whose usage statistics do you want? */ -enum __rusage_who -{ - /* The calling process. */ - RUSAGE_SELF = 0, -#define RUSAGE_SELF RUSAGE_SELF - - /* All of its terminated child processes. */ - RUSAGE_CHILDREN = -1 -#define RUSAGE_CHILDREN RUSAGE_CHILDREN - -#ifdef __USE_GNU - , - /* The calling thread. */ - RUSAGE_THREAD = 1 -# define RUSAGE_THREAD RUSAGE_THREAD - /* Name for the same functionality on Solaris. */ -# define RUSAGE_LWP RUSAGE_THREAD -#endif -}; - -#include -#include - -/* Priority limits. */ -#define PRIO_MIN -20 /* Minimum priority a process can have. */ -#define PRIO_MAX 20 /* Maximum priority a process can have. */ - -/* The type of the WHICH argument to `getpriority' and `setpriority', - indicating what flavor of entity the WHO argument specifies. */ -enum __priority_which -{ - PRIO_PROCESS = 0, /* WHO is a process ID. */ -#define PRIO_PROCESS PRIO_PROCESS - PRIO_PGRP = 1, /* WHO is a process group ID. */ -#define PRIO_PGRP PRIO_PGRP - PRIO_USER = 2 /* WHO is a user ID. */ -#define PRIO_USER PRIO_USER -}; - -__BEGIN_DECLS - -#ifdef __USE_GNU -/* Modify and return resource limits of a process atomically. */ -# ifndef __USE_FILE_OFFSET64 -extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, - const struct rlimit *__new_limit, - struct rlimit *__old_limit) __THROW; -# else -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, - enum __rlimit_resource __resource, - const struct rlimit *__new_limit, - struct rlimit *__old_limit), prlimit64); -# else -# define prlimit prlimit64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, - const struct rlimit64 *__new_limit, - struct rlimit64 *__old_limit) __THROW; -# endif -#endif - -__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/setjmp.h b/lib/libc/include/sparcv9-linux-gnu/bits/setjmp.h deleted file mode 100644 index e7c1964e13634b345cea4b2d8948a09fcd06d317..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/setjmp.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SETJMP_H -#define _BITS_SETJMP_H 1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include directly; use instead." -#endif - -#include - -#if __WORDSIZE == 64 - -#ifndef _ASM -typedef struct __sparc64_jmp_buf - { - struct __sparc64_jmp_buf *__uc_link; - unsigned long __uc_flags; - unsigned long __uc_sigmask; - struct __sparc64_jmp_buf_mcontext - { - unsigned long __mc_gregs[19]; - unsigned long __mc_fp; - unsigned long __mc_i7; - struct __sparc64_jmp_buf_fpu - { - union - { - unsigned int __sregs[32]; - unsigned long __dregs[32]; - long double __qregs[16]; - } __mcfpu_fpregs; - unsigned long __mcfpu_fprs; - unsigned long __mcfpu_gsr; - void *__mcfpu_fq; - unsigned char __mcfpu_qcnt; - unsigned char __mcfpu_qentsz; - unsigned char __mcfpu_enab; - } __mc_fpregs; - } __uc_mcontext; - } __jmp_buf[1]; -#endif - -#else - -#ifndef _ASM -typedef int __jmp_buf[3]; -#endif - -#endif - -#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/shmlba.h b/lib/libc/include/sparcv9-linux-gnu/bits/shmlba.h deleted file mode 100644 index 0a04d45b51671ef996414e7e70beae478c1b0bc9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/shmlba.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Define SHMLBA. SPARC version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SHM_H -# error "Never use directly; include instead." -#endif - -__BEGIN_DECLS - -/* Segment low boundary address multiple. */ -#define SHMLBA (__getshmlba ()) -extern int __getshmlba (void) __attribute__ ((__const__)); - -__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/sigaction.h b/lib/libc/include/sparcv9-linux-gnu/bits/sigaction.h deleted file mode 100644 index c81f76e78b96f1d124436f2c590a7eb2dc7e08cc..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/sigaction.h +++ /dev/null @@ -1,89 +0,0 @@ -/* The proper definitions for Linux/SPARC sigaction. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGACTION_H -#define _BITS_SIGACTION_H 1 - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -#include - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ -#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED - union - { - /* Used if SA_SIGINFO is not set. */ - __sighandler_t sa_handler; - /* Used if SA_SIGINFO is set. */ - void (*sa_sigaction) (int, siginfo_t *, void *); - } - __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction -#else - __sighandler_t sa_handler; -#endif - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ -#if __WORDSIZE == 64 - int __glibc_reserved0; -#endif - int sa_flags; - - /* Not used by Linux/Sparc yet. */ - void (*sa_restorer) (void); - }; - - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */ -#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */ -#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with - three arguments instead of one. */ -#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC -# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ -#endif -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ -# define SA_NODEFER 0x00000020 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler. */ -#endif -#ifdef __USE_MISC -# define SA_INTERRUPT 0x00000010 /* Historical no-op. */ - -/* Some aliases for the SA_ constants. */ -# define SA_NOMASK SA_NODEFER -# define SA_ONESHOT SA_RESETHAND -# define SA_STACK SA_ONSTACK -#endif - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ -#define SIG_SETMASK 4 /* Set the set of blocked signals. */ - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/sigcontext.h b/lib/libc/include/sparcv9-linux-gnu/bits/sigcontext.h deleted file mode 100644 index 0176699a882d8a8bbca829b001fd60c7bec4e985..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/sigcontext.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGCONTEXT_H -#define _BITS_SIGCONTEXT_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use directly; include instead." -#endif - -#include - -#if __WORDSIZE == 32 - -/* It is quite hard to choose what to put here, because - Linux/sparc32 had at least 3 totally incompatible - signal stack layouts. - This one is for the "new" style signals, which are - now delivered unless SA_SIGINFO is requested. */ - -struct sigcontext - { - struct - { - unsigned int psr; - unsigned int pc; - unsigned int npc; - unsigned int y; - unsigned int u_regs[16]; /* globals and ins */ - } si_regs; - int si_mask; - }; - -#else /* sparc64 */ - -typedef struct - { - unsigned int si_float_regs [64]; - unsigned long si_fsr; - unsigned long si_gsr; - unsigned long si_fprs; - } __siginfo_fpu_t; - -struct sigcontext - { - char sigc_info[128]; - struct - { - unsigned long u_regs[16]; /* globals and ins */ - unsigned long tstate; - unsigned long tpc; - unsigned long tnpc; - unsigned int y; - unsigned int fprs; - } sigc_regs; - __siginfo_fpu_t * sigc_fpu_save; - struct - { - void * ss_sp; - int ss_flags; - unsigned long ss_size; - } sigc_stack; - unsigned long sigc_mask; -}; - -#endif /* sparc64 */ - -#endif /* bits/sigcontext.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-arch.h b/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-arch.h deleted file mode 100644 index f3360b0cca12925288f4437c08205e856b2400f5..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-arch.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Architecture-specific adjustments to siginfo_t. SPARC version. */ -#ifndef _BITS_SIGINFO_ARCH_H -#define _BITS_SIGINFO_ARCH_H 1 - -/* The kernel uses int instead of long int (as in POSIX). In 32-bit - mode, we can still use long int, but in 64-bit mode, we need to - deviate from POSIX. */ -#if __WORDSIZE == 64 -# define __SI_BAND_TYPE int -#endif - -#define __SI_SIGFAULT_ADDL \ - int _si_trapno; - -#define si_trapno _sifields._sigfault._si_trapno - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-consts-arch.h b/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-consts-arch.h deleted file mode 100644 index a1dd324ec7f6fa104da0977caf7f431a78097e06..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-consts-arch.h +++ /dev/null @@ -1,12 +0,0 @@ -/* Architecture-specific additional siginfo constants. SPARC version. */ -#ifndef _BITS_SIGINFO_CONSTS_ARCH_H -#define _BITS_SIGINFO_CONSTS_ARCH_H 1 - -/* `si_code' values for SIGEMT signal. */ -enum -{ - EMT_TAGOVF = 1 /* Tag overflow. */ -#define EMT_TAGOVF EMT_TAGOVF -}; - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/signalfd.h b/lib/libc/include/sparcv9-linux-gnu/bits/signalfd.h deleted file mode 100644 index c2c5bc4462f1fa059e326086e7768e94c546505f..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/signalfd.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SIGNALFD_H -# error "Never use directly; include instead." -#endif - -/* Flags for signalfd. */ -enum - { - SFD_CLOEXEC = 0x400000, -#define SFD_CLOEXEC SFD_CLOEXEC - SFD_NONBLOCK = 0x004000 -#define SFD_NONBLOCK SFD_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/signum-arch.h b/lib/libc/include/sparcv9-linux-gnu/bits/signum-arch.h deleted file mode 100644 index f7a416223ceeff16c934b515d2328cc86867d2ff..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/signum-arch.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Signal number definitions. Linux/SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGNUM_ARCH_H -#define _BITS_SIGNUM_ARCH_H 1 - -#ifndef _SIGNAL_H -#error "Never include directly; use instead." -#endif - -/* Adjustments and additions to the signal number constants for - Linux/SPARC systems. Signal values on this platform were chosen - for SunOS binary compatibility. */ - -#define SIGEMT 7 /* Emulator trap. */ -#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */ -#define SIGPWR SIGLOST /* Power failure imminent (SysV). */ - -/* Historical signals specified by POSIX. */ -#define SIGBUS 10 /* Bus error. */ -#define SIGSYS 12 /* Bad system call. */ - -/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ -#define SIGURG 16 /* Urgent data is available at a socket. */ -#define SIGSTOP 17 /* Stop, unblockable. */ -#define SIGTSTP 18 /* Keyboard stop. */ -#define SIGCONT 19 /* Continue. */ -#define SIGCHLD 20 /* Child terminated or stopped. */ -#define SIGTTIN 21 /* Background read from control terminal. */ -#define SIGTTOU 22 /* Background write to control terminal. */ -#define SIGPOLL 23 /* Pollable event occurred (System V). */ -#define SIGXCPU 24 /* CPU time limit exceeded. */ -#define SIGVTALRM 26 /* Virtual timer expired. */ -#define SIGPROF 27 /* Profiling timer expired. */ -#define SIGXFSZ 25 /* File size limit exceeded. */ -#define SIGUSR1 30 /* User-defined signal 1. */ -#define SIGUSR2 31 /* User-defined signal 2. */ - -/* Nonstandard signals found in all modern POSIX systems - (including both BSD and Linux). */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ - -/* Archaic names for compatibility. */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ -#define SIGCLD SIGCHLD /* Old System V name */ - -#define __SIGRTMIN 32 -#define __SIGRTMAX 64 - -#endif /* included. */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/sigstack.h b/lib/libc/include/sparcv9-linux-gnu/bits/sigstack.h deleted file mode 100644 index f2371950e290c1427a9758287af0be999b05047d..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/sigstack.h +++ /dev/null @@ -1,32 +0,0 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGSTACK_H -#define _BITS_SIGSTACK_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never include this file directly. Use instead" -#endif - -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 4096 - -/* System default stack size. */ -#define SIGSTKSZ 16384 - -#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/socket-constants.h b/lib/libc/include/sparcv9-linux-gnu/bits/socket-constants.h deleted file mode 100644 index 177bd23494bdb8f195dbb37733994aecb14ce452..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/socket-constants.h +++ /dev/null @@ -1,70 +0,0 @@ -/* Socket constants which vary among Linux architectures. Version for SPARC. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SOCKET_H -# error "Never include directly; use instead." -#endif - -#define SOL_SOCKET 65535 -#define SO_ACCEPTCONN 32768 -#define SO_BROADCAST 32 -#define SO_DONTROUTE 16 -#define SO_ERROR 4103 -#define SO_KEEPALIVE 8 -#define SO_LINGER 128 -#define SO_OOBINLINE 256 -#define SO_RCVBUF 4098 -#define SO_RCVLOWAT 2048 -#define SO_REUSEADDR 4 -#define SO_SNDBUF 4097 -#define SO_SNDLOWAT 4096 -#define SO_TYPE 4104 - -#if __TIMESIZE == 64 -# define SO_RCVTIMEO 8192 -# define SO_SNDTIMEO 16384 -# define SO_TIMESTAMP 29 -# define SO_TIMESTAMPNS 33 -# define SO_TIMESTAMPING 35 -#else -# define SO_RCVTIMEO_OLD 8192 -# define SO_SNDTIMEO_OLD 16384 -# define SO_RCVTIMEO_NEW 68 -# define SO_SNDTIMEO_NEW 69 - -# define SO_TIMESTAMP_OLD 0x001d -# define SO_TIMESTAMPNS_OLD 0x0021 -# define SO_TIMESTAMPING_OLD 0x0023 -# define SO_TIMESTAMP_NEW 0x0046 -# define SO_TIMESTAMPNS_NEW 0x0042 -# define SO_TIMESTAMPING_NEW 0x0043 - -# ifdef __USE_TIME_BITS64 -# define SO_RCVTIMEO SO_RCVTIMEO_NEW -# define SO_SNDTIMEO SO_SNDTIMEO_NEW -# define SO_TIMESTAMP SO_TIMESTAMP_NEW -# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW -# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW -# else -# define SO_RCVTIMEO SO_RCVTIMEO_OLD -# define SO_SNDTIMEO SO_SNDTIMEO_OLD -# define SO_TIMESTAMP SO_TIMESTAMP_OLD -# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD -# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD -# endif -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/socket_type.h b/lib/libc/include/sparcv9-linux-gnu/bits/socket_type.h deleted file mode 100644 index 16f1604498fb02752b7ff28eff973b173d24f9e7..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/socket_type.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Define enum __socket_type for Linux/SPARC. - Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SOCKET_H -# error "Never include directly; use instead." -#endif - -/* Types of sockets. */ -enum __socket_type -{ - SOCK_STREAM = 1, /* Sequenced, reliable, connection-based - byte streams. */ -#define SOCK_STREAM SOCK_STREAM - SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams - of fixed maximum length. */ -#define SOCK_DGRAM SOCK_DGRAM - SOCK_RAW = 3, /* Raw protocol interface. */ -#define SOCK_RAW SOCK_RAW - SOCK_RDM = 4, /* Reliably-delivered messages. */ -#define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, - datagrams of fixed maximum length. */ -#define SOCK_SEQPACKET SOCK_SEQPACKET - SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ -#define SOCK_DCCP SOCK_DCCP - SOCK_PACKET = 10, /* Linux specific way of getting packets - at the dev level. For writing rarp and - other similar things on the user level. */ -#define SOCK_PACKET SOCK_PACKET - - /* Flags to be ORed into the type parameter of socket and socketpair and - used for the flags parameter of paccept. */ - - SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the - new descriptor(s). */ -#define SOCK_CLOEXEC SOCK_CLOEXEC - SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as - non-blocking. */ -#define SOCK_NONBLOCK SOCK_NONBLOCK -}; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/sparcv9-linux-gnu/bits/struct_rwlock.h deleted file mode 100644 index 01b8d4b742d5a17f19faec2dbb475637b185e868..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/struct_rwlock.h +++ /dev/null @@ -1,58 +0,0 @@ -/* SPARC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _RWLOCK_INTERNAL_H -#define _RWLOCK_INTERNAL_H - -struct __pthread_rwlock_arch_t -{ - unsigned int __readers; - unsigned int __writers; - unsigned int __wrphase_futex; - unsigned int __writers_futex; - unsigned int __pad3; - unsigned int __pad4; -#if __WORDSIZE == 64 - int __cur_writer; - int __shared; - unsigned long int __pad1; - unsigned long int __pad2; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned int __flags; -#else - unsigned char __pad1; - unsigned char __pad2; - unsigned char __shared; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned char __flags; - int __cur_writer; -#endif -}; - -#if __WORDSIZE == 64 -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags -#else -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/struct_stat.h b/lib/libc/include/sparcv9-linux-gnu/bits/struct_stat.h deleted file mode 100644 index 5cf20aac064e104ee985afbe20ef2d815a83f386..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/struct_stat.h +++ /dev/null @@ -1,131 +0,0 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#if !defined _SYS_STAT_H && !defined _FCNTL_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_STRUCT_STAT_H -#define _BITS_STRUCT_STAT_H 1 - -#include -#include - -struct stat - { - __dev_t st_dev; /* Device. */ -#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 - unsigned short int __pad1; - __ino_t st_ino; /* File serial number. */ -#else - __ino64_t st_ino; /* File serial number. */ -#endif - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; -#ifndef __USE_FILE_OFFSET64 - __off_t st_size; /* Size of file, in bytes. */ -#else - __off64_t st_size; /* Size of file, in bytes. */ -#endif - __blksize_t st_blksize; /* Optimal block size for I/O. */ - -#ifndef __USE_FILE_OFFSET64 - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ -#else - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -#endif -#ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif - unsigned long int __glibc_reserved4; - unsigned long int __glibc_reserved5; - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - __dev_t st_dev; /* Device. */ -# if __WORDSIZE == 64 - unsigned short int __pad1; -# endif - __ino64_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; - __off64_t st_size; /* Size of file, in bytes. */ - __blksize_t st_blksize; /* Optimal block size for I/O. */ - - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -# ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -# else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -# endif - unsigned long int __glibc_reserved4; - unsigned long int __glibc_reserved5; - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV -/* Nanosecond resolution time values are supported. */ -#define _STATBUF_ST_NSEC - -#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/termios-baud.h b/lib/libc/include/sparcv9-linux-gnu/bits/termios-baud.h deleted file mode 100644 index f12fccaa0b059cca2a6aad109d17ff08932555ea..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/termios-baud.h +++ /dev/null @@ -1,46 +0,0 @@ -/* termios baud rate selection definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -#ifdef __USE_MISC -# define CBAUD 0x0000100f -# define CBAUDEX 0x00001000 -# define CIBAUD 0x100f0000 /* input baud rate (not used) */ -# define CMSPAR 0x40000000 /* mark or space (stick) parity */ -# define CRTSCTS 0x80000000 /* flow control */ -#endif - -#define B57600 0x00001001 -#define B115200 0x00001002 -#define B230400 0x00001003 -#define B460800 0x00001004 -#define B76800 0x00001005 -#define B153600 0x00001006 -#define B307200 0x00001007 -#define B614400 0x00001008 -#define B921600 0x00001009 -#define B500000 0x0000100a -#define B576000 0x0000100b -#define B1000000 0x0000100c -#define B1152000 0x0000100d -#define B1500000 0x0000100e -#define B2000000 0x0000100f -#define __MAX_BAUD B2000000 \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_cc.h deleted file mode 100644 index c91028b51990b42140edee4805851066b859765a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_cc.h +++ /dev/null @@ -1,43 +0,0 @@ -/* termios c_cc symbolic constant definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_cc characters */ -#define VINTR 0 -#define VQUIT 1 -#define VERASE 2 -#define VKILL 3 -#define VEOF 4 -#define VEOL 5 -#define VEOL2 6 -#define VSWTC 7 -#define VSTART 8 -#define VSTOP 9 -#define VSUSP 10 -#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */ -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT 15 - -/* User apps assume vmin/vtime is shared with eof/eol */ -#define VMIN VEOF -#define VTIME VEOL \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_oflag.h deleted file mode 100644 index c20f5d876f4b8de57120dd57b3401e3b456324c8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_oflag.h +++ /dev/null @@ -1,64 +0,0 @@ -/* termios output mode definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_oflag bits */ -#define OPOST 0x00000001 -#define OLCUC 0x00000002 -#define ONLCR 0x00000004 -#define OCRNL 0x00000008 -#define ONOCR 0x00000010 -#define ONLRET 0x00000020 -#define OFILL 0x00000040 -#define OFDEL 0x00000080 -#if defined __USE_MISC || defined __USE_XOPEN -# define NLDLY 0x00000100 -# define NL0 0x00000000 -# define NL1 0x00000100 -# define CRDLY 0x00000600 -# define CR0 0x00000000 -# define CR1 0x00000200 -# define CR2 0x00000400 -# define CR3 0x00000600 -# define TABDLY 0x00001800 -# define TAB0 0x00000000 -# define TAB1 0x00000800 -# define TAB2 0x00001000 -# define TAB3 0x00001800 -# define BSDLY 0x00002000 -# define BS0 0x00000000 -# define BS1 0x00002000 -#define FFDLY 0x00008000 -#define FF0 0x00000000 -#define FF1 0x00008000 -#endif -#define VTDLY 0x00004000 -#define VT0 0x00000000 -#define VT1 0x00004000 - -# if defined __USE_GNU -#define PAGEOUT 0x00010000 /* SUNOS specific */ -#define WRAP 0x00020000 /* SUNOS specific */ -# endif - -#ifdef __USE_MISC -# define XTABS 0x00001800 -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/termios-struct.h b/lib/libc/include/sparcv9-linux-gnu/bits/termios-struct.h deleted file mode 100644 index 3ba93c65cabea801ee4c5242b3c5dbc75c30c097..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/termios-struct.h +++ /dev/null @@ -1,34 +0,0 @@ -/* struct termios definition. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -#define NCCS 17 -struct termios - { - tcflag_t c_iflag; /* input mode flags */ - tcflag_t c_oflag; /* output mode flags */ - tcflag_t c_cflag; /* control mode flags */ - tcflag_t c_lflag; /* local mode flags */ - cc_t c_line; /* line discipline */ - cc_t c_cc[NCCS]; /* control characters */ -#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 -#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/timerfd.h b/lib/libc/include/sparcv9-linux-gnu/bits/timerfd.h deleted file mode 100644 index 127510fa662e4b25d4fd703c10c21f1fb5eccdca..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/timerfd.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_TIMERFD_H -# error "Never use directly; include instead." -#endif - -/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ -enum - { - TFD_CLOEXEC = 0x400000, -#define TFD_CLOEXEC TFD_CLOEXEC - TFD_NONBLOCK = 0x004000 -#define TFD_NONBLOCK TFD_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_msqid_ds.h deleted file mode 100644 index d56c69e62f55a0d419bfb2bea00337dd43778de1..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_msqid_ds.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Linux/SPARC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_MSG_H -# error "Never use directly; include instead." -#endif - -#include - -/* Structure of record for one message inside the kernel. - The type `struct msg' is opaque. */ -struct msqid_ds -{ -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm msg_perm; /* structure describing operation permission */ -# if __TIMESIZE == 32 - unsigned long int __msg_stime_high; - __time_t msg_stime; /* time of last msgsnd command */ - unsigned long int __msg_rtime_high; - __time_t msg_rtime; /* time of last msgsnd command */ - unsigned long int __msg_ctime_high; - __time_t msg_ctime; /* time of last change */ -# else - __time_t msg_stime; /* time of last msgsnd command */ - __time_t msg_rtime; /* time of last msgsnd command */ - __time_t msg_ctime; /* time of last change */ -# endif - __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ - msgqnum_t msg_qnum; /* number of messages currently on queue */ - msglen_t msg_qbytes; /* max number of bytes allowed on queue */ - __pid_t msg_lspid; /* pid of last msgsnd() */ - __pid_t msg_lrpid; /* pid of last msgrcv() */ - __syscall_ulong_t __glibc_reserved4; - __syscall_ulong_t __glibc_reserved5; -#endif -}; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_semid_ds.h deleted file mode 100644 index 1eebddfb1571208d82fd7fe8d8797cff167383a9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_semid_ds.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Sparc implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SEM_H -# error "Never include directly; use instead." -#endif - -/* Data structure describing a set of semaphores. */ -struct semid_ds -{ -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm sem_perm; /* operation permission struct */ -# if __TIMESIZE == 32 - __syscall_ulong_t __sem_otime_high; - __time_t sem_otime; /* last semop() time */ - __syscall_ulong_t __sem_ctime_high; - __time_t sem_ctime; /* last time changed by semctl() */ -# else - __time_t sem_otime; /* last semop() time */ - __time_t sem_ctime; /* last time changed by semctl() */ -# endif - __syscall_ulong_t sem_nsems; /* number of semaphores in set */ - __syscall_ulong_t __glibc_reserved3; - __syscall_ulong_t __glibc_reserved4; -#endif -}; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_shmid_ds.h deleted file mode 100644 index 25d101b362088d8922a204125c0803e13f4f02c8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_shmid_ds.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Linux/SPARC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SHM_H -# error "Never include directly; use instead." -#endif - -/* Data structure describing a shared memory segment. */ -struct shmid_ds - { -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm shm_perm; /* operation permission struct */ -# if __TIMESIZE == 32 - unsigned long int __shm_atime_high; - __time_t shm_atime; /* time of last shmat() */ - unsigned long int __shm_dtime_high; - __time_t shm_dtime; /* time of last shmdt() */ - unsigned long int __shm_ctime_high; - __time_t shm_ctime; /* time of last change by shmctl() */ -# else - __time_t shm_atime; /* time of last shmat() */ - __time_t shm_dtime; /* time of last shmdt() */ - __time_t shm_ctime; /* time of last change by shmctl() */ -# endif - size_t shm_segsz; /* size of segment in bytes */ - __pid_t shm_cpid; /* pid of creator */ - __pid_t shm_lpid; /* pid of last shmop */ - shmatt_t shm_nattch; /* number of current attaches */ - __syscall_ulong_t __glibc_reserved5; - __syscall_ulong_t __glibc_reserved6; -#endif - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/typesizes.h b/lib/libc/include/sparcv9-linux-gnu/bits/typesizes.h deleted file mode 100644 index 1035ac097ba862ca6191ed9f154ef77a2ad7708b..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/typesizes.h +++ /dev/null @@ -1,95 +0,0 @@ -/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_TYPES_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_TYPESIZES_H -#define _BITS_TYPESIZES_H 1 - -/* See for the meaning of these macros. This file exists so - that need not vary across different GNU platforms. */ - -#define __DEV_T_TYPE __UQUAD_TYPE -#define __UID_T_TYPE __U32_TYPE -#define __GID_T_TYPE __U32_TYPE -#define __INO_T_TYPE __ULONGWORD_TYPE -#define __INO64_T_TYPE __UQUAD_TYPE -#define __MODE_T_TYPE __U32_TYPE -#define __NLINK_T_TYPE __U32_TYPE -#define __OFF_T_TYPE __SLONGWORD_TYPE -#define __OFF64_T_TYPE __SQUAD_TYPE -#define __PID_T_TYPE __S32_TYPE -#define __RLIM_T_TYPE __ULONGWORD_TYPE -#define __RLIM64_T_TYPE __UQUAD_TYPE -#define __BLKCNT_T_TYPE __SLONGWORD_TYPE -#define __BLKCNT64_T_TYPE __SQUAD_TYPE -#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE -#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE -#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE -#define __FSFILCNT64_T_TYPE __UQUAD_TYPE -#define __FSWORD_T_TYPE __SWORD_TYPE -#define __ID_T_TYPE __U32_TYPE -#define __CLOCK_T_TYPE __SLONGWORD_TYPE -#define __TIME_T_TYPE __SLONGWORD_TYPE -#define __USECONDS_T_TYPE __U32_TYPE -#define __SUSECONDS_T_TYPE __S32_TYPE -#define __SUSECONDS64_T_TYPE __SQUAD_TYPE -#define __DADDR_T_TYPE __S32_TYPE -#define __KEY_T_TYPE __S32_TYPE -#define __CLOCKID_T_TYPE __S32_TYPE -#define __TIMER_T_TYPE void * -#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE -#define __FSID_T_TYPE struct { int __val[2]; } -#define __SSIZE_T_TYPE __SWORD_TYPE -#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE -#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE -#define __CPU_MASK_TYPE __ULONGWORD_TYPE - -#if defined __arch64__ || defined __sparcv9 -/* Tell the libc code that off_t and off64_t are actually the same type - for all ABI purposes, even if possibly expressed as different base types - for C type-checking purposes. */ -# define __OFF_T_MATCHES_OFF64_T 1 - -/* Same for ino_t and ino64_t. */ -# define __INO_T_MATCHES_INO64_T 1 - -/* And for __rlim_t and __rlim64_t. */ -# define __RLIM_T_MATCHES_RLIM64_T 1 - -/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ -# define __STATFS_MATCHES_STATFS64 1 - -/* And for getitimer, setitimer and rusage */ -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 -#else -# define __RLIM_T_MATCHES_RLIM64_T 0 - -# define __STATFS_MATCHES_STATFS64 0 - -/* And for getitimer, setitimer and rusage */ -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 -#endif - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/wordsize.h b/lib/libc/include/sparcv9-linux-gnu/bits/wordsize.h deleted file mode 100644 index e08131d42361abf40adec92539cfff1d9696cccf..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/wordsize.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Determine the wordsize from the preprocessor defines. */ - -#if defined __arch64__ || defined __sparcv9 -# define __WORDSIZE 64 -# define __WORDSIZE_TIME64_COMPAT32 1 -#else -# define __WORDSIZE 32 -# define __WORDSIZE32_SIZE_ULONG 0 -# define __WORDSIZE32_PTRDIFF_LONG 0 -# define __WORDSIZE_TIME64_COMPAT32 0 -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/fpu_control.h b/lib/libc/include/sparcv9-linux-gnu/fpu_control.h deleted file mode 100644 index 4dd8dc0c987e1581e96be24e5f4c67b342cf03c6..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/fpu_control.h +++ /dev/null @@ -1,72 +0,0 @@ -/* FPU control word bits. SPARC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Miguel de Icaza - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FPU_CONTROL_H -#define _FPU_CONTROL_H 1 - - -#include -#include - -/* masking of interrupts */ -#define _FPU_MASK_IM 0x08000000 -#define _FPU_MASK_OM 0x04000000 -#define _FPU_MASK_UM 0x02000000 -#define _FPU_MASK_ZM 0x01000000 -#define _FPU_MASK_PM 0x00800000 - -/* precision control */ -#define _FPU_EXTENDED 0x00000000 /* RECOMMENDED */ -#define _FPU_DOUBLE 0x20000000 -#define _FPU_80BIT 0x30000000 -#define _FPU_SINGLE 0x10000000 /* DO NOT USE */ - -/* rounding control / Sparc */ -#define _FPU_RC_DOWN 0xc0000000 -#define _FPU_RC_UP 0x80000000 -#define _FPU_RC_ZERO 0x40000000 -#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ - -#define _FPU_RESERVED 0x30300000 /* Reserved bits in cw */ - - -/* Now two recommended cw */ - -/* Linux and IEEE default: - - extended precision - - rounding to nearest - - no exceptions */ -#define _FPU_DEFAULT 0x0 -#define _FPU_IEEE 0x0 - -/* Type of the control word. */ -typedef unsigned long int fpu_control_t; - -#if __WORDSIZE == 64 -# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw)) -# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw)) -#else -# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw)) -# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw)) -#endif - -/* Default control word set at startup. */ -extern fpu_control_t __fpu_control; - -#endif /* fpu_control.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/gnu/lib-names.h b/lib/libc/include/sparcv9-linux-gnu/gnu/lib-names.h deleted file mode 100644 index ad6471507a48c834a5c8cbc13cd851c2e20b74b9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/gnu/lib-names.h +++ /dev/null @@ -1,16 +0,0 @@ -/* This file is automatically generated. - It defines macros to allow user program to find the shared - library files which come as part of GNU libc. */ -#ifndef __GNU_LIB_NAMES_H -#define __GNU_LIB_NAMES_H 1 - -#include - -#if __WORDSIZE == 32 -# include -#endif -#if __WORDSIZE == 64 -# include -#endif - -#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/gnu/stubs.h b/lib/libc/include/sparcv9-linux-gnu/gnu/stubs.h deleted file mode 100644 index 120171a87ae7a525497cffc5786ed0383b47ca33..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/gnu/stubs.h +++ /dev/null @@ -1,12 +0,0 @@ -/* This file is automatically generated. - This file selects the right generated file of `__stub_FUNCTION' macros - based on the architecture being compiled for. */ - -#include - -#if __WORDSIZE == 32 -# include -#endif -#if __WORDSIZE == 64 -# include -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/ieee754.h b/lib/libc/include/sparcv9-linux-gnu/ieee754.h deleted file mode 100644 index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/ieee754.h +++ /dev/null @@ -1,170 +0,0 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _IEEE754_H -#define _IEEE754_H 1 - -#include - -#include - -__BEGIN_DECLS - -union ieee754_float - { - float f; - - /* This is the IEEE 754 single-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:8; - unsigned int mantissa:23; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int mantissa:23; - unsigned int exponent:8; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:8; - unsigned int quiet_nan:1; - unsigned int mantissa:22; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int mantissa:22; - unsigned int quiet_nan:1; - unsigned int exponent:8; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee_nan; - }; - -#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ - - -union ieee754_double - { - double d; - - /* This is the IEEE 754 double-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:11; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:20; - unsigned int mantissa1:32; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - /* Together these comprise the mantissa. */ - unsigned int mantissa1:32; - unsigned int mantissa0:20; - unsigned int exponent:11; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:11; - unsigned int quiet_nan:1; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:19; - unsigned int mantissa1:32; -#else - /* Together these comprise the mantissa. */ - unsigned int mantissa1:32; - unsigned int mantissa0:19; - unsigned int quiet_nan:1; - unsigned int exponent:11; - unsigned int negative:1; -#endif - } ieee_nan; - }; - -#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ - - -union ieee854_long_double - { - long double d; - - /* This is the IEEE 854 quad-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:15; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:16; - unsigned int mantissa1:32; - unsigned int mantissa2:32; - unsigned int mantissa3:32; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - /* Together these comprise the mantissa. */ - unsigned int mantissa3:32; - unsigned int mantissa2:32; - unsigned int mantissa1:32; - unsigned int mantissa0:16; - unsigned int exponent:15; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:15; - unsigned int quiet_nan:1; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:15; - unsigned int mantissa1:32; - unsigned int mantissa2:32; - unsigned int mantissa3:32; -#else - /* Together these comprise the mantissa. */ - unsigned int mantissa3:32; - unsigned int mantissa2:32; - unsigned int mantissa1:32; - unsigned int mantissa0:15; - unsigned int quiet_nan:1; - unsigned int exponent:15; - unsigned int negative:1; -#endif - } ieee_nan; - }; - -#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ - -__END_DECLS - -#endif /* ieee754.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/sys/ptrace.h b/lib/libc/include/sparcv9-linux-gnu/sys/ptrace.h deleted file mode 100644 index 9a7b58b46e1e5795dbdccad2e33762adc533bf13..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/sys/ptrace.h +++ /dev/null @@ -1,233 +0,0 @@ -/* `ptrace' debugger support interface. Linux/SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PTRACE_H -#define _SYS_PTRACE_H 1 - -#include -#include -#include - -/* Linux/SPARC kernels up to 2.3.18 do not care much - about what namespace polution, so use a kludge now. */ -#undef PTRACE_GETREGS -#undef PTRACE_SETREGS -#undef PTRACE_GETFPREGS -#undef PTRACE_SETFPREGS -#undef PTRACE_READDATA -#undef PTRACE_WRITEDATA -#undef PTRACE_READTEXT -#undef PTRACE_WRITETEXT -#undef PTRACE_SUNDETACH - -__BEGIN_DECLS - -/* Type of the REQUEST argument to `ptrace.' */ -enum __ptrace_request -{ - /* Indicate that the process making this request should be traced. - All signals received by this process can be intercepted by its - parent, and its parent can use the other `ptrace' requests. */ - PTRACE_TRACEME = 0, -#define PT_TRACE_ME PTRACE_TRACEME - - /* Return the word in the process's text space at address ADDR. */ - PTRACE_PEEKTEXT = 1, -#define PT_READ_I PTRACE_PEEKTEXT - - /* Return the word in the process's data space at address ADDR. */ - PTRACE_PEEKDATA = 2, -#define PT_READ_D PTRACE_PEEKDATA - - /* Return the word in the process's user area at offset ADDR. */ - PTRACE_PEEKUSER = 3, -#define PT_READ_U PTRACE_PEEKUSER - - /* Write the word DATA into the process's text space at address ADDR. */ - PTRACE_POKETEXT = 4, -#define PT_WRITE_I PTRACE_POKETEXT - - /* Write the word DATA into the process's data space at address ADDR. */ - PTRACE_POKEDATA = 5, -#define PT_WRITE_D PTRACE_POKEDATA - - /* Write the word DATA into the process's user area at offset ADDR. */ - PTRACE_POKEUSER = 6, -#define PT_WRITE_U PTRACE_POKEUSER - - /* Continue the process. */ - PTRACE_CONT = 7, -#define PT_CONTINUE PTRACE_CONT - - /* Kill the process. */ - PTRACE_KILL = 8, -#define PT_KILL PTRACE_KILL - - /* Single step the process. */ - PTRACE_SINGLESTEP = 9, -#define PT_STEP PTRACE_SINGLESTEP - - /* Detach from a process attached to with PTRACE_ATTACH. */ - PTRACE_DETACH = 11, -#define PT_DETACH PTRACE_DETACH - - /* This define is needed for older programs which were - trying to work around sparc-linux ptrace nastiness. */ -#define PTRACE_SUNDETACH PTRACE_DETACH - -#if __WORDSIZE == 32 - - /* Get all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETREGS = 12, -#define PT_GETREGS PTRACE_GETREGS - - /* Set all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETREGS = 13, -#define PT_SETREGS PTRACE_SETREGS - - /* Get all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETFPREGS = 14, -#define PT_GETFPREGS PTRACE_GETFPREGS - - /* Set all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETFPREGS = 15, -#define PT_SETFPREGS PTRACE_SETFPREGS - -#endif - - /* Attach to a process that is already running. */ - PTRACE_ATTACH = 16, -#define PT_ATTACH PTRACE_ATTACH - - /* Write several bytes at a time. */ - PTRACE_WRITEDATA = 17, -#define PTRACE_WRITEDATA PTRACE_WRITEDATA - - /* Read several bytes at a time. */ - PTRACE_READTEXT = 18, -#define PTRACE_READTEXT PTRACE_READTEXT -#define PTRACE_READDATA PTRACE_READTEXT - - /* Write several bytes at a time. */ - PTRACE_WRITETEXT = 19, -#define PTRACE_WRITETEXT PTRACE_WRITETEXT - -#if __WORDSIZE == 64 - - /* Get all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETREGS = 22, -#define PT_GETREGS PTRACE_GETREGS - - /* Set all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETREGS = 23, -#define PT_SETREGS PTRACE_SETREGS - -#endif - - /* Continue and stop at the next entry to or return from syscall. */ - PTRACE_SYSCALL = 24, -#define PTRACE_SYSCALL PTRACE_SYSCALL - -#if __WORDSIZE == 64 - - /* Get all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETFPREGS = 25, -#define PT_GETFPREGS PTRACE_GETFPREGS - - /* Set all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETFPREGS = 26, -#define PT_SETFPREGS PTRACE_SETFPREGS - -#endif - - /* Set ptrace filter options. */ - PTRACE_SETOPTIONS = 0x4200, -#define PT_SETOPTIONS PTRACE_SETOPTIONS - - /* Get last ptrace message. */ - PTRACE_GETEVENTMSG = 0x4201, -#define PT_GETEVENTMSG PTRACE_GETEVENTMSG - - /* Get siginfo for process. */ - PTRACE_GETSIGINFO = 0x4202, -#define PT_GETSIGINFO PTRACE_GETSIGINFO - - /* Set new siginfo for process. */ - PTRACE_SETSIGINFO = 0x4203, -#define PT_SETSIGINFO PTRACE_SETSIGINFO - - /* Get register content. */ - PTRACE_GETREGSET = 0x4204, -#define PTRACE_GETREGSET PTRACE_GETREGSET - - /* Set register content. */ - PTRACE_SETREGSET = 0x4205, -#define PTRACE_SETREGSET PTRACE_SETREGSET - - /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect - signal or group stop state. */ - PTRACE_SEIZE = 0x4206, -#define PTRACE_SEIZE PTRACE_SEIZE - - /* Trap seized tracee. */ - PTRACE_INTERRUPT = 0x4207, -#define PTRACE_INTERRUPT PTRACE_INTERRUPT - - /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208, -#define PTRACE_LISTEN PTRACE_LISTEN - - /* Retrieve siginfo_t structures without removing signals from a queue. */ - PTRACE_PEEKSIGINFO = 0x4209, -#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO - - /* Get the mask of blocked signals. */ - PTRACE_GETSIGMASK = 0x420a, -#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK - - /* Change the mask of blocked signals. */ - PTRACE_SETSIGMASK = 0x420b, -#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK - - /* Get seccomp BPF filters. */ - PTRACE_SECCOMP_GET_FILTER = 0x420c, -#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER - - /* Get seccomp BPF filter metadata. */ - PTRACE_SECCOMP_GET_METADATA = 0x420d, -#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA - - /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e -#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO -}; - - -#include - -__END_DECLS - -#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/sys/ucontext.h b/lib/libc/include/sparcv9-linux-gnu/sys/ucontext.h deleted file mode 100644 index 4c7f7a1493bdbbd1b9c9cc673bb010edba2e2a50..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/sys/ucontext.h +++ /dev/null @@ -1,304 +0,0 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include - -#include -#include - -#include - - -#ifdef __USE_MISC -# define __ctx(fld) fld -#else -# define __ctx(fld) __ ## fld -#endif - -#if __WORDSIZE == 64 - -#define __MC_NGREG 19 -#ifdef __USE_MISC -# define MC_TSTATE 0 -# define MC_PC 1 -# define MC_NPC 2 -# define MC_Y 3 -# define MC_G1 4 -# define MC_G2 5 -# define MC_G3 6 -# define MC_G4 7 -# define MC_G5 8 -# define MC_G6 9 -# define MC_G7 10 -# define MC_O0 11 -# define MC_O1 12 -# define MC_O2 13 -# define MC_O3 14 -# define MC_O4 15 -# define MC_O5 16 -# define MC_O6 17 -# define MC_O7 18 -# define MC_NGREG __MC_NGREG -#endif - -typedef unsigned long mc_greg_t; -typedef mc_greg_t mc_gregset_t[__MC_NGREG]; - -#ifdef __USE_MISC -# define MC_MAXFPQ 16 -#endif -struct __mc_fq { - unsigned long *__ctx(mcfq_addr); - unsigned int __ctx(mcfq_insn); -}; - -typedef struct { - union { - unsigned int __ctx(sregs)[32]; - unsigned long __ctx(dregs)[32]; - long double __ctx(qregs)[16]; - } __ctx(mcfpu_fregs); - unsigned long __ctx(mcfpu_fsr); - unsigned long __ctx(mcfpu_fprs); - unsigned long __ctx(mcfpu_gsr); - struct __mc_fq *__ctx(mcfpu_fq); - unsigned char __ctx(mcfpu_qcnt); - unsigned char __ctx(mcfpu_qentsz); - unsigned char __ctx(mcfpu_enab); -} mc_fpu_t; - -typedef struct { - mc_gregset_t __ctx(mc_gregs); - mc_greg_t __ctx(mc_fp); - mc_greg_t __ctx(mc_i7); - mc_fpu_t __ctx(mc_fpregs); -} mcontext_t; - -typedef struct ucontext_t { - struct ucontext_t *uc_link; - unsigned long __ctx(uc_flags); - unsigned long __uc_sigmask; - mcontext_t uc_mcontext; - stack_t uc_stack; - sigset_t uc_sigmask; -} ucontext_t; - -#endif /* __WORDISIZE == 64 */ - -/* - * Location of the users' stored registers relative to R0. - * Usage is as an index into a gregset_t array or as u.u_ar0[XX]. - */ -#ifdef __USE_MISC -# define REG_PSR (0) -# define REG_PC (1) -# define REG_nPC (2) -# define REG_Y (3) -# define REG_G1 (4) -# define REG_G2 (5) -# define REG_G3 (6) -# define REG_G4 (7) -# define REG_G5 (8) -# define REG_G6 (9) -# define REG_G7 (10) -# define REG_O0 (11) -# define REG_O1 (12) -# define REG_O2 (13) -# define REG_O3 (14) -# define REG_O4 (15) -# define REG_O5 (16) -# define REG_O6 (17) -# define REG_O7 (18) -#endif - -/* - * A gregset_t is defined as an array type for compatibility with the reference - * source. This is important due to differences in the way the C language - * treats arrays and structures as parameters. - * - * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), - * but that the ABI defines it absolutely to be 21 (resp. 19). - */ - -#if __WORDSIZE == 64 - -# define __NGREG 21 -# ifdef __USE_MISC -# define REG_ASI (19) -# define REG_FPRS (20) - -# define NGREG __NGREG -# endif -typedef long greg_t; - -#else /* __WORDSIZE == 32 */ - -# define __NGREG 19 -# ifdef __USE_MISC -# define NGREG __NGREG -# endif -typedef int greg_t; - -#endif /* __WORDSIZE == 32 */ - -typedef greg_t gregset_t[__NGREG]; - -/* - * The following structures define how a register window can appear on the - * stack. This structure is available (when required) through the `gwins' - * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the - * maximum number of outstanding regiters window defined in the SPARC - * architecture (*not* implementation). - */ -# define __SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */ -#ifdef __USE_MISC -# define SPARC_MAXREGWINDOW __SPARC_MAXREGWINDOW -#endif -struct __rwindow - { - greg_t __ctx(rw_local)[8]; /* locals */ - greg_t __ctx(rw_in)[8]; /* ins */ - }; - -#ifdef __USE_MISC -# define rw_fp __ctx(rw_in)[6] /* frame pointer */ -# define rw_rtn __ctx(rw_in)[7] /* return address */ -#endif - -typedef struct - { - int __ctx(wbcnt); - int *__ctx(spbuf)[__SPARC_MAXREGWINDOW]; - struct __rwindow __ctx(wbuf)[__SPARC_MAXREGWINDOW]; - } gwindows_t; - -/* - * Floating point definitions. - */ - -#ifdef __USE_MISC -# define MAXFPQ 16 /* max # of fpu queue entries currently supported */ -#endif - -/* - * struct fq defines the minimal format of a floating point instruction queue - * entry. The size of entries in the floating point queue are implementation - * dependent. The union FQu is guarenteed to be the first field in any ABI - * conformant system implementation. Any additional fields provided by an - * implementation should not be used applications designed to be ABI conformant. */ - -struct __fpq - { - unsigned long *__ctx(fpq_addr); /* address */ - unsigned long __ctx(fpq_instr); /* instruction */ - }; - -struct __fq - { - union /* FPU inst/addr queue */ - { - double __ctx(whole); - struct __fpq __ctx(fpq); - } __ctx(FQu); - }; - -#ifdef __USE_MISC -# define FPU_REGS_TYPE unsigned -# define FPU_DREGS_TYPE unsigned long long -# define V7_FPU_FSR_TYPE unsigned -# define V9_FPU_FSR_TYPE unsigned long long -# define V9_FPU_FPRS_TYPE unsigned -#endif - -#if __WORDSIZE == 64 - -typedef struct - { - union { /* FPU floating point regs */ - unsigned __ctx(fpu_regs)[32]; /* 32 singles */ - double __ctx(fpu_dregs)[32]; /* 32 doubles */ - long double __ctx(fpu_qregs)[16]; /* 16 quads */ - } __ctx(fpu_fr); - struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ - unsigned long __ctx(fpu_fsr); /* FPU status register */ - unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ - unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ - unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ - } fpregset_t; - -#else /* __WORDSIZE == 32 */ - -typedef struct - { - union { /* FPU floating point regs */ - __extension__ unsigned long long __ctx(fpu_regs)[32]; /* 32 singles */ - double __ctx(fpu_dregs)[16]; /* 16 doubles */ - } __ctx(fpu_fr); - struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ - unsigned __ctx(fpu_fsr); /* FPU status register */ - unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ - unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ - unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ - } fpregset_t; - -/* - * The following structure is for associating extra register state with - * the ucontext structure and is kept within the uc_mcontext filler area. - * - * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to - * extra register state. The exact format of the extra register state - * pointed to by xrs_ptr is platform-dependent. - * - * Note: a platform may or may not manage extra register state. - */ -typedef struct - { - unsigned int __ctx(xrs_id); /* indicates xrs_ptr validity */ - void * __ctx(xrs_ptr); /* ptr to extra reg state */ - } xrs_t; - -#ifdef __USE_MISC -# define XRS_ID 0x78727300 /* the string "xrs" */ -#endif - -typedef struct - { - gregset_t __ctx(gregs); /* general register set */ - gwindows_t *__ctx(gwins); /* POSSIBLE pointer to register - windows */ - fpregset_t __ctx(fpregs); /* floating point register set */ - xrs_t __ctx(xrs); /* POSSIBLE extra register state - association */ - long __glibc_reserved1[19]; - } mcontext_t; - - -/* Userlevel context. */ -typedef struct ucontext_t - { - unsigned long __ctx(uc_flags); - struct ucontext_t *uc_link; - sigset_t uc_sigmask; - stack_t uc_stack; - mcontext_t uc_mcontext; - } ucontext_t; - -#endif /* __WORDSIZE == 32 */ -#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/sys/user.h b/lib/libc/include/sparcv9-linux-gnu/sys/user.h deleted file mode 100644 index 7ea56205de91da1045754b456fedf660bfabd277..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/sys/user.h +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (C) 2003-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_USER_H -#define _SYS_USER_H 1 - -#include - -struct sunos_regs -{ - unsigned int psr, pc, npc, y; - unsigned int regs[15]; -}; - -struct sunos_fpqueue -{ - unsigned int *addr; - unsigned int inst; -}; - -struct sunos_fp -{ - union - { - unsigned int regs[32]; - double reg_dbls[16]; - } fregs; - unsigned int fsr; - unsigned int flags; - unsigned int extra; - unsigned int fpq_count; - struct sunos_fpqueue fpq[16]; -}; - -struct sunos_fpu -{ - struct sunos_fp fpstatus; -}; - -/* The SunOS core file header layout. */ -struct user { - unsigned int magic; - unsigned int len; - struct sunos_regs regs; - struct - { - unsigned char a_dynamic :1; - unsigned char a_toolversion :7; - unsigned char a_machtype; - unsigned short a_info; - unsigned int a_text; - unsigned int a_data; - unsigned int a_bss; - unsigned int a_syms; - unsigned int a_entry; - unsigned int a_trsize; - unsigned int a_drsize; - } uexec; - int signal; - size_t u_tsize; - size_t u_dsize; - size_t u_ssize; - char u_comm[17]; - struct sunos_fpu fpu; - unsigned int sigcode; -}; - -#define NBPG 0x2000 -#define UPAGES 1 -#define SUNOS_CORE_MAGIC 0x080456 - -#endif \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/bits/dl_find_object.h b/lib/libc/include/x86-linux-gnu/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..b276fbc9ba3f09b76fbff3cdff7479264c1aa833 --- /dev/null +++ b/lib/libc/include/x86-linux-gnu/bits/dl_find_object.h @@ -0,0 +1,29 @@ +/* x86 definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#ifdef __x86_64__ +# define DLFO_STRUCT_HAS_EH_DBASE 0 +#else +# define DLFO_STRUCT_HAS_EH_DBASE 1 +#endif +#define DLFO_STRUCT_HAS_EH_COUNT 0 +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/bits/environments.h b/lib/libc/include/x86-linux-gnu/bits/environments.h index 72a871ff4de397f64f5f7cf4b5f5e70a6f02c59d..99bf904d42ebde70d1c1be91bd480db227162f06 100644 --- a/lib/libc/include/x86-linux-gnu/bits/environments.h +++ b/lib/libc/include/x86-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/epoll.h b/lib/libc/include/x86-linux-gnu/bits/epoll.h index 4bda3c54ef2f9331ac170b7e33d85aa1d55004bd..6902c3341a85d7959f7ce445fd664e7d1b69e9f9 100644 --- a/lib/libc/include/x86-linux-gnu/bits/epoll.h +++ b/lib/libc/include/x86-linux-gnu/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/fcntl.h b/lib/libc/include/x86-linux-gnu/bits/fcntl.h index de1b65f104f965926417c07a8466d61ed6bd5fc4..94abf25091b66730a25a5980e14f314ca08a129c 100644 --- a/lib/libc/include/x86-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/x86-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/x86. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/fenv.h b/lib/libc/include/x86-linux-gnu/bits/fenv.h index dd01ba9442e7648df13d829ffb4c664fe0c30af5..bb5cbf1dab681340321c86ddbe3478f1b9caa9ff 100644 --- a/lib/libc/include/x86-linux-gnu/bits/fenv.h +++ b/lib/libc/include/x86-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/floatn.h b/lib/libc/include/x86-linux-gnu/bits/floatn.h index 5818af200103f563ab8b3b89776b1fe2dd8de761..827aeeced4f02b45812df033e61f99b70ed6bb38 100644 --- a/lib/libc/include/x86-linux-gnu/bits/floatn.h +++ b/lib/libc/include/x86-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on x86. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,7 +58,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##q # else @@ -68,7 +68,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* Add a typedef for older GCC compilers which don't natively support _Complex _Float128. */ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); @@ -82,7 +82,7 @@ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef __float128 _Float128; # endif diff --git a/lib/libc/include/x86-linux-gnu/bits/flt-eval-method.h b/lib/libc/include/x86-linux-gnu/bits/flt-eval-method.h index c714d6ed236f37ba47c46b07f0427d7f4fede23d..2f6d1751ba9f9431c95a101deae300dc124f7a00 100644 --- a/lib/libc/include/x86-linux-gnu/bits/flt-eval-method.h +++ b/lib/libc/include/x86-linux-gnu/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/fp-logb.h b/lib/libc/include/x86-linux-gnu/bits/fp-logb.h index 7c1bfa72bd5add534071850e5c498ad6e8b1db53..ffd96b72829d09ff9ce10c7b431e55c0548c84c9 100644 --- a/lib/libc/include/x86-linux-gnu/bits/fp-logb.h +++ b/lib/libc/include/x86-linux-gnu/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/indirect-return.h b/lib/libc/include/x86-linux-gnu/bits/indirect-return.h index 4bf822a84c03e71ba8cb75841166546da1e5af40..911b8c4333e7dea12906df66807387d0307e4d99 100644 --- a/lib/libc/include/x86-linux-gnu/bits/indirect-return.h +++ b/lib/libc/include/x86-linux-gnu/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/ipctypes.h b/lib/libc/include/x86-linux-gnu/bits/ipctypes.h index 9c301e1a3cdd67c3daafe5762ba5f02e77768d3d..7c465087b29391c35287ab6ee6ab05b51d2c1d18 100644 --- a/lib/libc/include/x86-linux-gnu/bits/ipctypes.h +++ b/lib/libc/include/x86-linux-gnu/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/iscanonical.h b/lib/libc/include/x86-linux-gnu/bits/iscanonical.h index 8e6c0d05f5016f5a498a62ab68c72468d0142931..d7e7ae35cb0da9afa8bbfbcce56ca9bdb2d14304 100644 --- a/lib/libc/include/x86-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/x86-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/link.h b/lib/libc/include/x86-linux-gnu/bits/link.h index 9774e993a3c9e35dfe6698df6815cd2828ae570a..c71bb2fc27929c742d6e28560a53bacd70646c38 100644 --- a/lib/libc/include/x86-linux-gnu/bits/link.h +++ b/lib/libc/include/x86-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,8 +38,8 @@ typedef struct La_i86_retval uint32_t lrv_edx; long double lrv_st0; long double lrv_st1; - uint64_t lrv_bnd0; - uint64_t lrv_bnd1; + uint64_t __glibc_unused1; + uint64_t __glibc_unused2; } La_i86_retval; @@ -96,7 +96,7 @@ typedef struct La_x86_64_regs La_x86_64_xmm lr_xmm[8]; La_x86_64_vector lr_vector[8]; #ifndef __ILP32__ - __int128_t lr_bnd[4]; + __int128_t __glibc_unused1[4]; #endif } La_x86_64_regs; @@ -112,8 +112,8 @@ typedef struct La_x86_64_retval La_x86_64_vector lrv_vector0; La_x86_64_vector lrv_vector1; #ifndef __ILP32__ - __int128_t lrv_bnd0; - __int128_t lrv_bnd1; + __int128_t __glibc_unused1; + __int128_t __glibc_unused2; #endif } La_x86_64_retval; diff --git a/lib/libc/include/x86-linux-gnu/bits/long-double.h b/lib/libc/include/x86-linux-gnu/bits/long-double.h index ef3832bc80d643a47f2501845cab95ac4316e201..3839f69a6f6f5c6cf787b6edd6f244e740a3142d 100644 --- a/lib/libc/include/x86-linux-gnu/bits/long-double.h +++ b/lib/libc/include/x86-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/math-vector.h b/lib/libc/include/x86-linux-gnu/bits/math-vector.h index 6e94f42ca81228bdf7d5e17ac829538784422e31..a147456599b6526d2d935218fdd19e552a89e755 100644 --- a/lib/libc/include/x86-linux-gnu/bits/math-vector.h +++ b/lib/libc/include/x86-linux-gnu/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,6 +58,90 @@ # define __DECL_SIMD_pow __DECL_SIMD_x86_64 # undef __DECL_SIMD_powf # define __DECL_SIMD_powf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acos +# define __DECL_SIMD_acos __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosf +# define __DECL_SIMD_acosf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan +# define __DECL_SIMD_atan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanf +# define __DECL_SIMD_atanf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asin +# define __DECL_SIMD_asin __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinf +# define __DECL_SIMD_asinf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypot +# define __DECL_SIMD_hypot __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypotf +# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2 +# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2f +# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10 +# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10f +# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cosh +# define __DECL_SIMD_cosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_coshf +# define __DECL_SIMD_coshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1 +# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1f +# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinh +# define __DECL_SIMD_sinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinhf +# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrt +# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrtf +# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2 +# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2f +# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10 +# define __DECL_SIMD_log10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10f +# define __DECL_SIMD_log10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2 +# define __DECL_SIMD_log2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2f +# define __DECL_SIMD_log2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1p +# define __DECL_SIMD_log1p __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1pf +# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanh +# define __DECL_SIMD_atanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanhf +# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosh +# define __DECL_SIMD_acosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acoshf +# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erf +# define __DECL_SIMD_erf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erff +# define __DECL_SIMD_erff __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanh +# define __DECL_SIMD_tanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanhf +# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinh +# define __DECL_SIMD_asinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinhf +# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfc +# define __DECL_SIMD_erfc __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfcf +# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tan +# define __DECL_SIMD_tan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanf +# define __DECL_SIMD_tanf __DECL_SIMD_x86_64 # endif #endif \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/bits/mman.h b/lib/libc/include/x86-linux-gnu/bits/mman.h index 8c96873c8645fe386f2467e9974b3492891bd97c..0019b3c1b18a477031c30460feb82bdce6f2b127 100644 --- a/lib/libc/include/x86-linux-gnu/bits/mman.h +++ b/lib/libc/include/x86-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/x86_64 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,9 +24,7 @@ But the kernel header is not namespace clean. */ /* Other flags. */ -#ifdef __USE_MISC -# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ -#endif +#define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ #include diff --git a/lib/libc/include/x86-linux-gnu/bits/procfs-id.h b/lib/libc/include/x86-linux-gnu/bits/procfs-id.h index bada981489a50a58b41189cdf5bdfad7ed071498..a423506956207a6885881d4141d7a0ae5a2444e1 100644 --- a/lib/libc/include/x86-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/x86-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86-linux-gnu/bits/procfs.h b/lib/libc/include/x86-linux-gnu/bits/procfs.h index b670484f2a498dd677f674a0200e1e1c3fdfe939..a661cedc73e2883a028adcc5bf30597e277304e1 100644 --- a/lib/libc/include/x86-linux-gnu/bits/procfs.h +++ b/lib/libc/include/x86-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. x86 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/x86-linux-gnu/bits/pthreadtypes-arch.h index 89b363fb2c690c0e4257ace9972e54af6ae09741..c04483882e87651562aa98bf88ab0a3656489837 100644 --- a/lib/libc/include/x86-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/x86-linux-gnu/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/rseq.h b/lib/libc/include/x86-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..25794bb0348dbc0e61faf0217d908f42c120d3b6 --- /dev/null +++ b/lib/libc/include/x86-linux-gnu/bits/rseq.h @@ -0,0 +1,30 @@ +/* Restartable Sequences Linux x86 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + RSEQ_SIG is used with the following reserved undefined instructions, which + trap in user-space: + + x86-32: 0f b9 3d 53 30 05 53 ud1 0x53053053,%edi + x86-64: 0f b9 3d 53 30 05 53 ud1 0x53053053(%rip),%edi */ + +#define RSEQ_SIG 0x53053053 \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/bits/setjmp.h b/lib/libc/include/x86-linux-gnu/bits/setjmp.h index 9e96a2ff9876995f8c9b65a4a586e17984ebead4..a0ec4d52b398acaec6fd78a42dab4b7c65176146 100644 --- a/lib/libc/include/x86-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/x86-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/sigcontext.h b/lib/libc/include/x86-linux-gnu/bits/sigcontext.h index 4f03980c986b772d0857e8065cdc360f171819a1..c5c56327d75987942fab84b5048a75bb32f30843 100644 --- a/lib/libc/include/x86-linux-gnu/bits/sigcontext.h +++ b/lib/libc/include/x86-linux-gnu/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/struct_mutex.h b/lib/libc/include/x86-linux-gnu/bits/struct_mutex.h index 89c18f35e00b222cbca0673621fd40bbdf31b69c..1c24f997660d21b2e492483441f853e58f4f91b0 100644 --- a/lib/libc/include/x86-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/x86-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* x86 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/x86-linux-gnu/bits/struct_rwlock.h index 022106d66cdb4ff8e0f82bc8aa2eb9e80ea0a466..bda5f4503e6f9d86a530e8a4dccbd1cad337095d 100644 --- a/lib/libc/include/x86-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/x86-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* x86 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86-linux-gnu/bits/struct_stat.h b/lib/libc/include/x86-linux-gnu/bits/struct_stat.h index b3674c73c43565b0ff30101aae4a4baeccb6c838..fb7e9b0079b18c478ed167e264d55cb34ca9fb6a 100644 --- a/lib/libc/include/x86-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/x86-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/timesize.h b/lib/libc/include/x86-linux-gnu/bits/timesize.h index a1ca40d632af2e5cda7f954f5736f67cc53d37fb..e93c7b59bea50280e64e0014b34099cb0d0844a2 100644 --- a/lib/libc/include/x86-linux-gnu/bits/timesize.h +++ b/lib/libc/include/x86-linux-gnu/bits/timesize.h @@ -1,5 +1,5 @@ /* Bit size of the time_t type at glibc build time, x86-64 and x32 case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see . */ +#include + #if defined __x86_64__ && defined __ILP32__ /* For x32, time is 64-bit even though word size is 32-bit. */ # define __TIMESIZE 64 diff --git a/lib/libc/include/x86-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/x86-linux-gnu/bits/types/struct_semid_ds.h index 6713836d1eec4e7203af5dc633a480ec0e9d58e8..c3fcba132f30f7e91a67baa9285f3a6baea3fb2c 100644 --- a/lib/libc/include/x86-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/x86-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* x86 implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/typesizes.h b/lib/libc/include/x86-linux-gnu/bits/typesizes.h index 654f1c7b873efd6317245ed5dae99e75da8808cf..a80cf92e0d085361d7b8b106d2952c286c2b60af 100644 --- a/lib/libc/include/x86-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/x86-linux-gnu/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/finclude/math-vector-fortran.h b/lib/libc/include/x86-linux-gnu/finclude/math-vector-fortran.h index 5fdbe52a3c2c28d20e0a502018ba95d3dedf0dbb..a6b0e8eedd1bf9b5e9fd4210370a5d1624081451 100644 --- a/lib/libc/include/x86-linux-gnu/finclude/math-vector-fortran.h +++ b/lib/libc/include/x86-linux-gnu/finclude/math-vector-fortran.h @@ -1,5 +1,5 @@ ! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- -! Copyright (C) 2019-2021 Free Software Foundation, Inc. +! Copyright (C) 2019-2023 Free Software Foundation, Inc. ! This file is part of the GNU C Library. ! ! The GNU C Library is free software; you can redistribute it and/or @@ -28,6 +28,48 @@ !GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (cos) attributes simd (notinbranch) if('x32') !GCC$ builtin (cosf) attributes simd (notinbranch) if('x32') @@ -40,4 +82,46 @@ !GCC$ builtin (exp) attributes simd (notinbranch) if('x32') !GCC$ builtin (expf) attributes simd (notinbranch) if('x32') !GCC$ builtin (pow) attributes simd (notinbranch) if('x32') -!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') \ No newline at end of file +!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x32') \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/fpu_control.h b/lib/libc/include/x86-linux-gnu/fpu_control.h index 533e2da0d0872f74cf7b3e5f2dff94b6bd0faf8b..c07f6472dc05ff26787aacc00bb7311f000199f5 100644 --- a/lib/libc/include/x86-linux-gnu/fpu_control.h +++ b/lib/libc/include/x86-linux-gnu/fpu_control.h @@ -1,7 +1,6 @@ /* FPU control word bits. x86 version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Olaf Flebbe. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/x86-linux-gnu/gnu/lib-names-32.h b/lib/libc/include/x86-linux-gnu/gnu/lib-names-32.h new file mode 100644 index 0000000000000000000000000000000000000000..05f14745a9069729bd9f5ef08d972fc3430e8637 --- /dev/null +++ b/lib/libc/include/x86-linux-gnu/gnu/lib-names-32.h @@ -0,0 +1,28 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_SO "ld-linux.so.2" +#define LD_SO "ld-linux.so.2" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBCRYPT_SO "libcrypt.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/sys/elf.h b/lib/libc/include/x86-linux-gnu/sys/elf.h index 3731950870454d873c2b72e16be14b6dbf2c0ab9..7bdda09e46a3084af52766bf848b3209b66a5838 100644 --- a/lib/libc/include/x86-linux-gnu/sys/elf.h +++ b/lib/libc/include/x86-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/sys/ptrace.h b/lib/libc/include/x86-linux-gnu/sys/ptrace.h index 461e83ae9c84fe8476edce9df017325981f5873e..d97d5b9ac016c388651993f7f375db21601f3fbc 100644 --- a/lib/libc/include/x86-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/x86-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/x86 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -190,8 +190,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/x86-linux-gnu/sys/ucontext.h b/lib/libc/include/x86-linux-gnu/sys/ucontext.h index f961c6aef830a8f4b65333c4d32e344ab0d73bc4..57a6bec561ad9616fa18a3953f47c9bdc0d55a97 100644 --- a/lib/libc/include/x86-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/x86-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/sys/user.h b/lib/libc/include/x86-linux-gnu/sys/user.h index 0f64e565eb618846a993dde7c108a5be4aa545c6..ae0283c23b00fea49bd0603ce5cc2cd23856d59b 100644 --- a/lib/libc/include/x86-linux-gnu/sys/user.h +++ b/lib/libc/include/x86-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/dl_find_object.h b/lib/libc/include/x86_64-linux-gnu/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..b276fbc9ba3f09b76fbff3cdff7479264c1aa833 --- /dev/null +++ b/lib/libc/include/x86_64-linux-gnu/bits/dl_find_object.h @@ -0,0 +1,29 @@ +/* x86 definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#ifdef __x86_64__ +# define DLFO_STRUCT_HAS_EH_DBASE 0 +#else +# define DLFO_STRUCT_HAS_EH_DBASE 1 +#endif +#define DLFO_STRUCT_HAS_EH_COUNT 0 +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnu/bits/environments.h b/lib/libc/include/x86_64-linux-gnu/bits/environments.h index 72a871ff4de397f64f5f7cf4b5f5e70a6f02c59d..99bf904d42ebde70d1c1be91bd480db227162f06 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/environments.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/epoll.h b/lib/libc/include/x86_64-linux-gnu/bits/epoll.h index 4bda3c54ef2f9331ac170b7e33d85aa1d55004bd..6902c3341a85d7959f7ce445fd664e7d1b69e9f9 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/epoll.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/fcntl.h b/lib/libc/include/x86_64-linux-gnu/bits/fcntl.h index de1b65f104f965926417c07a8466d61ed6bd5fc4..94abf25091b66730a25a5980e14f314ca08a129c 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/x86. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/fenv.h b/lib/libc/include/x86_64-linux-gnu/bits/fenv.h index dd01ba9442e7648df13d829ffb4c664fe0c30af5..bb5cbf1dab681340321c86ddbe3478f1b9caa9ff 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/fenv.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/floatn.h b/lib/libc/include/x86_64-linux-gnu/bits/floatn.h index 5818af200103f563ab8b3b89776b1fe2dd8de761..827aeeced4f02b45812df033e61f99b70ed6bb38 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/floatn.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on x86. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,7 +58,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##q # else @@ -68,7 +68,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* Add a typedef for older GCC compilers which don't natively support _Complex _Float128. */ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); @@ -82,7 +82,7 @@ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef __float128 _Float128; # endif diff --git a/lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h b/lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h index c714d6ed236f37ba47c46b07f0427d7f4fede23d..2f6d1751ba9f9431c95a101deae300dc124f7a00 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h b/lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h index 7c1bfa72bd5add534071850e5c498ad6e8b1db53..ffd96b72829d09ff9ce10c7b431e55c0548c84c9 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h b/lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h index 4bf822a84c03e71ba8cb75841166546da1e5af40..911b8c4333e7dea12906df66807387d0307e4d99 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h b/lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h index 9c301e1a3cdd67c3daafe5762ba5f02e77768d3d..7c465087b29391c35287ab6ee6ab05b51d2c1d18 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h b/lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h index 8e6c0d05f5016f5a498a62ab68c72468d0142931..d7e7ae35cb0da9afa8bbfbcce56ca9bdb2d14304 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/link.h b/lib/libc/include/x86_64-linux-gnu/bits/link.h index 9774e993a3c9e35dfe6698df6815cd2828ae570a..c71bb2fc27929c742d6e28560a53bacd70646c38 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/link.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,8 +38,8 @@ typedef struct La_i86_retval uint32_t lrv_edx; long double lrv_st0; long double lrv_st1; - uint64_t lrv_bnd0; - uint64_t lrv_bnd1; + uint64_t __glibc_unused1; + uint64_t __glibc_unused2; } La_i86_retval; @@ -96,7 +96,7 @@ typedef struct La_x86_64_regs La_x86_64_xmm lr_xmm[8]; La_x86_64_vector lr_vector[8]; #ifndef __ILP32__ - __int128_t lr_bnd[4]; + __int128_t __glibc_unused1[4]; #endif } La_x86_64_regs; @@ -112,8 +112,8 @@ typedef struct La_x86_64_retval La_x86_64_vector lrv_vector0; La_x86_64_vector lrv_vector1; #ifndef __ILP32__ - __int128_t lrv_bnd0; - __int128_t lrv_bnd1; + __int128_t __glibc_unused1; + __int128_t __glibc_unused2; #endif } La_x86_64_retval; diff --git a/lib/libc/include/x86_64-linux-gnu/bits/long-double.h b/lib/libc/include/x86_64-linux-gnu/bits/long-double.h index ef3832bc80d643a47f2501845cab95ac4316e201..3839f69a6f6f5c6cf787b6edd6f244e740a3142d 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/long-double.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/math-vector.h b/lib/libc/include/x86_64-linux-gnu/bits/math-vector.h index 6e94f42ca81228bdf7d5e17ac829538784422e31..a147456599b6526d2d935218fdd19e552a89e755 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/math-vector.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,6 +58,90 @@ # define __DECL_SIMD_pow __DECL_SIMD_x86_64 # undef __DECL_SIMD_powf # define __DECL_SIMD_powf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acos +# define __DECL_SIMD_acos __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosf +# define __DECL_SIMD_acosf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan +# define __DECL_SIMD_atan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanf +# define __DECL_SIMD_atanf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asin +# define __DECL_SIMD_asin __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinf +# define __DECL_SIMD_asinf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypot +# define __DECL_SIMD_hypot __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypotf +# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2 +# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2f +# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10 +# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10f +# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cosh +# define __DECL_SIMD_cosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_coshf +# define __DECL_SIMD_coshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1 +# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1f +# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinh +# define __DECL_SIMD_sinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinhf +# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrt +# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrtf +# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2 +# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2f +# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10 +# define __DECL_SIMD_log10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10f +# define __DECL_SIMD_log10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2 +# define __DECL_SIMD_log2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2f +# define __DECL_SIMD_log2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1p +# define __DECL_SIMD_log1p __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1pf +# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanh +# define __DECL_SIMD_atanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanhf +# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosh +# define __DECL_SIMD_acosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acoshf +# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erf +# define __DECL_SIMD_erf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erff +# define __DECL_SIMD_erff __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanh +# define __DECL_SIMD_tanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanhf +# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinh +# define __DECL_SIMD_asinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinhf +# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfc +# define __DECL_SIMD_erfc __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfcf +# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tan +# define __DECL_SIMD_tan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanf +# define __DECL_SIMD_tanf __DECL_SIMD_x86_64 # endif #endif \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnu/bits/mman.h b/lib/libc/include/x86_64-linux-gnu/bits/mman.h index 8c96873c8645fe386f2467e9974b3492891bd97c..0019b3c1b18a477031c30460feb82bdce6f2b127 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/mman.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/x86_64 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,9 +24,7 @@ But the kernel header is not namespace clean. */ /* Other flags. */ -#ifdef __USE_MISC -# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ -#endif +#define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ #include diff --git a/lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h b/lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h index bada981489a50a58b41189cdf5bdfad7ed071498..a423506956207a6885881d4141d7a0ae5a2444e1 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86_64-linux-gnu/bits/procfs.h b/lib/libc/include/x86_64-linux-gnu/bits/procfs.h index b670484f2a498dd677f674a0200e1e1c3fdfe939..a661cedc73e2883a028adcc5bf30597e277304e1 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/procfs.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. x86 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h index 89b363fb2c690c0e4257ace9972e54af6ae09741..c04483882e87651562aa98bf88ab0a3656489837 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/rseq.h b/lib/libc/include/x86_64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..25794bb0348dbc0e61faf0217d908f42c120d3b6 --- /dev/null +++ b/lib/libc/include/x86_64-linux-gnu/bits/rseq.h @@ -0,0 +1,30 @@ +/* Restartable Sequences Linux x86 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + RSEQ_SIG is used with the following reserved undefined instructions, which + trap in user-space: + + x86-32: 0f b9 3d 53 30 05 53 ud1 0x53053053,%edi + x86-64: 0f b9 3d 53 30 05 53 ud1 0x53053053(%rip),%edi */ + +#define RSEQ_SIG 0x53053053 \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnu/bits/setjmp.h b/lib/libc/include/x86_64-linux-gnu/bits/setjmp.h index 9e96a2ff9876995f8c9b65a4a586e17984ebead4..a0ec4d52b398acaec6fd78a42dab4b7c65176146 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h b/lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h index 4f03980c986b772d0857e8065cdc360f171819a1..c5c56327d75987942fab84b5048a75bb32f30843 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h b/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h index 89c18f35e00b222cbca0673621fd40bbdf31b69c..1c24f997660d21b2e492483441f853e58f4f91b0 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* x86 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h index 022106d66cdb4ff8e0f82bc8aa2eb9e80ea0a466..bda5f4503e6f9d86a530e8a4dccbd1cad337095d 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* x86 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h b/lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h index b3674c73c43565b0ff30101aae4a4baeccb6c838..fb7e9b0079b18c478ed167e264d55cb34ca9fb6a 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/timesize.h b/lib/libc/include/x86_64-linux-gnu/bits/timesize.h index a1ca40d632af2e5cda7f954f5736f67cc53d37fb..e93c7b59bea50280e64e0014b34099cb0d0844a2 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/timesize.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/timesize.h @@ -1,5 +1,5 @@ /* Bit size of the time_t type at glibc build time, x86-64 and x32 case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see . */ +#include + #if defined __x86_64__ && defined __ILP32__ /* For x32, time is 64-bit even though word size is 32-bit. */ # define __TIMESIZE 64 diff --git a/lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h index 6713836d1eec4e7203af5dc633a480ec0e9d58e8..c3fcba132f30f7e91a67baa9285f3a6baea3fb2c 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* x86 implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h b/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h index 654f1c7b873efd6317245ed5dae99e75da8808cf..a80cf92e0d085361d7b8b106d2952c286c2b60af 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h b/lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h index 5fdbe52a3c2c28d20e0a502018ba95d3dedf0dbb..a6b0e8eedd1bf9b5e9fd4210370a5d1624081451 100644 --- a/lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h +++ b/lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h @@ -1,5 +1,5 @@ ! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- -! Copyright (C) 2019-2021 Free Software Foundation, Inc. +! Copyright (C) 2019-2023 Free Software Foundation, Inc. ! This file is part of the GNU C Library. ! ! The GNU C Library is free software; you can redistribute it and/or @@ -28,6 +28,48 @@ !GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (cos) attributes simd (notinbranch) if('x32') !GCC$ builtin (cosf) attributes simd (notinbranch) if('x32') @@ -40,4 +82,46 @@ !GCC$ builtin (exp) attributes simd (notinbranch) if('x32') !GCC$ builtin (expf) attributes simd (notinbranch) if('x32') !GCC$ builtin (pow) attributes simd (notinbranch) if('x32') -!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') \ No newline at end of file +!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x32') \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnu/fpu_control.h b/lib/libc/include/x86_64-linux-gnu/fpu_control.h index 533e2da0d0872f74cf7b3e5f2dff94b6bd0faf8b..c07f6472dc05ff26787aacc00bb7311f000199f5 100644 --- a/lib/libc/include/x86_64-linux-gnu/fpu_control.h +++ b/lib/libc/include/x86_64-linux-gnu/fpu_control.h @@ -1,7 +1,6 @@ /* FPU control word bits. x86 version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Olaf Flebbe. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h b/lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h index 5c25d27fe61a883ba53aecfeaab57611d04da20e..df597abd10dc74f3884a76830454ed0c5e57ea1a 100644 --- a/lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h +++ b/lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/x86_64-linux-gnu/sys/elf.h b/lib/libc/include/x86_64-linux-gnu/sys/elf.h index 3731950870454d873c2b72e16be14b6dbf2c0ab9..7bdda09e46a3084af52766bf848b3209b66a5838 100644 --- a/lib/libc/include/x86_64-linux-gnu/sys/elf.h +++ b/lib/libc/include/x86_64-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/sys/ptrace.h b/lib/libc/include/x86_64-linux-gnu/sys/ptrace.h index 461e83ae9c84fe8476edce9df017325981f5873e..d97d5b9ac016c388651993f7f375db21601f3fbc 100644 --- a/lib/libc/include/x86_64-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/x86_64-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/x86 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -190,8 +190,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/x86_64-linux-gnu/sys/ucontext.h b/lib/libc/include/x86_64-linux-gnu/sys/ucontext.h index f961c6aef830a8f4b65333c4d32e344ab0d73bc4..57a6bec561ad9616fa18a3953f47c9bdc0d55a97 100644 --- a/lib/libc/include/x86_64-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/x86_64-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/sys/user.h b/lib/libc/include/x86_64-linux-gnu/sys/user.h index 0f64e565eb618846a993dde7c108a5be4aa545c6..ae0283c23b00fea49bd0603ce5cc2cd23856d59b 100644 --- a/lib/libc/include/x86_64-linux-gnu/sys/user.h +++ b/lib/libc/include/x86_64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/dl_find_object.h b/lib/libc/include/x86_64-linux-gnux32/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..b276fbc9ba3f09b76fbff3cdff7479264c1aa833 --- /dev/null +++ b/lib/libc/include/x86_64-linux-gnux32/bits/dl_find_object.h @@ -0,0 +1,29 @@ +/* x86 definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#ifdef __x86_64__ +# define DLFO_STRUCT_HAS_EH_DBASE 0 +#else +# define DLFO_STRUCT_HAS_EH_DBASE 1 +#endif +#define DLFO_STRUCT_HAS_EH_COUNT 0 +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/environments.h b/lib/libc/include/x86_64-linux-gnux32/bits/environments.h index 72a871ff4de397f64f5f7cf4b5f5e70a6f02c59d..99bf904d42ebde70d1c1be91bd480db227162f06 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/environments.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/epoll.h b/lib/libc/include/x86_64-linux-gnux32/bits/epoll.h index 4bda3c54ef2f9331ac170b7e33d85aa1d55004bd..6902c3341a85d7959f7ce445fd664e7d1b69e9f9 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/epoll.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h b/lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h index de1b65f104f965926417c07a8466d61ed6bd5fc4..94abf25091b66730a25a5980e14f314ca08a129c 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/x86. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/fenv.h b/lib/libc/include/x86_64-linux-gnux32/bits/fenv.h index dd01ba9442e7648df13d829ffb4c664fe0c30af5..bb5cbf1dab681340321c86ddbe3478f1b9caa9ff 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/fenv.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/floatn.h b/lib/libc/include/x86_64-linux-gnux32/bits/floatn.h index 5818af200103f563ab8b3b89776b1fe2dd8de761..827aeeced4f02b45812df033e61f99b70ed6bb38 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/floatn.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on x86. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,7 +58,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##q # else @@ -68,7 +68,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* Add a typedef for older GCC compilers which don't natively support _Complex _Float128. */ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); @@ -82,7 +82,7 @@ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef __float128 _Float128; # endif diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h b/lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h index c714d6ed236f37ba47c46b07f0427d7f4fede23d..2f6d1751ba9f9431c95a101deae300dc124f7a00 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h b/lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h index 7c1bfa72bd5add534071850e5c498ad6e8b1db53..ffd96b72829d09ff9ce10c7b431e55c0548c84c9 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h b/lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h index 4bf822a84c03e71ba8cb75841166546da1e5af40..911b8c4333e7dea12906df66807387d0307e4d99 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h b/lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h index 9c301e1a3cdd67c3daafe5762ba5f02e77768d3d..7c465087b29391c35287ab6ee6ab05b51d2c1d18 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h b/lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h index 8e6c0d05f5016f5a498a62ab68c72468d0142931..d7e7ae35cb0da9afa8bbfbcce56ca9bdb2d14304 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/link.h b/lib/libc/include/x86_64-linux-gnux32/bits/link.h index 9774e993a3c9e35dfe6698df6815cd2828ae570a..c71bb2fc27929c742d6e28560a53bacd70646c38 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/link.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,8 +38,8 @@ typedef struct La_i86_retval uint32_t lrv_edx; long double lrv_st0; long double lrv_st1; - uint64_t lrv_bnd0; - uint64_t lrv_bnd1; + uint64_t __glibc_unused1; + uint64_t __glibc_unused2; } La_i86_retval; @@ -96,7 +96,7 @@ typedef struct La_x86_64_regs La_x86_64_xmm lr_xmm[8]; La_x86_64_vector lr_vector[8]; #ifndef __ILP32__ - __int128_t lr_bnd[4]; + __int128_t __glibc_unused1[4]; #endif } La_x86_64_regs; @@ -112,8 +112,8 @@ typedef struct La_x86_64_retval La_x86_64_vector lrv_vector0; La_x86_64_vector lrv_vector1; #ifndef __ILP32__ - __int128_t lrv_bnd0; - __int128_t lrv_bnd1; + __int128_t __glibc_unused1; + __int128_t __glibc_unused2; #endif } La_x86_64_retval; diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/long-double.h b/lib/libc/include/x86_64-linux-gnux32/bits/long-double.h index ef3832bc80d643a47f2501845cab95ac4316e201..3839f69a6f6f5c6cf787b6edd6f244e740a3142d 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/long-double.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h b/lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h index 6e94f42ca81228bdf7d5e17ac829538784422e31..a147456599b6526d2d935218fdd19e552a89e755 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,6 +58,90 @@ # define __DECL_SIMD_pow __DECL_SIMD_x86_64 # undef __DECL_SIMD_powf # define __DECL_SIMD_powf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acos +# define __DECL_SIMD_acos __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosf +# define __DECL_SIMD_acosf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan +# define __DECL_SIMD_atan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanf +# define __DECL_SIMD_atanf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asin +# define __DECL_SIMD_asin __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinf +# define __DECL_SIMD_asinf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypot +# define __DECL_SIMD_hypot __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypotf +# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2 +# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2f +# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10 +# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10f +# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cosh +# define __DECL_SIMD_cosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_coshf +# define __DECL_SIMD_coshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1 +# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1f +# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinh +# define __DECL_SIMD_sinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinhf +# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrt +# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrtf +# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2 +# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2f +# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10 +# define __DECL_SIMD_log10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10f +# define __DECL_SIMD_log10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2 +# define __DECL_SIMD_log2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2f +# define __DECL_SIMD_log2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1p +# define __DECL_SIMD_log1p __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1pf +# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanh +# define __DECL_SIMD_atanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanhf +# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosh +# define __DECL_SIMD_acosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acoshf +# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erf +# define __DECL_SIMD_erf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erff +# define __DECL_SIMD_erff __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanh +# define __DECL_SIMD_tanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanhf +# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinh +# define __DECL_SIMD_asinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinhf +# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfc +# define __DECL_SIMD_erfc __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfcf +# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tan +# define __DECL_SIMD_tan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanf +# define __DECL_SIMD_tanf __DECL_SIMD_x86_64 # endif #endif \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/mman.h b/lib/libc/include/x86_64-linux-gnux32/bits/mman.h index 8c96873c8645fe386f2467e9974b3492891bd97c..0019b3c1b18a477031c30460feb82bdce6f2b127 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/mman.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/x86_64 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,9 +24,7 @@ But the kernel header is not namespace clean. */ /* Other flags. */ -#ifdef __USE_MISC -# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ -#endif +#define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ #include diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h b/lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h index bada981489a50a58b41189cdf5bdfad7ed071498..a423506956207a6885881d4141d7a0ae5a2444e1 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/procfs.h b/lib/libc/include/x86_64-linux-gnux32/bits/procfs.h index b670484f2a498dd677f674a0200e1e1c3fdfe939..a661cedc73e2883a028adcc5bf30597e277304e1 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/procfs.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. x86 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h b/lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h index 89b363fb2c690c0e4257ace9972e54af6ae09741..c04483882e87651562aa98bf88ab0a3656489837 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/rseq.h b/lib/libc/include/x86_64-linux-gnux32/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..25794bb0348dbc0e61faf0217d908f42c120d3b6 --- /dev/null +++ b/lib/libc/include/x86_64-linux-gnux32/bits/rseq.h @@ -0,0 +1,30 @@ +/* Restartable Sequences Linux x86 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + RSEQ_SIG is used with the following reserved undefined instructions, which + trap in user-space: + + x86-32: 0f b9 3d 53 30 05 53 ud1 0x53053053,%edi + x86-64: 0f b9 3d 53 30 05 53 ud1 0x53053053(%rip),%edi */ + +#define RSEQ_SIG 0x53053053 \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h b/lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h index 9e96a2ff9876995f8c9b65a4a586e17984ebead4..a0ec4d52b398acaec6fd78a42dab4b7c65176146 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h b/lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h index 4f03980c986b772d0857e8065cdc360f171819a1..c5c56327d75987942fab84b5048a75bb32f30843 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h b/lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h index 89c18f35e00b222cbca0673621fd40bbdf31b69c..1c24f997660d21b2e492483441f853e58f4f91b0 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* x86 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h b/lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h index 022106d66cdb4ff8e0f82bc8aa2eb9e80ea0a466..bda5f4503e6f9d86a530e8a4dccbd1cad337095d 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* x86 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h b/lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h index b3674c73c43565b0ff30101aae4a4baeccb6c838..fb7e9b0079b18c478ed167e264d55cb34ca9fb6a 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/timesize.h b/lib/libc/include/x86_64-linux-gnux32/bits/timesize.h index a1ca40d632af2e5cda7f954f5736f67cc53d37fb..e93c7b59bea50280e64e0014b34099cb0d0844a2 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/timesize.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/timesize.h @@ -1,5 +1,5 @@ /* Bit size of the time_t type at glibc build time, x86-64 and x32 case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see . */ +#include + #if defined __x86_64__ && defined __ILP32__ /* For x32, time is 64-bit even though word size is 32-bit. */ # define __TIMESIZE 64 diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h b/lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h index 6713836d1eec4e7203af5dc633a480ec0e9d58e8..c3fcba132f30f7e91a67baa9285f3a6baea3fb2c 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* x86 implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h b/lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h index 654f1c7b873efd6317245ed5dae99e75da8808cf..a80cf92e0d085361d7b8b106d2952c286c2b60af 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h b/lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h index 5fdbe52a3c2c28d20e0a502018ba95d3dedf0dbb..a6b0e8eedd1bf9b5e9fd4210370a5d1624081451 100644 --- a/lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h +++ b/lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h @@ -1,5 +1,5 @@ ! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- -! Copyright (C) 2019-2021 Free Software Foundation, Inc. +! Copyright (C) 2019-2023 Free Software Foundation, Inc. ! This file is part of the GNU C Library. ! ! The GNU C Library is free software; you can redistribute it and/or @@ -28,6 +28,48 @@ !GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (cos) attributes simd (notinbranch) if('x32') !GCC$ builtin (cosf) attributes simd (notinbranch) if('x32') @@ -40,4 +82,46 @@ !GCC$ builtin (exp) attributes simd (notinbranch) if('x32') !GCC$ builtin (expf) attributes simd (notinbranch) if('x32') !GCC$ builtin (pow) attributes simd (notinbranch) if('x32') -!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') \ No newline at end of file +!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x32') \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnux32/fpu_control.h b/lib/libc/include/x86_64-linux-gnux32/fpu_control.h index 533e2da0d0872f74cf7b3e5f2dff94b6bd0faf8b..c07f6472dc05ff26787aacc00bb7311f000199f5 100644 --- a/lib/libc/include/x86_64-linux-gnux32/fpu_control.h +++ b/lib/libc/include/x86_64-linux-gnux32/fpu_control.h @@ -1,7 +1,6 @@ /* FPU control word bits. x86 version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Olaf Flebbe. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h b/lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h index 95b469a00cb199891b255b5f4a433f600839a62f..d2291842571d2cfe94fc0797bd824a6d65f5b338 100644 --- a/lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h +++ b/lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/x86_64-linux-gnux32/sys/elf.h b/lib/libc/include/x86_64-linux-gnux32/sys/elf.h index 3731950870454d873c2b72e16be14b6dbf2c0ab9..7bdda09e46a3084af52766bf848b3209b66a5838 100644 --- a/lib/libc/include/x86_64-linux-gnux32/sys/elf.h +++ b/lib/libc/include/x86_64-linux-gnux32/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h b/lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h index 461e83ae9c84fe8476edce9df017325981f5873e..d97d5b9ac016c388651993f7f375db21601f3fbc 100644 --- a/lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h +++ b/lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/x86 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -190,8 +190,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h b/lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h index f961c6aef830a8f4b65333c4d32e344ab0d73bc4..57a6bec561ad9616fa18a3953f47c9bdc0d55a97 100644 --- a/lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h +++ b/lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/sys/user.h b/lib/libc/include/x86_64-linux-gnux32/sys/user.h index 0f64e565eb618846a993dde7c108a5be4aa545c6..ae0283c23b00fea49bd0603ce5cc2cd23856d59b 100644 --- a/lib/libc/include/x86_64-linux-gnux32/sys/user.h +++ b/lib/libc/include/x86_64-linux-gnux32/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or