authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-04 14:58:37-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-04 14:59:09-05:00
log3ff2381042104d0626545fbc655cb6d8a04ccd0b
tree905f616740c1e95b63c8b28e88ef96b931dc8a28
parente3b37fc9c158ea256b6f914692863b5aad88c7dd
signaturelock-open Commit is signed but in an unrecognized format.

update glibc source files to 2.31

This is mostly minor modifications to license text.

286 files changed, 1190 insertions(+), 1398 deletions(-)

lib/libc/glibc/LICENSES+2-2
......@@ -246,7 +246,7 @@ Collected from libdes and modified for SECURE RPC by Martin Kuck 1994
246246This file is distributed under the terms of the GNU Lesser General
247247Public License, version 2.1 or later - see the file COPYING.LIB for details.
248248If you did not receive a copy of the license with this program, please
249see <http://www.gnu.org/licenses/> to obtain a copy.
249see <https://www.gnu.org/licenses/> to obtain a copy.
250250
251251The file inet/rcmd.c is under a UCB copyright and the following:
252252
......@@ -388,4 +388,4 @@ Copyright 2001 by Stephen L. Moshier <moshier@na-net.ornl.gov>
388388
389389 You should have received a copy of the GNU Lesser General Public
390390 License along with this library; if not, see
391 <http://www.gnu.org/licenses/>. */
391 <https://www.gnu.org/licenses/>. */
lib/libc/glibc/bits/byteswap.h+2-2
......@@ -1,5 +1,5 @@
11/* Macros and inline functions to swap the order of bytes in integer values.
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.
2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
2020# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
lib/libc/glibc/bits/floatn-common.h+2-2
......@@ -1,6 +1,6 @@
11/* Macros to control TS 18661-3 glibc features where the same
22 definitions are appropriate for all platforms.
3 Copyright (C) 2017-2019 Free Software Foundation, Inc.
3 Copyright (C) 2017-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _BITS_FLOATN_COMMON_H
2121#define _BITS_FLOATN_COMMON_H
lib/libc/glibc/bits/libc-header-start.h+20-4
......@@ -1,5 +1,5 @@
11/* Handle feature test macros at the start of a header.
2 Copyright (C) 2016-2019 Free Software Foundation, Inc.
2 Copyright (C) 2016-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* This header is internal to glibc and should not be included outside
2020 of glibc headers. Headers including it must define
......@@ -43,22 +43,38 @@
4343#endif
4444
4545/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
46 macro. */
46 macro. Most but not all symbols enabled by that macro in TS
47 18661-1 are enabled unconditionally in C2X; the symbols in Annex F
48 still require that macro in C2X. */
4749#undef __GLIBC_USE_IEC_60559_BFP_EXT
4850#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__
4951# define __GLIBC_USE_IEC_60559_BFP_EXT 1
5052#else
5153# define __GLIBC_USE_IEC_60559_BFP_EXT 0
5254#endif
55#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X
56#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X)
57# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1
58#else
59# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0
60#endif
5361
5462/* ISO/IEC TS 18661-4:2015 defines the
55 __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. */
63 __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
64 functions, the symbols from this TS are enabled unconditionally in
65 C2X. */
5666#undef __GLIBC_USE_IEC_60559_FUNCS_EXT
5767#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__
5868# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1
5969#else
6070# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
6171#endif
72#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
73#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X)
74# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1
75#else
76# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0
77#endif
6278
6379/* ISO/IEC TS 18661-3:2015 defines the
6480 __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */
lib/libc/glibc/bits/long-double.h+3-2
......@@ -1,5 +1,5 @@
11/* Properties of long double type.
2 Copyright (C) 2016-2019 Free Software Foundation, Inc.
2 Copyright (C) 2016-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* This header is included by <sys/cdefs.h>.
2020
......@@ -37,3 +37,4 @@
3737#ifndef __NO_LONG_DOUBLE_MATH
3838# define __NO_LONG_DOUBLE_MATH 1
3939#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
lib/libc/glibc/bits/select.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _SYS_SELECT_H
1919# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
lib/libc/glibc/bits/signum-generic.h+2-2
......@@ -1,5 +1,5 @@
11/* Signal number constants. Generic template.
2 Copyright (C) 1991-2019 Free Software Foundation, Inc.
2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_SIGNUM_GENERIC_H
2020#define _BITS_SIGNUM_GENERIC_H 1
lib/libc/glibc/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/bits/stdint-intn.h+2-2
......@@ -1,5 +1,5 @@
11/* Define intN_t types.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_STDINT_INTN_H
2020#define _BITS_STDINT_INTN_H 1
lib/libc/glibc/bits/stdlib-bsearch.h+2-2
......@@ -1,5 +1,5 @@
11/* Perform binary search - inline version.
2 Copyright (C) 1991-2019 Free Software Foundation, Inc.
2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919__extern_inline void *
2020bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
lib/libc/glibc/bits/time64.h+2-2
......@@ -1,5 +1,5 @@
11/* bits/time64.h -- underlying types for __time64_t. Generic version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_H
2020# error "Never include <bits/time64.h> directly; use <sys/types.h> instead."
lib/libc/glibc/bits/timesize.h+2-2
......@@ -1,5 +1,5 @@
11/* Bit size of the time_t type at glibc build time, general case.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <bits/wordsize.h>
2020
lib/libc/glibc/bits/types/struct_sched_param.h+2-2
......@@ -1,5 +1,5 @@
11/* Sched parameter structure. Generic version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_STRUCT_SCHED_PARAM
2020#define _BITS_TYPES_STRUCT_SCHED_PARAM 1
lib/libc/glibc/bits/typesizes.h+7-2
......@@ -1,5 +1,5 @@
11/* bits/typesizes.h -- underlying types for *_t. Generic version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_H
2020# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
......@@ -72,8 +72,13 @@
7272
7373/* And for rlim_t and rlim64_t. */
7474# define __RLIM_T_MATCHES_RLIM64_T 1
75
76/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
77# define __STATFS_MATCHES_STATFS64 1
7578#else
7679# define __RLIM_T_MATCHES_RLIM64_T 0
80
81# define __STATFS_MATCHES_STATFS64 0
7782#endif
7883
7984/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/glibc/bits/uintn-identity.h+2-2
......@@ -1,5 +1,5 @@
11/* Inline functions to return unsigned integer values unchanged.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#if !defined _NETINET_IN_H && !defined _ENDIAN_H
2020# error "Never use <bits/uintn-identity.h> directly; include <netinet/in.h> or <endian.h> instead."
lib/libc/glibc/bits/waitflags.h+2-2
......@@ -1,5 +1,5 @@
11/* Definitions of flag bits for `waitpid' et al.
2 Copyright (C) 1992-2019 Free Software Foundation, Inc.
2 Copyright (C) 1992-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#if !defined _SYS_WAIT_H && !defined _STDLIB_H
2020# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
lib/libc/glibc/bits/waitstatus.h+2-2
......@@ -1,5 +1,5 @@
11/* Definitions of status bits for `wait' et al.
2 Copyright (C) 1992-2019 Free Software Foundation, Inc.
2 Copyright (C) 1992-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#if !defined _SYS_WAIT_H && !defined _STDLIB_H
2020# error "Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead."
lib/libc/glibc/csu/abi-note.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support.
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.
2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -23,7 +23,7 @@
2323
2424 You should have received a copy of the GNU Lesser General Public
2525 License along with the GNU C Library; if not, see
26 <http://www.gnu.org/licenses/>. */
26 <https://www.gnu.org/licenses/>. */
2727
2828/* Define an ELF note identifying the operating-system ABI that the
2929 executable was created for. The ELF note information identifies a
lib/libc/glibc/csu/elf-init.c+2-2
......@@ -1,5 +1,5 @@
11/* Startup support for ELF initializers/finalizers in the main executable.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636#include <stddef.h>
3737
lib/libc/glibc/debug/stack_chk_fail_local.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/cdefs.h>
3636
lib/libc/glibc/elf/elf.h+6-3
......@@ -1,5 +1,5 @@
11/* This file defines standard ELF types, structures, and macros.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _ELF_H
2020#define _ELF_H 1
......@@ -1715,6 +1715,7 @@ typedef struct
17151715#define SHT_MIPS_EH_REGION 0x70000027
17161716#define SHT_MIPS_XLATE_OLD 0x70000028
17171717#define SHT_MIPS_PDR_EXCEPTION 0x70000029
1718#define SHT_MIPS_XHASH 0x7000002b
17181719
17191720/* Legal values for sh_flags field of Elf32_Shdr. */
17201721
......@@ -1962,7 +1963,9 @@ typedef struct
19621963 in a PIE as it stores a relative offset from the address of the tag
19631964 rather than an absolute address. */
19641965#define DT_MIPS_RLD_MAP_REL 0x70000035
1965#define DT_MIPS_NUM 0x36
1966/* GNU-style hash table with xlat. */
1967#define DT_MIPS_XHASH 0x70000036
1968#define DT_MIPS_NUM 0x37
19661969
19671970/* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */
19681971
lib/libc/glibc/include/bits/endian.h created+1
......@@ -0,0 +1 @@
1#include <string/bits/endian.h>
lib/libc/glibc/include/features.h+21-6
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _FEATURES_H
1919#define _FEATURES_H 1
......@@ -24,6 +24,7 @@
2424 __STRICT_ANSI__ ISO Standard C.
2525 _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
2626 _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
27 _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
2728 __STDC_WANT_LIB_EXT2__
2829 Extensions to ISO C99 from TR 27431-2:2010.
2930 __STDC_WANT_IEC_60559_BFP_EXT__
......@@ -139,6 +140,7 @@
139140#undef __USE_GNU
140141#undef __USE_FORTIFY_LEVEL
141142#undef __KERNEL_STRICT_NAMES
143#undef __GLIBC_USE_ISOC2X
142144#undef __GLIBC_USE_DEPRECATED_GETS
143145#undef __GLIBC_USE_DEPRECATED_SCANF
144146
......@@ -195,6 +197,8 @@
195197# define _ISOC99_SOURCE 1
196198# undef _ISOC11_SOURCE
197199# define _ISOC11_SOURCE 1
200# undef _ISOC2X_SOURCE
201# define _ISOC2X_SOURCE 1
198202# undef _POSIX_SOURCE
199203# define _POSIX_SOURCE 1
200204# undef _POSIX_C_SOURCE
......@@ -216,26 +220,37 @@
216220#if (defined _DEFAULT_SOURCE \
217221 || (!defined __STRICT_ANSI__ \
218222 && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \
223 && !defined _ISOC2X_SOURCE \
219224 && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \
220225 && !defined _XOPEN_SOURCE))
221226# undef _DEFAULT_SOURCE
222227# define _DEFAULT_SOURCE 1
223228#endif
224229
230/* This is to enable the ISO C2X extension. */
231#if (defined _ISOC2X_SOURCE \
232 || (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L))
233# define __GLIBC_USE_ISOC2X 1
234#else
235# define __GLIBC_USE_ISOC2X 0
236#endif
237
225238/* This is to enable the ISO C11 extension. */
226#if (defined _ISOC11_SOURCE \
239#if (defined _ISOC11_SOURCE || defined _ISOC2X_SOURCE \
227240 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))
228241# define __USE_ISOC11 1
229242#endif
230243
231244/* This is to enable the ISO C99 extension. */
232#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
245#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
246 || defined _ISOC2X_SOURCE \
233247 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
234248# define __USE_ISOC99 1
235249#endif
236250
237251/* This is to enable the ISO C90 Amendment 1:1995 extension. */
238#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
252#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
253 || defined _ISOC2X_SOURCE \
239254 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))
240255# define __USE_ISOC95 1
241256#endif
......@@ -439,7 +454,7 @@
439454/* Major and minor version number of the GNU C library package. Use
440455 these macros to test for features in specific releases. */
441456#define __GLIBC__ 2
442#define __GLIBC_MINOR__ 30
457#define __GLIBC_MINOR__ 31
443458
444459#define __GLIBC_PREREQ(maj, min) \
445460 ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
lib/libc/glibc/include/libc-pointer-arith.h+2-2
......@@ -1,5 +1,5 @@
11/* Helper macros for pointer arithmetic.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LIBC_POINTER_ARITH_H
2020#define _LIBC_POINTER_ARITH_H 1
lib/libc/glibc/include/libc-symbols.h+2-2
......@@ -1,6 +1,6 @@
11/* Support macros for making weak and strong aliases for symbols,
22 and for using symbol sets and linker warnings with GNU ld.
3 Copyright (C) 1995-2019 Free Software Foundation, Inc.
3 Copyright (C) 1995-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _LIBC_SYMBOLS_H
2121#define _LIBC_SYMBOLS_H 1
lib/libc/glibc/include/stap-probe.h+2-2
......@@ -1,5 +1,5 @@
11/* Macros for defining Systemtap <sys/sdt.h> static probe points.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _STAP_PROBE_H
2020#define _STAP_PROBE_H 1
lib/libc/glibc/include/stdc-predef.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _STDC_PREDEF_H
1919#define _STDC_PREDEF_H 1
lib/libc/glibc/include/stdlib.h+3
......@@ -202,9 +202,12 @@ libc_hidden_proto (____strtoll_l_internal)
202202libc_hidden_proto (____strtoul_l_internal)
203203libc_hidden_proto (____strtoull_l_internal)
204204
205#include <bits/floatn.h>
205206libc_hidden_proto (strtof)
206207libc_hidden_proto (strtod)
208#if __LONG_DOUBLE_USES_FLOAT128 == 0
207209libc_hidden_proto (strtold)
210#endif
208211libc_hidden_proto (strtol)
209212libc_hidden_proto (strtoll)
210213libc_hidden_proto (strtoul)
lib/libc/glibc/io/bits/statx.h+2-2
......@@ -1,5 +1,5 @@
11/* statx-related definitions and declarations. Generic version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.
2 Copyright (C) 2018-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* This interface is based on <linux/stat.h> in Linux. */
2020
lib/libc/glibc/io/fstat.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/stat.h>
3636
lib/libc/glibc/io/fstat64.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/stat.h>
3636
lib/libc/glibc/io/fstatat.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/stat.h>
3636
lib/libc/glibc/io/fstatat64.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/stat.h>
3636
lib/libc/glibc/io/lstat.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/stat.h>
3636
lib/libc/glibc/io/lstat64.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/stat.h>
3636
lib/libc/glibc/io/mknod.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535
3636#include <sys/types.h>
lib/libc/glibc/io/mknodat.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535
3636#include <sys/types.h>
lib/libc/glibc/io/stat.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/stat.h>
3636
lib/libc/glibc/io/stat64.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535#include <sys/stat.h>
3636
lib/libc/glibc/io/sys/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818/*
1919 * POSIX Standard: 5.6 File Characteristics <sys/stat.h>
lib/libc/glibc/locale/bits/types/__locale_t.h+2-2
......@@ -1,5 +1,5 @@
11/* Definition of struct __locale_struct and __locale_t.
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.
2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
55
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _BITS_TYPES___LOCALE_T_H
2121#define _BITS_TYPES___LOCALE_T_H 1
lib/libc/glibc/locale/bits/types/locale_t.h+2-2
......@@ -1,5 +1,5 @@
11/* Definition of locale_t.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_LOCALE_T_H
2020#define _BITS_TYPES_LOCALE_T_H 1
lib/libc/glibc/misc/sys/cdefs.h+2-10
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _SYS_CDEFS_H
1919#define _SYS_CDEFS_H 1
......@@ -412,14 +412,6 @@
412412# define __glibc_has_attribute(attr) 0
413413#endif
414414
415#ifdef __has_include
416/* Do not use a function-like macro, so that __has_include can inhibit
417 macro expansion. */
418# define __glibc_has_include __has_include
419#else
420# define __glibc_has_include(header) 0
421#endif
422
423415#if (!defined _Noreturn \
424416 && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
425417 && !__GNUC_PREREQ (4,7))
lib/libc/glibc/misc/sys/select.h+2-2
......@@ -1,5 +1,5 @@
11/* `fd_set' type and related macros, and `select'/`pselect' declarations.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h> */
2020
lib/libc/glibc/nptl/pthread_atfork.c+6-7
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
44
......@@ -31,18 +31,17 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636extern int __pthread_atfork (void (*prepare) (void), void (*parent) (void),
37 void (*child) (void));
37 void (*child) (void));
3838extern int __register_atfork (void (*__prepare) (void),
39 void (*__parent) (void),
40 void (*__child) (void),
41 void *dso_handle);
39 void (*__parent) (void),
40 void (*__child) (void),
41 void *dso_handle);
4242libc_hidden_proto (__register_atfork)
4343extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));
4444
45
4645/* Hide the symbol so that no definition but the one locally in the
4746 executable or DSO is used. */
4847int
lib/libc/glibc/posix/bits/cpu-set.h+2-2
......@@ -1,6 +1,6 @@
11/* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
22 scheduling interface.
3 Copyright (C) 1996-2019 Free Software Foundation, Inc.
3 Copyright (C) 1996-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _BITS_CPU_SET_H
2121#define _BITS_CPU_SET_H 1
lib/libc/glibc/posix/bits/types.h+2-2
......@@ -1,5 +1,5 @@
11/* bits/types.h -- definitions of __*_t types underlying *_t types.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/*
2020 * Never include this file directly; use <sys/types.h> instead.
lib/libc/glibc/posix/sys/types.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818/*
1919 * POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
lib/libc/glibc/signal/signal.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818/*
1919 * ISO C99 Standard: 7.14 Signal handling <signal.h>
lib/libc/glibc/stdlib/alloca.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _ALLOCA_H
1919#define _ALLOCA_H 1
lib/libc/glibc/stdlib/at_quick_exit.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));
3636extern int __cxa_at_quick_exit (void (*func) (void *), void *d);
lib/libc/glibc/stdlib/atexit.c+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -30,7 +30,7 @@
3030
3131 You should have received a copy of the GNU Lesser General Public
3232 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */
33 <https://www.gnu.org/licenses/>. */
3434
3535extern int __cxa_atexit (void (*func) (void *), void *arg, void *d);
3636libc_hidden_proto (__cxa_atexit);
lib/libc/glibc/stdlib/bits/stdlib-float.h+2-2
......@@ -1,5 +1,5 @@
11/* Floating-point inline functions for stdlib.h.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _STDLIB_H
2020# error "Never use <bits/stdlib-float.h> directly; include <stdlib.h> instead."
lib/libc/glibc/stdlib/exit.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _EXIT_H
1919#define _EXIT_H 1
lib/libc/glibc/stdlib/stdlib.h+3-3
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818/*
1919 * ISO C99 Standard: 7.20 General utilities <stdlib.h>
......@@ -208,7 +208,7 @@ extern unsigned long long int strtoull (const char *__restrict __nptr,
208208#endif /* ISO C99 or use MISC. */
209209
210210/* Convert a floating-point number to a string. */
211#if __GLIBC_USE (IEC_60559_BFP_EXT)
211#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
212212extern int strfromd (char *__dest, size_t __size, const char *__format,
213213 double __f)
214214 __THROW __nonnull ((3));
lib/libc/glibc/string/bits/endian.h created+49
......@@ -0,0 +1,49 @@
1/* Endian macros for string.h functions
2 Copyright (C) 1992-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_ENDIAN_H
20#define _BITS_ENDIAN_H 1
21
22/* Definitions for byte order, according to significance of bytes,
23 from low addresses to high addresses. The value is what you get by
24 putting '4' in the most significant byte, '3' in the second most
25 significant byte, '2' in the second least significant byte, and '1'
26 in the least significant byte, and then writing down one digit for
27 each byte, starting with the byte at the lowest address at the left,
28 and proceeding to the byte with the highest address at the right. */
29
30#define __LITTLE_ENDIAN 1234
31#define __BIG_ENDIAN 4321
32#define __PDP_ENDIAN 3412
33
34/* This file defines `__BYTE_ORDER' for the particular machine. */
35#include <bits/endianness.h>
36
37/* Some machines may need to use a different endianness for floating point
38 values. */
39#ifndef __FLOAT_WORD_ORDER
40# define __FLOAT_WORD_ORDER __BYTE_ORDER
41#endif
42
43#if __BYTE_ORDER == __LITTLE_ENDIAN
44# define __LONG_LONG_PAIR(HI, LO) LO, HI
45#elif __BYTE_ORDER == __BIG_ENDIAN
46# define __LONG_LONG_PAIR(HI, LO) HI, LO
47#endif
48
49#endif /* bits/endian.h */
lib/libc/glibc/string/endian.h+4-29
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,48 +13,23 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _ENDIAN_H
1919#define _ENDIAN_H 1
2020
2121#include <features.h>
2222
23/* Definitions for byte order, according to significance of bytes,
24 from low addresses to high addresses. The value is what you get by
25 putting '4' in the most significant byte, '3' in the second most
26 significant byte, '2' in the second least significant byte, and '1'
27 in the least significant byte, and then writing down one digit for
28 each byte, starting with the byte at the lowest address at the left,
29 and proceeding to the byte with the highest address at the right. */
30
31#define __LITTLE_ENDIAN 1234
32#define __BIG_ENDIAN 4321
33#define __PDP_ENDIAN 3412
34
35/* This file defines `__BYTE_ORDER' for the particular machine. */
23/* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER. */
3624#include <bits/endian.h>
3725
38/* Some machines may need to use a different endianness for floating point
39 values. */
40#ifndef __FLOAT_WORD_ORDER
41# define __FLOAT_WORD_ORDER __BYTE_ORDER
42#endif
43
44#ifdef __USE_MISC
26#ifdef __USE_MISC
4527# define LITTLE_ENDIAN __LITTLE_ENDIAN
4628# define BIG_ENDIAN __BIG_ENDIAN
4729# define PDP_ENDIAN __PDP_ENDIAN
4830# define BYTE_ORDER __BYTE_ORDER
4931#endif
5032
51#if __BYTE_ORDER == __LITTLE_ENDIAN
52# define __LONG_LONG_PAIR(HI, LO) LO, HI
53#elif __BYTE_ORDER == __BIG_ENDIAN
54# define __LONG_LONG_PAIR(HI, LO) HI, LO
55#endif
56
57
5833#if defined __USE_MISC && !defined __ASSEMBLER__
5934/* Conversion interfaces. */
6035# include <bits/byteswap.h>
lib/libc/glibc/sysdeps/aarch64/bits/endian.h deleted-30
......@@ -1,30 +0,0 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
2
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public License as
7 published by the Free Software Foundation; either version 2.1 of the
8 License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
18
19#ifndef _ENDIAN_H
20# error "Never use <bits/endian.h> directly; include <endian.h> instead."
21#endif
22
23/* AArch64 can be either big or little endian. */
24#ifdef __AARCH64EB__
25# define __BYTE_ORDER __BIG_ENDIAN
26#else
27# define __BYTE_ORDER __LITTLE_ENDIAN
28#endif
29
30#define __FLOAT_WORD_ORDER __BYTE_ORDER
lib/libc/glibc/sysdeps/aarch64/bits/endianness.h created+15
......@@ -0,0 +1,15 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* AArch64 has selectable endianness. */
9#ifdef __AARCH64EB__
10# define __BYTE_ORDER __BIG_ENDIAN
11#else
12# define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/aarch64/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for AArch64.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33
44 This file is part of the GNU C Library.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737/* crti.S puts a function prologue at the beginning of the .init and
3838 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/aarch64/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for AArch64.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33
44 This file is part of the GNU C Library.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737/* crtn.S puts function epilogues in the .init and .fini sections
3838 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/aarch64/dl-sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h+3-27
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,12 +14,12 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_PTHREADTYPES_ARCH_H
2020#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#include <endian.h>
22#include <bits/endian.h>
2323
2424#ifdef __ILP32__
2525# define __SIZEOF_PTHREAD_ATTR_T 32
......@@ -41,31 +41,7 @@
4141#define __SIZEOF_PTHREAD_COND_T 48
4242#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
4343
44/* Definitions for internal mutex struct. */
45#define __PTHREAD_COMPAT_PADDING_MID
46#define __PTHREAD_COMPAT_PADDING_END
47#define __PTHREAD_MUTEX_LOCK_ELISION 0
48#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
49#define __PTHREAD_MUTEX_USE_UNION 0
50
5144#define __LOCK_ALIGNMENT
5245#define __ONCE_ALIGNMENT
5346
54struct __pthread_rwlock_arch_t
55{
56 unsigned int __readers;
57 unsigned int __writers;
58 unsigned int __wrphase_futex;
59 unsigned int __writers_futex;
60 unsigned int __pad3;
61 unsigned int __pad4;
62 int __cur_writer;
63 int __shared;
64 unsigned long int __pad1;
65 unsigned long int __pad2;
66 unsigned int __flags;
67};
68
69#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
70
7147#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/aarch64/start.S+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdep.h>
2020
lib/libc/glibc/sysdeps/aarch64/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _AARCH64_SYSDEP_H
2020#define _AARCH64_SYSDEP_H
lib/libc/glibc/sysdeps/alpha/bits/endian.h deleted-7
......@@ -1,7 +0,0 @@
1/* Alpha is little-endian. */
2
3#ifndef _ENDIAN_H
4# error "Never use <bits/endian.h> directly; include <endian.h> instead."
5#endif
6
7#define __BYTE_ORDER __LITTLE_ENDIAN
lib/libc/glibc/sysdeps/alpha/bits/endianness.h created+11
......@@ -0,0 +1,11 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* Alpha is little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/alpha/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for Alpha.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/alpha/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for Alpha.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/alpha/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. Alpha version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/alpha/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code for Alpha/ELF.
2 Copyright (C) 1993-2019 Free Software Foundation, Inc.
2 Copyright (C) 1993-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44 Contributed by Richard Henderson <rth@tamu.edu>
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library. If not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/arm/bits/endian.h deleted-10
......@@ -1,10 +0,0 @@
1#ifndef _ENDIAN_H
2# error "Never use <bits/endian.h> directly; include <endian.h> instead."
3#endif
4
5/* ARM can be either big or little endian. */
6#ifdef __ARMEB__
7#define __BYTE_ORDER __BIG_ENDIAN
8#else
9#define __BYTE_ORDER __LITTLE_ENDIAN
10#endif
lib/libc/glibc/sysdeps/arm/bits/endianness.h created+15
......@@ -0,0 +1,15 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* ARM has selectable endianness. */
9#ifdef __ARMEB__
10#define __BYTE_ORDER __BIG_ENDIAN
11#else
12#define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/arm/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for ARM.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/arm/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for ARM.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* Always build .init and .fini sections in ARM mode. */
3737#define NO_THUMB
lib/libc/glibc/sysdeps/arm/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. Alpha version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/arm/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code for ARM & ELF
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* This is the canonical entry point, usually the first thing in the text
3737 segment.
lib/libc/glibc/sysdeps/arm/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for ARM.
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.
2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/generic/sysdep.h>
2020#include <features.h>
lib/libc/glibc/sysdeps/generic/dl-dtprocnum.h+2-2
......@@ -1,5 +1,5 @@
11/* Configuration of lookup functions.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* Number of extra dynamic section entries for this architecture. By
2020 default there are none. */
lib/libc/glibc/sysdeps/generic/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. Generic version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* No multiple inclusion protection need here because it's just macros.
2020 We don't want to use _DL_SYSDEP_H in case we are #include_next'd. */
lib/libc/glibc/sysdeps/generic/dwarf2.h+2-2
......@@ -1,6 +1,6 @@
11/* Declarations and definitions of codes relating to the DWARF2 symbolic
22 debugging information format.
3 Copyright (C) 1992-2019 Free Software Foundation, Inc.
3 Copyright (C) 1992-2020 Free Software Foundation, Inc.
44 Contributed by Gary Funck (gary@intrepid.com). Derived from the
55 DWARF 1 implementation written by Ron Guilmette (rfg@monkeys.com).
66
......@@ -18,7 +18,7 @@
1818
1919 You should have received a copy of the GNU Lesser General Public
2020 License along with the GNU C Library; if not, see
21 <http://www.gnu.org/licenses/>. */
21 <https://www.gnu.org/licenses/>. */
2222
2323#ifndef _DWARF2_H
2424#define _DWARF2_H 1
lib/libc/glibc/sysdeps/generic/libc-lock.h+2-2
......@@ -1,5 +1,5 @@
11/* libc-internal interface for mutex locks. Stub version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LIBC_LOCK_H
2020#define _LIBC_LOCK_H 1
lib/libc/glibc/sysdeps/generic/single-thread.h+3-2
......@@ -1,5 +1,5 @@
11/* Single thread optimization, generic version.
2 Copyright (C) 2019 Free Software Foundation, Inc.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,11 +14,12 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _SINGLE_THREAD_H
2020#define _SINGLE_THREAD_H
2121
2222#define SINGLE_THREAD_P (0)
23#define RTLD_SINGLE_THREAD_P (0)
2324
2425#endif /* _SINGLE_THREAD_H */
lib/libc/glibc/sysdeps/generic/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Generic asm macros used on many machines.
2 Copyright (C) 1991-2019 Free Software Foundation, Inc.
2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef C_LABEL
2020
lib/libc/glibc/sysdeps/generic/tls.h+2-2
......@@ -1,5 +1,5 @@
11/* Definition for thread-local data handling. Generic version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* An architecture-specific version of this file has to defined a
2020 number of symbols:
lib/libc/glibc/sysdeps/hppa/bits/endian.h deleted-7
......@@ -1,7 +0,0 @@
1/* hppa1.1 big-endian. */
2
3#ifndef _ENDIAN_H
4# error "Never use <bits/endian.h> directly; include <endian.h> instead."
5#endif
6
7#define __BYTE_ORDER __BIG_ENDIAN
lib/libc/glibc/sysdeps/hppa/bits/endianness.h created+11
......@@ -0,0 +1,11 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* HP-PA is big-endian. */
9#define __BYTE_ORDER __BIG_ENDIAN
10
11#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/hppa/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for HPPA
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/hppa/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for HPPA
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636#include <sysdep.h>
3737
lib/libc/glibc/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h+2-47
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _BITS_PTHREADTYPES_ARCH_H
1919#define _BITS_PTHREADTYPES_ARCH_H 1
......@@ -40,52 +40,7 @@
4040#define __SIZEOF_PTHREAD_RWLOCK_T 64
4141#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
4242
43/* The old 4-word 16-byte aligned lock. This is initalized
44 to all ones by the Linuxthreads PTHREAD_MUTEX_INITIALIZER.
45 Unused in NPTL. */
46#define __PTHREAD_COMPAT_PADDING_MID int __compat_padding[4];
47/* Two more words are left before the NPTL
48 pthread_mutex_t is larger than Linuxthreads. */
49#define __PTHREAD_COMPAT_PADDING_END int __reserved[2];
50#define __PTHREAD_MUTEX_LOCK_ELISION 0
51#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 1
52#define __PTHREAD_MUTEX_USE_UNION 1
53
5443#define __LOCK_ALIGNMENT __attribute__ ((__aligned__(16)))
5544#define __ONCE_ALIGNMENT
5645
57struct __pthread_rwlock_arch_t
58{
59 /* In the old Linuxthreads pthread_rwlock_t, this is the
60 start of the 4-word 16-byte aligned lock structure. The
61 next four words are all set to 1 by the Linuxthreads
62 PTHREAD_RWLOCK_INITIALIZER. We ignore them in NPTL. */
63 int __compat_padding[4] __attribute__ ((__aligned__(16)));
64 unsigned int __readers;
65 unsigned int __writers;
66 unsigned int __wrphase_futex;
67 unsigned int __writers_futex;
68 unsigned int __pad3;
69 unsigned int __pad4;
70 int __cur_writer;
71 /* An unused word, reserved for future use. It was added
72 to maintain the location of the flags from the Linuxthreads
73 layout of this structure. */
74 int __reserved1;
75 /* FLAGS must stay at this position in the structure to maintain
76 binary compatibility. */
77 unsigned char __pad2;
78 unsigned char __pad1;
79 unsigned char __shared;
80 unsigned char __flags;
81 /* The NPTL pthread_rwlock_t is 4 words smaller than the
82 Linuxthreads version. One word is in the middle of the
83 structure, the other three are at the end. */
84 int __reserved2;
85 int __reserved3;
86 int __reserved4;
87};
88
89#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
90
9146#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/hppa/start.S+2-2
......@@ -1,5 +1,5 @@
11/* ELF startup code for HPPA.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636 .import main, code
3737 .import $global$, data
lib/libc/glibc/sysdeps/hppa/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for HP/PA.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.
2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44 Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999.
55
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#include <sysdeps/generic/sysdep.h>
2121
lib/libc/glibc/sysdeps/htl/bits/pthread.h+2-2
......@@ -1,5 +1,5 @@
11/* Pthread data structures. Generic version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_PTHREAD_H
2020#define _BITS_PTHREAD_H 1
lib/libc/glibc/sysdeps/htl/bits/thread-shared-types.h+2-2
......@@ -1,5 +1,5 @@
11/* Common threading primitives definitions for both POSIX and C11.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _THREAD_SHARED_TYPES_H
2020#define _THREAD_SHARED_TYPES_H 1
lib/libc/glibc/sysdeps/htl/libc-lockP.h+4-2
......@@ -1,5 +1,5 @@
11/* Private libc-internal interface for mutex locks.
2 Copyright (C) 2015-2019 Free Software Foundation, Inc.
2 Copyright (C) 2015-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; see the file COPYING.LIB. If
17 not, see <http://www.gnu.org/licenses/>. */
17 not, see <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_LIBC_LOCKP_H
2020#define _BITS_LIBC_LOCKP_H 1
......@@ -112,6 +112,8 @@ extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
112112extern int __pthread_key_create (pthread_key_t *__key,
113113 void (*__destr_function) (void *));
114114
115extern int __pthread_key_delete (pthread_key_t __key);
116
115117extern int __pthread_setspecific (pthread_key_t __key,
116118 const void *__pointer);
117119
lib/libc/glibc/sysdeps/htl/pthread.h+2-2
......@@ -1,5 +1,5 @@
11/* Posix threads. Hurd version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/*
2020 * POSIX Threads Extension: ??? <pthread.h>
lib/libc/glibc/sysdeps/i386/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for x86.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/i386/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for x86.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/i386/htl/bits/pthreadtypes-arch.h+16-2
......@@ -1,5 +1,5 @@
11/* Machine-specific pthread type layouts. Hurd i386 version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,9 +14,23 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_PTHREADTYPES_ARCH_H
2020#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#define __SIZEOF_PTHREAD_MUTEX_T 32
23#define __SIZEOF_PTHREAD_ATTR_T 32
24#define __SIZEOF_PTHREAD_RWLOCK_T 28
25#define __SIZEOF_PTHREAD_BARRIER_T 24
26#define __SIZEOF_PTHREAD_MUTEXATTR_T 16
27#define __SIZEOF_PTHREAD_COND_T 20
28#define __SIZEOF_PTHREAD_CONDATTR_T 8
29#define __SIZEOF_PTHREAD_RWLOCKATTR_T 4
30#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
31#define __SIZEOF_PTHREAD_ONCE_T 8
32
33#define __LOCK_ALIGNMENT
34#define __ONCE_ALIGNMENT
35
2236#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/i386/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code compliant to the ELF i386 ABI.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* This is the canonical entry point, usually the first thing in the text
3737 segment. The SVR4/i386 ABI (pages 3-31, 3-32) says that when the entry
lib/libc/glibc/sysdeps/i386/symbol-hacks.h+2-2
......@@ -1,5 +1,5 @@
11/* Hacks needed for symbol manipulation. i386 version.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
2020
lib/libc/glibc/sysdeps/i386/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for i386.
2 Copyright (C) 1991-2019 Free Software Foundation, Inc.
2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/x86/sysdep.h>
2020
lib/libc/glibc/sysdeps/ia64/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for IA64.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/ia64/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for ARM.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636#include <sysdep.h>
3737#undef ret
lib/libc/glibc/sysdeps/ia64/dl-dtprocnum.h+2-2
......@@ -1,5 +1,5 @@
11/* Configuration of lookup functions. IA-64 version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* Number of extra dynamic section entries for this architecture. By
2020 default there are none. */
lib/libc/glibc/sysdeps/ia64/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. IA-64 version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/ia64/start.S+2-3
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
44
......@@ -31,11 +31,10 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636#include <sysdep.h>
3737
38#include <asm/unistd.h>
3938#include <asm/fpu.h>
4039
4140/*
lib/libc/glibc/sysdeps/ia64/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/generic/sysdep.h>
2020
lib/libc/glibc/sysdeps/m68k/bits/endian.h deleted-7
......@@ -1,7 +0,0 @@
1/* m68k is big-endian. */
2
3#ifndef _ENDIAN_H
4# error "Never use <bits/endian.h> directly; include <endian.h> instead."
5#endif
6
7#define __BYTE_ORDER __BIG_ENDIAN
lib/libc/glibc/sysdeps/m68k/bits/endianness.h created+11
......@@ -0,0 +1,11 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* m68k is big-endian. */
9#define __BYTE_ORDER __BIG_ENDIAN
10
11#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/m68k/coldfire/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for Coldfire.
2 Copyright (C) 1998-2019 Free Software Foundation, Inc.
2 Copyright (C) 1998-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/m68k/sysdep.h>
2020
lib/libc/glibc/sysdeps/m68k/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for m68k.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/m68k/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for m68k.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/m68k/m680x0/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for m680x0.
2 Copyright (C) 2010-2019 Free Software Foundation, Inc.
2 Copyright (C) 2010-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/m68k/sysdep.h>
2020
lib/libc/glibc/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h+3-29
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2010-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2010-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
44
......@@ -14,12 +14,12 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_PTHREADTYPES_ARCH_H
2020#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#include <endian.h>
22#include <bits/endian.h>
2323
2424#define __SIZEOF_PTHREAD_ATTR_T 36
2525#define __SIZEOF_PTHREAD_MUTEX_T 24
......@@ -31,33 +31,7 @@
3131#define __SIZEOF_PTHREAD_BARRIER_T 20
3232#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
3333
34/* Data structure for mutex handling. */
35#define __PTHREAD_COMPAT_PADDING_MID
36#define __PTHREAD_COMPAT_PADDING_END
37#define __PTHREAD_MUTEX_LOCK_ELISION 0
38#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 1
39#define __PTHREAD_MUTEX_USE_UNION 1
40
4134#define __LOCK_ALIGNMENT __attribute__ ((__aligned__ (4)))
4235#define __ONCE_ALIGNMENT __attribute__ ((__aligned__ (4)))
4336
44struct __pthread_rwlock_arch_t
45{
46 unsigned int __readers __attribute__ ((__aligned__ (4)));
47 unsigned int __writers;
48 unsigned int __wrphase_futex;
49 unsigned int __writers_futex;
50 unsigned int __pad3;
51 unsigned int __pad4;
52 unsigned char __pad1;
53 unsigned char __pad2;
54 unsigned char __shared;
55 /* FLAGS must stay at this position in the structure to maintain
56 binary compatibility. */
57 unsigned char __flags;
58 int __cur_writer;
59};
60
61#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
62
6337#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/m68k/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code compliant to the ELF m68k ABI.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* This is the canonical entry point, usually the first thing in the text
3737 segment. The SVR4/m68k ABI says that when the entry point runs,
lib/libc/glibc/sysdeps/m68k/symbol-hacks.h+2-2
......@@ -1,5 +1,5 @@
11/* Hacks needed for symbol manipulation. m68k version.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
2020
lib/libc/glibc/sysdeps/m68k/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for m68k.
2 Copyright (C) 1998-2019 Free Software Foundation, Inc.
2 Copyright (C) 1998-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/generic/sysdep.h>
2020
lib/libc/glibc/sysdeps/mach/hurd/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/mach/hurd/bits/typesizes.h+6-2
......@@ -1,5 +1,5 @@
11/* bits/typesizes.h -- underlying types for *_t. Hurd version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_H
2020# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
......@@ -64,5 +64,9 @@
6464/* Number of descriptors that can fit in an `fd_set'. */
6565#define __FD_SETSIZE 256
6666
67/* Tell the libc code that fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and
68 fsfilcnt64_t are not the same type for all ABI purposes. */
69# define __STATFS_MATCHES_STATFS64 0
70
6771
6872#endif /* bits/typesizes.h */
lib/libc/glibc/sysdeps/mach/hurd/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. Hurd version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* The private errno doesn't make sense on the Hurd. errno is always the
2020 thread-local slot shared with libc, and it matters to share the cell
lib/libc/glibc/sysdeps/mach/hurd/kernel-features.h+2-2
......@@ -1,5 +1,5 @@
11/* Set flags signalling availability of certain operating system features.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* This file can define __ASSUME_* macros checked by certain source files.
2020 Almost none of these are used outside of sysdeps/unix/sysv/linux code.
lib/libc/glibc/sysdeps/mach/i386/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _MACH_I386_SYSDEP_H
2020#define _MACH_I386_SYSDEP_H 1
lib/libc/glibc/sysdeps/mach/libc-lock.h+2-2
......@@ -1,5 +1,5 @@
11/* libc-internal interface for mutex locks. Mach cthreads version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LIBC_LOCK_H
2020#define _LIBC_LOCK_H 1
lib/libc/glibc/sysdeps/mach/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1994-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1994-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifdef __ASSEMBLER__
1919
lib/libc/glibc/sysdeps/microblaze/bits/endian.h deleted-30
......@@ -1,30 +0,0 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
2
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public License as
7 published by the Free Software Foundation; either version 2.1 of the
8 License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
18
19#ifndef _ENDIAN_H
20# error "Never use <bits/endian.h> directly; include <endian.h> instead."
21#endif
22
23/* MicroBlaze can be either big or little endian. */
24#ifdef _BIG_ENDIAN
25# define __BYTE_ORDER __BIG_ENDIAN
26# define __FLOAT_WORD_ORDER __BIG_ENDIAN
27#else
28# define __BYTE_ORDER __LITTLE_ENDIAN
29# define __FLOAT_WORD_ORDER __LITTLE_ENDIAN
30#endif
lib/libc/glibc/sysdeps/microblaze/bits/endianness.h created+15
......@@ -0,0 +1,15 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* MicroBlaze has selectable endianness. */
9#ifdef _BIG_ENDIAN
10# define __BYTE_ORDER __BIG_ENDIAN
11#else
12# define __BYTE_ORDER __LITTLE_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/microblaze/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for MicroBlaze.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/microblaze/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for MicroBlaze.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/microblaze/start.S+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636 .text
3737 .globl _start
lib/libc/glibc/sysdeps/microblaze/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/generic/sysdep.h>
2020
lib/libc/glibc/sysdeps/mips/bits/endian.h deleted-15
......@@ -1,15 +0,0 @@
1/* The MIPS architecture has selectable endianness.
2 It exists in both little and big endian flavours and we
3 want to be able to share the installed header files between
4 both, so we define __BYTE_ORDER based on GCC's predefines. */
5
6#ifndef _ENDIAN_H
7# error "Never use <bits/endian.h> directly; include <endian.h> instead."
8#endif
9
10#ifdef __MIPSEB
11# define __BYTE_ORDER __BIG_ENDIAN
12#endif
13#ifdef __MIPSEL
14# define __BYTE_ORDER __LITTLE_ENDIAN
15#endif
lib/libc/glibc/sysdeps/mips/bits/endianness.h created+16
......@@ -0,0 +1,16 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* MIPS has selectable endianness. */
9#ifdef __MIPSEB
10# define __BYTE_ORDER __BIG_ENDIAN
11#endif
12#ifdef __MIPSEL
13# define __BYTE_ORDER __LITTLE_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/mips/dl-dtprocnum.h+2-2
......@@ -1,5 +1,5 @@
11/* Configuration of lookup functions. MIPS version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* Number of extra dynamic section entries for this architecture. By
2020 default there are none. */
lib/libc/glibc/sysdeps/mips/mips32/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for MIPS (o32).
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/mips/mips32/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for MIPS (o32).
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/mips/mips64/n32/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for MIPS (n32).
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/mips/mips64/n32/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for MIPS (n32).
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/mips/mips64/n64/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for MIPS (n64).
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/mips/mips64/n64/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for MIPS (n64).
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/mips/nptl/bits/pthreadtypes-arch.h+3-48
......@@ -1,5 +1,5 @@
11/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-2019 Free Software Foundation, Inc.
2 Copyright (C) 2005-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,12 +14,12 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_PTHREADTYPES_ARCH_H
2020#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#include <endian.h>
22#include <bits/endian.h>
2323
2424#if _MIPS_SIM == _ABI64
2525# define __SIZEOF_PTHREAD_ATTR_T 56
......@@ -38,52 +38,7 @@
3838#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
3939#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
4040
41/* Data structure for mutex handling. */
42#define __PTHREAD_COMPAT_PADDING_MID
43#define __PTHREAD_COMPAT_PADDING_END
44#define __PTHREAD_MUTEX_LOCK_ELISION 0
45#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (_MIPS_SIM != _ABI64)
46#define __PTHREAD_MUTEX_USE_UNION (_MIPS_SIM != _ABI64)
47
4841#define __LOCK_ALIGNMENT
4942#define __ONCE_ALIGNMENT
5043
51struct __pthread_rwlock_arch_t
52{
53 unsigned int __readers;
54 unsigned int __writers;
55 unsigned int __wrphase_futex;
56 unsigned int __writers_futex;
57 unsigned int __pad3;
58 unsigned int __pad4;
59#if _MIPS_SIM == _ABI64
60 int __cur_writer;
61 int __shared;
62 unsigned long int __pad1;
63 unsigned long int __pad2;
64 /* FLAGS must stay at this position in the structure to maintain
65 binary compatibility. */
66 unsigned int __flags;
67# else
68# if __BYTE_ORDER == __BIG_ENDIAN
69 unsigned char __pad1;
70 unsigned char __pad2;
71 unsigned char __shared;
72 /* FLAGS must stay at this position in the structure to maintain
73 binary compatibility. */
74 unsigned char __flags;
75# else
76 /* FLAGS must stay at this position in the structure to maintain
77 binary compatibility. */
78 unsigned char __flags;
79 unsigned char __shared;
80 unsigned char __pad1;
81 unsigned char __pad2;
82# endif
83 int __cur_writer;
84#endif
85};
86
87#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
88
8944#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/mips/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code compliant to the ELF Mips ABI.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636#define __ASSEMBLY__ 1
3737#include <entry.h>
lib/libc/glibc/sysdeps/nptl/bits/pthreadtypes.h+2-2
......@@ -1,5 +1,5 @@
11/* Declaration of common pthread types for all architectures.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_PTHREADTYPES_COMMON_H
2020# define _BITS_PTHREADTYPES_COMMON_H 1
lib/libc/glibc/sysdeps/nptl/bits/thread-shared-types.h+34-113
......@@ -1,5 +1,5 @@
11/* Common threading primitives definitions for both POSIX and C11.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _THREAD_SHARED_TYPES_H
2020#define _THREAD_SHARED_TYPES_H 1
......@@ -32,36 +32,6 @@
3232 __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
3333 __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
3434
35 Also, the following macros must be define for internal pthread_mutex_t
36 struct definitions (struct __pthread_mutex_s):
37
38 __PTHREAD_COMPAT_PADDING_MID - any additional members after 'kind'
39 and before '__spin' (for 64 bits) or
40 '__nusers' (for 32 bits).
41 __PTHREAD_COMPAT_PADDING_END - any additional members at the end of
42 the internal structure.
43 __PTHREAD_MUTEX_LOCK_ELISION - 1 if the architecture supports lock
44 elision or 0 otherwise.
45 __PTHREAD_MUTEX_NUSERS_AFTER_KIND - control where to put __nusers. The
46 preferred value for new architectures
47 is 0.
48 __PTHREAD_MUTEX_USE_UNION - control whether internal __spins and
49 __list will be place inside a union for
50 linuxthreads compatibility.
51 The preferred value for new architectures
52 is 0.
53
54 For a new port the preferred values for the required defines are:
55
56 #define __PTHREAD_COMPAT_PADDING_MID
57 #define __PTHREAD_COMPAT_PADDING_END
58 #define __PTHREAD_MUTEX_LOCK_ELISION 0
59 #define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
60 #define __PTHREAD_MUTEX_USE_UNION 0
61
62 __PTHREAD_MUTEX_LOCK_ELISION can be set to 1 if the hardware plans to
63 eventually support lock elision using transactional memory.
64
6535 The additional macro defines any constraint for the lock alignment
6636 inside the thread structures:
6737
......@@ -69,101 +39,52 @@
6939
7040 Same idea but for the once locking primitive:
7141
72 __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
42 __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. */
7343
74 And finally the internal pthread_rwlock_t (struct __pthread_rwlock_arch_t)
75 must be defined.
76 */
7744#include <bits/pthreadtypes-arch.h>
7845
46
7947/* Common definition of pthread_mutex_t. */
8048
81#if !__PTHREAD_MUTEX_USE_UNION
8249typedef struct __pthread_internal_list
8350{
8451 struct __pthread_internal_list *__prev;
8552 struct __pthread_internal_list *__next;
8653} __pthread_list_t;
87#else
54
8855typedef struct __pthread_internal_slist
8956{
9057 struct __pthread_internal_slist *__next;
9158} __pthread_slist_t;
92#endif
93
94/* Lock elision support. */
95#if __PTHREAD_MUTEX_LOCK_ELISION
96# if !__PTHREAD_MUTEX_USE_UNION
97# define __PTHREAD_SPINS_DATA \
98 short __spins; \
99 short __elision
100# define __PTHREAD_SPINS 0, 0
101# else
102# define __PTHREAD_SPINS_DATA \
103 struct \
104 { \
105 short __espins; \
106 short __eelision; \
107 } __elision_data
108# define __PTHREAD_SPINS { 0, 0 }
109# define __spins __elision_data.__espins
110# define __elision __elision_data.__eelision
111# endif
112#else
113# define __PTHREAD_SPINS_DATA int __spins
114/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER. */
115# define __PTHREAD_SPINS 0
116#endif
117
118struct __pthread_mutex_s
119{
120 int __lock __LOCK_ALIGNMENT;
121 unsigned int __count;
122 int __owner;
123#if !__PTHREAD_MUTEX_NUSERS_AFTER_KIND
124 unsigned int __nusers;
125#endif
126 /* KIND must stay at this position in the structure to maintain
127 binary compatibility with static initializers.
128
129 Concurrency notes:
130 The __kind of a mutex is initialized either by the static
131 PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init.
132
133 After a mutex has been initialized, the __kind of a mutex is usually not
134 changed. BUT it can be set to -1 in pthread_mutex_destroy or elision can
135 be enabled. This is done concurrently in the pthread_mutex_*lock functions
136 by using the macro FORCE_ELISION. This macro is only defined for
137 architectures which supports lock elision.
138
139 For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and
140 PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already set
141 type of a mutex.
142 Before a mutex is initialized, only PTHREAD_MUTEX_NO_ELISION_NP can be set
143 with pthread_mutexattr_settype.
144 After a mutex has been initialized, the functions pthread_mutex_*lock can
145 enable elision - if the mutex-type and the machine supports it - by setting
146 the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently. Afterwards
147 the lock / unlock functions are using specific elision code-paths. */
148 int __kind;
149 __PTHREAD_COMPAT_PADDING_MID
150#if __PTHREAD_MUTEX_NUSERS_AFTER_KIND
151 unsigned int __nusers;
152#endif
153#if !__PTHREAD_MUTEX_USE_UNION
154 __PTHREAD_SPINS_DATA;
155 __pthread_list_t __list;
156# define __PTHREAD_MUTEX_HAVE_PREV 1
157#else
158 __extension__ union
159 {
160 __PTHREAD_SPINS_DATA;
161 __pthread_slist_t __list;
162 };
163# define __PTHREAD_MUTEX_HAVE_PREV 0
164#endif
165 __PTHREAD_COMPAT_PADDING_END
166};
59
60/* Arch-specific mutex definitions. A generic implementation is provided
61 by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
62 can override it by defining:
63
64 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
65 definition). It should contains at least the internal members
66 defined in the generic version.
67
68 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
69 atomic operations.
70
71 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
72 It should initialize the mutex internal flag. */
73
74#include <bits/struct_mutex.h>
75
76/* Arch-sepecific read-write lock definitions. A generic implementation is
77 provided by struct_rwlock.h. If required, an architecture can override it
78 by defining:
79
80 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
81 It should contain at least the internal members defined in the
82 generic version.
83
84 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
85 It should initialize the rwlock internal type. */
86
87#include <bits/struct_rwlock.h>
16788
16889
16990/* Common definition of pthread_cond_t. */
lib/libc/glibc/sysdeps/nptl/libc-lock.h+2-2
......@@ -1,5 +1,5 @@
11/* libc-internal interface for mutex locks. NPTL version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; see the file COPYING.LIB. If
17 not, see <http://www.gnu.org/licenses/>. */
17 not, see <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LIBC_LOCK_H
2020#define _LIBC_LOCK_H 1
lib/libc/glibc/sysdeps/nptl/libc-lockP.h+2-2
......@@ -1,5 +1,5 @@
11/* Private libc-internal interface for mutex locks. NPTL version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.
2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; see the file COPYING.LIB. If
17 not, see <http://www.gnu.org/licenses/>. */
17 not, see <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LIBC_LOCKP_H
2020#define _LIBC_LOCKP_H 1
lib/libc/glibc/sysdeps/nptl/pthread.h+26-51
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,16 +13,16 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _PTHREAD_H
1919#define _PTHREAD_H 1
2020
2121#include <features.h>
22#include <endian.h>
2322#include <sched.h>
2423#include <time.h>
2524
25#include <bits/endian.h>
2626#include <bits/pthreadtypes.h>
2727#include <bits/setjmp.h>
2828#include <bits/wordsize.h>
......@@ -83,30 +83,15 @@ enum
8383#endif
8484
8585
86#if __PTHREAD_MUTEX_HAVE_PREV
87# define PTHREAD_MUTEX_INITIALIZER \
88 { { 0, 0, 0, 0, 0, __PTHREAD_SPINS, { 0, 0 } } }
89# ifdef __USE_GNU
90# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
91 { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, __PTHREAD_SPINS, { 0, 0 } } }
92# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
93 { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __PTHREAD_SPINS, { 0, 0 } } }
94# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
95 { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __PTHREAD_SPINS, { 0, 0 } } }
96
97# endif
98#else
99# define PTHREAD_MUTEX_INITIALIZER \
100 { { 0, 0, 0, 0, 0, { __PTHREAD_SPINS } } }
101# ifdef __USE_GNU
102# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
103 { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { __PTHREAD_SPINS } } }
104# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
105 { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, { __PTHREAD_SPINS } } }
106# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
107 { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, { __PTHREAD_SPINS } } }
108
109# endif
86#define PTHREAD_MUTEX_INITIALIZER \
87 { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } }
88#ifdef __USE_GNU
89# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
90 { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } }
91# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
92 { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } }
93# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
94 { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_NP) } }
11095#endif
11196
11297
......@@ -120,34 +105,13 @@ enum
120105 PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
121106};
122107
123/* Define __PTHREAD_RWLOCK_INT_FLAGS_SHARED to 1 if pthread_rwlock_t
124 has the shared field. All 64-bit architectures have the shared field
125 in pthread_rwlock_t. */
126#ifndef __PTHREAD_RWLOCK_INT_FLAGS_SHARED
127# if __WORDSIZE == 64
128# define __PTHREAD_RWLOCK_INT_FLAGS_SHARED 1
129# endif
130#endif
131108
132109/* Read-write lock initializers. */
133110# define PTHREAD_RWLOCK_INITIALIZER \
134 { { 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0 } }
111 { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_DEFAULT_NP) } }
135112# ifdef __USE_GNU
136# ifdef __PTHREAD_RWLOCK_INT_FLAGS_SHARED
137# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
138 { { 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, \
139 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
140# else
141# if __BYTE_ORDER == __LITTLE_ENDIAN
142# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
143 { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, \
144 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0 } }
145# else
146# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
147 { { 0, 0, 0, 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,\
148 0 } }
149# endif
150# endif
113# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
114 { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) } }
151115# endif
152116#endif /* Unix98 or XOpen2K */
153117
......@@ -263,6 +227,17 @@ extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW;
263227 __THROW. */
264228extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
265229 const struct timespec *__abstime);
230
231/* Make calling thread wait for termination of the thread TH, but only
232 until TIMEOUT measured against the clock specified by CLOCKID. The
233 exit status of the thread is stored in *THREAD_RETURN, if
234 THREAD_RETURN is not NULL.
235
236 This function is a cancellation point and therefore not marked with
237 __THROW. */
238extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
239 clockid_t __clockid,
240 const struct timespec *__abstime);
266241#endif
267242
268243/* Indicate that the thread TH is never to be joined with PTHREAD_JOIN.
lib/libc/glibc/sysdeps/powerpc/bits/endian.h deleted-36
......@@ -1,36 +0,0 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
17
18/* PowerPC can be little or big endian. Hopefully gcc will know... */
19
20#ifndef _ENDIAN_H
21# error "Never use <bits/endian.h> directly; include <endian.h> instead."
22#endif
23
24#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
25# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
26# error Both BIG_ENDIAN and LITTLE_ENDIAN defined!
27# endif
28# define __BYTE_ORDER __BIG_ENDIAN
29#else
30# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
31# define __BYTE_ORDER __LITTLE_ENDIAN
32# else
33# warning Cannot determine current byte order, assuming big-endian.
34# define __BYTE_ORDER __BIG_ENDIAN
35# endif
36#endif
lib/libc/glibc/sysdeps/powerpc/bits/endianness.h created+16
......@@ -0,0 +1,16 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* PowerPC has selectable endianness. */
9#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
10# define __BYTE_ORDER __BIG_ENDIAN
11#endif
12#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
13# define __BYTE_ORDER __LITTLE_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/powerpc/powerpc32/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for PowerPC.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/powerpc/powerpc32/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for PowerPC.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/powerpc/powerpc32/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code for programs linked with GNU libc.
2 Copyright (C) 1998-2019 Free Software Foundation, Inc.
2 Copyright (C) 1998-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636#include <sysdep.h>
3737
lib/libc/glibc/sysdeps/powerpc/powerpc32/symbol-hacks.h+2-2
......@@ -1,5 +1,5 @@
11/* Hacks needed for symbol manipulation. powerpc version.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
2020
lib/libc/glibc/sysdeps/powerpc/powerpc32/sysdep.h+28-2
......@@ -1,5 +1,5 @@
11/* Assembly macros for 32-bit PowerPC.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.
2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/powerpc/sysdep.h>
2020
......@@ -157,4 +157,30 @@ GOT_LABEL: ; \
157157/* Label in text section. */
158158#define C_TEXT(name) name
159159
160/* Read the value of member from rtld_global_ro. */
161#ifdef PIC
162# ifdef SHARED
163# if IS_IN (rtld)
164/* Inside ld.so we use the local alias to avoid runtime GOT
165 relocations. */
166# define __GLRO(rOUT, rGOT, member, offset) \
167 lwz rOUT,_rtld_local_ro@got(rGOT); \
168 lwz rOUT,offset(rOUT)
169# else
170# define __GLRO(rOUT, rGOT, member, offset) \
171 lwz rOUT,_rtld_global_ro@got(rGOT); \
172 lwz rOUT,offset(rOUT)
173# endif
174# else
175# define __GLRO(rOUT, rGOT, member, offset) \
176 lwz rOUT,member@got(rGOT); \
177 lwz rOUT,0(rOUT)
178# endif
179#else
180/* Position-dependent code does not require access to the GOT. */
181# define __GLRO(rOUT, rGOT, member, offset) \
182 lis rOUT,(member+LOWORD)@ha; \
183 lwz rOUT,(member+LOWORD)@l(rOUT)
184#endif /* PIC */
185
160186#endif /* __ASSEMBLER__ */
lib/libc/glibc/sysdeps/powerpc/powerpc64/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for PowerPC64.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/powerpc/powerpc64/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for PowerPC64.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/powerpc/powerpc64/dl-dtprocnum.h+2-2
......@@ -1,5 +1,5 @@
11/* Configuration of lookup functions. PowerPC64 version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* Number of extra dynamic section entries for this architecture. By
2020 default there are none. */
lib/libc/glibc/sysdeps/powerpc/powerpc64/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code for programs linked with GNU libc. PowerPC64 version.
2 Copyright (C) 1998-2019 Free Software Foundation, Inc.
2 Copyright (C) 1998-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636#include <sysdep.h>
3737
lib/libc/glibc/sysdeps/powerpc/powerpc64/sysdep.h+26-2
......@@ -1,5 +1,5 @@
11/* Assembly macros for 64-bit PowerPC.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/powerpc/sysdep.h>
2020
......@@ -342,6 +342,30 @@ LT_LABELSUFFIX(name,_name_end): ; \
342342#define PSEUDO_END_ERRVAL(name) \
343343 END (name)
344344
345#ifdef SHARED
346# if IS_IN (rtld)
347 /* Inside ld.so we use the local alias to avoid runtime GOT
348 relocations. */
349# define __GLRO_DEF(var) \
350.LC__ ## var: \
351 .tc _rtld_local_ro[TC],_rtld_local_ro
352# else
353# define __GLRO_DEF(var) \
354.LC__ ## var: \
355 .tc _rtld_global_ro[TC],_rtld_global_ro
356# endif
357# define __GLRO(rOUT, var, offset) \
358 ld rOUT,.LC__ ## var@toc(r2); \
359 lwz rOUT,offset(rOUT)
360#else
361# define __GLRO_DEF(var) \
362.LC__ ## var: \
363 .tc _ ## var[TC],_ ## var
364# define __GLRO(rOUT, var, offset) \
365 ld rOUT,.LC__ ## var@toc(r2); \
366 lwz rOUT,0(rOUT)
367#endif
368
345369#else /* !__ASSEMBLER__ */
346370
347371#if _CALL_ELF != 2
lib/libc/glibc/sysdeps/powerpc/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818/*
1919 * Powerpc Feature masks for the Aux Vector Hardware Capabilities (AT_HWCAP).
lib/libc/glibc/sysdeps/riscv/bits/endian.h deleted-5
......@@ -1,5 +0,0 @@
1#ifndef _ENDIAN_H
2# error "Never use <bits/endian.h> directly; include <endian.h> instead."
3#endif
4
5#define __BYTE_ORDER __LITTLE_ENDIAN
lib/libc/glibc/sysdeps/riscv/bits/endianness.h created+11
......@@ -0,0 +1,11 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* RISC-V is little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h+3-30
......@@ -1,5 +1,5 @@
11/* Machine-specific pthread type layouts. RISC-V version.
2 Copyright (C) 2011-2019 Free Software Foundation, Inc.
2 Copyright (C) 2011-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,12 +14,12 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_PTHREADTYPES_ARCH_H
2020#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#include <endian.h>
22#include <bits/endian.h>
2323
2424#if __riscv_xlen == 64
2525# define __SIZEOF_PTHREAD_ATTR_T 56
......@@ -35,34 +35,7 @@
3535# error "rv32i-based systems are not supported"
3636#endif
3737
38#define __PTHREAD_COMPAT_PADDING_MID
39#define __PTHREAD_COMPAT_PADDING_END
40#define __PTHREAD_MUTEX_LOCK_ELISION 0
41#define __PTHREAD_MUTEX_USE_UNION 0
42#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
43
4438#define __LOCK_ALIGNMENT
4539#define __ONCE_ALIGNMENT
4640
47/* There is a lot of padding in this structure. While it's not strictly
48 necessary on RISC-V, we're going to leave it in to be on the safe side in
49 case it's needed in the future. Most other architectures have the padding,
50 so this gives us the same extensibility as everyone else has. */
51struct __pthread_rwlock_arch_t
52{
53 unsigned int __readers;
54 unsigned int __writers;
55 unsigned int __wrphase_futex;
56 unsigned int __writers_futex;
57 unsigned int __pad3;
58 unsigned int __pad4;
59 int __cur_writer;
60 int __shared;
61 unsigned long int __pad1;
62 unsigned long int __pad2;
63 unsigned int __flags;
64};
65
66#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
67
6841#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/riscv/start.S+5-5
......@@ -1,5 +1,5 @@
11/* Startup code compliant to the ELF RISC-V ABI.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636#define __ASSEMBLY__ 1
3737#include <entry.h>
......@@ -47,7 +47,7 @@ ENTRY (ENTRY_POINT)
4747 .cfi_label to force starting the FDE. */
4848 .cfi_label .Ldummy
4949 cfi_undefined (ra)
50 call .Lload_gp
50 call load_gp
5151 mv a5, a0 /* rtld_fini. */
5252 /* main may be in a shared library. */
5353 la a0, main
......@@ -68,7 +68,7 @@ END (ENTRY_POINT)
6868 needs to be initialized before calling __libc_start_main in that case.
6969 So we redundantly initialize it at the beginning of _start. */
7070
71.Lload_gp:
71load_gp:
7272.option push
7373.option norelax
7474 lla gp, __global_pointer$
......@@ -76,7 +76,7 @@ END (ENTRY_POINT)
7676 ret
7777
7878 .section .preinit_array,"aw"
79 .dc.a .Lload_gp
79 .dc.a load_gp
8080
8181/* Define a symbol for the first piece of initialized data. */
8282 .data
lib/libc/glibc/sysdeps/s390/bits/endian.h deleted-7
......@@ -1,7 +0,0 @@
1/* s390 is big-endian */
2
3#ifndef _ENDIAN_H
4# error "Never use <bits/endian.h> directly; include <endian.h> instead."
5#endif
6
7#define __BYTE_ORDER __BIG_ENDIAN
lib/libc/glibc/sysdeps/s390/bits/endianness.h created+11
......@@ -0,0 +1,11 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* S/390 is big-endian. */
9#define __BYTE_ORDER __BIG_ENDIAN
10
11#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/s390/s390-32/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for S/390.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/s390/s390-32/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for S/390.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/s390/s390-32/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. S/390 version.
2 Copyright (C) 2014-2019 Free Software Foundation, Inc.
2 Copyright (C) 2014-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/s390/s390-32/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code compliant to the ELF s390 ABI.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
44 This file is part of the GNU C Library.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/s390/s390-32/symbol-hacks.h+2-2
......@@ -1,5 +1,5 @@
11/* Hacks needed for symbol manipulation. s390 version.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
2020
lib/libc/glibc/sysdeps/s390/s390-32/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for s390.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
44 This file is part of the GNU C Library.
55
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#include <sysdeps/generic/sysdep.h>
2121
lib/libc/glibc/sysdeps/s390/s390-64/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for 64 bit S/390.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
44 This file is part of the GNU C Library.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737/* crti.S puts a function prologue at the beginning of the .init and
3838 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/s390/s390-64/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for 64 bit S/390.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
44 This file is part of the GNU C Library.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737/* crtn.S puts function epilogues in the .init and .fini sections
3838 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/s390/s390-64/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code compliant to the 64 bit S/390 ELF ABI.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
44 This file is part of the GNU C Library.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/s390/s390-64/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for 64 bit S/390.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
44 This file is part of the GNU C Library.
55
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#include <sysdeps/generic/sysdep.h>
2121
lib/libc/glibc/sysdeps/sh/bits/endian.h deleted-13
......@@ -1,13 +0,0 @@
1/* SH is bi-endian but with a big-endian FPU. */
2
3#ifndef _ENDIAN_H
4# error "Never use <bits/endian.h> directly; include <endian.h> instead."
5#endif
6
7#ifdef __LITTLE_ENDIAN__
8#define __BYTE_ORDER __LITTLE_ENDIAN
9#define __FLOAT_WORD_ORDER __LITTLE_ENDIAN
10#else
11#define __BYTE_ORDER __BIG_ENDIAN
12#define __FLOAT_WORD_ORDER __BIG_ENDIAN
13#endif
lib/libc/glibc/sysdeps/sh/bits/endianness.h created+15
......@@ -0,0 +1,15 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* SH has selectable endianness. */
9#ifdef __LITTLE_ENDIAN__
10#define __BYTE_ORDER __LITTLE_ENDIAN
11#else
12#define __BYTE_ORDER __BIG_ENDIAN
13#endif
14
15#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/sh/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for SH.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/sh/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for SH.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/sh/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code for SH & ELF.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.
2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* This is the canonical entry point, usually the first thing in the text
3737 segment.
lib/libc/glibc/sysdeps/sh/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for SH.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.
2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/generic/sysdep.h>
2020
lib/libc/glibc/sysdeps/sparc/bits/endian.h deleted-12
......@@ -1,12 +0,0 @@
1/* Sparc is big-endian, but v9 supports endian conversion on loads/stores
2 and GCC supports such a mode. Be prepared. */
3
4#ifndef _ENDIAN_H
5# error "Never use <bits/endian.h> directly; include <endian.h> instead."
6#endif
7
8#ifdef __LITTLE_ENDIAN__
9# define __BYTE_ORDER __LITTLE_ENDIAN
10#else
11# define __BYTE_ORDER __BIG_ENDIAN
12#endif
lib/libc/glibc/sysdeps/sparc/bits/endianness.h created+16
......@@ -0,0 +1,16 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* Sparc is big-endian, but v9 supports endian conversion on loads/stores
9 and GCC supports such a mode. Be prepared. */
10#ifdef __LITTLE_ENDIAN__
11# define __BYTE_ORDER __LITTLE_ENDIAN
12#else
13# define __BYTE_ORDER __BIG_ENDIAN
14#endif
15
16#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/sparc/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for sparc.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/sparc/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for sparc.
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.
2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/sparc/dl-dtprocnum.h+2-2
......@@ -1,5 +1,5 @@
11/* Configuration of lookup functions. SPARC version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.
2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* Number of extra dynamic section entries for this architecture. By
2020 default there are none. */
lib/libc/glibc/sysdeps/sparc/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. SPARC version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/sparc/sparc32/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code for elf32-sparc
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.
2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/sparc/sparc64/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code for elf64-sparc
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.
2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/sparc/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2011-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2011-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#define _SYSDEPS_SYSDEP_H 1
1919#include <bits/hwcap.h>
lib/libc/glibc/sysdeps/unix/alpha/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Brendan Kehoe (brendan@zen.org).
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/unix/sysdep.h>
2020#include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
lib/libc/glibc/sysdeps/unix/arm/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#include <sysdeps/unix/sysdep.h>
1919#include <sysdeps/arm/sysdep.h>
lib/libc/glibc/sysdeps/unix/i386/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#include <sysdeps/unix/sysdep.h>
1919#include <sysdeps/i386/sysdep.h>
lib/libc/glibc/sysdeps/unix/mips/mips32/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Brendan Kehoe (brendan@zen.org).
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/unix/mips/sysdep.h>
2020
lib/libc/glibc/sysdeps/unix/mips/mips64/n32/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Alexandre Oliva <aoliva@redhat.com>.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/unix/mips/sysdep.h>
2020
lib/libc/glibc/sysdeps/unix/mips/mips64/n64/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Alexandre Oliva <aoliva@redhat.com>.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/unix/mips/sysdep.h>
2020
lib/libc/glibc/sysdeps/unix/mips/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Brendan Kehoe (brendan@zen.org).
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sgidefs.h>
2020#include <sysdeps/unix/sysdep.h>
lib/libc/glibc/sysdeps/unix/powerpc/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#include <sysdeps/unix/sysdep.h>
1919#include <bits/wordsize.h>
lib/libc/glibc/sysdeps/unix/sh/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#include <sysdeps/unix/sysdep.h>
1919#include <sysdeps/sh/sysdep.h>
lib/libc/glibc/sysdeps/unix/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#include <sysdeps/generic/sysdep.h>
1919#include <single-thread.h>
lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/kernel-features.h+2-2
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number. AArch64 version.
3 Copyright (C) 2018-2019 Free Software Foundation, Inc.
3 Copyright (C) 2018-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#include_next <kernel-features.h>
2121
lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sys/elf.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _SYS_ELF_H
2020#define _SYS_ELF_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sysdep.h+12-8
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,14 +14,11 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_AARCH64_SYSDEP_H
2020#define _LINUX_AARCH64_SYSDEP_H 1
2121
22/* Always enable vsyscalls on aarch64 */
23#define ALWAYS_USE_VSYSCALL 1
24
2522#include <sysdeps/unix/sysdep.h>
2623#include <sysdeps/aarch64/sysdep.h>
2724#include <sysdeps/unix/sysv/linux/generic/sysdep.h>
......@@ -154,11 +151,18 @@
154151
155152#else /* not __ASSEMBLER__ */
156153
154# ifdef __LP64__
155# define VDSO_NAME "LINUX_2.6.39"
156# define VDSO_HASH 123718537
157# else
158# define VDSO_NAME "LINUX_4.9"
159# define VDSO_HASH 61765625
160# endif
157161
158162/* List of system calls which are supported as vsyscalls. */
159# define HAVE_CLOCK_GETRES_VSYSCALL 1
160# define HAVE_CLOCK_GETTIME_VSYSCALL 1
161# define HAVE_GETTIMEOFDAY_VSYSCALL 1
163# define HAVE_CLOCK_GETRES64_VSYSCALL "__kernel_clock_getres"
164# define HAVE_CLOCK_GETTIME64_VSYSCALL "__kernel_clock_gettime"
165# define HAVE_GETTIMEOFDAY_VSYSCALL "__kernel_gettimeofday"
162166
163167/* Previously AArch64 used the generic version without the libc_hidden_def
164168 which lead in a non existent __send symbol in libc.so. */
lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h+5-2
......@@ -1,5 +1,5 @@
11/* bits/typesizes.h -- underlying types for *_t. Linux/Alpha version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_H
2020# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
......@@ -69,6 +69,9 @@
6969/* And for __rlim_t and __rlim64_t. */
7070#define __RLIM_T_MATCHES_RLIM64_T 1
7171
72/* Not for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
73# define __STATFS_MATCHES_STATFS64 0
74
7275/* Number of descriptors that can fit in an `fd_set'. */
7376#define __FD_SETSIZE 1024
7477
lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/kernel-features.h+5-7
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number.
3 Copyright (C) 2010-2019 Free Software Foundation, Inc.
3 Copyright (C) 2010-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _KERNEL_FEATURES_H
2121#define _KERNEL_FEATURES_H 1
......@@ -28,11 +28,6 @@
2828# define __ASSUME_STATFS64 0
2929#endif
3030
31/* Alpha used to define SysV ipc shmat syscall with a different name. */
32#ifndef __NR_shmat
33# define __NR_shmat __NR_osf_shmat
34#endif
35
3631#define __ASSUME_RECV_SYSCALL 1
3732#define __ASSUME_SEND_SYSCALL 1
3833
......@@ -52,4 +47,7 @@
5247# undef __ASSUME_STATX
5348#endif
5449
50/* Alpha requires old sysvipc even being a 64-bit architecture. */
51#undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
52
5553#endif /* _KERNEL_FEATURES_H */
lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/sysdep.h+2-37
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_ALPHA_SYSDEP_H
2020#define _LINUX_ALPHA_SYSDEP_H 1
......@@ -37,41 +37,6 @@
3737#undef SYS_ify
3838#define SYS_ify(syscall_name) __NR_##syscall_name
3939
40/* Define some aliases to make automatic syscall generation work
41 properly. The SYS_* variants are for the benefit of the files in
42 sysdeps/unix. */
43#define __NR_getpid __NR_getxpid
44#define __NR_getuid __NR_getxuid
45#define __NR_getgid __NR_getxgid
46#define SYS_getpid __NR_getxpid
47#define SYS_getuid __NR_getxuid
48#define SYS_getgid __NR_getxgid
49
50/*
51 * Some syscalls no Linux program should know about:
52 */
53#define __NR_osf_sigprocmask 48
54#ifndef __NR_osf_shmat
55# define __NR_osf_shmat 209
56#endif
57#define __NR_osf_getsysinfo 256
58#define __NR_osf_setsysinfo 257
59
60/* Help old kernel headers where particular syscalls are not available. */
61#ifndef __NR_semtimedop
62# define __NR_semtimedop 423
63#endif
64
65/* This is a kludge to make syscalls.list find these under the names
66 pread and pwrite, since some kernel headers define those names
67 and some define the *64 names for the same system calls. */
68#if !defined __NR_pread && defined __NR_pread64
69# define __NR_pread __NR_pread64
70#endif
71#if !defined __NR_pwrite && defined __NR_pwrite64
72# define __NR_pwrite __NR_pwrite64
73#endif
74
7540#define SINGLE_THREAD_BY_GLOBAL 1
7641
7742#endif /* _LINUX_ALPHA_SYSDEP_H */
lib/libc/glibc/sysdeps/unix/sysv/linux/arm/kernel-features.h+9-2
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number.
3 Copyright (C) 2006-2019 Free Software Foundation, Inc.
3 Copyright (C) 2006-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,8 +15,9 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
20#include <endian.h>
2021#include_next <kernel-features.h>
2122
2223/* The ARM kernel before 3.14.3 may or may not support
......@@ -49,3 +50,9 @@
4950
5051#undef __ASSUME_CLONE_DEFAULT
5152#define __ASSUME_CLONE_BACKWARDS 1
53
54#if __BYTE_ORDER == __BIG_ENDIAN
55# define __ASSUME_SYSVIPC_BROKEN_MODE_T
56#endif
57
58#undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sys/elf.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _SYS_ELF_H
1919#define _SYS_ELF_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sysdep.h+8-11
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
44 ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997.
......@@ -15,14 +15,11 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _LINUX_ARM_SYSDEP_H
2121#define _LINUX_ARM_SYSDEP_H 1
2222
23/* Always enable vsyscalls on arm */
24#define ALWAYS_USE_VSYSCALL 1
25
2623/* There is some commonality. */
2724#include <sysdeps/unix/sysv/linux/sysdep.h>
2825#include <sysdeps/unix/arm/sysdep.h>
......@@ -380,10 +377,6 @@ __local_syscall_error: \
380377#define INTERNAL_SYSCALL(name, err, nr, args...) \
381378 INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
382379
383#undef INTERNAL_SYSCALL_ARM
384#define INTERNAL_SYSCALL_ARM(name, err, nr, args...) \
385 INTERNAL_SYSCALL_RAW(__ARM_NR_##name, err, nr, args)
386
387380#undef INTERNAL_SYSCALL_ERROR_P
388381#define INTERNAL_SYSCALL_ERROR_P(val, err) \
389382 ((unsigned int) (val) >= 0xfffff001u)
......@@ -391,9 +384,13 @@ __local_syscall_error: \
391384#undef INTERNAL_SYSCALL_ERRNO
392385#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
393386
387#define VDSO_NAME "LINUX_2.6"
388#define VDSO_HASH 61765110
389
394390/* List of system calls which are supported as vsyscalls. */
395#define HAVE_CLOCK_GETTIME_VSYSCALL 1
396#define HAVE_GETTIMEOFDAY_VSYSCALL 1
391#define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime"
392#define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime64"
393#define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
397394
398395#define LOAD_ARGS_0()
399396#define ASM_ARGS_0
lib/libc/glibc/sysdeps/unix/sysv/linux/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/bits/timex.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _BITS_TIMEX_H
1919#define _BITS_TIMEX_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. Linux version.
2 Copyright (C) 2005-2019 Free Software Foundation, Inc.
2 Copyright (C) 2005-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/unix/sysv/linux/generic/bits/stat.h+7-4
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2011-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2011-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#if !defined _SYS_STAT_H && !defined _FCNTL_H
2020# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
......@@ -23,7 +23,7 @@
2323#ifndef _BITS_STAT_H
2424#define _BITS_STAT_H 1
2525
26#include <endian.h>
26#include <bits/endian.h>
2727#include <bits/wordsize.h>
2828
2929/* 64-bit libc uses the kernel's 'struct stat', accessed via the
......@@ -42,7 +42,10 @@
4242
4343#if defined __USE_FILE_OFFSET64
4444# define __field64(type, type64, name) type64 name
45#elif __WORDSIZE == 64
45#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T
46# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T
47# error "ino_t and off_t must both be the same type"
48# endif
4649# define __field64(type, type64, name) type name
4750#elif __BYTE_ORDER == __LITTLE_ENDIAN
4851# define __field64(type, type64, name) \
lib/libc/glibc/sysdeps/unix/sysv/linux/generic/bits/typesizes.h+7-3
......@@ -1,5 +1,5 @@
11/* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
2 Copyright (C) 2011-2019 Free Software Foundation, Inc.
2 Copyright (C) 2011-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
55
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _BITS_TYPES_H
2121# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
......@@ -73,10 +73,14 @@
7373
7474/* And for __rlim_t and __rlim64_t. */
7575# define __RLIM_T_MATCHES_RLIM64_T 1
76
77/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
78# define __STATFS_MATCHES_STATFS64 1
7679#else
7780# define __RLIM_T_MATCHES_RLIM64_T 0
78#endif
7981
82# define __STATFS_MATCHES_STATFS64 0
83#endif
8084/* Number of descriptors that can fit in an `fd_set'. */
8185#define __FD_SETSIZE 1024
8286
lib/libc/glibc/sysdeps/unix/sysv/linux/generic/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2011-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2011-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <bits/wordsize.h>
2020#include <kernel-features.h>
lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/kernel-features.h+2-2
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number.
3 Copyright (C) 2006-2019 Free Software Foundation, Inc.
3 Copyright (C) 2006-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020
2121/* Support for the utimes syscall was added in 3.14. */
lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for PA-RISC.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.
2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44 Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999.
55 Linux/PA-RISC changes by Philipp Rumpf, <prumpf@tux.org>, March 2000.
......@@ -16,7 +16,7 @@
1616
1717 You should have received a copy of the GNU Lesser General Public
1818 License along with the GNU C Library. If not, see
19 <http://www.gnu.org/licenses/>. */
19 <https://www.gnu.org/licenses/>. */
2020
2121#ifndef _LINUX_HPPA_SYSDEP_H
2222#define _LINUX_HPPA_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/i386/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. i386 version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_I386_DL_SYSDEP_H
2020
lib/libc/glibc/sysdeps/unix/sysv/linux/i386/kernel-features.h+7-4
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number. i386 version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020/* Direct socketcalls available with kernel 4.3. */
2121#if __LINUX_KERNEL_VERSION >= 0x040300
......@@ -43,8 +43,11 @@
4343# undef __ASSUME_SENDTO_SYSCALL
4444#endif
4545
46/* i686 only supports ipc syscall. */
47#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
46/* i686 only supports ipc syscall before 5.1. */
47#if __LINUX_KERNEL_VERSION < 0x050100
48# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
49# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
50#endif
4851
4952#undef __ASSUME_CLONE_DEFAULT
5053#define __ASSUME_CLONE_BACKWARDS 1
lib/libc/glibc/sysdeps/unix/sysv/linux/i386/sysdep.h+10-7
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Ulrich Drepper, <drepper@gnu.org>, August 1995.
44
......@@ -14,14 +14,11 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_I386_SYSDEP_H
2020#define _LINUX_I386_SYSDEP_H 1
2121
22/* Always enable vsyscalls on i386 */
23#define ALWAYS_USE_VSYSCALL 1
24
2522/* There is some commonality. */
2623#include <sysdeps/unix/sysv/linux/sysdep.h>
2724#include <sysdeps/unix/i386/sysdep.h>
......@@ -312,9 +309,15 @@ struct libc_do_syscall_args
312309#define INLINE_SYSCALL_ERROR_RETURN_VALUE(resultvar) \
313310 __syscall_error (-(resultvar))
314311
312# define VDSO_NAME "LINUX_2.6"
313# define VDSO_HASH 61765110
314
315315/* List of system calls which are supported as vsyscalls. */
316# define HAVE_CLOCK_GETTIME_VSYSCALL 1
317# define HAVE_GETTIMEOFDAY_VSYSCALL 1
316# define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime"
317# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime64"
318# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
319# define HAVE_TIME_VSYSCALL "__vdso_time"
320# define HAVE_CLOCK_GETRES_VSYSCALL "__vdso_clock_getres"
318321
319322/* Define a macro which expands inline into the wrapper code for a system
320323 call. This use is for internal calls that do not need to handle errors
lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/bits/endian.h deleted-7
......@@ -1,7 +0,0 @@
1/* Linux/ia64 is little-endian. */
2
3#ifndef _ENDIAN_H
4# error "Never use <bits/endian.h> directly; include <endian.h> instead."
5#endif
6
7#define __BYTE_ORDER __LITTLE_ENDIAN
lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* System-specific settings for dynamic linker code. IA-64 version.
2 Copyright (C) 2003-2019 Free Software Foundation, Inc.
2 Copyright (C) 2003-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_IA64_DL_SYSDEP_H
2020#define _LINUX_IA64_DL_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/kernel-features.h+2-2
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number.
3 Copyright (C) 2010-2019 Free Software Foundation, Inc.
3 Copyright (C) 2010-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _KERNEL_FEATURES_H
2121#define _KERNEL_FEATURES_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/sysdep.h+5-14
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
44 Based on code originally written by David Mosberger-Tang
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _LINUX_IA64_SYSDEP_H
2121#define _LINUX_IA64_SYSDEP_H 1
......@@ -25,6 +25,7 @@
2525#include <sysdeps/ia64/sysdep.h>
2626#include <dl-sysdep.h>
2727#include <tls.h>
28#include <asm/break.h>
2829
2930/* In order to get __set_errno() definition in INLINE_SYSCALL. */
3031#ifndef __ASSEMBLER__
......@@ -45,16 +46,6 @@
4546#undef SYS_ify
4647#define SYS_ify(syscall_name) __NR_##syscall_name
4748
48/* This is a kludge to make syscalls.list find these under the names
49 pread and pwrite, since some kernel headers define those names
50 and some define the *64 names for the same system calls. */
51#if !defined __NR_pread && defined __NR_pread64
52# define __NR_pread __NR_pread64
53#endif
54#if !defined __NR_pwrite && defined __NR_pwrite64
55# define __NR_pwrite __NR_pwrite64
56#endif
57
5849/* This is to help the old kernel headers where __NR_semtimedop is not
5950 available. */
6051#ifndef __NR_semtimedop
......@@ -115,7 +106,7 @@
115106
116107#define DO_CALL_VIA_BREAK(num) \
117108 mov r15=num; \
118 break __BREAK_SYSCALL
109 break __IA64_BREAK_SYSCALL
119110
120111#ifdef IA64_USE_NEW_STUB
121112# ifdef SHARED
......@@ -229,7 +220,7 @@
229220 register long _r15 asm ("r15") = name; \
230221 long _retval; \
231222 LOAD_REGS_##nr \
232 __asm __volatile (BREAK_INSN (__BREAK_SYSCALL) \
223 __asm __volatile (BREAK_INSN (__IA64_BREAK_SYSCALL) \
233224 : "=r" (_r8), "=r" (_r10), "=r" (_r15) \
234225 ASM_OUTARGS_##nr \
235226 : "2" (_r15) ASM_ARGS_##nr \
lib/libc/glibc/sysdeps/unix/sysv/linux/include/bits/syscall.h deleted-3
......@@ -1,3 +0,0 @@
1/* The real bits/syscall.h is generated during the build, in
2 $(objdir)/misc/bits. */
3#include <misc/bits/syscall.h>
lib/libc/glibc/sysdeps/unix/sysv/linux/include/sys/timex.h+2-2
......@@ -1,5 +1,5 @@
11/* Internal declarations for sys/timex.h.
2 Copyright (C) 2014-2019 Free Software Foundation, Inc.
2 Copyright (C) 2014-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _INCLUDE_SYS_TIMEX_H
2020#define _INCLUDE_SYS_TIMEX_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/kernel-features.h+78-2
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,11 +15,16 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020/* This file must not contain any C code. At least it must be protected
2121 to allow using the file also in assembler files. */
2222
23#ifndef _LINUX_KERNEL_FEATURES_H
24#define _LINUX_KERNEL_FEATURES_H 1
25
26#include <bits/wordsize.h>
27
2328#ifndef __LINUX_KERNEL_VERSION
2429/* We assume the worst; all kernels should be supported. */
2530# define __LINUX_KERNEL_VERSION 0
......@@ -80,6 +85,17 @@
8085/* Support for SysV IPC through wired syscalls. All supported architectures
8186 either support ipc syscall and/or all the ipc correspondent syscalls. */
8287#define __ASSUME_DIRECT_SYSVIPC_SYSCALLS 1
88/* The generic default __IPC_64 value is 0x0, however some architectures
89 require a different value of 0x100. */
90#define __ASSUME_SYSVIPC_DEFAULT_IPC_64 1
91
92/* All supported architectures reserve a 32-bit for MODE field in sysvipc
93 ipc_perm. However, some kernel ABI interfaces still expect a 16-bit
94 field. This is only an issue if arch-defined IPC_PERM padding is on a
95 wrong position regarding endianness. In this case, the IPC control
96 routines (msgctl, semctl, and semtctl) requires to shift the value to
97 correct place.
98 The ABIs that requires it define __ASSUME_SYSVIPC_BROKEN_MODE_T. */
8399
84100/* Support for p{read,write}v2 was added in 4.6. However Linux default
85101 implementation does not assume the __ASSUME_* and instead use a fallback
......@@ -139,3 +155,63 @@
139155 */
140156
141157#define __ASSUME_CLONE_DEFAULT 1
158
159/* Support for 64-bit time_t in the system call interface. When this
160 flag is set, the kernel provides a version of each of these system
161 calls that accepts 64-bit time_t:
162
163 clock_adjtime(64)
164 clock_gettime(64)
165 clock_settime(64)
166 clock_getres(_time64)
167 clock_nanosleep(_time64)
168 futex(_time64)
169 mq_timedreceive(_time64)
170 mq_timedsend(_time64)
171 ppoll(_time64)
172 pselect6(_time64)
173 rt_sigtimedwait(_time64)
174 sched_rr_get_interval(_time64)
175 timer_gettime(64)
176 timer_settime(64)
177 timerfd_gettime(64)
178 timerfd_settime(64)
179 utimensat(_time64)
180
181 On architectures where time_t has historically been 64 bits,
182 only the 64-bit version of each system call exists, and there
183 are no suffixes on the __NR_ constants.
184
185 On architectures where time_t has historically been 32 bits,
186 both 32-bit and 64-bit versions of each system call may exist,
187 depending on the kernel version. When the 64-bit version exists,
188 there is a '64' or '_time64' suffix on the name of its __NR_
189 constant, as shown above.
190
191 This flag is always set for Linux 5.1 and later. Prior to that
192 version, it is set only for some CPU architectures and ABIs:
193
194 - __WORDSIZE == 64 - all supported architectures where pointers
195 are 64 bits also have always had 64-bit time_t.
196
197 - __WORDSIZE == 32 && __SYSCALL_WORDSIZE == 64 - this describes
198 only one supported configuration, x86's 'x32' subarchitecture,
199 where pointers are 32 bits but time_t has always been 64 bits.
200
201 __ASSUME_TIME64_SYSCALLS being set does not mean __TIMESIZE is 64,
202 and __TIMESIZE equal to 64 does not mean __ASSUME_TIME64_SYSCALLS
203 is set. All four cases are possible. */
204
205#if __LINUX_KERNEL_VERSION >= 0x050100 \
206 || __WORDSIZE == 64 \
207 || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64)
208# define __ASSUME_TIME64_SYSCALLS 1
209#endif
210
211/* Linux waitid prior kernel 5.4 does not support waiting for the current
212 process group. */
213#if __LINUX_KERNEL_VERSION >= 0x050400
214# define __ASSUME_WAITID_PID0_P_PGID
215#endif
216
217#endif /* kernel-features.h */
lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2010-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2010-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _LINUX_M68K_COLDFIRE_SYSDEP_H
1919#define _LINUX_M68K_COLDFIRE_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/kernel-features.h+8-4
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number.
3 Copyright (C) 2008-2019 Free Software Foundation, Inc.
3 Copyright (C) 2008-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020/* Direct socketcalls available with kernel 4.3. */
2121#if __LINUX_KERNEL_VERSION >= 0x040300
......@@ -50,5 +50,9 @@
5050# undef __ASSUME_SET_ROBUST_LIST
5151#endif
5252
53/* m68k only supports ipc syscall. */
54#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
53/* m68k only supports ipc syscall before 5.1. */
54#if __LINUX_KERNEL_VERSION < 0x050100
55# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
56# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
57#endif
58#define __ASSUME_SYSVIPC_BROKEN_MODE_T
lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2010-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2010-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _LINUX_M68K_M680X0_SYSDEP_H
1919#define _LINUX_M68K_M680X0_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Written by Andreas Schwab, <schwab@issan.informatik.uni-dortmund.de>,
44 December 1995.
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#include <sysdeps/unix/sysv/linux/sysdep.h>
2121#include <tls.h>
lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#if !defined _SYS_STAT_H && !defined _FCNTL_H
2020# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel-features.h+8-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2011-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2011-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,8 +13,9 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
18#include <endian.h>
1819
1920/* All supported kernel versions for MicroBlaze have these syscalls. */
2021#define __ASSUME_SOCKET_SYSCALL 1
......@@ -67,3 +68,8 @@
6768
6869#undef __ASSUME_CLONE_DEFAULT
6970#define __ASSUME_CLONE_BACKWARDS3
71
72#if __BYTE_ORDER == __BIG_ENDIAN
73# define __ASSUME_SYSVIPC_BROKEN_MODE_T
74#endif
75#undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22
33 This file is part of the GNU C Library.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_MICROBLAZE_SYSDEP_H
2020#define _LINUX_MICROBLAZE_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/mips/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/mips/kernel-features.h+10-4
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#include <sgidefs.h>
2121
......@@ -31,8 +31,12 @@
3131 pairs to start with an even-number register. */
3232#if _MIPS_SIM == _ABIO32
3333# define __ASSUME_ALIGNED_REGISTER_PAIRS 1
34/* mips32 only supports ipc syscall. */
35# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
34/* mips32 only supports ipc syscall before 5.1. */
35# if __LINUX_KERNEL_VERSION < 0x050100
36# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
37# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
38# else
39# endif
3640
3741/* The o32 MIPS fadvise64 syscall behaves as fadvise64_64. */
3842# define __ASSUME_FADVISE64_AS_64_64 1
......@@ -40,6 +44,8 @@
4044/* mips32 support wire-up network syscalls. */
4145# define __ASSUME_RECV_SYSCALL 1
4246# define __ASSUME_SEND_SYSCALL 1
47#else
48# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
4349#endif
4450
4551/* Define that mips64-n32 is a ILP32 ABI to set the correct interface to
lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h+10-23
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,15 +13,13 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _LINUX_MIPS_MIPS32_SYSDEP_H
1919#define _LINUX_MIPS_MIPS32_SYSDEP_H 1
2020
21/* Always enable vsyscalls on mips32. */
22#define ALWAYS_USE_VSYSCALL 1
23
2421/* There is some commonality. */
22#include <sysdeps/unix/sysv/linux/mips/sysdep.h>
2523#include <sysdeps/unix/sysv/linux/sysdep.h>
2624#include <sysdeps/unix/mips/mips32/sysdep.h>
2725
......@@ -348,24 +346,13 @@ libc_hidden_proto (__mips_syscall7, nomips16)
348346 _sc_ret.reg.v0; \
349347})
350348
351#define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
352 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
353
354/* Standard MIPS syscalls have an error flag, and return a positive errno
355 when the error flag is set. Emulate this behaviour for vsyscalls so that
356 the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */
357#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
358 ({ \
359 long _ret = funcptr (args); \
360 err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \
361 if (err) \
362 _ret = -_ret; \
363 _ret; \
364 })
365
366/* List of system calls which are supported as vsyscalls. */
367#define HAVE_CLOCK_GETTIME_VSYSCALL 1
368#define HAVE_GETTIMEOFDAY_VSYSCALL 1
349#if __mips_isa_rev >= 6
350# define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
351 "$14", "$15", "$24", "$25", "memory"
352#else
353# define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
354 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
355#endif
369356
370357#endif /* __ASSEMBLER__ */
371358
lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h+10-23
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,15 +13,13 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _LINUX_MIPS_SYSDEP_H
1919#define _LINUX_MIPS_SYSDEP_H 1
2020
21/* Always enable vsyscalls on n32. */
22#define ALWAYS_USE_VSYSCALL 1
23
2421/* There is some commonality. */
22#include <sysdeps/unix/sysv/linux/mips/sysdep.h>
2523#include <sysdeps/unix/sysv/linux/sysdep.h>
2624#include <sysdeps/unix/mips/mips64/n32/sysdep.h>
2725
......@@ -296,24 +294,13 @@
296294 _sys_result; \
297295})
298296
299#define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
300 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
301
302/* Standard MIPS syscalls have an error flag, and return a positive errno
303 when the error flag is set. Emulate this behaviour for vsyscalls so that
304 the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */
305#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
306 ({ \
307 long _ret = funcptr (args); \
308 err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \
309 if (err) \
310 _ret = -_ret; \
311 _ret; \
312 })
313
314/* List of system calls which are supported as vsyscalls. */
315#define HAVE_CLOCK_GETTIME_VSYSCALL 1
316#define HAVE_GETTIMEOFDAY_VSYSCALL 1
297#if __mips_isa_rev >= 6
298# define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
299 "$14", "$15", "$24", "$25", "memory"
300#else
301# define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
302 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
303#endif
317304
318305#endif /* __ASSEMBLER__ */
319306
lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h+10-23
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,15 +13,13 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _LINUX_MIPS_SYSDEP_H
1919#define _LINUX_MIPS_SYSDEP_H 1
2020
21/* Always enable vsyscalls on n64. */
22#define ALWAYS_USE_VSYSCALL 1
23
2421/* There is some commonality. */
22#include <sysdeps/unix/sysv/linux/mips/sysdep.h>
2523#include <sysdeps/unix/sysv/linux/sysdep.h>
2624#include <sysdeps/unix/mips/mips64/n64/sysdep.h>
2725
......@@ -292,24 +290,13 @@
292290 _sys_result; \
293291})
294292
295#define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
296 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
297
298/* Standard MIPS syscalls have an error flag, and return a positive errno
299 when the error flag is set. Emulate this behaviour for vsyscalls so that
300 the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */
301#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
302 ({ \
303 long _ret = funcptr (args); \
304 err = ((unsigned long) (_ret) >= (unsigned long) -4095L); \
305 if (err) \
306 _ret = -_ret; \
307 _ret; \
308 })
309
310/* List of system calls which are supported as vsyscalls. */
311#define HAVE_CLOCK_GETTIME_VSYSCALL 1
312#define HAVE_GETTIMEOFDAY_VSYSCALL 1
293#if __mips_isa_rev >= 6
294# define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
295 "$14", "$15", "$24", "$25", "memory"
296#else
297# define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
298 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
299#endif
313300
314301#endif /* __ASSEMBLER__ */
315302
lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/kernel-features.h+7-4
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number. PowerPC version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020/* New syscalls added for PowerPC in 2.6.37. */
2121#define __ASSUME_SOCKET_SYSCALL 1
......@@ -44,8 +44,11 @@
4444
4545#include_next <kernel-features.h>
4646
47/* powerpc only supports ipc syscall. */
48#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
47/* powerpc only supports ipc syscall before 5.1. */
48#if __LINUX_KERNEL_VERSION < 0x050100
49# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
50# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
51#endif
4952
5053#undef __ASSUME_CLONE_DEFAULT
5154#define __ASSUME_CLONE_BACKWARDS 1
lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h+5-27
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,14 +13,12 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _LINUX_POWERPC_SYSDEP_H
1919#define _LINUX_POWERPC_SYSDEP_H 1
2020
21/* Always enable vsyscalls on powerpc32 */
22#define ALWAYS_USE_VSYSCALL 1
23
21#include <sysdeps/unix/sysv/linux/powerpc/sysdep.h>
2422#include <sysdeps/unix/sysv/linux/sysdep.h>
2523#include <sysdeps/unix/powerpc/sysdep.h>
2624#include <tls.h>
......@@ -43,7 +41,7 @@
4341 function call, with the exception of LR (which is needed for the
4442 "sc; bnslr+" sequence) and CR (where only CR0.SO is clobbered to signal
4543 an error return status). */
46# define INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, nr, type, args...) \
44# define INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, type, nr, args...) \
4745 ({ \
4846 register void *r0 __asm__ ("r0"); \
4947 register long int r3 __asm__ ("r3"); \
......@@ -71,7 +69,7 @@
7169 })
7270
7371#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
74 INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, nr, long int, args)
72 INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, long int, nr, args)
7573
7674# undef INLINE_SYSCALL
7775# define INLINE_SYSCALL(name, nr, args...) \
......@@ -133,26 +131,6 @@
133131# undef INTERNAL_SYSCALL_ERRNO
134132# define INTERNAL_SYSCALL_ERRNO(val, err) (val)
135133
136# define INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK(name, err, type, nr, args...) \
137 ({ \
138 type sc_ret = ENOSYS; \
139 \
140 __typeof (__vdso_##name) vdsop = __vdso_##name; \
141 PTR_DEMANGLE (vdsop); \
142 if (vdsop != NULL) \
143 sc_ret = \
144 INTERNAL_VSYSCALL_CALL_TYPE (vdsop, err, nr, type, ##args); \
145 else \
146 err = 1 << 28; \
147 sc_ret; \
148 })
149
150/* List of system calls which are supported as vsyscalls. */
151# define HAVE_CLOCK_GETRES_VSYSCALL 1
152# define HAVE_CLOCK_GETTIME_VSYSCALL 1
153# define HAVE_GETCPU_VSYSCALL 1
154
155
156134# define LOADARGS_0(name, dummy) \
157135 r0 = name
158136# define LOADARGS_1(name, __arg1) \
lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h+4-28
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,16 +13,14 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818/* Alan Modra <amodra@bigpond.net.au> rewrote the INLINE_SYSCALL macro */
1919
2020#ifndef _LINUX_POWERPC_SYSDEP_H
2121#define _LINUX_POWERPC_SYSDEP_H 1
2222
23/* Always enable vsyscalls on powerpc64 */
24#define ALWAYS_USE_VSYSCALL 1
25
23#include <sysdeps/unix/sysv/linux/powerpc/sysdep.h>
2624#include <sysdeps/unix/sysv/linux/sysdep.h>
2725#include <sysdeps/unix/powerpc/sysdep.h>
2826#include <tls.h>
......@@ -47,27 +45,6 @@
4745
4846#endif /* __ASSEMBLER__ */
4947
50/* This version is for internal uses when there is no desire
51 to set errno */
52#define INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK(name, err, type, nr, args...) \
53 ({ \
54 type sc_ret = ENOSYS; \
55 \
56 __typeof (__vdso_##name) vdsop = __vdso_##name; \
57 PTR_DEMANGLE (vdsop); \
58 if (vdsop != NULL) \
59 sc_ret = \
60 INTERNAL_VSYSCALL_CALL_TYPE (vdsop, err, type, nr, ##args); \
61 else \
62 err = 1 << 28; \
63 sc_ret; \
64 })
65
66/* List of system calls which are supported as vsyscalls. */
67#define HAVE_CLOCK_GETRES_VSYSCALL 1
68#define HAVE_CLOCK_GETTIME_VSYSCALL 1
69#define HAVE_GETCPU_VSYSCALL 1
70
7148/* Define a macro which expands inline into the wrapper code for a system
7249 call. This use is for internal calls that do not need to handle errors
7350 normally. It will never touch errno. This returns just what the kernel
......@@ -101,10 +78,9 @@
10178#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
10279 INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, long int, nr, args)
10380
104#undef INLINE_SYSCALL
105
10681/* This version is for kernels that implement system calls that
10782 behave like function calls as far as register saving. */
83#undef INLINE_SYSCALL
10884#define INLINE_SYSCALL(name, nr, args...) \
10985 ({ \
11086 INTERNAL_SYSCALL_DECL (sc_err); \
lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/kernel-features.h+2-2
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number. RISC-V version.
3 Copyright (C) 2018-2019 Free Software Foundation, Inc.
3 Copyright (C) 2018-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#include_next <kernel-features.h>
2121
lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/sysdep.h+8-5
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_RISCV_SYSDEP_H
2020#define _LINUX_RISCV_SYSDEP_H 1
......@@ -121,11 +121,14 @@
121121
122122#ifndef __ASSEMBLER__
123123
124# define VDSO_NAME "LINUX_4.15"
125# define VDSO_HASH 182943605
126
124127/* List of system calls which are supported as vsyscalls. */
125# define HAVE_CLOCK_GETRES_VSYSCALL 1
126# define HAVE_CLOCK_GETTIME_VSYSCALL 1
127# define HAVE_GETTIMEOFDAY_VSYSCALL 1
128# define HAVE_GETCPU_VSYSCALL 1
128# define HAVE_CLOCK_GETRES64_VSYSCALL "__vdso_clock_getres"
129# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime"
130# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
131# define HAVE_GETCPU_VSYSCALL "__vdso_getcpu"
129132
130133/* Define a macro which expands into the inline wrapper code for a system
131134 call. */
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h+7-2
......@@ -1,5 +1,5 @@
11/* bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
2 Copyright (C) 2003-2019 Free Software Foundation, Inc.
2 Copyright (C) 2003-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_H
2020# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
......@@ -78,8 +78,13 @@
7878
7979/* And for __rlim_t and __rlim64_t. */
8080# define __RLIM_T_MATCHES_RLIM64_T 1
81
82/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
83# define __STATFS_MATCHES_STATFS64 1
8184#else
8285# define __RLIM_T_MATCHES_RLIM64_T 0
86
87# define __STATFS_MATCHES_STATFS64 0
8388#endif
8489
8590/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/kernel-features.h+10-4
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number. S/390 version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020/* Direct socketcalls available with kernel 4.3. */
2121#if __LINUX_KERNEL_VERSION >= 0x040300
......@@ -45,8 +45,14 @@
4545# undef __ASSUME_SENDTO_SYSCALL
4646#endif
4747
48/* s390 only supports ipc syscall. */
49#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
48/* s390 only supports ipc syscall before 5.1. */
49#if __LINUX_KERNEL_VERSION < 0x050100
50# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
51# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
52#endif
53#ifndef __s390x__
54# define __ASSUME_SYSVIPC_BROKEN_MODE_T
55#endif
5056
5157#undef __ASSUME_CLONE_DEFAULT
5258#define __ASSUME_CLONE_BACKWARDS2
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h+3-8
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
33 This file is part of the GNU C Library.
44
......@@ -14,13 +14,14 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_S390_SYSDEP_H
2020#define _LINUX_S390_SYSDEP_H
2121
2222#include <sysdeps/s390/s390-32/sysdep.h>
2323#include <sysdeps/unix/sysdep.h>
24#include <sysdeps/unix/sysv/linux/s390/sysdep.h>
2425#include <sysdeps/unix/sysv/linux/sysdep.h>
2526#include <dl-sysdep.h> /* For RTLD_PRIVATE_ERRNO. */
2627#include <tls.h>
......@@ -271,12 +272,6 @@
271272#define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)
272273#define ASMFMT_6 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6), "d" (gpr7)
273274
274/* List of system calls which are supported as vsyscalls. */
275#define HAVE_CLOCK_GETRES_VSYSCALL 1
276#define HAVE_CLOCK_GETTIME_VSYSCALL 1
277#define HAVE_GETTIMEOFDAY_VSYSCALL 1
278#define HAVE_GETCPU_VSYSCALL 1
279
280275/* Pointer mangling support. */
281276#if IS_IN (rtld)
282277/* We cannot use the thread descriptor because in ld.so we use setjmp
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h+3-8
......@@ -1,5 +1,5 @@
11/* Assembler macros for 64 bit S/390.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
44 This file is part of the GNU C Library.
55
......@@ -15,13 +15,14 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _LINUX_S390_SYSDEP_H
2121#define _LINUX_S390_SYSDEP_H
2222
2323#include <sysdeps/s390/s390-64/sysdep.h>
2424#include <sysdeps/unix/sysdep.h>
25#include <sysdeps/unix/sysv/linux/s390/sysdep.h>
2526#include <sysdeps/unix/sysv/linux/sysdep.h>
2627#include <dl-sysdep.h> /* For RTLD_PRIVATE_ERRNO. */
2728#include <tls.h>
......@@ -277,12 +278,6 @@
277278#define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)
278279#define ASMFMT_6 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6), "d" (gpr7)
279280
280/* List of system calls which are supported as vsyscalls. */
281#define HAVE_CLOCK_GETRES_VSYSCALL 1
282#define HAVE_CLOCK_GETTIME_VSYSCALL 1
283#define HAVE_GETTIMEOFDAY_VSYSCALL 1
284#define HAVE_GETCPU_VSYSCALL 1
285
286281#define SINGLE_THREAD_BY_GLOBAL 1
287282
288283/* Pointer mangling support. */
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sys/elf.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _SYS_ELF_H
1919#define _SYS_ELF_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/sh/kernel-features.h+12-4
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number. SH version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,11 +15,13 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef __KERNEL_FEATURES_SH__
2121# define __KERNEL_FEATURES_SH__
2222
23#include <endian.h>
24
2325/* These syscalls were added for SH in 2.6.37. */
2426#define __ASSUME_SOCKET_SYSCALL 1
2527#define __ASSUME_BIND_SYSCALL 1
......@@ -41,8 +43,14 @@
4143 before the offset. */
4244#define __ASSUME_PRW_DUMMY_ARG 1
4345
44/* sh only supports ipc syscall. */
45#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
46/* sh only supports ipc syscall before 5.1. */
47#if __LINUX_KERNEL_VERSION < 0x050100
48# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
49# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
50#endif
51#if __BYTE_ORDER == __BIG_ENDIAN
52# define __ASSUME_SYSVIPC_BROKEN_MODE_T
53#endif
4654
4755/* Support for several syscalls was added in 4.8. */
4856#if __LINUX_KERNEL_VERSION < 0x040800
lib/libc/glibc/sysdeps/unix/sysv/linux/sh/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
44 Changed by Kaz Kojima, <kkojima@rr.iij4u.or.jp>.
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#ifndef _LINUX_SH_SYSDEP_H
2121#define _LINUX_SH_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/single-thread.h+2-2
......@@ -1,5 +1,5 @@
11/* Single thread optimization, Linux version.
2 Copyright (C) 2019 Free Software Foundation, Inc.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _SINGLE_THREAD_H
2020#define _SINGLE_THREAD_H
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h+7-2
......@@ -1,5 +1,5 @@
11/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_H
2020# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
......@@ -72,8 +72,13 @@
7272
7373/* And for __rlim_t and __rlim64_t. */
7474# define __RLIM_T_MATCHES_RLIM64_T 1
75
76/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
77# define __STATFS_MATCHES_STATFS64 1
7578#else
7679# define __RLIM_T_MATCHES_RLIM64_T 0
80
81# define __STATFS_MATCHES_STATFS64 0
7782#endif
7883
7984/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/kernel-features.h+9-4
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number. SPARC version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020#include_next <kernel-features.h>
2121
......@@ -58,8 +58,13 @@
5858# undef __NR_pause
5959#endif
6060
61/* sparc only supports ipc syscall. */
62#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
61/* sparc only supports ipc syscall before 5.1. */
62#if __LINUX_KERNEL_VERSION < 0x050100
63# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
64# if !defined __arch64__
65# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
66# endif
67#endif
6368
6469/* Support for the renameat2 syscall was added in 3.16. */
6570#if __LINUX_KERNEL_VERSION < 0x031000
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, January 1997.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_SPARC32_SYSDEP_H
2020#define _LINUX_SPARC32_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h+2-12
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_SPARC64_SYSDEP_H
2020#define _LINUX_SPARC64_SYSDEP_H 1
......@@ -29,16 +29,6 @@
2929#undef SYS_ify
3030#define SYS_ify(syscall_name) __NR_##syscall_name
3131
32/* This is a kludge to make syscalls.list find these under the names
33 pread and pwrite, since some kernel headers define those names
34 and some define the *64 names for the same system calls. */
35#if !defined __NR_pread && defined __NR_pread64
36# define __NR_pread __NR_pread64
37#endif
38#if !defined __NR_pwrite && defined __NR_pwrite64
39# define __NR_pwrite __NR_pwrite64
40#endif
41
4232#ifdef __ASSEMBLER__
4333
4434#define LOADSYSCALL(x) mov __NR_##x, %g1
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sysdep.h+11-4
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33 Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
44
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _LINUX_SPARC_SYSDEP_H
2020#define _LINUX_SPARC_SYSDEP_H 1
......@@ -41,9 +41,16 @@
4141 _ret; \
4242 })
4343
44# define VDSO_NAME "LINUX_2.6"
45# define VDSO_HASH 61765110
46
4447/* List of system calls which are supported as vsyscalls. */
45# define HAVE_CLOCK_GETTIME_VSYSCALL 1
46# define HAVE_GETTIMEOFDAY_VSYSCALL 1
48# ifdef __arch64__
49# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime"
50# else
51# define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime"
52# endif
53# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
4754
4855#undef INLINE_SYSCALL
4956#define INLINE_SYSCALL(name, nr, args...) \
lib/libc/glibc/sysdeps/unix/sysv/linux/sys/syscall.h+6-9
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _SYSCALL_H
1919#define _SYSCALL_H 1
......@@ -23,12 +23,9 @@
2323 from the kernel sources. */
2424#include <asm/unistd.h>
2525
26#ifndef _LIBC
27/* The Linux kernel header file defines macros `__NR_<name>', but some
28 programs expect the traditional form `SYS_<name>'. So in building libc
29 we scan the kernel's list and produce <bits/syscall.h> with macros for
30 all the `SYS_' names. */
31# include <bits/syscall.h>
32#endif
26/* The Linux kernel header file defines macros __NR_*, but some
27 programs expect the traditional form SYS_*. <bits/syscall.h>
28 defines SYS_* macros for __NR_* macros of known names. */
29#include <bits/syscall.h>
3330
3431#endif
lib/libc/glibc/sysdeps/unix/sysv/linux/sys/timex.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _SYS_TIMEX_H
1919#define _SYS_TIMEX_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/sysdep.h+2-9
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2015-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2015-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,18 +13,11 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#include <bits/wordsize.h>
1919#include <kernel-features.h>
2020
21/* By default only shared builds use vdso. */
22#ifndef ALWAYS_USE_VSYSCALL
23#define ALWAYS_USE_VSYSCALL 0
24#endif
25
26#define USE_VSYSCALL (defined (SHARED) || ALWAYS_USE_VSYSCALL)
27
2821/* Set error number and return -1. A target may choose to return the
2922 internal function, __syscall_error, which sets errno and returns -1.
3023 We use -1l, instead of -1, so that it can be casted to (void *). */
lib/libc/glibc/sysdeps/unix/sysv/linux/x86/bits/stat.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#if !defined _SYS_STAT_H && !defined _FCNTL_H
1919# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
lib/libc/glibc/sysdeps/unix/sysv/linux/x86/bits/typesizes.h+7-2
......@@ -1,5 +1,5 @@
11/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _BITS_TYPES_H
2020# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
......@@ -84,8 +84,13 @@
8484
8585/* And for __rlim_t and __rlim64_t. */
8686# define __RLIM_T_MATCHES_RLIM64_T 1
87
88/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
89# define __STATFS_MATCHES_STATFS64 1
8790#else
8891# define __RLIM_T_MATCHES_RLIM64_T 0
92
93# define __STATFS_MATCHES_STATFS64 0
8994#endif
9095
9196/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/glibc/sysdeps/unix/sysv/linux/x86/sys/elf.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1998-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1998-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _SYS_ELF_H
1919#define _SYS_ELF_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/kernel-features.h+2-2
......@@ -1,6 +1,6 @@
11/* Set flags signalling availability of kernel features based on given
22 kernel version number. x86-64 version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
44 This file is part of the GNU C Library.
55
66 The GNU C Library is free software; you can redistribute it and/or
......@@ -15,7 +15,7 @@
1515
1616 You should have received a copy of the GNU Lesser General Public
1717 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
18 <https://www.gnu.org/licenses/>. */
1919
2020/* Define that x32 is a ILP32 ABI to set the correct interface to pass
2121 64-bits values through syscalls. */
lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/sysdep.h+10-18
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2001-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2001-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,14 +13,11 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _LINUX_X86_64_SYSDEP_H
1919#define _LINUX_X86_64_SYSDEP_H 1
2020
21/* Always enable vsyscalls on x86_64 */
22#define ALWAYS_USE_VSYSCALL 1
23
2421/* There is some commonality. */
2522#include <sysdeps/unix/sysv/linux/sysdep.h>
2623#include <sysdeps/unix/x86_64/sysdep.h>
......@@ -36,16 +33,6 @@
3633#undef SYS_ify
3734#define SYS_ify(syscall_name) __NR_##syscall_name
3835
39/* This is a kludge to make syscalls.list find these under the names
40 pread and pwrite, since some kernel headers define those names
41 and some define the *64 names for the same system calls. */
42#if !defined __NR_pread && defined __NR_pread64
43# define __NR_pread __NR_pread64
44#endif
45#if !defined __NR_pwrite && defined __NR_pwrite64
46# define __NR_pwrite __NR_pwrite64
47#endif
48
4936/* This is to help the old kernel headers where __NR_semtimedop is not
5037 available. */
5138#ifndef __NR_semtimedop
......@@ -373,10 +360,15 @@
373360# undef INTERNAL_SYSCALL_ERRNO
374361# define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
375362
363# define VDSO_NAME "LINUX_2.6"
364# define VDSO_HASH 61765110
365
376366/* List of system calls which are supported as vsyscalls. */
377# define HAVE_CLOCK_GETTIME_VSYSCALL 1
378# define HAVE_GETTIMEOFDAY_VSYSCALL 1
379# define HAVE_GETCPU_VSYSCALL 1
367# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime"
368# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
369# define HAVE_TIME_VSYSCALL "__vdso_time"
370# define HAVE_GETCPU_VSYSCALL "__vdso_getcpu"
371# define HAVE_CLOCK_GETRES64_VSYSCALL "__vdso_clock_getres"
380372
381373# define SINGLE_THREAD_BY_GLOBAL 1
382374
lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2012-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _LINUX_X32_SYSDEP_H
1919#define _LINUX_X32_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/x86_64/sysdep.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#include <sysdeps/unix/sysdep.h>
1919#include <sysdeps/x86_64/sysdep.h>
lib/libc/glibc/sysdeps/wordsize-32/divdi3-symbol-hacks.h+2-2
......@@ -1,5 +1,5 @@
11/* Hacks needed for divdi3 symbol manipulation.
2 Copyright (C) 2004-2019 Free Software Foundation, Inc.
2 Copyright (C) 2004-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919/* A very dirty trick: gcc emits references to __divdi3, __udivdi3,
2020 __moddi3, and __umoddi3. These functions are exported and
lib/libc/glibc/sysdeps/x86/bits/endian.h deleted-7
......@@ -1,7 +0,0 @@
1/* i386/x86_64 are little-endian. */
2
3#ifndef _ENDIAN_H
4# error "Never use <bits/endian.h> directly; include <endian.h> instead."
5#endif
6
7#define __BYTE_ORDER __LITTLE_ENDIAN
lib/libc/glibc/sysdeps/x86/bits/endianness.h created+11
......@@ -0,0 +1,11 @@
1#ifndef _BITS_ENDIANNESS_H
2#define _BITS_ENDIANNESS_H 1
3
4#ifndef _BITS_ENDIAN_H
5# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
6#endif
7
8/* i386/x86_64 are little-endian. */
9#define __BYTE_ORDER __LITTLE_ENDIAN
10
11#endif /* bits/endianness.h */
lib/libc/glibc/sysdeps/x86/bits/select.h+2-2
......@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.
1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _SYS_SELECT_H
1919# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
lib/libc/glibc/sysdeps/x86/nptl/bits/pthreadtypes-arch.h+2-53
......@@ -1,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.
1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
22 This file is part of the GNU C Library.
33
44 The GNU C Library is free software; you can redistribute it and/or
......@@ -13,7 +13,7 @@
1313
1414 You should have received a copy of the GNU Lesser General Public
1515 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
16 <https://www.gnu.org/licenses/>. */
1717
1818#ifndef _BITS_PTHREADTYPES_ARCH_H
1919#define _BITS_PTHREADTYPES_ARCH_H 1
......@@ -24,20 +24,17 @@
2424# if __WORDSIZE == 64
2525# define __SIZEOF_PTHREAD_MUTEX_T 40
2626# define __SIZEOF_PTHREAD_ATTR_T 56
27# define __SIZEOF_PTHREAD_MUTEX_T 40
2827# define __SIZEOF_PTHREAD_RWLOCK_T 56
2928# define __SIZEOF_PTHREAD_BARRIER_T 32
3029# else
3130# define __SIZEOF_PTHREAD_MUTEX_T 32
3231# define __SIZEOF_PTHREAD_ATTR_T 32
33# define __SIZEOF_PTHREAD_MUTEX_T 32
3432# define __SIZEOF_PTHREAD_RWLOCK_T 44
3533# define __SIZEOF_PTHREAD_BARRIER_T 20
3634# endif
3735#else
3836# define __SIZEOF_PTHREAD_MUTEX_T 24
3937# define __SIZEOF_PTHREAD_ATTR_T 36
40# define __SIZEOF_PTHREAD_MUTEX_T 24
4138# define __SIZEOF_PTHREAD_RWLOCK_T 32
4239# define __SIZEOF_PTHREAD_BARRIER_T 20
4340#endif
......@@ -47,57 +44,9 @@
4744#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
4845#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
4946
50/* Definitions for internal mutex struct. */
51#define __PTHREAD_COMPAT_PADDING_MID
52#define __PTHREAD_COMPAT_PADDING_END
53#define __PTHREAD_MUTEX_LOCK_ELISION 1
54#ifdef __x86_64__
55# define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 0
56# define __PTHREAD_MUTEX_USE_UNION 0
57#else
58# define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 1
59# define __PTHREAD_MUTEX_USE_UNION 1
60#endif
61
6247#define __LOCK_ALIGNMENT
6348#define __ONCE_ALIGNMENT
6449
65struct __pthread_rwlock_arch_t
66{
67 unsigned int __readers;
68 unsigned int __writers;
69 unsigned int __wrphase_futex;
70 unsigned int __writers_futex;
71 unsigned int __pad3;
72 unsigned int __pad4;
73#ifdef __x86_64__
74 int __cur_writer;
75 int __shared;
76 signed char __rwelision;
77# ifdef __ILP32__
78 unsigned char __pad1[3];
79# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
80# else
81 unsigned char __pad1[7];
82# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
83# endif
84 unsigned long int __pad2;
85 /* FLAGS must stay at this position in the structure to maintain
86 binary compatibility. */
87 unsigned int __flags;
88# define __PTHREAD_RWLOCK_INT_FLAGS_SHARED 1
89#else
90 /* FLAGS must stay at this position in the structure to maintain
91 binary compatibility. */
92 unsigned char __flags;
93 unsigned char __shared;
94 signed char __rwelision;
95# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
96 unsigned char __pad2;
97 int __cur_writer;
98#endif
99};
100
10150#ifndef __x86_64__
10251/* Extra attributes for the cleanup functions. */
10352# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
lib/libc/glibc/sysdeps/x86/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for x86.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.
2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _X86_SYSDEP_H
2020#define _X86_SYSDEP_H 1
lib/libc/glibc/sysdeps/x86_64/crti.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for x86-64.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crti.S puts a function prologue at the beginning of the .init and
3737 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/x86_64/crtn.S+2-2
......@@ -1,5 +1,5 @@
11/* Special .init and .fini section support for x86-64.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -31,7 +31,7 @@
3131
3232 You should have received a copy of the GNU Lesser General Public
3333 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */
34 <https://www.gnu.org/licenses/>. */
3535
3636/* crtn.S puts function epilogues in the .init and .fini sections
3737 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/x86_64/start.S+2-2
......@@ -1,5 +1,5 @@
11/* Startup code compliant to the ELF x86-64 ABI.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44 Contributed by Andreas Jaeger <aj@suse.de>, 2001.
55
......@@ -32,7 +32,7 @@
3232
3333 You should have received a copy of the GNU Lesser General Public
3434 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */
35 <https://www.gnu.org/licenses/>. */
3636
3737/* This is the canonical entry point, usually the first thing in the text
3838 segment. The SVR4/i386 ABI (pages 3-31, 3-32) says that when the entry
lib/libc/glibc/sysdeps/x86_64/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for x86-64.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.
2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#ifndef _X86_64_SYSDEP_H
2020#define _X86_64_SYSDEP_H 1
lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h+2-2
......@@ -1,5 +1,5 @@
11/* Assembler macros for x32.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
44
55 The GNU C Library is free software; you can redistribute it and/or
......@@ -14,7 +14,7 @@
1414
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
17 <https://www.gnu.org/licenses/>. */
1818
1919#include <sysdeps/x86_64/sysdep.h>
2020
lib/libc/glibc/time/bits/types/struct_timespec.h+13
......@@ -3,13 +3,26 @@
33#define _STRUCT_TIMESPEC 1
44
55#include <bits/types.h>
6#include <bits/endian.h>
67
78/* POSIX.1b structure for a time value. This is like a `struct timeval' but
89 has nanoseconds instead of microseconds. */
910struct timespec
1011{
1112 __time_t tv_sec; /* Seconds. */
13#if __WORDSIZE == 64 \
14 || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \
15 || __TIMESIZE == 32
1216 __syscall_slong_t tv_nsec; /* Nanoseconds. */
17#else
18# if __BYTE_ORDER == __BIG_ENDIAN
19 int: 32; /* Padding. */
20 long int tv_nsec; /* Nanoseconds. */
21# else
22 long int tv_nsec; /* Nanoseconds. */
23 int: 32; /* Padding. */
24# endif
25#endif
1326};
1427
1528#endif