mirror of
https://github.com/ziglang/zig.git
synced 2026-01-10 09:25:11 +00:00
update glibc headers to 2.38
This commit is contained in:
parent
0813539c28
commit
8d3892b755
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
28
lib/libc/include/aarch64-linux-gnu/bits/hwcap.h
vendored
28
lib/libc/include/aarch64-linux-gnu/bits/hwcap.h
vendored
@ -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)
|
||||
#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)
|
||||
28
lib/libc/include/aarch64-linux-gnu/bits/link.h
vendored
28
lib/libc/include/aarch64-linux-gnu/bits/link.h
vendored
@ -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 <bits/link.h> directly; use <link.h> 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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
78
lib/libc/include/aarch64-linux-gnu/bits/math-vector.h
vendored
Normal file
78
lib/libc/include/aarch64-linux-gnu/bits/math-vector.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _MATH_H
|
||||
# error "Never include <bits/math-vector.h> directly;\
|
||||
include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Get default empty definitions for simd declarations. */
|
||||
#include <bits/libm-simd-decl-stubs.h>
|
||||
|
||||
#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 */
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
43
lib/libc/include/aarch64-linux-gnu/bits/rseq.h
vendored
Normal file
43
lib/libc/include/aarch64-linux-gnu/bits/rseq.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_RSEQ_H
|
||||
# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> 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
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
20
lib/libc/include/aarch64-linux-gnu/bits/timesize.h
vendored
Normal file
20
lib/libc/include/aarch64-linux-gnu/bits/timesize.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Size in bits of the 'time_t' type of the default ABI. */
|
||||
#define __TIMESIZE 64
|
||||
@ -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 <cmetcalf@tilera.com>, 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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
2
lib/libc/include/aarch64-linux-gnu/ieee754.h
vendored
2
lib/libc/include/aarch64-linux-gnu/ieee754.h
vendored
@ -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
|
||||
|
||||
2
lib/libc/include/aarch64-linux-gnu/sys/elf.h
vendored
2
lib/libc/include/aarch64-linux-gnu/sys/elf.h
vendored
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
#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)
|
||||
@ -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 <bits/link.h> directly; use <link.h> 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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
78
lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h
vendored
Normal file
78
lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _MATH_H
|
||||
# error "Never include <bits/math-vector.h> directly;\
|
||||
include <math.h> instead."
|
||||
#endif
|
||||
|
||||
/* Get default empty definitions for simd declarations. */
|
||||
#include <bits/libm-simd-decl-stubs.h>
|
||||
|
||||
#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 */
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
43
lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h
vendored
Normal file
43
lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_RSEQ_H
|
||||
# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> 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
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
20
lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h
vendored
Normal file
20
lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Size in bits of the 'time_t' type of the default ABI. */
|
||||
#define __TIMESIZE 64
|
||||
@ -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 <cmetcalf@tilera.com>, 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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
/* Copyright (C) 2007-2021 Free Software Foundation, Inc.
|
||||
/* 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
|
||||
@ -15,15 +16,10 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_SIGNALFD_H
|
||||
# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
|
||||
#ifndef _DLFCN_H
|
||||
# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
|
||||
#endif
|
||||
|
||||
/* Flags for signalfd. */
|
||||
enum
|
||||
{
|
||||
SFD_CLOEXEC = 0x400000,
|
||||
#define SFD_CLOEXEC SFD_CLOEXEC
|
||||
SFD_NONBLOCK = 0x004000
|
||||
#define SFD_NONBLOCK SFD_NONBLOCK
|
||||
};
|
||||
#define DLFO_STRUCT_HAS_EH_DBASE 0
|
||||
#define DLFO_STRUCT_HAS_EH_COUNT 1
|
||||
#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
10
lib/libc/include/arm-linux-gnueabi/bits/hwcap.h
vendored
10
lib/libc/include/arm-linux-gnueabi/bits/hwcap.h
vendored
@ -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
|
||||
#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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
83
lib/libc/include/arm-linux-gnueabi/bits/rseq.h
vendored
Normal file
83
lib/libc/include/arm-linux-gnueabi/bits/rseq.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_RSEQ_H
|
||||
# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> 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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
20
lib/libc/include/arm-linux-gnueabi/bits/timesize.h
vendored
Normal file
20
lib/libc/include/arm-linux-gnueabi/bits/timesize.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Size in bits of the 'time_t' type of the default ABI. */
|
||||
#define __TIMESIZE 32
|
||||
74
lib/libc/include/arm-linux-gnueabi/bits/typesizes.h
vendored
Normal file
74
lib/libc/include/arm-linux-gnueabi/bits/typesizes.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_TYPES_H
|
||||
# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _BITS_TYPESIZES_H
|
||||
#define _BITS_TYPESIZES_H 1
|
||||
|
||||
/* See <bits/types.h> for the meaning of these macros. This file exists so
|
||||
that <bits/types.h> 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 */
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
25
lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h
vendored
Normal file
25
lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _DLFCN_H
|
||||
# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
|
||||
#endif
|
||||
|
||||
#define DLFO_STRUCT_HAS_EH_DBASE 0
|
||||
#define DLFO_STRUCT_HAS_EH_COUNT 1
|
||||
#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
#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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
83
lib/libc/include/arm-linux-gnueabihf/bits/rseq.h
vendored
Normal file
83
lib/libc/include/arm-linux-gnueabihf/bits/rseq.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _SYS_RSEQ_H
|
||||
# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> 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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
20
lib/libc/include/arm-linux-gnueabihf/bits/timesize.h
vendored
Normal file
20
lib/libc/include/arm-linux-gnueabihf/bits/timesize.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Size in bits of the 'time_t' type of the default ABI. */
|
||||
#define __TIMESIZE 32
|
||||
74
lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h
vendored
Normal file
74
lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _BITS_TYPES_H
|
||||
# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
|
||||
#endif
|
||||
|
||||
#ifndef _BITS_TYPESIZES_H
|
||||
#define _BITS_TYPESIZES_H 1
|
||||
|
||||
/* See <bits/types.h> for the meaning of these macros. This file exists so
|
||||
that <bits/types.h> 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 */
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
25
lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h
vendored
Normal file
25
lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h
vendored
Normal file
@ -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
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _DLFCN_H
|
||||
# error "Never use <bits/dl_find_object.h> directly; include <dlfcn.h> instead."
|
||||
#endif
|
||||
|
||||
#define DLFO_STRUCT_HAS_EH_DBASE 0
|
||||
#define DLFO_STRUCT_HAS_EH_COUNT 1
|
||||
#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX
|
||||
@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user