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...@@ -246,7 +246,7 @@ Collected from libdes and modified for SECURE RPC by Martin Kuck 1994
246This file is distributed under the terms of the GNU Lesser General246This file is distributed under the terms of the GNU Lesser General
247Public License, version 2.1 or later - see the file COPYING.LIB for details.247Public License, version 2.1 or later - see the file COPYING.LIB for details.
248If you did not receive a copy of the license with this program, please248If 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.
250 250
251The file inet/rcmd.c is under a UCB copyright and the following:251The 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>...@@ -388,4 +388,4 @@ Copyright 2001 by Stephen L. Moshier <moshier@na-net.ornl.gov>
388388
389 You should have received a copy of the GNU Lesser General Public389 You should have received a copy of the GNU Lesser General Public
390 License along with this library; if not, see390 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 @@...@@ -1,5 +1,5 @@
1/* Macros and inline functions to swap the order of bytes in integer values.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H19#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
20# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."20# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
lib/libc/glibc/bits/floatn-common.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Macros to control TS 18661-3 glibc features where the same1/* Macros to control TS 18661-3 glibc features where the same
2 definitions are appropriate for all platforms.2 definitions are appropriate for all platforms.
3 Copyright (C) 2017-2019 Free Software Foundation, Inc.3 Copyright (C) 2017-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _BITS_FLOATN_COMMON_H20#ifndef _BITS_FLOATN_COMMON_H
21#define _BITS_FLOATN_COMMON_H21#define _BITS_FLOATN_COMMON_H
lib/libc/glibc/bits/libc-header-start.h+20-4
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Handle feature test macros at the start of a header.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* This header is internal to glibc and should not be included outside19/* This header is internal to glibc and should not be included outside
20 of glibc headers. Headers including it must define20 of glibc headers. Headers including it must define
...@@ -43,22 +43,38 @@...@@ -43,22 +43,38 @@
43#endif43#endif
4444
45/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__45/* 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. */
47#undef __GLIBC_USE_IEC_60559_BFP_EXT49#undef __GLIBC_USE_IEC_60559_BFP_EXT
48#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__50#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__
49# define __GLIBC_USE_IEC_60559_BFP_EXT 151# define __GLIBC_USE_IEC_60559_BFP_EXT 1
50#else52#else
51# define __GLIBC_USE_IEC_60559_BFP_EXT 053# define __GLIBC_USE_IEC_60559_BFP_EXT 0
52#endif54#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
54/* ISO/IEC TS 18661-4:2015 defines the62/* 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. */
56#undef __GLIBC_USE_IEC_60559_FUNCS_EXT66#undef __GLIBC_USE_IEC_60559_FUNCS_EXT
57#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__67#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__
58# define __GLIBC_USE_IEC_60559_FUNCS_EXT 168# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1
59#else69#else
60# define __GLIBC_USE_IEC_60559_FUNCS_EXT 070# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
61#endif71#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
63/* ISO/IEC TS 18661-3:2015 defines the79/* ISO/IEC TS 18661-3:2015 defines the
64 __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */80 __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */
lib/libc/glibc/bits/long-double.h+3-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type.1/* Properties of long double type.
2 Copyright (C) 2016-2019 Free Software Foundation, Inc.2 Copyright (C) 2016-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* This header is included by <sys/cdefs.h>.19/* This header is included by <sys/cdefs.h>.
2020
...@@ -37,3 +37,4 @@...@@ -37,3 +37,4 @@
37#ifndef __NO_LONG_DOUBLE_MATH37#ifndef __NO_LONG_DOUBLE_MATH
38# define __NO_LONG_DOUBLE_MATH 138# define __NO_LONG_DOUBLE_MATH 1
39#endif39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
lib/libc/glibc/bits/select.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _SYS_SELECT_H18#ifndef _SYS_SELECT_H
19# error "Never use <bits/select.h> directly; include <sys/select.h> instead."19# 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 @@...@@ -1,5 +1,5 @@
1/* Signal number constants. Generic template.1/* Signal number constants. Generic template.
2 Copyright (C) 1991-2019 Free Software Foundation, Inc.2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_SIGNUM_GENERIC_H19#ifndef _BITS_SIGNUM_GENERIC_H
20#define _BITS_SIGNUM_GENERIC_H 120#define _BITS_SIGNUM_GENERIC_H 1
lib/libc/glibc/bits/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,5 +1,5 @@
1/* Define intN_t types.1/* Define intN_t types.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_STDINT_INTN_H19#ifndef _BITS_STDINT_INTN_H
20#define _BITS_STDINT_INTN_H 120#define _BITS_STDINT_INTN_H 1
lib/libc/glibc/bits/stdlib-bsearch.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Perform binary search - inline version.1/* Perform binary search - inline version.
2 Copyright (C) 1991-2019 Free Software Foundation, Inc.2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19__extern_inline void *19__extern_inline void *
20bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,20bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
lib/libc/glibc/bits/time64.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/time64.h -- underlying types for __time64_t. Generic version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_H19#ifndef _BITS_TYPES_H
20# error "Never include <bits/time64.h> directly; use <sys/types.h> instead."20# error "Never include <bits/time64.h> directly; use <sys/types.h> instead."
lib/libc/glibc/bits/timesize.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit size of the time_t type at glibc build time, general case.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <bits/wordsize.h>19#include <bits/wordsize.h>
2020
lib/libc/glibc/bits/types/struct_sched_param.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Sched parameter structure. Generic version.1/* Sched parameter structure. Generic version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_STRUCT_SCHED_PARAM19#ifndef _BITS_TYPES_STRUCT_SCHED_PARAM
20#define _BITS_TYPES_STRUCT_SCHED_PARAM 120#define _BITS_TYPES_STRUCT_SCHED_PARAM 1
lib/libc/glibc/bits/typesizes.h+7-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/typesizes.h -- underlying types for *_t. Generic version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_H19#ifndef _BITS_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
...@@ -72,8 +72,13 @@...@@ -72,8 +72,13 @@
7272
73/* And for rlim_t and rlim64_t. */73/* And for rlim_t and rlim64_t. */
74# define __RLIM_T_MATCHES_RLIM64_T 174# 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
75#else78#else
76# define __RLIM_T_MATCHES_RLIM64_T 079# define __RLIM_T_MATCHES_RLIM64_T 0
80
81# define __STATFS_MATCHES_STATFS64 0
77#endif82#endif
7883
79/* Number of descriptors that can fit in an `fd_set'. */84/* Number of descriptors that can fit in an `fd_set'. */
lib/libc/glibc/bits/uintn-identity.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Inline functions to return unsigned integer values unchanged.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#if !defined _NETINET_IN_H && !defined _ENDIAN_H19#if !defined _NETINET_IN_H && !defined _ENDIAN_H
20# error "Never use <bits/uintn-identity.h> directly; include <netinet/in.h> or <endian.h> instead."20# 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 @@...@@ -1,5 +1,5 @@
1/* Definitions of flag bits for `waitpid' et al.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#if !defined _SYS_WAIT_H && !defined _STDLIB_H19#if !defined _SYS_WAIT_H && !defined _STDLIB_H
20# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."20# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
lib/libc/glibc/bits/waitstatus.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions of status bits for `wait' et al.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#if !defined _SYS_WAIT_H && !defined _STDLIB_H19#if !defined _SYS_WAIT_H && !defined _STDLIB_H
20# error "Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead."20# 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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support.1/* Special .init and .fini section support.
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -23,7 +23,7 @@...@@ -23,7 +23,7 @@
2323
24 You should have received a copy of the GNU Lesser General Public24 You should have received a copy of the GNU Lesser General Public
25 License along with the GNU C Library; if not, see25 License along with the GNU C Library; if not, see
26 <http://www.gnu.org/licenses/>. */26 <https://www.gnu.org/licenses/>. */
2727
28/* Define an ELF note identifying the operating-system ABI that the28/* Define an ELF note identifying the operating-system ABI that the
29 executable was created for. The ELF note information identifies a29 executable was created for. The ELF note information identifies a
lib/libc/glibc/csu/elf-init.c+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup support for ELF initializers/finalizers in the main executable.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36#include <stddef.h>36#include <stddef.h>
3737
lib/libc/glibc/debug/stack_chk_fail_local.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/cdefs.h>35#include <sys/cdefs.h>
3636
lib/libc/glibc/elf/elf.h+6-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* This file defines standard ELF types, structures, and macros.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _ELF_H19#ifndef _ELF_H
20#define _ELF_H 120#define _ELF_H 1
...@@ -1715,6 +1715,7 @@ typedef struct...@@ -1715,6 +1715,7 @@ typedef struct
1715#define SHT_MIPS_EH_REGION 0x700000271715#define SHT_MIPS_EH_REGION 0x70000027
1716#define SHT_MIPS_XLATE_OLD 0x700000281716#define SHT_MIPS_XLATE_OLD 0x70000028
1717#define SHT_MIPS_PDR_EXCEPTION 0x700000291717#define SHT_MIPS_PDR_EXCEPTION 0x70000029
1718#define SHT_MIPS_XHASH 0x7000002b
17181719
1719/* Legal values for sh_flags field of Elf32_Shdr. */1720/* Legal values for sh_flags field of Elf32_Shdr. */
17201721
...@@ -1962,7 +1963,9 @@ typedef struct...@@ -1962,7 +1963,9 @@ typedef struct
1962 in a PIE as it stores a relative offset from the address of the tag1963 in a PIE as it stores a relative offset from the address of the tag
1963 rather than an absolute address. */1964 rather than an absolute address. */
1964#define DT_MIPS_RLD_MAP_REL 0x700000351965#define DT_MIPS_RLD_MAP_REL 0x70000035
1965#define DT_MIPS_NUM 0x361966/* GNU-style hash table with xlat. */
1967#define DT_MIPS_XHASH 0x70000036
1968#define DT_MIPS_NUM 0x37
19661969
1967/* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */1970/* 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,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _FEATURES_H18#ifndef _FEATURES_H
19#define _FEATURES_H 119#define _FEATURES_H 1
...@@ -24,6 +24,7 @@...@@ -24,6 +24,7 @@
24 __STRICT_ANSI__ ISO Standard C.24 __STRICT_ANSI__ ISO Standard C.
25 _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.25 _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
26 _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.26 _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
27 _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
27 __STDC_WANT_LIB_EXT2__28 __STDC_WANT_LIB_EXT2__
28 Extensions to ISO C99 from TR 27431-2:2010.29 Extensions to ISO C99 from TR 27431-2:2010.
29 __STDC_WANT_IEC_60559_BFP_EXT__30 __STDC_WANT_IEC_60559_BFP_EXT__
...@@ -139,6 +140,7 @@...@@ -139,6 +140,7 @@
139#undef __USE_GNU140#undef __USE_GNU
140#undef __USE_FORTIFY_LEVEL141#undef __USE_FORTIFY_LEVEL
141#undef __KERNEL_STRICT_NAMES142#undef __KERNEL_STRICT_NAMES
143#undef __GLIBC_USE_ISOC2X
142#undef __GLIBC_USE_DEPRECATED_GETS144#undef __GLIBC_USE_DEPRECATED_GETS
143#undef __GLIBC_USE_DEPRECATED_SCANF145#undef __GLIBC_USE_DEPRECATED_SCANF
144146
...@@ -195,6 +197,8 @@...@@ -195,6 +197,8 @@
195# define _ISOC99_SOURCE 1197# define _ISOC99_SOURCE 1
196# undef _ISOC11_SOURCE198# undef _ISOC11_SOURCE
197# define _ISOC11_SOURCE 1199# define _ISOC11_SOURCE 1
200# undef _ISOC2X_SOURCE
201# define _ISOC2X_SOURCE 1
198# undef _POSIX_SOURCE202# undef _POSIX_SOURCE
199# define _POSIX_SOURCE 1203# define _POSIX_SOURCE 1
200# undef _POSIX_C_SOURCE204# undef _POSIX_C_SOURCE
...@@ -216,26 +220,37 @@...@@ -216,26 +220,37 @@
216#if (defined _DEFAULT_SOURCE \220#if (defined _DEFAULT_SOURCE \
217 || (!defined __STRICT_ANSI__ \221 || (!defined __STRICT_ANSI__ \
218 && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \222 && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \
223 && !defined _ISOC2X_SOURCE \
219 && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \224 && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \
220 && !defined _XOPEN_SOURCE))225 && !defined _XOPEN_SOURCE))
221# undef _DEFAULT_SOURCE226# undef _DEFAULT_SOURCE
222# define _DEFAULT_SOURCE 1227# define _DEFAULT_SOURCE 1
223#endif228#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
225/* This is to enable the ISO C11 extension. */238/* This is to enable the ISO C11 extension. */
226#if (defined _ISOC11_SOURCE \239#if (defined _ISOC11_SOURCE || defined _ISOC2X_SOURCE \
227 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))240 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))
228# define __USE_ISOC11 1241# define __USE_ISOC11 1
229#endif242#endif
230243
231/* This is to enable the ISO C99 extension. */244/* 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 \
233 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))247 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
234# define __USE_ISOC99 1248# define __USE_ISOC99 1
235#endif249#endif
236250
237/* This is to enable the ISO C90 Amendment 1:1995 extension. */251/* 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 \
239 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))254 || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))
240# define __USE_ISOC95 1255# define __USE_ISOC95 1
241#endif256#endif
...@@ -439,7 +454,7 @@...@@ -439,7 +454,7 @@
439/* Major and minor version number of the GNU C library package. Use454/* Major and minor version number of the GNU C library package. Use
440 these macros to test for features in specific releases. */455 these macros to test for features in specific releases. */
441#define __GLIBC__ 2456#define __GLIBC__ 2
442#define __GLIBC_MINOR__ 30457#define __GLIBC_MINOR__ 31
443458
444#define __GLIBC_PREREQ(maj, min) \459#define __GLIBC_PREREQ(maj, min) \
445 ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))460 ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
lib/libc/glibc/include/libc-pointer-arith.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Helper macros for pointer arithmetic.1/* Helper macros for pointer arithmetic.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LIBC_POINTER_ARITH_H19#ifndef _LIBC_POINTER_ARITH_H
20#define _LIBC_POINTER_ARITH_H 120#define _LIBC_POINTER_ARITH_H 1
lib/libc/glibc/include/libc-symbols.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Support macros for making weak and strong aliases for symbols,1/* Support macros for making weak and strong aliases for symbols,
2 and for using symbol sets and linker warnings with GNU ld.2 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.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _LIBC_SYMBOLS_H20#ifndef _LIBC_SYMBOLS_H
21#define _LIBC_SYMBOLS_H 121#define _LIBC_SYMBOLS_H 1
lib/libc/glibc/include/stap-probe.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros for defining Systemtap <sys/sdt.h> static probe points.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _STAP_PROBE_H19#ifndef _STAP_PROBE_H
20#define _STAP_PROBE_H 120#define _STAP_PROBE_H 1
lib/libc/glibc/include/stdc-predef.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _STDC_PREDEF_H18#ifndef _STDC_PREDEF_H
19#define _STDC_PREDEF_H 119#define _STDC_PREDEF_H 1
lib/libc/glibc/include/stdlib.h+3
...@@ -202,9 +202,12 @@ libc_hidden_proto (____strtoll_l_internal)...@@ -202,9 +202,12 @@ libc_hidden_proto (____strtoll_l_internal)
202libc_hidden_proto (____strtoul_l_internal)202libc_hidden_proto (____strtoul_l_internal)
203libc_hidden_proto (____strtoull_l_internal)203libc_hidden_proto (____strtoull_l_internal)
204204
205#include <bits/floatn.h>
205libc_hidden_proto (strtof)206libc_hidden_proto (strtof)
206libc_hidden_proto (strtod)207libc_hidden_proto (strtod)
208#if __LONG_DOUBLE_USES_FLOAT128 == 0
207libc_hidden_proto (strtold)209libc_hidden_proto (strtold)
210#endif
208libc_hidden_proto (strtol)211libc_hidden_proto (strtol)
209libc_hidden_proto (strtoll)212libc_hidden_proto (strtoll)
210libc_hidden_proto (strtoul)213libc_hidden_proto (strtoul)
lib/libc/glibc/io/bits/statx.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* statx-related definitions and declarations. Generic version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* This interface is based on <linux/stat.h> in Linux. */19/* This interface is based on <linux/stat.h> in Linux. */
2020
lib/libc/glibc/io/fstat.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/stat.h>35#include <sys/stat.h>
3636
lib/libc/glibc/io/fstat64.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/stat.h>35#include <sys/stat.h>
3636
lib/libc/glibc/io/fstatat.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/stat.h>35#include <sys/stat.h>
3636
lib/libc/glibc/io/fstatat64.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/stat.h>35#include <sys/stat.h>
3636
lib/libc/glibc/io/lstat.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/stat.h>35#include <sys/stat.h>
3636
lib/libc/glibc/io/lstat64.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/stat.h>35#include <sys/stat.h>
3636
lib/libc/glibc/io/mknod.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
3535
36#include <sys/types.h>36#include <sys/types.h>
lib/libc/glibc/io/mknodat.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
3535
36#include <sys/types.h>36#include <sys/types.h>
lib/libc/glibc/io/stat.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/stat.h>35#include <sys/stat.h>
3636
lib/libc/glibc/io/stat64.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35#include <sys/stat.h>35#include <sys/stat.h>
3636
lib/libc/glibc/io/sys/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18/*18/*
19 * POSIX Standard: 5.6 File Characteristics <sys/stat.h>19 * POSIX Standard: 5.6 File Characteristics <sys/stat.h>
lib/libc/glibc/locale/bits/types/__locale_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of struct __locale_struct and __locale_t.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
4 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.4 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
55
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _BITS_TYPES___LOCALE_T_H20#ifndef _BITS_TYPES___LOCALE_T_H
21#define _BITS_TYPES___LOCALE_T_H 121#define _BITS_TYPES___LOCALE_T_H 1
lib/libc/glibc/locale/bits/types/locale_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of locale_t.1/* Definition of locale_t.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_LOCALE_T_H19#ifndef _BITS_TYPES_LOCALE_T_H
20#define _BITS_TYPES_LOCALE_T_H 120#define _BITS_TYPES_LOCALE_T_H 1
lib/libc/glibc/misc/sys/cdefs.h+2-10
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _SYS_CDEFS_H18#ifndef _SYS_CDEFS_H
19#define _SYS_CDEFS_H 119#define _SYS_CDEFS_H 1
...@@ -412,14 +412,6 @@...@@ -412,14 +412,6 @@
412# define __glibc_has_attribute(attr) 0412# define __glibc_has_attribute(attr) 0
413#endif413#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
423#if (!defined _Noreturn \415#if (!defined _Noreturn \
424 && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \416 && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
425 && !__GNUC_PREREQ (4,7))417 && !__GNUC_PREREQ (4,7))
lib/libc/glibc/misc/sys/select.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `fd_set' type and related macros, and `select'/`pselect' declarations.1/* `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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h> */19/* 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,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.3 Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
44
...@@ -31,18 +31,17 @@...@@ -31,18 +31,17 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36extern int __pthread_atfork (void (*prepare) (void), void (*parent) (void),36extern int __pthread_atfork (void (*prepare) (void), void (*parent) (void),
37 void (*child) (void));37 void (*child) (void));
38extern int __register_atfork (void (*__prepare) (void),38extern int __register_atfork (void (*__prepare) (void),
39 void (*__parent) (void),39 void (*__parent) (void),
40 void (*__child) (void),40 void (*__child) (void),
41 void *dso_handle);41 void *dso_handle);
42libc_hidden_proto (__register_atfork)42libc_hidden_proto (__register_atfork)
43extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));43extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));
4444
45
46/* Hide the symbol so that no definition but the one locally in the45/* Hide the symbol so that no definition but the one locally in the
47 executable or DSO is used. */46 executable or DSO is used. */
48int47int
lib/libc/glibc/posix/bits/cpu-set.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Definition of the cpu_set_t structure used by the POSIX 1003.1b-19931/* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993
2 scheduling interface.2 scheduling interface.
3 Copyright (C) 1996-2019 Free Software Foundation, Inc.3 Copyright (C) 1996-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _BITS_CPU_SET_H20#ifndef _BITS_CPU_SET_H
21#define _BITS_CPU_SET_H 121#define _BITS_CPU_SET_H 1
lib/libc/glibc/posix/bits/types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/types.h -- definitions of __*_t types underlying *_t types.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/*19/*
20 * Never include this file directly; use <sys/types.h> instead.20 * Never include this file directly; use <sys/types.h> instead.
lib/libc/glibc/posix/sys/types.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18/*18/*
19 * POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>19 * POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
lib/libc/glibc/signal/signal.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18/*18/*
19 * ISO C99 Standard: 7.14 Signal handling <signal.h>19 * ISO C99 Standard: 7.14 Signal handling <signal.h>
lib/libc/glibc/stdlib/alloca.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _ALLOCA_H18#ifndef _ALLOCA_H
19#define _ALLOCA_H 119#define _ALLOCA_H 1
lib/libc/glibc/stdlib/at_quick_exit.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));35extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));
36extern int __cxa_at_quick_exit (void (*func) (void *), void *d);36extern int __cxa_at_quick_exit (void (*func) (void *), void *d);
lib/libc/glibc/stdlib/atexit.c+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -30,7 +30,7 @@...@@ -30,7 +30,7 @@
3030
31 You should have received a copy of the GNU Lesser General Public31 You should have received a copy of the GNU Lesser General Public
32 License along with the GNU C Library; if not, see32 License along with the GNU C Library; if not, see
33 <http://www.gnu.org/licenses/>. */33 <https://www.gnu.org/licenses/>. */
3434
35extern int __cxa_atexit (void (*func) (void *), void *arg, void *d);35extern int __cxa_atexit (void (*func) (void *), void *arg, void *d);
36libc_hidden_proto (__cxa_atexit);36libc_hidden_proto (__cxa_atexit);
lib/libc/glibc/stdlib/bits/stdlib-float.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Floating-point inline functions for stdlib.h.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _STDLIB_H19#ifndef _STDLIB_H
20# error "Never use <bits/stdlib-float.h> directly; include <stdlib.h> instead."20# 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,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _EXIT_H18#ifndef _EXIT_H
19#define _EXIT_H 119#define _EXIT_H 1
lib/libc/glibc/stdlib/stdlib.h+3-3
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18/*18/*
19 * ISO C99 Standard: 7.20 General utilities <stdlib.h>19 * ISO C99 Standard: 7.20 General utilities <stdlib.h>
...@@ -208,7 +208,7 @@ extern unsigned long long int strtoull (const char *__restrict __nptr,...@@ -208,7 +208,7 @@ extern unsigned long long int strtoull (const char *__restrict __nptr,
208#endif /* ISO C99 or use MISC. */208#endif /* ISO C99 or use MISC. */
209209
210/* Convert a floating-point number to a string. */210/* 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)
212extern int strfromd (char *__dest, size_t __size, const char *__format,212extern int strfromd (char *__dest, size_t __size, const char *__format,
213 double __f)213 double __f)
214 __THROW __nonnull ((3));214 __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,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,48 +13,23 @@...@@ -13,48 +13,23 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _ENDIAN_H18#ifndef _ENDIAN_H
19#define _ENDIAN_H 119#define _ENDIAN_H 1
2020
21#include <features.h>21#include <features.h>
2222
23/* Definitions for byte order, according to significance of bytes,23/* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER. */
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. */
36#include <bits/endian.h>24#include <bits/endian.h>
3725
38/* Some machines may need to use a different endianness for floating point26#ifdef __USE_MISC
39 values. */
40#ifndef __FLOAT_WORD_ORDER
41# define __FLOAT_WORD_ORDER __BYTE_ORDER
42#endif
43
44#ifdef __USE_MISC
45# define LITTLE_ENDIAN __LITTLE_ENDIAN27# define LITTLE_ENDIAN __LITTLE_ENDIAN
46# define BIG_ENDIAN __BIG_ENDIAN28# define BIG_ENDIAN __BIG_ENDIAN
47# define PDP_ENDIAN __PDP_ENDIAN29# define PDP_ENDIAN __PDP_ENDIAN
48# define BYTE_ORDER __BYTE_ORDER30# define BYTE_ORDER __BYTE_ORDER
49#endif31#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
58#if defined __USE_MISC && !defined __ASSEMBLER__33#if defined __USE_MISC && !defined __ASSEMBLER__
59/* Conversion interfaces. */34/* Conversion interfaces. */
60# include <bits/byteswap.h>35# 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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for AArch64.1/* 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
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37/* crti.S puts a function prologue at the beginning of the .init and37/* crti.S puts a function prologue at the beginning of the .init and
38 .fini sections and defines global symbols for those addresses, so38 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/aarch64/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for AArch64.1/* 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
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37/* crtn.S puts function epilogues in the .init and .fini sections37/* crtn.S puts function epilogues in the .init and .fini sections
38 corresponding to the prologues in crti.S. */38 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/aarch64/dl-sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include_next <dl-sysdep.h>19#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h+3-27
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,12 +14,12 @@...@@ -14,12 +14,12 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_PTHREADTYPES_ARCH_H19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 120#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#include <endian.h>22#include <bits/endian.h>
2323
24#ifdef __ILP32__24#ifdef __ILP32__
25# define __SIZEOF_PTHREAD_ATTR_T 3225# define __SIZEOF_PTHREAD_ATTR_T 32
...@@ -41,31 +41,7 @@...@@ -41,31 +41,7 @@
41#define __SIZEOF_PTHREAD_COND_T 4841#define __SIZEOF_PTHREAD_COND_T 48
42#define __SIZEOF_PTHREAD_RWLOCKATTR_T 842#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
51#define __LOCK_ALIGNMENT44#define __LOCK_ALIGNMENT
52#define __ONCE_ALIGNMENT45#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
71#endif /* bits/pthreadtypes.h */47#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/aarch64/start.S+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdep.h>19#include <sysdep.h>
2020
lib/libc/glibc/sysdeps/aarch64/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _AARCH64_SYSDEP_H19#ifndef _AARCH64_SYSDEP_H
20#define _AARCH64_SYSDEP_H20#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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for Alpha.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/alpha/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for Alpha.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/alpha/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. Alpha version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include_next <dl-sysdep.h>19#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/alpha/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code for Alpha/ELF.1/* Startup code for Alpha/ELF.
2 Copyright (C) 1993-2019 Free Software Foundation, Inc.2 Copyright (C) 1993-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
4 Contributed by Richard Henderson <rth@tamu.edu>4 Contributed by Richard Henderson <rth@tamu.edu>
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library. If not, see34 License along with the GNU C Library. If not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37#include <sysdep.h>37#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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for ARM.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/arm/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for ARM.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* Always build .init and .fini sections in ARM mode. */36/* Always build .init and .fini sections in ARM mode. */
37#define NO_THUMB37#define NO_THUMB
lib/libc/glibc/sysdeps/arm/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. Alpha version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include_next <dl-sysdep.h>19#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/arm/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code for ARM & ELF1/* Startup code for ARM & ELF
2 Copyright (C) 1995-2019 Free Software Foundation, Inc.2 Copyright (C) 1995-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* This is the canonical entry point, usually the first thing in the text36/* This is the canonical entry point, usually the first thing in the text
37 segment.37 segment.
lib/libc/glibc/sysdeps/arm/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for ARM.1/* Assembler macros for ARM.
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/generic/sysdep.h>19#include <sysdeps/generic/sysdep.h>
20#include <features.h>20#include <features.h>
lib/libc/glibc/sysdeps/generic/dl-dtprocnum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Configuration of lookup functions.1/* Configuration of lookup functions.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* Number of extra dynamic section entries for this architecture. By19/* Number of extra dynamic section entries for this architecture. By
20 default there are none. */20 default there are none. */
lib/libc/glibc/sysdeps/generic/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. Generic version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* No multiple inclusion protection need here because it's just macros.19/* No multiple inclusion protection need here because it's just macros.
20 We don't want to use _DL_SYSDEP_H in case we are #include_next'd. */20 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 @@...@@ -1,6 +1,6 @@
1/* Declarations and definitions of codes relating to the DWARF2 symbolic1/* Declarations and definitions of codes relating to the DWARF2 symbolic
2 debugging information format.2 debugging information format.
3 Copyright (C) 1992-2019 Free Software Foundation, Inc.3 Copyright (C) 1992-2020 Free Software Foundation, Inc.
4 Contributed by Gary Funck (gary@intrepid.com). Derived from the4 Contributed by Gary Funck (gary@intrepid.com). Derived from the
5 DWARF 1 implementation written by Ron Guilmette (rfg@monkeys.com).5 DWARF 1 implementation written by Ron Guilmette (rfg@monkeys.com).
66
...@@ -18,7 +18,7 @@...@@ -18,7 +18,7 @@
1818
19 You should have received a copy of the GNU Lesser General Public19 You should have received a copy of the GNU Lesser General Public
20 License along with the GNU C Library; if not, see20 License along with the GNU C Library; if not, see
21 <http://www.gnu.org/licenses/>. */21 <https://www.gnu.org/licenses/>. */
2222
23#ifndef _DWARF2_H23#ifndef _DWARF2_H
24#define _DWARF2_H 124#define _DWARF2_H 1
lib/libc/glibc/sysdeps/generic/libc-lock.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* libc-internal interface for mutex locks. Stub version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LIBC_LOCK_H19#ifndef _LIBC_LOCK_H
20#define _LIBC_LOCK_H 120#define _LIBC_LOCK_H 1
lib/libc/glibc/sysdeps/generic/single-thread.h+3-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Single thread optimization, generic version.1/* Single thread optimization, generic version.
2 Copyright (C) 2019 Free Software Foundation, Inc.2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,11 +14,12 @@...@@ -14,11 +14,12 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _SINGLE_THREAD_H19#ifndef _SINGLE_THREAD_H
20#define _SINGLE_THREAD_H20#define _SINGLE_THREAD_H
2121
22#define SINGLE_THREAD_P (0)22#define SINGLE_THREAD_P (0)
23#define RTLD_SINGLE_THREAD_P (0)
2324
24#endif /* _SINGLE_THREAD_H */25#endif /* _SINGLE_THREAD_H */
lib/libc/glibc/sysdeps/generic/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Generic asm macros used on many machines.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef C_LABEL19#ifndef C_LABEL
2020
lib/libc/glibc/sysdeps/generic/tls.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition for thread-local data handling. Generic version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* An architecture-specific version of this file has to defined a19/* An architecture-specific version of this file has to defined a
20 number of symbols:20 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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for HPPA1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/hppa/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for HPPA1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36#include <sysdep.h>36#include <sysdep.h>
3737
lib/libc/glibc/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h+2-47
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _BITS_PTHREADTYPES_ARCH_H18#ifndef _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 119#define _BITS_PTHREADTYPES_ARCH_H 1
...@@ -40,52 +40,7 @@...@@ -40,52 +40,7 @@
40#define __SIZEOF_PTHREAD_RWLOCK_T 6440#define __SIZEOF_PTHREAD_RWLOCK_T 64
41#define __SIZEOF_PTHREAD_RWLOCKATTR_T 841#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
54#define __LOCK_ALIGNMENT __attribute__ ((__aligned__(16)))43#define __LOCK_ALIGNMENT __attribute__ ((__aligned__(16)))
55#define __ONCE_ALIGNMENT44#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
91#endif /* bits/pthreadtypes.h */46#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/hppa/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* ELF startup code for HPPA.1/* ELF startup code for HPPA.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36 .import main, code36 .import main, code
37 .import $global$, data37 .import $global$, data
lib/libc/glibc/sysdeps/hppa/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for HP/PA.1/* Assembler macros for HP/PA.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
4 Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999.4 Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999.
55
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 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 <sysdeps/generic/sysdep.h>20#include <sysdeps/generic/sysdep.h>
2121
lib/libc/glibc/sysdeps/htl/bits/pthread.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Pthread data structures. Generic version.1/* Pthread data structures. Generic version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_PTHREAD_H19#ifndef _BITS_PTHREAD_H
20#define _BITS_PTHREAD_H 120#define _BITS_PTHREAD_H 1
lib/libc/glibc/sysdeps/htl/bits/thread-shared-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Common threading primitives definitions for both POSIX and C11.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _THREAD_SHARED_TYPES_H19#ifndef _THREAD_SHARED_TYPES_H
20#define _THREAD_SHARED_TYPES_H 120#define _THREAD_SHARED_TYPES_H 1
lib/libc/glibc/sysdeps/htl/libc-lockP.h+4-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Private libc-internal interface for mutex locks.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; see the file COPYING.LIB. If16 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
19#ifndef _BITS_LIBC_LOCKP_H19#ifndef _BITS_LIBC_LOCKP_H
20#define _BITS_LIBC_LOCKP_H 120#define _BITS_LIBC_LOCKP_H 1
...@@ -112,6 +112,8 @@ extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);...@@ -112,6 +112,8 @@ extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
112extern int __pthread_key_create (pthread_key_t *__key,112extern int __pthread_key_create (pthread_key_t *__key,
113 void (*__destr_function) (void *));113 void (*__destr_function) (void *));
114114
115extern int __pthread_key_delete (pthread_key_t __key);
116
115extern int __pthread_setspecific (pthread_key_t __key,117extern int __pthread_setspecific (pthread_key_t __key,
116 const void *__pointer);118 const void *__pointer);
117119
lib/libc/glibc/sysdeps/htl/pthread.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Posix threads. Hurd version.1/* Posix threads. Hurd version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/*19/*
20 * POSIX Threads Extension: ??? <pthread.h>20 * POSIX Threads Extension: ??? <pthread.h>
lib/libc/glibc/sysdeps/i386/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for x86.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/i386/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for x86.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/i386/htl/bits/pthreadtypes-arch.h+16-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific pthread type layouts. Hurd i386 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,9 +14,23 @@...@@ -14,9 +14,23 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_PTHREADTYPES_ARCH_H19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 120#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
22#endif /* bits/pthreadtypes.h */36#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/i386/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code compliant to the ELF i386 ABI.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* This is the canonical entry point, usually the first thing in the text36/* This is the canonical entry point, usually the first thing in the text
37 segment. The SVR4/i386 ABI (pages 3-31, 3-32) says that when the entry37 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 @@...@@ -1,5 +1,5 @@
1/* Hacks needed for symbol manipulation. i386 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>19#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
2020
lib/libc/glibc/sysdeps/i386/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for i386.1/* Assembler macros for i386.
2 Copyright (C) 1991-2019 Free Software Foundation, Inc.2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/x86/sysdep.h>19#include <sysdeps/x86/sysdep.h>
2020
lib/libc/glibc/sysdeps/ia64/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for IA64.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/ia64/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for ARM.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36#include <sysdep.h>36#include <sysdep.h>
37#undef ret37#undef ret
lib/libc/glibc/sysdeps/ia64/dl-dtprocnum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Configuration of lookup functions. IA-64 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* Number of extra dynamic section entries for this architecture. By19/* Number of extra dynamic section entries for this architecture. By
20 default there are none. */20 default there are none. */
lib/libc/glibc/sysdeps/ia64/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. IA-64 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include_next <dl-sysdep.h>19#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/ia64/start.S+2-3
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.3 Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
44
...@@ -31,11 +31,10 @@...@@ -31,11 +31,10 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36#include <sysdep.h>36#include <sysdep.h>
3737
38#include <asm/unistd.h>
39#include <asm/fpu.h>38#include <asm/fpu.h>
4039
41/*40/*
lib/libc/glibc/sysdeps/ia64/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by David Mosberger-Tang <davidm@hpl.hp.com>3 Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/generic/sysdep.h>19#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 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for Coldfire.1/* Assembler macros for Coldfire.
2 Copyright (C) 1998-2019 Free Software Foundation, Inc.2 Copyright (C) 1998-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/m68k/sysdep.h>19#include <sysdeps/m68k/sysdep.h>
2020
lib/libc/glibc/sysdeps/m68k/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for m68k.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/m68k/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for m68k.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/m68k/m680x0/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for m680x0.1/* Assembler macros for m680x0.
2 Copyright (C) 2010-2019 Free Software Foundation, Inc.2 Copyright (C) 2010-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/m68k/sysdep.h>19#include <sysdeps/m68k/sysdep.h>
2020
lib/libc/glibc/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h+3-29
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2010-2019 Free Software Foundation, Inc.1/* Copyright (C) 2010-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.3 Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
44
...@@ -14,12 +14,12 @@...@@ -14,12 +14,12 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_PTHREADTYPES_ARCH_H19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 120#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#include <endian.h>22#include <bits/endian.h>
2323
24#define __SIZEOF_PTHREAD_ATTR_T 3624#define __SIZEOF_PTHREAD_ATTR_T 36
25#define __SIZEOF_PTHREAD_MUTEX_T 2425#define __SIZEOF_PTHREAD_MUTEX_T 24
...@@ -31,33 +31,7 @@...@@ -31,33 +31,7 @@
31#define __SIZEOF_PTHREAD_BARRIER_T 2031#define __SIZEOF_PTHREAD_BARRIER_T 20
32#define __SIZEOF_PTHREAD_BARRIERATTR_T 432#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
41#define __LOCK_ALIGNMENT __attribute__ ((__aligned__ (4)))34#define __LOCK_ALIGNMENT __attribute__ ((__aligned__ (4)))
42#define __ONCE_ALIGNMENT __attribute__ ((__aligned__ (4)))35#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
63#endif /* bits/pthreadtypes.h */37#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/m68k/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code compliant to the ELF m68k ABI.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* This is the canonical entry point, usually the first thing in the text36/* This is the canonical entry point, usually the first thing in the text
37 segment. The SVR4/m68k ABI says that when the entry point runs,37 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 @@...@@ -1,5 +1,5 @@
1/* Hacks needed for symbol manipulation. m68k version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>19#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
2020
lib/libc/glibc/sysdeps/m68k/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for m68k.1/* Assembler macros for m68k.
2 Copyright (C) 1998-2019 Free Software Foundation, Inc.2 Copyright (C) 1998-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/generic/sysdep.h>19#include <sysdeps/generic/sysdep.h>
2020
lib/libc/glibc/sysdeps/mach/hurd/bits/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,5 +1,5 @@
1/* bits/typesizes.h -- underlying types for *_t. Hurd version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_H19#ifndef _BITS_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
...@@ -64,5 +64,9 @@...@@ -64,5 +64,9 @@
64/* Number of descriptors that can fit in an `fd_set'. */64/* Number of descriptors that can fit in an `fd_set'. */
65#define __FD_SETSIZE 25665#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
68#endif /* bits/typesizes.h */72#endif /* bits/typesizes.h */
lib/libc/glibc/sysdeps/mach/hurd/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. Hurd version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* The private errno doesn't make sense on the Hurd. errno is always the19/* The private errno doesn't make sense on the Hurd. errno is always the
20 thread-local slot shared with libc, and it matters to share the cell20 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 @@...@@ -1,5 +1,5 @@
1/* Set flags signalling availability of certain operating system features.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* This file can define __ASSUME_* macros checked by certain source files.19/* This file can define __ASSUME_* macros checked by certain source files.
20 Almost none of these are used outside of sysdeps/unix/sysv/linux code.20 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,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _MACH_I386_SYSDEP_H19#ifndef _MACH_I386_SYSDEP_H
20#define _MACH_I386_SYSDEP_H 120#define _MACH_I386_SYSDEP_H 1
lib/libc/glibc/sysdeps/mach/libc-lock.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* libc-internal interface for mutex locks. Mach cthreads version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LIBC_LOCK_H19#ifndef _LIBC_LOCK_H
20#define _LIBC_LOCK_H 120#define _LIBC_LOCK_H 1
lib/libc/glibc/sysdeps/mach/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1994-2019 Free Software Foundation, Inc.1/* Copyright (C) 1994-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifdef __ASSEMBLER__18#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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for MicroBlaze.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/microblaze/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for MicroBlaze.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/microblaze/start.S+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36 .text36 .text
37 .globl _start37 .globl _start
lib/libc/glibc/sysdeps/microblaze/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/generic/sysdep.h>19#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 @@...@@ -1,5 +1,5 @@
1/* Configuration of lookup functions. MIPS version.1/* Configuration of lookup functions. MIPS version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* Number of extra dynamic section entries for this architecture. By19/* Number of extra dynamic section entries for this architecture. By
20 default there are none. */20 default there are none. */
lib/libc/glibc/sysdeps/mips/mips32/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for MIPS (o32).1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/mips/mips32/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for MIPS (o32).1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/mips/mips64/n32/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for MIPS (n32).1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for MIPS (n32).1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/mips/mips64/n64/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for MIPS (n64).1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for MIPS (n64).1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/mips/nptl/bits/pthreadtypes-arch.h+3-48
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific pthread type layouts. MIPS version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,12 +14,12 @@...@@ -14,12 +14,12 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_PTHREADTYPES_ARCH_H19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 120#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#include <endian.h>22#include <bits/endian.h>
2323
24#if _MIPS_SIM == _ABI6424#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 5625# define __SIZEOF_PTHREAD_ATTR_T 56
...@@ -38,52 +38,7 @@...@@ -38,52 +38,7 @@
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 838#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 439#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
48#define __LOCK_ALIGNMENT41#define __LOCK_ALIGNMENT
49#define __ONCE_ALIGNMENT42#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
89#endif /* bits/pthreadtypes.h */44#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/mips/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code compliant to the ELF Mips ABI.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36#define __ASSEMBLY__ 136#define __ASSEMBLY__ 1
37#include <entry.h>37#include <entry.h>
lib/libc/glibc/sysdeps/nptl/bits/pthreadtypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declaration of common pthread types for all architectures.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_PTHREADTYPES_COMMON_H19#ifndef _BITS_PTHREADTYPES_COMMON_H
20# define _BITS_PTHREADTYPES_COMMON_H 120# define _BITS_PTHREADTYPES_COMMON_H 1
lib/libc/glibc/sysdeps/nptl/bits/thread-shared-types.h+34-113
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Common threading primitives definitions for both POSIX and C11.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _THREAD_SHARED_TYPES_H19#ifndef _THREAD_SHARED_TYPES_H
20#define _THREAD_SHARED_TYPES_H 120#define _THREAD_SHARED_TYPES_H 1
...@@ -32,36 +32,6 @@...@@ -32,36 +32,6 @@
32 __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.32 __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
33 __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.33 __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
65 The additional macro defines any constraint for the lock alignment35 The additional macro defines any constraint for the lock alignment
66 inside the thread structures:36 inside the thread structures:
6737
...@@ -69,101 +39,52 @@...@@ -69,101 +39,52 @@
6939
70 Same idea but for the once locking primitive:40 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 */
77#include <bits/pthreadtypes-arch.h>44#include <bits/pthreadtypes-arch.h>
7845
46
79/* Common definition of pthread_mutex_t. */47/* Common definition of pthread_mutex_t. */
8048
81#if !__PTHREAD_MUTEX_USE_UNION
82typedef struct __pthread_internal_list49typedef struct __pthread_internal_list
83{50{
84 struct __pthread_internal_list *__prev;51 struct __pthread_internal_list *__prev;
85 struct __pthread_internal_list *__next;52 struct __pthread_internal_list *__next;
86} __pthread_list_t;53} __pthread_list_t;
87#else54
88typedef struct __pthread_internal_slist55typedef struct __pthread_internal_slist
89{56{
90 struct __pthread_internal_slist *__next;57 struct __pthread_internal_slist *__next;
91} __pthread_slist_t;58} __pthread_slist_t;
92#endif59
9360/* Arch-specific mutex definitions. A generic implementation is provided
94/* Lock elision support. */61 by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
95#if __PTHREAD_MUTEX_LOCK_ELISION62 can override it by defining:
96# if !__PTHREAD_MUTEX_USE_UNION63
97# define __PTHREAD_SPINS_DATA \64 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
98 short __spins; \65 definition). It should contains at least the internal members
99 short __elision66 defined in the generic version.
100# define __PTHREAD_SPINS 0, 067
101# else68 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
102# define __PTHREAD_SPINS_DATA \69 atomic operations.
103 struct \70
104 { \71 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
105 short __espins; \72 It should initialize the mutex internal flag. */
106 short __eelision; \73
107 } __elision_data74#include <bits/struct_mutex.h>
108# define __PTHREAD_SPINS { 0, 0 }75
109# define __spins __elision_data.__espins76/* Arch-sepecific read-write lock definitions. A generic implementation is
110# define __elision __elision_data.__eelision77 provided by struct_rwlock.h. If required, an architecture can override it
111# endif78 by defining:
112#else79
113# define __PTHREAD_SPINS_DATA int __spins80 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
114/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER. */81 It should contain at least the internal members defined in the
115# define __PTHREAD_SPINS 082 generic version.
116#endif83
11784 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
118struct __pthread_mutex_s85 It should initialize the rwlock internal type. */
119{86
120 int __lock __LOCK_ALIGNMENT;87#include <bits/struct_rwlock.h>
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};
16788
16889
169/* Common definition of pthread_cond_t. */90/* Common definition of pthread_cond_t. */
lib/libc/glibc/sysdeps/nptl/libc-lock.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* libc-internal interface for mutex locks. NPTL version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; see the file COPYING.LIB. If16 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
19#ifndef _LIBC_LOCK_H19#ifndef _LIBC_LOCK_H
20#define _LIBC_LOCK_H 120#define _LIBC_LOCK_H 1
lib/libc/glibc/sysdeps/nptl/libc-lockP.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Private libc-internal interface for mutex locks. NPTL version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; see the file COPYING.LIB. If16 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
19#ifndef _LIBC_LOCKP_H19#ifndef _LIBC_LOCKP_H
20#define _LIBC_LOCKP_H 120#define _LIBC_LOCKP_H 1
lib/libc/glibc/sysdeps/nptl/pthread.h+26-51
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,16 +13,16 @@...@@ -13,16 +13,16 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _PTHREAD_H18#ifndef _PTHREAD_H
19#define _PTHREAD_H 119#define _PTHREAD_H 1
2020
21#include <features.h>21#include <features.h>
22#include <endian.h>
23#include <sched.h>22#include <sched.h>
24#include <time.h>23#include <time.h>
2524
25#include <bits/endian.h>
26#include <bits/pthreadtypes.h>26#include <bits/pthreadtypes.h>
27#include <bits/setjmp.h>27#include <bits/setjmp.h>
28#include <bits/wordsize.h>28#include <bits/wordsize.h>
...@@ -83,30 +83,15 @@ enum...@@ -83,30 +83,15 @@ enum
83#endif83#endif
8484
8585
86#if __PTHREAD_MUTEX_HAVE_PREV86#define PTHREAD_MUTEX_INITIALIZER \
87# define PTHREAD_MUTEX_INITIALIZER \87 { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } }
88 { { 0, 0, 0, 0, 0, __PTHREAD_SPINS, { 0, 0 } } }88#ifdef __USE_GNU
89# ifdef __USE_GNU89# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
90# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \90 { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } }
91 { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, __PTHREAD_SPINS, { 0, 0 } } }91# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
92# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \92 { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } }
93 { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __PTHREAD_SPINS, { 0, 0 } } }93# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
94# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \94 { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_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
110#endif95#endif
11196
11297
...@@ -120,34 +105,13 @@ enum...@@ -120,34 +105,13 @@ enum
120 PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP105 PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
121};106};
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
132/* Read-write lock initializers. */109/* Read-write lock initializers. */
133# define PTHREAD_RWLOCK_INITIALIZER \110# 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) } }
135# ifdef __USE_GNU112# ifdef __USE_GNU
136# ifdef __PTHREAD_RWLOCK_INT_FLAGS_SHARED113# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
137# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \114 { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_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
151# endif115# endif
152#endif /* Unix98 or XOpen2K */116#endif /* Unix98 or XOpen2K */
153117
...@@ -263,6 +227,17 @@ extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW;...@@ -263,6 +227,17 @@ extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW;
263 __THROW. */227 __THROW. */
264extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,228extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
265 const struct timespec *__abstime);229 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);
266#endif241#endif
267242
268/* Indicate that the thread TH is never to be joined with PTHREAD_JOIN.243/* 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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for PowerPC.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/powerpc/powerpc32/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for PowerPC.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/powerpc/powerpc32/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code for programs linked with GNU libc.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36#include <sysdep.h>36#include <sysdep.h>
3737
lib/libc/glibc/sysdeps/powerpc/powerpc32/symbol-hacks.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Hacks needed for symbol manipulation. powerpc version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>19#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
2020
lib/libc/glibc/sysdeps/powerpc/powerpc32/sysdep.h+28-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembly macros for 32-bit PowerPC.1/* Assembly macros for 32-bit PowerPC.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/powerpc/sysdep.h>19#include <sysdeps/powerpc/sysdep.h>
2020
...@@ -157,4 +157,30 @@ GOT_LABEL: ; \...@@ -157,4 +157,30 @@ GOT_LABEL: ; \
157/* Label in text section. */157/* Label in text section. */
158#define C_TEXT(name) name158#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
160#endif /* __ASSEMBLER__ */186#endif /* __ASSEMBLER__ */
lib/libc/glibc/sysdeps/powerpc/powerpc64/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for PowerPC64.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/powerpc/powerpc64/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for PowerPC64.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/powerpc/powerpc64/dl-dtprocnum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Configuration of lookup functions. PowerPC64 version.1/* Configuration of lookup functions. PowerPC64 version.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* Number of extra dynamic section entries for this architecture. By19/* Number of extra dynamic section entries for this architecture. By
20 default there are none. */20 default there are none. */
lib/libc/glibc/sysdeps/powerpc/powerpc64/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code for programs linked with GNU libc. PowerPC64 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36#include <sysdep.h>36#include <sysdep.h>
3737
lib/libc/glibc/sysdeps/powerpc/powerpc64/sysdep.h+26-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembly macros for 64-bit PowerPC.1/* Assembly macros for 64-bit PowerPC.
2 Copyright (C) 2002-2019 Free Software Foundation, Inc.2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/powerpc/sysdep.h>19#include <sysdeps/powerpc/sysdep.h>
2020
...@@ -342,6 +342,30 @@ LT_LABELSUFFIX(name,_name_end): ; \...@@ -342,6 +342,30 @@ LT_LABELSUFFIX(name,_name_end): ; \
342#define PSEUDO_END_ERRVAL(name) \342#define PSEUDO_END_ERRVAL(name) \
343 END (name)343 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
345#else /* !__ASSEMBLER__ */369#else /* !__ASSEMBLER__ */
346370
347#if _CALL_ELF != 2371#if _CALL_ELF != 2
lib/libc/glibc/sysdeps/powerpc/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18/*18/*
19 * Powerpc Feature masks for the Aux Vector Hardware Capabilities (AT_HWCAP).19 * 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 @@...@@ -1,5 +1,5 @@
1/* Machine-specific pthread type layouts. RISC-V version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,12 +14,12 @@...@@ -14,12 +14,12 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_PTHREADTYPES_ARCH_H19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 120#define _BITS_PTHREADTYPES_ARCH_H 1
2121
22#include <endian.h>22#include <bits/endian.h>
2323
24#if __riscv_xlen == 6424#if __riscv_xlen == 64
25# define __SIZEOF_PTHREAD_ATTR_T 5625# define __SIZEOF_PTHREAD_ATTR_T 56
...@@ -35,34 +35,7 @@...@@ -35,34 +35,7 @@
35# error "rv32i-based systems are not supported"35# error "rv32i-based systems are not supported"
36#endif36#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
44#define __LOCK_ALIGNMENT38#define __LOCK_ALIGNMENT
45#define __ONCE_ALIGNMENT39#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
68#endif /* bits/pthreadtypes.h */41#endif /* bits/pthreadtypes.h */
lib/libc/glibc/sysdeps/riscv/start.S+5-5
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code compliant to the ELF RISC-V ABI.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library. If not, see33 License along with the GNU C Library. If not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36#define __ASSEMBLY__ 136#define __ASSEMBLY__ 1
37#include <entry.h>37#include <entry.h>
...@@ -47,7 +47,7 @@ ENTRY (ENTRY_POINT)...@@ -47,7 +47,7 @@ ENTRY (ENTRY_POINT)
47 .cfi_label to force starting the FDE. */47 .cfi_label to force starting the FDE. */
48 .cfi_label .Ldummy48 .cfi_label .Ldummy
49 cfi_undefined (ra)49 cfi_undefined (ra)
50 call .Lload_gp50 call load_gp
51 mv a5, a0 /* rtld_fini. */51 mv a5, a0 /* rtld_fini. */
52 /* main may be in a shared library. */52 /* main may be in a shared library. */
53 la a0, main53 la a0, main
...@@ -68,7 +68,7 @@ END (ENTRY_POINT)...@@ -68,7 +68,7 @@ END (ENTRY_POINT)
68 needs to be initialized before calling __libc_start_main in that case.68 needs to be initialized before calling __libc_start_main in that case.
69 So we redundantly initialize it at the beginning of _start. */69 So we redundantly initialize it at the beginning of _start. */
7070
71.Lload_gp:71load_gp:
72.option push72.option push
73.option norelax73.option norelax
74 lla gp, __global_pointer$74 lla gp, __global_pointer$
...@@ -76,7 +76,7 @@ END (ENTRY_POINT)...@@ -76,7 +76,7 @@ END (ENTRY_POINT)
76 ret76 ret
7777
78 .section .preinit_array,"aw"78 .section .preinit_array,"aw"
79 .dc.a .Lload_gp79 .dc.a load_gp
8080
81/* Define a symbol for the first piece of initialized data. */81/* Define a symbol for the first piece of initialized data. */
82 .data82 .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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for S/390.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for S/390.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/s390/s390-32/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. S/390 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include_next <dl-sysdep.h>19#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/s390/s390-32/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code compliant to the ELF s390 ABI.1/* 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.
3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37#include <sysdep.h>37#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/s390/s390-32/symbol-hacks.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Hacks needed for symbol manipulation. s390 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>19#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
2020
lib/libc/glibc/sysdeps/s390/s390-32/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for s390.1/* Assembler macros for s390.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 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 <sysdeps/generic/sysdep.h>20#include <sysdeps/generic/sysdep.h>
2121
lib/libc/glibc/sysdeps/s390/s390-64/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for 64 bit S/390.1/* 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.
3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37/* crti.S puts a function prologue at the beginning of the .init and37/* crti.S puts a function prologue at the beginning of the .init and
38 .fini sections and defines global symbols for those addresses, so38 .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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for 64 bit S/390.1/* 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.
3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37/* crtn.S puts function epilogues in the .init and .fini sections37/* crtn.S puts function epilogues in the .init and .fini sections
38 corresponding to the prologues in crti.S. */38 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/s390/s390-64/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code compliant to the 64 bit S/390 ELF ABI.1/* 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.
3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37#include <sysdep.h>37#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/s390/s390-64/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for 64 bit S/390.1/* 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.
3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 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 <sysdeps/generic/sysdep.h>20#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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for SH.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/sh/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for SH.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/sh/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code for SH & ELF.1/* Startup code for SH & ELF.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* This is the canonical entry point, usually the first thing in the text36/* This is the canonical entry point, usually the first thing in the text
37 segment.37 segment.
lib/libc/glibc/sysdeps/sh/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for SH.1/* Assembler macros for SH.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/generic/sysdep.h>19#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 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for sparc.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/sparc/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for sparc.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/sparc/dl-dtprocnum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Configuration of lookup functions. SPARC version.1/* Configuration of lookup functions. SPARC version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* Number of extra dynamic section entries for this architecture. By19/* Number of extra dynamic section entries for this architecture. By
20 default there are none. */20 default there are none. */
lib/libc/glibc/sysdeps/sparc/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. SPARC version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include_next <dl-sysdep.h>19#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/sparc/sparc32/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code for elf32-sparc1/* Startup code for elf32-sparc
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
4 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.4 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37#include <sysdep.h>37#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/sparc/sparc64/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code for elf64-sparc1/* Startup code for elf64-sparc
2 Copyright (C) 1997-2019 Free Software Foundation, Inc.2 Copyright (C) 1997-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
4 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.4 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37#include <sysdep.h>37#include <sysdep.h>
3838
lib/libc/glibc/sysdeps/sparc/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2011-2019 Free Software Foundation, Inc.1/* Copyright (C) 2011-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#define _SYSDEPS_SYSDEP_H 118#define _SYSDEPS_SYSDEP_H 1
19#include <bits/hwcap.h>19#include <bits/hwcap.h>
lib/libc/glibc/sysdeps/unix/alpha/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Brendan Kehoe (brendan@zen.org).3 Contributed by Brendan Kehoe (brendan@zen.org).
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/unix/sysdep.h>19#include <sysdeps/unix/sysdep.h>
20#include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */20#include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
lib/libc/glibc/sysdeps/unix/arm/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 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 <sysdeps/unix/sysdep.h>18#include <sysdeps/unix/sysdep.h>
19#include <sysdeps/arm/sysdep.h>19#include <sysdeps/arm/sysdep.h>
lib/libc/glibc/sysdeps/unix/i386/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 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 <sysdeps/unix/sysdep.h>18#include <sysdeps/unix/sysdep.h>
19#include <sysdeps/i386/sysdep.h>19#include <sysdeps/i386/sysdep.h>
lib/libc/glibc/sysdeps/unix/mips/mips32/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Brendan Kehoe (brendan@zen.org).3 Contributed by Brendan Kehoe (brendan@zen.org).
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/unix/mips/sysdep.h>19#include <sysdeps/unix/mips/sysdep.h>
2020
lib/libc/glibc/sysdeps/unix/mips/mips64/n32/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Alexandre Oliva <aoliva@redhat.com>.3 Contributed by Alexandre Oliva <aoliva@redhat.com>.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/unix/mips/sysdep.h>19#include <sysdeps/unix/mips/sysdep.h>
2020
lib/libc/glibc/sysdeps/unix/mips/mips64/n64/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Alexandre Oliva <aoliva@redhat.com>.3 Contributed by Alexandre Oliva <aoliva@redhat.com>.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/unix/mips/sysdep.h>19#include <sysdeps/unix/mips/sysdep.h>
2020
lib/libc/glibc/sysdeps/unix/mips/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Brendan Kehoe (brendan@zen.org).3 Contributed by Brendan Kehoe (brendan@zen.org).
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sgidefs.h>19#include <sgidefs.h>
20#include <sysdeps/unix/sysdep.h>20#include <sysdeps/unix/sysdep.h>
lib/libc/glibc/sysdeps/unix/powerpc/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 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 <sysdeps/unix/sysdep.h>18#include <sysdeps/unix/sysdep.h>
19#include <bits/wordsize.h>19#include <bits/wordsize.h>
lib/libc/glibc/sysdeps/unix/sh/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 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 <sysdeps/unix/sysdep.h>18#include <sysdeps/unix/sysdep.h>
19#include <sysdeps/sh/sysdep.h>19#include <sysdeps/sh/sysdep.h>
lib/libc/glibc/sysdeps/unix/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 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 <sysdeps/generic/sysdep.h>18#include <sysdeps/generic/sysdep.h>
19#include <single-thread.h>19#include <single-thread.h>
lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/kernel-features.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number. AArch64 version.2 kernel version number. AArch64 version.
3 Copyright (C) 2018-2019 Free Software Foundation, Inc.3 Copyright (C) 2018-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 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_next <kernel-features.h>20#include_next <kernel-features.h>
2121
lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sys/elf.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _SYS_ELF_H19#ifndef _SYS_ELF_H
20#define _SYS_ELF_H 120#define _SYS_ELF_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sysdep.h+12-8
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2005-2019 Free Software Foundation, Inc.1/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,14 +14,11 @@...@@ -14,14 +14,11 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_AARCH64_SYSDEP_H19#ifndef _LINUX_AARCH64_SYSDEP_H
20#define _LINUX_AARCH64_SYSDEP_H 120#define _LINUX_AARCH64_SYSDEP_H 1
2121
22/* Always enable vsyscalls on aarch64 */
23#define ALWAYS_USE_VSYSCALL 1
24
25#include <sysdeps/unix/sysdep.h>22#include <sysdeps/unix/sysdep.h>
26#include <sysdeps/aarch64/sysdep.h>23#include <sysdeps/aarch64/sysdep.h>
27#include <sysdeps/unix/sysv/linux/generic/sysdep.h>24#include <sysdeps/unix/sysv/linux/generic/sysdep.h>
...@@ -154,11 +151,18 @@...@@ -154,11 +151,18 @@
154151
155#else /* not __ASSEMBLER__ */152#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
158/* List of system calls which are supported as vsyscalls. */162/* List of system calls which are supported as vsyscalls. */
159# define HAVE_CLOCK_GETRES_VSYSCALL 1163# define HAVE_CLOCK_GETRES64_VSYSCALL "__kernel_clock_getres"
160# define HAVE_CLOCK_GETTIME_VSYSCALL 1164# define HAVE_CLOCK_GETTIME64_VSYSCALL "__kernel_clock_gettime"
161# define HAVE_GETTIMEOFDAY_VSYSCALL 1165# define HAVE_GETTIMEOFDAY_VSYSCALL "__kernel_gettimeofday"
162166
163/* Previously AArch64 used the generic version without the libc_hidden_def167/* Previously AArch64 used the generic version without the libc_hidden_def
164 which lead in a non existent __send symbol in libc.so. */168 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,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,5 +1,5 @@
1/* bits/typesizes.h -- underlying types for *_t. Linux/Alpha version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_H19#ifndef _BITS_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
...@@ -69,6 +69,9 @@...@@ -69,6 +69,9 @@
69/* And for __rlim_t and __rlim64_t. */69/* And for __rlim_t and __rlim64_t. */
70#define __RLIM_T_MATCHES_RLIM64_T 170#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
72/* Number of descriptors that can fit in an `fd_set'. */75/* Number of descriptors that can fit in an `fd_set'. */
73#define __FD_SETSIZE 102476#define __FD_SETSIZE 1024
7477
lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/kernel-features.h+5-7
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number.2 kernel version number.
3 Copyright (C) 2010-2019 Free Software Foundation, Inc.3 Copyright (C) 2010-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _KERNEL_FEATURES_H20#ifndef _KERNEL_FEATURES_H
21#define _KERNEL_FEATURES_H 121#define _KERNEL_FEATURES_H 1
...@@ -28,11 +28,6 @@...@@ -28,11 +28,6 @@
28# define __ASSUME_STATFS64 028# define __ASSUME_STATFS64 0
29#endif29#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
36#define __ASSUME_RECV_SYSCALL 131#define __ASSUME_RECV_SYSCALL 1
37#define __ASSUME_SEND_SYSCALL 132#define __ASSUME_SEND_SYSCALL 1
3833
...@@ -52,4 +47,7 @@...@@ -52,4 +47,7 @@
52# undef __ASSUME_STATX47# undef __ASSUME_STATX
53#endif48#endif
5449
50/* Alpha requires old sysvipc even being a 64-bit architecture. */
51#undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
52
55#endif /* _KERNEL_FEATURES_H */53#endif /* _KERNEL_FEATURES_H */
lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/sysdep.h+2-37
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.3 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_ALPHA_SYSDEP_H19#ifndef _LINUX_ALPHA_SYSDEP_H
20#define _LINUX_ALPHA_SYSDEP_H 120#define _LINUX_ALPHA_SYSDEP_H 1
...@@ -37,41 +37,6 @@...@@ -37,41 +37,6 @@
37#undef SYS_ify37#undef SYS_ify
38#define SYS_ify(syscall_name) __NR_##syscall_name38#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
75#define SINGLE_THREAD_BY_GLOBAL 140#define SINGLE_THREAD_BY_GLOBAL 1
7641
77#endif /* _LINUX_ALPHA_SYSDEP_H */42#endif /* _LINUX_ALPHA_SYSDEP_H */
lib/libc/glibc/sysdeps/unix/sysv/linux/arm/kernel-features.h+9-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number.2 kernel version number.
3 Copyright (C) 2006-2019 Free Software Foundation, Inc.3 Copyright (C) 2006-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,8 +15,9 @@...@@ -15,8 +15,9 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 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>
20#include_next <kernel-features.h>21#include_next <kernel-features.h>
2122
22/* The ARM kernel before 3.14.3 may or may not support23/* The ARM kernel before 3.14.3 may or may not support
...@@ -49,3 +50,9 @@...@@ -49,3 +50,9 @@
4950
50#undef __ASSUME_CLONE_DEFAULT51#undef __ASSUME_CLONE_DEFAULT
51#define __ASSUME_CLONE_BACKWARDS 152#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,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _SYS_ELF_H18#ifndef _SYS_ELF_H
19#define _SYS_ELF_H 119#define _SYS_ELF_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sysdep.h+8-11
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.3 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
4 ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997.4 ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997.
...@@ -15,14 +15,11 @@...@@ -15,14 +15,11 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _LINUX_ARM_SYSDEP_H20#ifndef _LINUX_ARM_SYSDEP_H
21#define _LINUX_ARM_SYSDEP_H 121#define _LINUX_ARM_SYSDEP_H 1
2222
23/* Always enable vsyscalls on arm */
24#define ALWAYS_USE_VSYSCALL 1
25
26/* There is some commonality. */23/* There is some commonality. */
27#include <sysdeps/unix/sysv/linux/sysdep.h>24#include <sysdeps/unix/sysv/linux/sysdep.h>
28#include <sysdeps/unix/arm/sysdep.h>25#include <sysdeps/unix/arm/sysdep.h>
...@@ -380,10 +377,6 @@ __local_syscall_error: \...@@ -380,10 +377,6 @@ __local_syscall_error: \
380#define INTERNAL_SYSCALL(name, err, nr, args...) \377#define INTERNAL_SYSCALL(name, err, nr, args...) \
381 INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)378 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
387#undef INTERNAL_SYSCALL_ERROR_P380#undef INTERNAL_SYSCALL_ERROR_P
388#define INTERNAL_SYSCALL_ERROR_P(val, err) \381#define INTERNAL_SYSCALL_ERROR_P(val, err) \
389 ((unsigned int) (val) >= 0xfffff001u)382 ((unsigned int) (val) >= 0xfffff001u)
...@@ -391,9 +384,13 @@ __local_syscall_error: \...@@ -391,9 +384,13 @@ __local_syscall_error: \
391#undef INTERNAL_SYSCALL_ERRNO384#undef INTERNAL_SYSCALL_ERRNO
392#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))385#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
393386
387#define VDSO_NAME "LINUX_2.6"
388#define VDSO_HASH 61765110
389
394/* List of system calls which are supported as vsyscalls. */390/* List of system calls which are supported as vsyscalls. */
395#define HAVE_CLOCK_GETTIME_VSYSCALL 1391#define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime"
396#define HAVE_GETTIMEOFDAY_VSYSCALL 1392#define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime64"
393#define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
397394
398#define LOAD_ARGS_0()395#define LOAD_ARGS_0()
399#define ASM_ARGS_0396#define ASM_ARGS_0
lib/libc/glibc/sysdeps/unix/sysv/linux/bits/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _BITS_TIMEX_H18#ifndef _BITS_TIMEX_H
19#define _BITS_TIMEX_H 119#define _BITS_TIMEX_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. Linux version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include_next <dl-sysdep.h>19#include_next <dl-sysdep.h>
2020
lib/libc/glibc/sysdeps/unix/sysv/linux/generic/bits/stat.h+7-4
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2011-2019 Free Software Foundation, Inc.1/* Copyright (C) 2011-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.3 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#if !defined _SYS_STAT_H && !defined _FCNTL_H19#if !defined _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."20# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
...@@ -23,7 +23,7 @@...@@ -23,7 +23,7 @@
23#ifndef _BITS_STAT_H23#ifndef _BITS_STAT_H
24#define _BITS_STAT_H 124#define _BITS_STAT_H 1
2525
26#include <endian.h>26#include <bits/endian.h>
27#include <bits/wordsize.h>27#include <bits/wordsize.h>
2828
29/* 64-bit libc uses the kernel's 'struct stat', accessed via the29/* 64-bit libc uses the kernel's 'struct stat', accessed via the
...@@ -42,7 +42,10 @@...@@ -42,7 +42,10 @@
4242
43#if defined __USE_FILE_OFFSET6443#if defined __USE_FILE_OFFSET64
44# define __field64(type, type64, name) type64 name44# define __field64(type, type64, name) type64 name
45#elif __WORDSIZE == 6445#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
46# define __field64(type, type64, name) type name49# define __field64(type, type64, name) type name
47#elif __BYTE_ORDER == __LITTLE_ENDIAN50#elif __BYTE_ORDER == __LITTLE_ENDIAN
48# define __field64(type, type64, name) \51# define __field64(type, type64, name) \
lib/libc/glibc/sysdeps/unix/sysv/linux/generic/bits/typesizes.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
4 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.4 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
55
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _BITS_TYPES_H20#ifndef _BITS_TYPES_H
21# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."21# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
...@@ -73,10 +73,14 @@...@@ -73,10 +73,14 @@
7373
74/* And for __rlim_t and __rlim64_t. */74/* And for __rlim_t and __rlim64_t. */
75# define __RLIM_T_MATCHES_RLIM64_T 175# 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
76#else79#else
77# define __RLIM_T_MATCHES_RLIM64_T 080# define __RLIM_T_MATCHES_RLIM64_T 0
78#endif
7981
82# define __STATFS_MATCHES_STATFS64 0
83#endif
80/* Number of descriptors that can fit in an `fd_set'. */84/* Number of descriptors that can fit in an `fd_set'. */
81#define __FD_SETSIZE 102485#define __FD_SETSIZE 1024
8286
lib/libc/glibc/sysdeps/unix/sysv/linux/generic/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2011-2019 Free Software Foundation, Inc.1/* Copyright (C) 2011-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.3 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <bits/wordsize.h>19#include <bits/wordsize.h>
20#include <kernel-features.h>20#include <kernel-features.h>
lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/kernel-features.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number.2 kernel version number.
3 Copyright (C) 2006-2019 Free Software Foundation, Inc.3 Copyright (C) 2006-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
2020
21/* Support for the utimes syscall was added in 3.14. */21/* 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 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for PA-RISC.1/* Assembler macros for PA-RISC.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.2 Copyright (C) 1999-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
4 Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999.4 Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999.
5 Linux/PA-RISC changes by Philipp Rumpf, <prumpf@tux.org>, March 2000.5 Linux/PA-RISC changes by Philipp Rumpf, <prumpf@tux.org>, March 2000.
...@@ -16,7 +16,7 @@...@@ -16,7 +16,7 @@
1616
17 You should have received a copy of the GNU Lesser General Public17 You should have received a copy of the GNU Lesser General Public
18 License along with the GNU C Library. If not, see18 License along with the GNU C Library. If not, see
19 <http://www.gnu.org/licenses/>. */19 <https://www.gnu.org/licenses/>. */
2020
21#ifndef _LINUX_HPPA_SYSDEP_H21#ifndef _LINUX_HPPA_SYSDEP_H
22#define _LINUX_HPPA_SYSDEP_H 122#define _LINUX_HPPA_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/i386/dl-sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. i386 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_I386_DL_SYSDEP_H19#ifndef _LINUX_I386_DL_SYSDEP_H
2020
lib/libc/glibc/sysdeps/unix/sysv/linux/i386/kernel-features.h+7-4
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number. i386 version.2 kernel version number. i386 version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20/* Direct socketcalls available with kernel 4.3. */20/* Direct socketcalls available with kernel 4.3. */
21#if __LINUX_KERNEL_VERSION >= 0x04030021#if __LINUX_KERNEL_VERSION >= 0x040300
...@@ -43,8 +43,11 @@...@@ -43,8 +43,11 @@
43# undef __ASSUME_SENDTO_SYSCALL43# undef __ASSUME_SENDTO_SYSCALL
44#endif44#endif
4545
46/* i686 only supports ipc syscall. */46/* i686 only supports ipc syscall before 5.1. */
47#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS47#if __LINUX_KERNEL_VERSION < 0x050100
48# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
49# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
50#endif
4851
49#undef __ASSUME_CLONE_DEFAULT52#undef __ASSUME_CLONE_DEFAULT
50#define __ASSUME_CLONE_BACKWARDS 153#define __ASSUME_CLONE_BACKWARDS 1
lib/libc/glibc/sysdeps/unix/sysv/linux/i386/sysdep.h+10-7
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper, <drepper@gnu.org>, August 1995.3 Contributed by Ulrich Drepper, <drepper@gnu.org>, August 1995.
44
...@@ -14,14 +14,11 @@...@@ -14,14 +14,11 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_I386_SYSDEP_H19#ifndef _LINUX_I386_SYSDEP_H
20#define _LINUX_I386_SYSDEP_H 120#define _LINUX_I386_SYSDEP_H 1
2121
22/* Always enable vsyscalls on i386 */
23#define ALWAYS_USE_VSYSCALL 1
24
25/* There is some commonality. */22/* There is some commonality. */
26#include <sysdeps/unix/sysv/linux/sysdep.h>23#include <sysdeps/unix/sysv/linux/sysdep.h>
27#include <sysdeps/unix/i386/sysdep.h>24#include <sysdeps/unix/i386/sysdep.h>
...@@ -312,9 +309,15 @@ struct libc_do_syscall_args...@@ -312,9 +309,15 @@ struct libc_do_syscall_args
312#define INLINE_SYSCALL_ERROR_RETURN_VALUE(resultvar) \309#define INLINE_SYSCALL_ERROR_RETURN_VALUE(resultvar) \
313 __syscall_error (-(resultvar))310 __syscall_error (-(resultvar))
314311
312# define VDSO_NAME "LINUX_2.6"
313# define VDSO_HASH 61765110
314
315/* List of system calls which are supported as vsyscalls. */315/* List of system calls which are supported as vsyscalls. */
316# define HAVE_CLOCK_GETTIME_VSYSCALL 1316# define HAVE_CLOCK_GETTIME_VSYSCALL "__vdso_clock_gettime"
317# define HAVE_GETTIMEOFDAY_VSYSCALL 1317# 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
319/* Define a macro which expands inline into the wrapper code for a system322/* Define a macro which expands inline into the wrapper code for a system
320 call. This use is for internal calls that do not need to handle errors323 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,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,5 +1,5 @@
1/* System-specific settings for dynamic linker code. IA-64 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_IA64_DL_SYSDEP_H19#ifndef _LINUX_IA64_DL_SYSDEP_H
20#define _LINUX_IA64_DL_SYSDEP_H 120#define _LINUX_IA64_DL_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/kernel-features.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number.2 kernel version number.
3 Copyright (C) 2010-2019 Free Software Foundation, Inc.3 Copyright (C) 2010-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _KERNEL_FEATURES_H20#ifndef _KERNEL_FEATURES_H
21#define _KERNEL_FEATURES_H 121#define _KERNEL_FEATURES_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/sysdep.h+5-14
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.3 Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
4 Based on code originally written by David Mosberger-Tang4 Based on code originally written by David Mosberger-Tang
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _LINUX_IA64_SYSDEP_H20#ifndef _LINUX_IA64_SYSDEP_H
21#define _LINUX_IA64_SYSDEP_H 121#define _LINUX_IA64_SYSDEP_H 1
...@@ -25,6 +25,7 @@...@@ -25,6 +25,7 @@
25#include <sysdeps/ia64/sysdep.h>25#include <sysdeps/ia64/sysdep.h>
26#include <dl-sysdep.h>26#include <dl-sysdep.h>
27#include <tls.h>27#include <tls.h>
28#include <asm/break.h>
2829
29/* In order to get __set_errno() definition in INLINE_SYSCALL. */30/* In order to get __set_errno() definition in INLINE_SYSCALL. */
30#ifndef __ASSEMBLER__31#ifndef __ASSEMBLER__
...@@ -45,16 +46,6 @@...@@ -45,16 +46,6 @@
45#undef SYS_ify46#undef SYS_ify
46#define SYS_ify(syscall_name) __NR_##syscall_name47#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
58/* This is to help the old kernel headers where __NR_semtimedop is not49/* This is to help the old kernel headers where __NR_semtimedop is not
59 available. */50 available. */
60#ifndef __NR_semtimedop51#ifndef __NR_semtimedop
...@@ -115,7 +106,7 @@...@@ -115,7 +106,7 @@
115106
116#define DO_CALL_VIA_BREAK(num) \107#define DO_CALL_VIA_BREAK(num) \
117 mov r15=num; \108 mov r15=num; \
118 break __BREAK_SYSCALL109 break __IA64_BREAK_SYSCALL
119110
120#ifdef IA64_USE_NEW_STUB111#ifdef IA64_USE_NEW_STUB
121# ifdef SHARED112# ifdef SHARED
...@@ -229,7 +220,7 @@...@@ -229,7 +220,7 @@
229 register long _r15 asm ("r15") = name; \220 register long _r15 asm ("r15") = name; \
230 long _retval; \221 long _retval; \
231 LOAD_REGS_##nr \222 LOAD_REGS_##nr \
232 __asm __volatile (BREAK_INSN (__BREAK_SYSCALL) \223 __asm __volatile (BREAK_INSN (__IA64_BREAK_SYSCALL) \
233 : "=r" (_r8), "=r" (_r10), "=r" (_r15) \224 : "=r" (_r8), "=r" (_r10), "=r" (_r15) \
234 ASM_OUTARGS_##nr \225 ASM_OUTARGS_##nr \
235 : "2" (_r15) ASM_ARGS_##nr \226 : "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 @@...@@ -1,5 +1,5 @@
1/* Internal declarations for sys/timex.h.1/* Internal declarations for sys/timex.h.
2 Copyright (C) 2014-2019 Free Software Foundation, Inc.2 Copyright (C) 2014-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _INCLUDE_SYS_TIMEX_H19#ifndef _INCLUDE_SYS_TIMEX_H
20#define _INCLUDE_SYS_TIMEX_H 120#define _INCLUDE_SYS_TIMEX_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/kernel-features.h+78-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number.2 kernel version number.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,11 +15,16 @@...@@ -15,11 +15,16 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20/* This file must not contain any C code. At least it must be protected20/* This file must not contain any C code. At least it must be protected
21 to allow using the file also in assembler files. */21 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
23#ifndef __LINUX_KERNEL_VERSION28#ifndef __LINUX_KERNEL_VERSION
24/* We assume the worst; all kernels should be supported. */29/* We assume the worst; all kernels should be supported. */
25# define __LINUX_KERNEL_VERSION 030# define __LINUX_KERNEL_VERSION 0
...@@ -80,6 +85,17 @@...@@ -80,6 +85,17 @@
80/* Support for SysV IPC through wired syscalls. All supported architectures85/* Support for SysV IPC through wired syscalls. All supported architectures
81 either support ipc syscall and/or all the ipc correspondent syscalls. */86 either support ipc syscall and/or all the ipc correspondent syscalls. */
82#define __ASSUME_DIRECT_SYSVIPC_SYSCALLS 187#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
84/* Support for p{read,write}v2 was added in 4.6. However Linux default100/* Support for p{read,write}v2 was added in 4.6. However Linux default
85 implementation does not assume the __ASSUME_* and instead use a fallback101 implementation does not assume the __ASSUME_* and instead use a fallback
...@@ -139,3 +155,63 @@...@@ -139,3 +155,63 @@
139 */155 */
140156
141#define __ASSUME_CLONE_DEFAULT 1157#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,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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,4 +1,4 @@
1/* Copyright (C) 2010-2019 Free Software Foundation, Inc.1/* Copyright (C) 2010-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _LINUX_M68K_COLDFIRE_SYSDEP_H18#ifndef _LINUX_M68K_COLDFIRE_SYSDEP_H
19#define _LINUX_M68K_COLDFIRE_SYSDEP_H 119#define _LINUX_M68K_COLDFIRE_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/kernel-features.h+8-4
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number.2 kernel version number.
3 Copyright (C) 2008-2019 Free Software Foundation, Inc.3 Copyright (C) 2008-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20/* Direct socketcalls available with kernel 4.3. */20/* Direct socketcalls available with kernel 4.3. */
21#if __LINUX_KERNEL_VERSION >= 0x04030021#if __LINUX_KERNEL_VERSION >= 0x040300
...@@ -50,5 +50,9 @@...@@ -50,5 +50,9 @@
50# undef __ASSUME_SET_ROBUST_LIST50# undef __ASSUME_SET_ROBUST_LIST
51#endif51#endif
5252
53/* m68k only supports ipc syscall. */53/* m68k only supports ipc syscall before 5.1. */
54#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS54#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,4 +1,4 @@
1/* Copyright (C) 2010-2019 Free Software Foundation, Inc.1/* Copyright (C) 2010-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _LINUX_M68K_M680X0_SYSDEP_H18#ifndef _LINUX_M68K_M680X0_SYSDEP_H
19#define _LINUX_M68K_M680X0_SYSDEP_H 119#define _LINUX_M68K_M680X0_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Written by Andreas Schwab, <schwab@issan.informatik.uni-dortmund.de>,3 Written by Andreas Schwab, <schwab@issan.informatik.uni-dortmund.de>,
4 December 1995.4 December 1995.
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 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 <sysdeps/unix/sysv/linux/sysdep.h>20#include <sysdeps/unix/sysv/linux/sysdep.h>
21#include <tls.h>21#include <tls.h>
lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/bits/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#if !defined _SYS_STAT_H && !defined _FCNTL_H19#if !defined _SYS_STAT_H && !defined _FCNTL_H
20# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."20# 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,4 +1,4 @@
1/* Copyright (C) 2011-2019 Free Software Foundation, Inc.1/* Copyright (C) 2011-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,8 +13,9 @@...@@ -13,8 +13,9 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 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
19/* All supported kernel versions for MicroBlaze have these syscalls. */20/* All supported kernel versions for MicroBlaze have these syscalls. */
20#define __ASSUME_SOCKET_SYSCALL 121#define __ASSUME_SOCKET_SYSCALL 1
...@@ -67,3 +68,8 @@...@@ -67,3 +68,8 @@
6768
68#undef __ASSUME_CLONE_DEFAULT69#undef __ASSUME_CLONE_DEFAULT
69#define __ASSUME_CLONE_BACKWARDS370#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,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
22
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_MICROBLAZE_SYSDEP_H19#ifndef _LINUX_MICROBLAZE_SYSDEP_H
20#define _LINUX_MICROBLAZE_SYSDEP_H 120#define _LINUX_MICROBLAZE_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/mips/bits/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number.2 kernel version number.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see17 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 <sgidefs.h>20#include <sgidefs.h>
2121
...@@ -31,8 +31,12 @@...@@ -31,8 +31,12 @@
31 pairs to start with an even-number register. */31 pairs to start with an even-number register. */
32#if _MIPS_SIM == _ABIO3232#if _MIPS_SIM == _ABIO32
33# define __ASSUME_ALIGNED_REGISTER_PAIRS 133# define __ASSUME_ALIGNED_REGISTER_PAIRS 1
34/* mips32 only supports ipc syscall. */34/* mips32 only supports ipc syscall before 5.1. */
35# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS35# if __LINUX_KERNEL_VERSION < 0x050100
36# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
37# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
38# else
39# endif
3640
37/* The o32 MIPS fadvise64 syscall behaves as fadvise64_64. */41/* The o32 MIPS fadvise64 syscall behaves as fadvise64_64. */
38# define __ASSUME_FADVISE64_AS_64_64 142# define __ASSUME_FADVISE64_AS_64_64 1
...@@ -40,6 +44,8 @@...@@ -40,6 +44,8 @@
40/* mips32 support wire-up network syscalls. */44/* mips32 support wire-up network syscalls. */
41# define __ASSUME_RECV_SYSCALL 145# define __ASSUME_RECV_SYSCALL 1
42# define __ASSUME_SEND_SYSCALL 146# define __ASSUME_SEND_SYSCALL 1
47#else
48# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
43#endif49#endif
4450
45/* Define that mips64-n32 is a ILP32 ABI to set the correct interface to51/* 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,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,15 +13,13 @@...@@ -13,15 +13,13 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _LINUX_MIPS_MIPS32_SYSDEP_H18#ifndef _LINUX_MIPS_MIPS32_SYSDEP_H
19#define _LINUX_MIPS_MIPS32_SYSDEP_H 119#define _LINUX_MIPS_MIPS32_SYSDEP_H 1
2020
21/* Always enable vsyscalls on mips32. */
22#define ALWAYS_USE_VSYSCALL 1
23
24/* There is some commonality. */21/* There is some commonality. */
22#include <sysdeps/unix/sysv/linux/mips/sysdep.h>
25#include <sysdeps/unix/sysv/linux/sysdep.h>23#include <sysdeps/unix/sysv/linux/sysdep.h>
26#include <sysdeps/unix/mips/mips32/sysdep.h>24#include <sysdeps/unix/mips/mips32/sysdep.h>
2725
...@@ -348,24 +346,13 @@ libc_hidden_proto (__mips_syscall7, nomips16)...@@ -348,24 +346,13 @@ libc_hidden_proto (__mips_syscall7, nomips16)
348 _sc_ret.reg.v0; \346 _sc_ret.reg.v0; \
349})347})
350348
351#define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \349#if __mips_isa_rev >= 6
352 "$14", "$15", "$24", "$25", "hi", "lo", "memory"350# define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
353351 "$14", "$15", "$24", "$25", "memory"
354/* Standard MIPS syscalls have an error flag, and return a positive errno352#else
355 when the error flag is set. Emulate this behaviour for vsyscalls so that353# define __SYSCALL_CLOBBERS "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", \
356 the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */354 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
357#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \355#endif
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
369356
370#endif /* __ASSEMBLER__ */357#endif /* __ASSEMBLER__ */
371358
lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h+10-23
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,15 +13,13 @@...@@ -13,15 +13,13 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _LINUX_MIPS_SYSDEP_H18#ifndef _LINUX_MIPS_SYSDEP_H
19#define _LINUX_MIPS_SYSDEP_H 119#define _LINUX_MIPS_SYSDEP_H 1
2020
21/* Always enable vsyscalls on n32. */
22#define ALWAYS_USE_VSYSCALL 1
23
24/* There is some commonality. */21/* There is some commonality. */
22#include <sysdeps/unix/sysv/linux/mips/sysdep.h>
25#include <sysdeps/unix/sysv/linux/sysdep.h>23#include <sysdeps/unix/sysv/linux/sysdep.h>
26#include <sysdeps/unix/mips/mips64/n32/sysdep.h>24#include <sysdeps/unix/mips/mips64/n32/sysdep.h>
2725
...@@ -296,24 +294,13 @@...@@ -296,24 +294,13 @@
296 _sys_result; \294 _sys_result; \
297})295})
298296
299#define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \297#if __mips_isa_rev >= 6
300 "$14", "$15", "$24", "$25", "hi", "lo", "memory"298# define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
301299 "$14", "$15", "$24", "$25", "memory"
302/* Standard MIPS syscalls have an error flag, and return a positive errno300#else
303 when the error flag is set. Emulate this behaviour for vsyscalls so that301# define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
304 the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */302 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
305#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \303#endif
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
317304
318#endif /* __ASSEMBLER__ */305#endif /* __ASSEMBLER__ */
319306
lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h+10-23
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,15 +13,13 @@...@@ -13,15 +13,13 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _LINUX_MIPS_SYSDEP_H18#ifndef _LINUX_MIPS_SYSDEP_H
19#define _LINUX_MIPS_SYSDEP_H 119#define _LINUX_MIPS_SYSDEP_H 1
2020
21/* Always enable vsyscalls on n64. */
22#define ALWAYS_USE_VSYSCALL 1
23
24/* There is some commonality. */21/* There is some commonality. */
22#include <sysdeps/unix/sysv/linux/mips/sysdep.h>
25#include <sysdeps/unix/sysv/linux/sysdep.h>23#include <sysdeps/unix/sysv/linux/sysdep.h>
26#include <sysdeps/unix/mips/mips64/n64/sysdep.h>24#include <sysdeps/unix/mips/mips64/n64/sysdep.h>
2725
...@@ -292,24 +290,13 @@...@@ -292,24 +290,13 @@
292 _sys_result; \290 _sys_result; \
293})291})
294292
295#define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \293#if __mips_isa_rev >= 6
296 "$14", "$15", "$24", "$25", "hi", "lo", "memory"294# define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
297295 "$14", "$15", "$24", "$25", "memory"
298/* Standard MIPS syscalls have an error flag, and return a positive errno296#else
299 when the error flag is set. Emulate this behaviour for vsyscalls so that297# define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
300 the INTERNAL_SYSCALL_{ERROR_P,ERRNO} macros work correctly. */298 "$14", "$15", "$24", "$25", "hi", "lo", "memory"
301#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \299#endif
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
313300
314#endif /* __ASSEMBLER__ */301#endif /* __ASSEMBLER__ */
315302
lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/bits/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number. PowerPC version.2 kernel version number. PowerPC version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20/* New syscalls added for PowerPC in 2.6.37. */20/* New syscalls added for PowerPC in 2.6.37. */
21#define __ASSUME_SOCKET_SYSCALL 121#define __ASSUME_SOCKET_SYSCALL 1
...@@ -44,8 +44,11 @@...@@ -44,8 +44,11 @@
4444
45#include_next <kernel-features.h>45#include_next <kernel-features.h>
4646
47/* powerpc only supports ipc syscall. */47/* powerpc only supports ipc syscall before 5.1. */
48#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS48#if __LINUX_KERNEL_VERSION < 0x050100
49# undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
50# undef __ASSUME_SYSVIPC_DEFAULT_IPC_64
51#endif
4952
50#undef __ASSUME_CLONE_DEFAULT53#undef __ASSUME_CLONE_DEFAULT
51#define __ASSUME_CLONE_BACKWARDS 154#define __ASSUME_CLONE_BACKWARDS 1
lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h+5-27
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,14 +13,12 @@...@@ -13,14 +13,12 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _LINUX_POWERPC_SYSDEP_H18#ifndef _LINUX_POWERPC_SYSDEP_H
19#define _LINUX_POWERPC_SYSDEP_H 119#define _LINUX_POWERPC_SYSDEP_H 1
2020
21/* Always enable vsyscalls on powerpc32 */21#include <sysdeps/unix/sysv/linux/powerpc/sysdep.h>
22#define ALWAYS_USE_VSYSCALL 1
23
24#include <sysdeps/unix/sysv/linux/sysdep.h>22#include <sysdeps/unix/sysv/linux/sysdep.h>
25#include <sysdeps/unix/powerpc/sysdep.h>23#include <sysdeps/unix/powerpc/sysdep.h>
26#include <tls.h>24#include <tls.h>
...@@ -43,7 +41,7 @@...@@ -43,7 +41,7 @@
43 function call, with the exception of LR (which is needed for the41 function call, with the exception of LR (which is needed for the
44 "sc; bnslr+" sequence) and CR (where only CR0.SO is clobbered to signal42 "sc; bnslr+" sequence) and CR (where only CR0.SO is clobbered to signal
45 an error return status). */43 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...) \
47 ({ \45 ({ \
48 register void *r0 __asm__ ("r0"); \46 register void *r0 __asm__ ("r0"); \
49 register long int r3 __asm__ ("r3"); \47 register long int r3 __asm__ ("r3"); \
...@@ -71,7 +69,7 @@...@@ -71,7 +69,7 @@
71 })69 })
7270
73#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \71#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
76# undef INLINE_SYSCALL74# undef INLINE_SYSCALL
77# define INLINE_SYSCALL(name, nr, args...) \75# define INLINE_SYSCALL(name, nr, args...) \
...@@ -133,26 +131,6 @@...@@ -133,26 +131,6 @@
133# undef INTERNAL_SYSCALL_ERRNO131# undef INTERNAL_SYSCALL_ERRNO
134# define INTERNAL_SYSCALL_ERRNO(val, err) (val)132# 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
156# define LOADARGS_0(name, dummy) \134# define LOADARGS_0(name, dummy) \
157 r0 = name135 r0 = name
158# define LOADARGS_1(name, __arg1) \136# define LOADARGS_1(name, __arg1) \
lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h+4-28
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,16 +13,14 @@...@@ -13,16 +13,14 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18/* Alan Modra <amodra@bigpond.net.au> rewrote the INLINE_SYSCALL macro */18/* Alan Modra <amodra@bigpond.net.au> rewrote the INLINE_SYSCALL macro */
1919
20#ifndef _LINUX_POWERPC_SYSDEP_H20#ifndef _LINUX_POWERPC_SYSDEP_H
21#define _LINUX_POWERPC_SYSDEP_H 121#define _LINUX_POWERPC_SYSDEP_H 1
2222
23/* Always enable vsyscalls on powerpc64 */23#include <sysdeps/unix/sysv/linux/powerpc/sysdep.h>
24#define ALWAYS_USE_VSYSCALL 1
25
26#include <sysdeps/unix/sysv/linux/sysdep.h>24#include <sysdeps/unix/sysv/linux/sysdep.h>
27#include <sysdeps/unix/powerpc/sysdep.h>25#include <sysdeps/unix/powerpc/sysdep.h>
28#include <tls.h>26#include <tls.h>
...@@ -47,27 +45,6 @@...@@ -47,27 +45,6 @@
4745
48#endif /* __ASSEMBLER__ */46#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
71/* Define a macro which expands inline into the wrapper code for a system48/* Define a macro which expands inline into the wrapper code for a system
72 call. This use is for internal calls that do not need to handle errors49 call. This use is for internal calls that do not need to handle errors
73 normally. It will never touch errno. This returns just what the kernel50 normally. It will never touch errno. This returns just what the kernel
...@@ -101,10 +78,9 @@...@@ -101,10 +78,9 @@
101#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \78#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
102 INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, long int, nr, args)79 INTERNAL_VSYSCALL_CALL_TYPE(funcptr, err, long int, nr, args)
10380
104#undef INLINE_SYSCALL
105
106/* This version is for kernels that implement system calls that81/* This version is for kernels that implement system calls that
107 behave like function calls as far as register saving. */82 behave like function calls as far as register saving. */
83#undef INLINE_SYSCALL
108#define INLINE_SYSCALL(name, nr, args...) \84#define INLINE_SYSCALL(name, nr, args...) \
109 ({ \85 ({ \
110 INTERNAL_SYSCALL_DECL (sc_err); \86 INTERNAL_SYSCALL_DECL (sc_err); \
lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/kernel-features.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number. RISC-V version.2 kernel version number. RISC-V version.
3 Copyright (C) 2018-2019 Free Software Foundation, Inc.3 Copyright (C) 2018-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 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_next <kernel-features.h>20#include_next <kernel-features.h>
2121
lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/sysdep.h+8-5
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_RISCV_SYSDEP_H19#ifndef _LINUX_RISCV_SYSDEP_H
20#define _LINUX_RISCV_SYSDEP_H 120#define _LINUX_RISCV_SYSDEP_H 1
...@@ -121,11 +121,14 @@...@@ -121,11 +121,14 @@
121121
122#ifndef __ASSEMBLER__122#ifndef __ASSEMBLER__
123123
124# define VDSO_NAME "LINUX_4.15"
125# define VDSO_HASH 182943605
126
124/* List of system calls which are supported as vsyscalls. */127/* List of system calls which are supported as vsyscalls. */
125# define HAVE_CLOCK_GETRES_VSYSCALL 1128# define HAVE_CLOCK_GETRES64_VSYSCALL "__vdso_clock_getres"
126# define HAVE_CLOCK_GETTIME_VSYSCALL 1129# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime"
127# define HAVE_GETTIMEOFDAY_VSYSCALL 1130# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
128# define HAVE_GETCPU_VSYSCALL 1131# define HAVE_GETCPU_VSYSCALL "__vdso_getcpu"
129132
130/* Define a macro which expands into the inline wrapper code for a system133/* Define a macro which expands into the inline wrapper code for a system
131 call. */134 call. */
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/bits/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,5 +1,5 @@
1/* bits/typesizes.h -- underlying types for *_t. Linux/s390 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_H19#ifndef _BITS_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
...@@ -78,8 +78,13 @@...@@ -78,8 +78,13 @@
7878
79/* And for __rlim_t and __rlim64_t. */79/* And for __rlim_t and __rlim64_t. */
80# define __RLIM_T_MATCHES_RLIM64_T 180# 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
81#else84#else
82# define __RLIM_T_MATCHES_RLIM64_T 085# define __RLIM_T_MATCHES_RLIM64_T 0
86
87# define __STATFS_MATCHES_STATFS64 0
83#endif88#endif
8489
85/* Number of descriptors that can fit in an `fd_set'. */90/* 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 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number. S/390 version.2 kernel version number. S/390 version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20/* Direct socketcalls available with kernel 4.3. */20/* Direct socketcalls available with kernel 4.3. */
21#if __LINUX_KERNEL_VERSION >= 0x04030021#if __LINUX_KERNEL_VERSION >= 0x040300
...@@ -45,8 +45,14 @@...@@ -45,8 +45,14 @@
45# undef __ASSUME_SENDTO_SYSCALL45# undef __ASSUME_SENDTO_SYSCALL
46#endif46#endif
4747
48/* s390 only supports ipc syscall. */48/* s390 only supports ipc syscall before 5.1. */
49#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS49#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
51#undef __ASSUME_CLONE_DEFAULT57#undef __ASSUME_CLONE_DEFAULT
52#define __ASSUME_CLONE_BACKWARDS258#define __ASSUME_CLONE_BACKWARDS2
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h+3-8
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
2 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).2 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -14,13 +14,14 @@...@@ -14,13 +14,14 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_S390_SYSDEP_H19#ifndef _LINUX_S390_SYSDEP_H
20#define _LINUX_S390_SYSDEP_H20#define _LINUX_S390_SYSDEP_H
2121
22#include <sysdeps/s390/s390-32/sysdep.h>22#include <sysdeps/s390/s390-32/sysdep.h>
23#include <sysdeps/unix/sysdep.h>23#include <sysdeps/unix/sysdep.h>
24#include <sysdeps/unix/sysv/linux/s390/sysdep.h>
24#include <sysdeps/unix/sysv/linux/sysdep.h>25#include <sysdeps/unix/sysv/linux/sysdep.h>
25#include <dl-sysdep.h> /* For RTLD_PRIVATE_ERRNO. */26#include <dl-sysdep.h> /* For RTLD_PRIVATE_ERRNO. */
26#include <tls.h>27#include <tls.h>
...@@ -271,12 +272,6 @@...@@ -271,12 +272,6 @@
271#define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)272#define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)
272#define ASMFMT_6 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6), "d" (gpr7)273#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
280/* Pointer mangling support. */275/* Pointer mangling support. */
281#if IS_IN (rtld)276#if IS_IN (rtld)
282/* We cannot use the thread descriptor because in ld.so we use setjmp277/* 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 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for 64 bit S/390.1/* 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.
3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).3 Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
...@@ -15,13 +15,14 @@...@@ -15,13 +15,14 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _LINUX_S390_SYSDEP_H20#ifndef _LINUX_S390_SYSDEP_H
21#define _LINUX_S390_SYSDEP_H21#define _LINUX_S390_SYSDEP_H
2222
23#include <sysdeps/s390/s390-64/sysdep.h>23#include <sysdeps/s390/s390-64/sysdep.h>
24#include <sysdeps/unix/sysdep.h>24#include <sysdeps/unix/sysdep.h>
25#include <sysdeps/unix/sysv/linux/s390/sysdep.h>
25#include <sysdeps/unix/sysv/linux/sysdep.h>26#include <sysdeps/unix/sysv/linux/sysdep.h>
26#include <dl-sysdep.h> /* For RTLD_PRIVATE_ERRNO. */27#include <dl-sysdep.h> /* For RTLD_PRIVATE_ERRNO. */
27#include <tls.h>28#include <tls.h>
...@@ -277,12 +278,6 @@...@@ -277,12 +278,6 @@
277#define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)278#define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)
278#define ASMFMT_6 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6), "d" (gpr7)279#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
286#define SINGLE_THREAD_BY_GLOBAL 1281#define SINGLE_THREAD_BY_GLOBAL 1
287282
288/* Pointer mangling support. */283/* Pointer mangling support. */
lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sys/elf.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _SYS_ELF_H18#ifndef _SYS_ELF_H
19#define _SYS_ELF_H 119#define _SYS_ELF_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/sh/kernel-features.h+12-4
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number. SH version.2 kernel version number. SH version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,11 +15,13 @@...@@ -15,11 +15,13 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef __KERNEL_FEATURES_SH__20#ifndef __KERNEL_FEATURES_SH__
21# define __KERNEL_FEATURES_SH__21# define __KERNEL_FEATURES_SH__
2222
23#include <endian.h>
24
23/* These syscalls were added for SH in 2.6.37. */25/* These syscalls were added for SH in 2.6.37. */
24#define __ASSUME_SOCKET_SYSCALL 126#define __ASSUME_SOCKET_SYSCALL 1
25#define __ASSUME_BIND_SYSCALL 127#define __ASSUME_BIND_SYSCALL 1
...@@ -41,8 +43,14 @@...@@ -41,8 +43,14 @@
41 before the offset. */43 before the offset. */
42#define __ASSUME_PRW_DUMMY_ARG 144#define __ASSUME_PRW_DUMMY_ARG 1
4345
44/* sh only supports ipc syscall. */46/* sh only supports ipc syscall before 5.1. */
45#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS47#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
47/* Support for several syscalls was added in 4.8. */55/* Support for several syscalls was added in 4.8. */
48#if __LINUX_KERNEL_VERSION < 0x04080056#if __LINUX_KERNEL_VERSION < 0x040800
lib/libc/glibc/sysdeps/unix/sysv/linux/sh/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.3 Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
4 Changed by Kaz Kojima, <kkojima@rr.iij4u.or.jp>.4 Changed by Kaz Kojima, <kkojima@rr.iij4u.or.jp>.
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20#ifndef _LINUX_SH_SYSDEP_H20#ifndef _LINUX_SH_SYSDEP_H
21#define _LINUX_SH_SYSDEP_H 121#define _LINUX_SH_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/single-thread.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Single thread optimization, Linux version.1/* Single thread optimization, Linux version.
2 Copyright (C) 2019 Free Software Foundation, Inc.2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _SINGLE_THREAD_H19#ifndef _SINGLE_THREAD_H
20#define _SINGLE_THREAD_H20#define _SINGLE_THREAD_H
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/bits/stat.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1992-2019 Free Software Foundation, Inc.1/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,5 +1,5 @@
1/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_H19#ifndef _BITS_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
...@@ -72,8 +72,13 @@...@@ -72,8 +72,13 @@
7272
73/* And for __rlim_t and __rlim64_t. */73/* And for __rlim_t and __rlim64_t. */
74# define __RLIM_T_MATCHES_RLIM64_T 174# 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
75#else78#else
76# define __RLIM_T_MATCHES_RLIM64_T 079# define __RLIM_T_MATCHES_RLIM64_T 0
80
81# define __STATFS_MATCHES_STATFS64 0
77#endif82#endif
7883
79/* Number of descriptors that can fit in an `fd_set'. */84/* 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 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number. SPARC version.2 kernel version number. SPARC version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 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_next <kernel-features.h>20#include_next <kernel-features.h>
2121
...@@ -58,8 +58,13 @@...@@ -58,8 +58,13 @@
58# undef __NR_pause58# undef __NR_pause
59#endif59#endif
6060
61/* sparc only supports ipc syscall. */61/* sparc only supports ipc syscall before 5.1. */
62#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS62#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
64/* Support for the renameat2 syscall was added in 3.16. */69/* Support for the renameat2 syscall was added in 3.16. */
65#if __LINUX_KERNEL_VERSION < 0x03100070#if __LINUX_KERNEL_VERSION < 0x031000
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, January 1997.3 Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, January 1997.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_SPARC32_SYSDEP_H19#ifndef _LINUX_SPARC32_SYSDEP_H
20#define _LINUX_SPARC32_SYSDEP_H 120#define _LINUX_SPARC32_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h+2-12
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.3 Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_SPARC64_SYSDEP_H19#ifndef _LINUX_SPARC64_SYSDEP_H
20#define _LINUX_SPARC64_SYSDEP_H 120#define _LINUX_SPARC64_SYSDEP_H 1
...@@ -29,16 +29,6 @@...@@ -29,16 +29,6 @@
29#undef SYS_ify29#undef SYS_ify
30#define SYS_ify(syscall_name) __NR_##syscall_name30#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
42#ifdef __ASSEMBLER__32#ifdef __ASSEMBLER__
4333
44#define LOADSYSCALL(x) mov __NR_##x, %g134#define LOADSYSCALL(x) mov __NR_##x, %g1
lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sysdep.h+11-4
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2000-2019 Free Software Foundation, Inc.1/* Copyright (C) 2000-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.3 Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
44
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _LINUX_SPARC_SYSDEP_H19#ifndef _LINUX_SPARC_SYSDEP_H
20#define _LINUX_SPARC_SYSDEP_H 120#define _LINUX_SPARC_SYSDEP_H 1
...@@ -41,9 +41,16 @@...@@ -41,9 +41,16 @@
41 _ret; \41 _ret; \
42 })42 })
4343
44# define VDSO_NAME "LINUX_2.6"
45# define VDSO_HASH 61765110
46
44/* List of system calls which are supported as vsyscalls. */47/* List of system calls which are supported as vsyscalls. */
45# define HAVE_CLOCK_GETTIME_VSYSCALL 148# ifdef __arch64__
46# define HAVE_GETTIMEOFDAY_VSYSCALL 149# 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
48#undef INLINE_SYSCALL55#undef INLINE_SYSCALL
49#define INLINE_SYSCALL(name, nr, args...) \56#define INLINE_SYSCALL(name, nr, args...) \
lib/libc/glibc/sysdeps/unix/sysv/linux/sys/syscall.h+6-9
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _SYSCALL_H18#ifndef _SYSCALL_H
19#define _SYSCALL_H 119#define _SYSCALL_H 1
...@@ -23,12 +23,9 @@...@@ -23,12 +23,9 @@
23 from the kernel sources. */23 from the kernel sources. */
24#include <asm/unistd.h>24#include <asm/unistd.h>
2525
26#ifndef _LIBC26/* The Linux kernel header file defines macros __NR_*, but some
27/* The Linux kernel header file defines macros `__NR_<name>', but some27 programs expect the traditional form SYS_*. <bits/syscall.h>
28 programs expect the traditional form `SYS_<name>'. So in building libc28 defines SYS_* macros for __NR_* macros of known names. */
29 we scan the kernel's list and produce <bits/syscall.h> with macros for29#include <bits/syscall.h>
30 all the `SYS_' names. */
31# include <bits/syscall.h>
32#endif
3330
34#endif31#endif
lib/libc/glibc/sysdeps/unix/sysv/linux/sys/timex.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1995-2019 Free Software Foundation, Inc.1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _SYS_TIMEX_H18#ifndef _SYS_TIMEX_H
19#define _SYS_TIMEX_H 119#define _SYS_TIMEX_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/sysdep.h+2-9
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2015-2019 Free Software Foundation, Inc.1/* Copyright (C) 2015-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,18 +13,11 @@...@@ -13,18 +13,11 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 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 <bits/wordsize.h>18#include <bits/wordsize.h>
19#include <kernel-features.h>19#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
28/* Set error number and return -1. A target may choose to return the21/* Set error number and return -1. A target may choose to return the
29 internal function, __syscall_error, which sets errno and returns -1.22 internal function, __syscall_error, which sets errno and returns -1.
30 We use -1l, instead of -1, so that it can be casted to (void *). */23 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,4 +1,4 @@
1/* Copyright (C) 1999-2019 Free Software Foundation, Inc.1/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#if !defined _SYS_STAT_H && !defined _FCNTL_H18#if !defined _SYS_STAT_H && !defined _FCNTL_H
19# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."19# 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 @@...@@ -1,5 +1,5 @@
1/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _BITS_TYPES_H19#ifndef _BITS_TYPES_H
20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."20# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
...@@ -84,8 +84,13 @@...@@ -84,8 +84,13 @@
8484
85/* And for __rlim_t and __rlim64_t. */85/* And for __rlim_t and __rlim64_t. */
86# define __RLIM_T_MATCHES_RLIM64_T 186# 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
87#else90#else
88# define __RLIM_T_MATCHES_RLIM64_T 091# define __RLIM_T_MATCHES_RLIM64_T 0
92
93# define __STATFS_MATCHES_STATFS64 0
89#endif94#endif
9095
91/* Number of descriptors that can fit in an `fd_set'. */96/* 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,4 +1,4 @@
1/* Copyright (C) 1998-2019 Free Software Foundation, Inc.1/* Copyright (C) 1998-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _SYS_ELF_H18#ifndef _SYS_ELF_H
19#define _SYS_ELF_H 119#define _SYS_ELF_H 1
lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/kernel-features.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Set flags signalling availability of kernel features based on given1/* Set flags signalling availability of kernel features based on given
2 kernel version number. x86-64 version.2 kernel version number. x86-64 version.
3 Copyright (C) 1999-2019 Free Software Foundation, Inc.3 Copyright (C) 1999-2020 Free Software Foundation, Inc.
4 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
55
6 The GNU C Library is free software; you can redistribute it and/or6 The GNU C Library is free software; you can redistribute it and/or
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
1515
16 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */18 <https://www.gnu.org/licenses/>. */
1919
20/* Define that x32 is a ILP32 ABI to set the correct interface to pass20/* Define that x32 is a ILP32 ABI to set the correct interface to pass
21 64-bits values through syscalls. */21 64-bits values through syscalls. */
lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/sysdep.h+10-18
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2001-2019 Free Software Foundation, Inc.1/* Copyright (C) 2001-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,14 +13,11 @@...@@ -13,14 +13,11 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _LINUX_X86_64_SYSDEP_H18#ifndef _LINUX_X86_64_SYSDEP_H
19#define _LINUX_X86_64_SYSDEP_H 119#define _LINUX_X86_64_SYSDEP_H 1
2020
21/* Always enable vsyscalls on x86_64 */
22#define ALWAYS_USE_VSYSCALL 1
23
24/* There is some commonality. */21/* There is some commonality. */
25#include <sysdeps/unix/sysv/linux/sysdep.h>22#include <sysdeps/unix/sysv/linux/sysdep.h>
26#include <sysdeps/unix/x86_64/sysdep.h>23#include <sysdeps/unix/x86_64/sysdep.h>
...@@ -36,16 +33,6 @@...@@ -36,16 +33,6 @@
36#undef SYS_ify33#undef SYS_ify
37#define SYS_ify(syscall_name) __NR_##syscall_name34#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
49/* This is to help the old kernel headers where __NR_semtimedop is not36/* This is to help the old kernel headers where __NR_semtimedop is not
50 available. */37 available. */
51#ifndef __NR_semtimedop38#ifndef __NR_semtimedop
...@@ -373,10 +360,15 @@...@@ -373,10 +360,15 @@
373# undef INTERNAL_SYSCALL_ERRNO360# undef INTERNAL_SYSCALL_ERRNO
374# define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))361# define INTERNAL_SYSCALL_ERRNO(val, err) (-(val))
375362
363# define VDSO_NAME "LINUX_2.6"
364# define VDSO_HASH 61765110
365
376/* List of system calls which are supported as vsyscalls. */366/* List of system calls which are supported as vsyscalls. */
377# define HAVE_CLOCK_GETTIME_VSYSCALL 1367# define HAVE_CLOCK_GETTIME64_VSYSCALL "__vdso_clock_gettime"
378# define HAVE_GETTIMEOFDAY_VSYSCALL 1368# define HAVE_GETTIMEOFDAY_VSYSCALL "__vdso_gettimeofday"
379# define HAVE_GETCPU_VSYSCALL 1369# define HAVE_TIME_VSYSCALL "__vdso_time"
370# define HAVE_GETCPU_VSYSCALL "__vdso_getcpu"
371# define HAVE_CLOCK_GETRES64_VSYSCALL "__vdso_clock_getres"
380372
381# define SINGLE_THREAD_BY_GLOBAL 1373# 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,4 +1,4 @@
1/* Copyright (C) 2012-2019 Free Software Foundation, Inc.1/* Copyright (C) 2012-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _LINUX_X32_SYSDEP_H18#ifndef _LINUX_X32_SYSDEP_H
19#define _LINUX_X32_SYSDEP_H 119#define _LINUX_X32_SYSDEP_H 1
lib/libc/glibc/sysdeps/unix/x86_64/sysdep.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1991-2019 Free Software Foundation, Inc.1/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 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 <sysdeps/unix/sysdep.h>18#include <sysdeps/unix/sysdep.h>
19#include <sysdeps/x86_64/sysdep.h>19#include <sysdeps/x86_64/sysdep.h>
lib/libc/glibc/sysdeps/wordsize-32/divdi3-symbol-hacks.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Hacks needed for divdi3 symbol manipulation.1/* Hacks needed for divdi3 symbol manipulation.
2 Copyright (C) 2004-2019 Free Software Foundation, Inc.2 Copyright (C) 2004-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19/* A very dirty trick: gcc emits references to __divdi3, __udivdi3,19/* A very dirty trick: gcc emits references to __divdi3, __udivdi3,
20 __moddi3, and __umoddi3. These functions are exported and20 __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,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _SYS_SELECT_H18#ifndef _SYS_SELECT_H
19# error "Never use <bits/select.h> directly; include <sys/select.h> instead."19# 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,4 +1,4 @@
1/* Copyright (C) 2002-2019 Free Software Foundation, Inc.1/* Copyright (C) 2002-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
33
4 The GNU C Library is free software; you can redistribute it and/or4 The GNU C Library is free software; you can redistribute it and/or
...@@ -13,7 +13,7 @@...@@ -13,7 +13,7 @@
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1717
18#ifndef _BITS_PTHREADTYPES_ARCH_H18#ifndef _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 119#define _BITS_PTHREADTYPES_ARCH_H 1
...@@ -24,20 +24,17 @@...@@ -24,20 +24,17 @@
24# if __WORDSIZE == 6424# if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_MUTEX_T 4025# define __SIZEOF_PTHREAD_MUTEX_T 40
26# define __SIZEOF_PTHREAD_ATTR_T 5626# define __SIZEOF_PTHREAD_ATTR_T 56
27# define __SIZEOF_PTHREAD_MUTEX_T 40
28# define __SIZEOF_PTHREAD_RWLOCK_T 5627# define __SIZEOF_PTHREAD_RWLOCK_T 56
29# define __SIZEOF_PTHREAD_BARRIER_T 3228# define __SIZEOF_PTHREAD_BARRIER_T 32
30# else29# else
31# define __SIZEOF_PTHREAD_MUTEX_T 3230# define __SIZEOF_PTHREAD_MUTEX_T 32
32# define __SIZEOF_PTHREAD_ATTR_T 3231# define __SIZEOF_PTHREAD_ATTR_T 32
33# define __SIZEOF_PTHREAD_MUTEX_T 32
34# define __SIZEOF_PTHREAD_RWLOCK_T 4432# define __SIZEOF_PTHREAD_RWLOCK_T 44
35# define __SIZEOF_PTHREAD_BARRIER_T 2033# define __SIZEOF_PTHREAD_BARRIER_T 20
36# endif34# endif
37#else35#else
38# define __SIZEOF_PTHREAD_MUTEX_T 2436# define __SIZEOF_PTHREAD_MUTEX_T 24
39# define __SIZEOF_PTHREAD_ATTR_T 3637# define __SIZEOF_PTHREAD_ATTR_T 36
40# define __SIZEOF_PTHREAD_MUTEX_T 24
41# define __SIZEOF_PTHREAD_RWLOCK_T 3238# define __SIZEOF_PTHREAD_RWLOCK_T 32
42# define __SIZEOF_PTHREAD_BARRIER_T 2039# define __SIZEOF_PTHREAD_BARRIER_T 20
43#endif40#endif
...@@ -47,57 +44,9 @@...@@ -47,57 +44,9 @@
47#define __SIZEOF_PTHREAD_RWLOCKATTR_T 844#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
48#define __SIZEOF_PTHREAD_BARRIERATTR_T 445#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
62#define __LOCK_ALIGNMENT47#define __LOCK_ALIGNMENT
63#define __ONCE_ALIGNMENT48#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
101#ifndef __x86_64__50#ifndef __x86_64__
102/* Extra attributes for the cleanup functions. */51/* Extra attributes for the cleanup functions. */
103# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))52# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
lib/libc/glibc/sysdeps/x86/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for x86.1/* Assembler macros for x86.
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.2 Copyright (C) 2017-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _X86_SYSDEP_H19#ifndef _X86_SYSDEP_H
20#define _X86_SYSDEP_H 120#define _X86_SYSDEP_H 1
lib/libc/glibc/sysdeps/x86_64/crti.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for x86-64.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crti.S puts a function prologue at the beginning of the .init and36/* crti.S puts a function prologue at the beginning of the .init and
37 .fini sections and defines global symbols for those addresses, so37 .fini sections and defines global symbols for those addresses, so
lib/libc/glibc/sysdeps/x86_64/crtn.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Special .init and .fini section support for x86-64.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -31,7 +31,7 @@...@@ -31,7 +31,7 @@
3131
32 You should have received a copy of the GNU Lesser General Public32 You should have received a copy of the GNU Lesser General Public
33 License along with the GNU C Library; if not, see33 License along with the GNU C Library; if not, see
34 <http://www.gnu.org/licenses/>. */34 <https://www.gnu.org/licenses/>. */
3535
36/* crtn.S puts function epilogues in the .init and .fini sections36/* crtn.S puts function epilogues in the .init and .fini sections
37 corresponding to the prologues in crti.S. */37 corresponding to the prologues in crti.S. */
lib/libc/glibc/sysdeps/x86_64/start.S+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Startup code compliant to the ELF x86-64 ABI.1/* 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.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
4 Contributed by Andreas Jaeger <aj@suse.de>, 2001.4 Contributed by Andreas Jaeger <aj@suse.de>, 2001.
55
...@@ -32,7 +32,7 @@...@@ -32,7 +32,7 @@
3232
33 You should have received a copy of the GNU Lesser General Public33 You should have received a copy of the GNU Lesser General Public
34 License along with the GNU C Library; if not, see34 License along with the GNU C Library; if not, see
35 <http://www.gnu.org/licenses/>. */35 <https://www.gnu.org/licenses/>. */
3636
37/* This is the canonical entry point, usually the first thing in the text37/* This is the canonical entry point, usually the first thing in the text
38 segment. The SVR4/i386 ABI (pages 3-31, 3-32) says that when the entry38 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 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for x86-64.1/* Assembler macros for x86-64.
2 Copyright (C) 2001-2019 Free Software Foundation, Inc.2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#ifndef _X86_64_SYSDEP_H19#ifndef _X86_64_SYSDEP_H
20#define _X86_64_SYSDEP_H 120#define _X86_64_SYSDEP_H 1
lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Assembler macros for x32.1/* Assembler macros for x32.
2 Copyright (C) 2012-2019 Free Software Foundation, Inc.2 Copyright (C) 2012-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
5 The GNU C Library is free software; you can redistribute it and/or5 The GNU C Library is free software; you can redistribute it and/or
...@@ -14,7 +14,7 @@...@@ -14,7 +14,7 @@
1414
15 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1818
19#include <sysdeps/x86_64/sysdep.h>19#include <sysdeps/x86_64/sysdep.h>
2020
lib/libc/glibc/time/bits/types/struct_timespec.h+13
...@@ -3,13 +3,26 @@...@@ -3,13 +3,26 @@
3#define _STRUCT_TIMESPEC 13#define _STRUCT_TIMESPEC 1
44
5#include <bits/types.h>5#include <bits/types.h>
6#include <bits/endian.h>
67
7/* POSIX.1b structure for a time value. This is like a `struct timeval' but8/* POSIX.1b structure for a time value. This is like a `struct timeval' but
8 has nanoseconds instead of microseconds. */9 has nanoseconds instead of microseconds. */
9struct timespec10struct timespec
10{11{
11 __time_t tv_sec; /* Seconds. */12 __time_t tv_sec; /* Seconds. */
13#if __WORDSIZE == 64 \
14 || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \
15 || __TIMESIZE == 32
12 __syscall_slong_t tv_nsec; /* Nanoseconds. */16 __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
13};26};
1427
15#endif28#endif