authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-04 15:35:46-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-04 15:35:46-05:00
log3178807657f0d75646c9de11ba4b23ee556e70da
tree0e8f668368e68a3fe7b510ae00aaa5d48dc379b2
parent66e6f5586e314b6f4fac8b0ed0198f47ba80d4f3
parent6cbd1ac51af4300ef11373d16771cf011fb6e572
signaturelock-open Commit is signed but in an unrecognized format.

Merge remote-tracking branch 'origin/master' into llvm10


1427 files changed, 8346 insertions(+), 7186 deletions(-)

ci/srht/update_download_page+10-5
...@@ -21,7 +21,10 @@ curl --fail -I "$AARCH64_LINUX_JSON_URL" >/dev/null || exit 0...@@ -21,7 +21,10 @@ curl --fail -I "$AARCH64_LINUX_JSON_URL" >/dev/null || exit 0
21curl --fail -I "$X86_64_LINUX_JSON_URL" >/dev/null || exit 021curl --fail -I "$X86_64_LINUX_JSON_URL" >/dev/null || exit 0
22curl --fail -I "$X86_64_WINDOWS_JSON_URL" >/dev/null || exit 022curl --fail -I "$X86_64_WINDOWS_JSON_URL" >/dev/null || exit 0
23curl --fail -I "$X86_64_MACOS_JSON_URL" >/dev/null || exit 023curl --fail -I "$X86_64_MACOS_JSON_URL" >/dev/null || exit 0
24curl --fail -I "$X86_64_FREEBSD_JSON_URL" >/dev/null || exit 024
25# FreeBSD is dealing with some weird upstream bug right now
26# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244549
27#curl --fail -I "$X86_64_FREEBSD_JSON_URL" >/dev/null || exit 0
2528
26# Without --user, this gave me:29# Without --user, this gave me:
27# ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied30# ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied
...@@ -63,10 +66,12 @@ export AARCH64_LINUX_TARBALL="$(echo "$AARCH64_LINUX_JSON" | jq .tarball -r)"...@@ -63,10 +66,12 @@ export AARCH64_LINUX_TARBALL="$(echo "$AARCH64_LINUX_JSON" | jq .tarball -r)"
63export AARCH64_LINUX_BYTESIZE="$(echo "$AARCH64_LINUX_JSON" | jq .size -r)"66export AARCH64_LINUX_BYTESIZE="$(echo "$AARCH64_LINUX_JSON" | jq .size -r)"
64export AARCH64_LINUX_SHASUM="$(echo "$AARCH64_LINUX_JSON" | jq .shasum -r)"67export AARCH64_LINUX_SHASUM="$(echo "$AARCH64_LINUX_JSON" | jq .shasum -r)"
6568
66X86_64_FREEBSD_JSON=$(curl --fail "$X86_64_FREEBSD_JSON_URL" || exit 1)69# FreeBSD is dealing with some weird upstream bug right now
67export X86_64_FREEBSD_TARBALL="$(echo "$X86_64_FREEBSD_JSON" | jq .tarball -r)"70# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244549
68export X86_64_FREEBSD_BYTESIZE="$(echo "$X86_64_FREEBSD_JSON" | jq .size -r)"71#X86_64_FREEBSD_JSON=$(curl --fail "$X86_64_FREEBSD_JSON_URL" || exit 1)
69export X86_64_FREEBSD_SHASUM="$(echo "$X86_64_FREEBSD_JSON" | jq .shasum -r)"72#export X86_64_FREEBSD_TARBALL="$(echo "$X86_64_FREEBSD_JSON" | jq .tarball -r)"
73#export X86_64_FREEBSD_BYTESIZE="$(echo "$X86_64_FREEBSD_JSON" | jq .size -r)"
74#export X86_64_FREEBSD_SHASUM="$(echo "$X86_64_FREEBSD_JSON" | jq .shasum -r)"
7075
71git clone https://github.com/ziglang/www.ziglang.org --depth 176git clone https://github.com/ziglang/www.ziglang.org --depth 1
72cd www.ziglang.org77cd www.ziglang.org
doc/docgen.zig+1-1
...@@ -50,7 +50,7 @@ pub fn main() !void {...@@ -50,7 +50,7 @@ pub fn main() !void {
50 var tokenizer = Tokenizer.init(in_file_name, input_file_bytes);50 var tokenizer = Tokenizer.init(in_file_name, input_file_bytes);
51 var toc = try genToc(allocator, &tokenizer);51 var toc = try genToc(allocator, &tokenizer);
5252
53 try fs.makePath(allocator, tmp_dir_name);53 try fs.cwd().makePath(tmp_dir_name);
54 defer fs.deleteTree(tmp_dir_name) catch {};54 defer fs.deleteTree(tmp_dir_name) catch {};
5555
56 try genHtml(allocator, &tokenizer, &toc, &buffered_out_stream.stream, zig_exe);56 try genHtml(allocator, &tokenizer, &toc, &buffered_out_stream.stream, zig_exe);
doc/langref.html.in+10-7
...@@ -6019,13 +6019,16 @@ pub fn printf(self: *OutStream, arg0: i32, arg1: []const u8) !void {...@@ -6019,13 +6019,16 @@ pub fn printf(self: *OutStream, arg0: i32, arg1: []const u8) !void {
6019 </p>6019 </p>
6020 {#code_begin|syntax#}6020 {#code_begin|syntax#}
6021pub fn printValue(self: *OutStream, value: var) !void {6021pub fn printValue(self: *OutStream, value: var) !void {
6022 const T = @TypeOf(value);6022 switch (@typeInfo(@TypeOf(value))) {
6023 if (@isInteger(T)) {6023 .Int => {
6024 return self.printInt(T, value);6024 return self.printInt(T, value);
6025 } else if (@isFloat(T)) {6025 },
6026 return self.printFloat(T, value);6026 .Float => {
6027 } else {6027 return self.printFloat(T, value);
6028 @compileError("Unable to print type '" ++ @typeName(T) ++ "'");6028 },
6029 else => {
6030 @compileError("Unable to print type '" ++ @typeName(T) ++ "'");
6031 },
6029 }6032 }
6030}6033}
6031 {#code_end#}6034 {#code_end#}
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/abi.txt+250-235
...@@ -2735,6 +2735,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -2735,6 +2735,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
273529273529
273629273629
273729273729
273841
273829273929
273940274040
274029274129
...@@ -3420,22 +3421,22 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -3420,22 +3421,22 @@ aarch64-linux-gnu aarch64_be-linux-gnu
342029342129
342129342229
342229342329
342335342435 41
342435342535 41
342537342637 41
342637342737 41
342737342837 41
342837342937 41
342937343037 41
343035343135 41
343135343235 41
343235343335 41
343337343437 41
343437343537 41
343537343637 41
343637343737 41
343737343837 41
343835343935 41
343929344029
344029344129
344129344229
...@@ -4240,7 +4241,7 @@ s390x-linux-gnu...@@ -4240,7 +4241,7 @@ s390x-linux-gnu
4240542415
4241542425
4242542435
4243424411
424427424527
42454246
424627424727
...@@ -6461,6 +6462,7 @@ s390x-linux-gnu...@@ -6461,6 +6462,7 @@ s390x-linux-gnu
6461564625
6462564635
6463564645
646541
64645 1364665 13
646540646740
64665 1364685 13
...@@ -7146,22 +7148,22 @@ s390x-linux-gnu...@@ -7146,22 +7148,22 @@ s390x-linux-gnu
7146571485
7147571495
714812715012
714935715135 41
715035715235 41
715137715337 41
715237715437 41
715337715537 41
715437715637 41
715537715737 41
715635715835 41
715735715935 41
715835716035 41
715937716137 41
716037716237 41
716137716337 41
716237716437 41
716337716537 41
716435716635 41
7165571675
716612716812
7167571695
...@@ -10187,6 +10189,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10187,6 +10189,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10187161018916
10188161019016
10189161019116
1019241
10190161019316
10191401019440
10192161019516
...@@ -10872,22 +10875,22 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10872,22 +10875,22 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10872161087516
10873161087616
10874161087716
10875351087835 41
10876351087935 41
1087710880
10878371088137 41
10879371088237 41
10880371088337 41
1088110884
10882351088535 41
10883351088635 41
10884351088735 41
1088510888
10886371088937 41
10887371089037 41
10888371089137 41
1088910892
10890351089335 41
10891161089416
10892161089516
10893161089616
...@@ -11692,7 +11695,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -11692,7 +11695,7 @@ sparc-linux-gnu sparcel-linux-gnu
116921116951
116930116960
116940116970
116953116983 11
11696271169927
1169711700
11698271170127
...@@ -13913,6 +13916,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13913,6 +13916,7 @@ sparc-linux-gnu sparcel-linux-gnu
139135139165
139145139175
139150139180
1391941
139160 13139200 13
13917401392140
139180 13139220 13
...@@ -14598,22 +14602,22 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -14598,22 +14602,22 @@ sparc-linux-gnu sparcel-linux-gnu
145980146020
145990146030
14600121460412
14601351460535 41
14602351460635 41
14603371460737 41
14604371460837 41
14605371460937 41
14606371461037 41
14607371461137 41
14608351461235 41
14609351461335 41
14610351461435 41
14611371461537 41
14612371461637 41
14613371461737 41
14614371461837 41
14615371461937 41
14616351462035 41
146170146210
14618121462212
146190146230
...@@ -15418,7 +15422,7 @@ sparcv9-linux-gnu...@@ -15418,7 +15422,7 @@ sparcv9-linux-gnu
154185154225
154195154235
154205154245
154211542511
15422271542627
1542315427
15424271542827
...@@ -17639,6 +17643,7 @@ sparcv9-linux-gnu...@@ -17639,6 +17643,7 @@ sparcv9-linux-gnu
176395176435
176405176445
176415176455
1764641
176425 13176475 13
17643401764840
176445 13176495 13
...@@ -18324,22 +18329,22 @@ sparcv9-linux-gnu...@@ -18324,22 +18329,22 @@ sparcv9-linux-gnu
183245183295
183255183305
18326121833112
18327351833235 41
18328351833335 41
18329371833437 41
18330371833537 41
18331371833637 41
18332371833737 41
18333371833837 41
18334351833935 41
18335351834035 41
18336351834135 41
18337371834237 41
18338371834337 41
18339371834437 41
18340371834537 41
18341371834637 41
18342351834735 41
183435183485
18344121834912
183455183505
...@@ -19144,7 +19149,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -19144,7 +19149,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
191445191495
191450191500
191460191510
191471915211
19148271915327
1914919154
19150271915527
...@@ -21365,6 +21370,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21365,6 +21370,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
213655213705
213665213715
213670213720
2137341
213680 13213740 13
21369402137540
213700 13213760 13
...@@ -22050,22 +22056,22 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -22050,22 +22056,22 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
220500220560
220510220570
22052122205812
22053352205935 41
22054352206035 41
22055372206137 41
22056372206237 41
22057372206337 41
22058372206437 41
22059372206537 41
22060352206635 41
22061352206735 41
22062352206835 41
22063372206937 41
22064372207037 41
22065372207137 41
22066372207237 41
22067372207337 41
22068352207435 41
220690220750
22070122207612
220710220770
...@@ -22870,7 +22876,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -22870,7 +22876,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
228705228765
228710228770
228720228780
228732287911
22874272288027
2287522881
22876272288227
...@@ -25091,6 +25097,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -25091,6 +25097,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
250915250975
250925250985
250930250990
2510041
250940 13251010 13
25095402510240
250960 13251030 13
...@@ -25776,22 +25783,22 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -25776,22 +25783,22 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
257760257830
257770257840
25778122578512
25779352578635 41
25780352578735 41
25781372578837 41
25782372578937 41
25783372579037 41
25784372579137 41
25785372579237 41
25786352579335 41
25787352579435 41
25788352579535 41
25789372579637 41
25790372579737 41
25791372579837 41
25792372579937 41
25793372580037 41
25794352580135 41
257950258020
25796122580312
257970258040
...@@ -26596,7 +26603,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -26596,7 +26603,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
265965266035
265970266040
265980266050
265992660611
26600272660727
2660126608
26602272660927
...@@ -28817,6 +28824,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -28817,6 +28824,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
288175288245
288185288255
288190288260
2882741
288200 13288280 13
28821402882940
288220 13288300 13
...@@ -29502,22 +29510,22 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -29502,22 +29510,22 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
295020295100
295030295110
29504122951212
29505352951335 41
29506352951435 41
2950729515
29508372951637 41
29509372951737 41
29510372951837 41
2951129519
29512352952035 41
29513352952135 41
29514352952235 41
2951529523
29516372952437 41
29517372952537 41
29518372952637 41
2951929527
29520352952835 41
295210295290
29522122953012
295230295310
...@@ -30322,7 +30330,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -30322,7 +30330,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
303225303305
303230303310
303240303320
303253033311
30326273033427
3032730335
30328273033627
...@@ -32543,6 +32551,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -32543,6 +32551,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
325435325515
325445325525
325450325530
3255441
325460 13325550 13
32547403255640
325480 13325570 13
...@@ -33228,22 +33237,22 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -33228,22 +33237,22 @@ mipsel-linux-gnueabi mips-linux-gnueabi
332280332370
332290332380
33230123323912
33231353324035 41
33232353324135 41
3323333242
33234373324337 41
33235373324437 41
33236373324537 41
3323733246
33238353324735 41
33239353324835 41
33240353324935 41
3324133250
33242373325137 41
33243373325237 41
33244373325337 41
3324533254
33246353325535 41
332470332560
33248123325712
332490332580
...@@ -34048,7 +34057,7 @@ x86_64-linux-gnu...@@ -34048,7 +34057,7 @@ x86_64-linux-gnu
34048103405710
34049103405810
34050103405910
340513406011
34052273406127
34053363406236
34054273406327
...@@ -36269,6 +36278,7 @@ x86_64-linux-gnu...@@ -36269,6 +36278,7 @@ x86_64-linux-gnu
36269103627810
36270103627910
36271103628010
3628141
3627210 133628210 13
36273403628340
3627410 133628410 13
...@@ -36954,22 +36964,22 @@ x86_64-linux-gnu...@@ -36954,22 +36964,22 @@ x86_64-linux-gnu
36954103696410
36955103696510
36956123696612
36957353696735 41
36958353696835 41
36959363696936 41
36960373697037 41
36961373697137 41
36962373697237 41
36963373697337 41
36964353697435 41
36965353697535 41
36966353697635 41
36967363697736 41
36968373697837 41
36969373697937 41
36970373698037 41
36971373698137 41
36972353698235 41
36973103698310
36974123698412
36975103698510
...@@ -38600,11 +38610,11 @@ x86_64-linux-gnux32...@@ -38600,11 +38610,11 @@ x86_64-linux-gnux32
38600283861028
38601283861128
38602283861228
3860329 283861328 29
3860429 283861428 29
3860529 283861528 29
3860629 283861628 29
3860729 283861728 29
38608283861828
38609283861928
38610283862028
...@@ -39995,6 +40005,7 @@ x86_64-linux-gnux32...@@ -39995,6 +40005,7 @@ x86_64-linux-gnux32
39995284000528
39996284000628
39997284000728
4000841
39998284000928
39999404001040
40000284001128
...@@ -40680,22 +40691,22 @@ x86_64-linux-gnux32...@@ -40680,22 +40691,22 @@ x86_64-linux-gnux32
40680284069128
40681284069228
40682284069328
40683354069435 41
40684354069535 41
40685364069636 41
40686374069737 41
40687374069837 41
40688374069937 41
40689374070037 41
40690354070135 41
40691354070235 41
40692354070335 41
40693364070436 41
40694374070537 41
40695374070637 41
40696374070737 41
40697374070837 41
40698354070935 41
40699284071028
40700284071128
40701284071228
...@@ -41500,7 +41511,7 @@ i386-linux-gnu...@@ -41500,7 +41511,7 @@ i386-linux-gnu
415001415111
415010415120
415020415130
415033415143 11
41504274151527
41505364151636
41506274151727
...@@ -43721,6 +43732,7 @@ i386-linux-gnu...@@ -43721,6 +43732,7 @@ i386-linux-gnu
437215437325
437225437335
437230437340
4373541
437240 13437360 13
43725404373740
437260 13437380 13
...@@ -44406,22 +44418,22 @@ i386-linux-gnu...@@ -44406,22 +44418,22 @@ i386-linux-gnu
444060444180
444070444190
44408124442012
44409354442135 41
44410354442235 41
44411364442336 41
44412374442437 41
44413374442537 41
44414374442637 41
44415374442737 41
44416354442835 41
44417354442935 41
44418354443035 41
44419364443136 41
44420374443237 41
44421374443337 41
44422374443437 41
44423374443537 41
44424354443635 41
444250444370
44426124443812
444270444390
...@@ -47447,6 +47459,7 @@ powerpc64le-linux-gnu...@@ -47447,6 +47459,7 @@ powerpc64le-linux-gnu
47447294745929
47448294746029
47449294746129
4746241
47450294746329
47451404746440
47452294746529
...@@ -48132,22 +48145,22 @@ powerpc64le-linux-gnu...@@ -48132,22 +48145,22 @@ powerpc64le-linux-gnu
48132294814529
48133294814629
48134294814729
48135354814835 41
48136354814935 41
48137364815036 41
48138374815137 41
48139374815237 41
48140374815337 41
48141374815437 41
48142354815535 41
48143354815635 41
48144354815735 41
48145364815836 41
48146374815937 41
48147374816037 41
48148374816137 41
48149374816237 41
48150354816335 41
48151294816429
48152294816529
48153294816629
...@@ -51173,6 +51186,7 @@ powerpc64-linux-gnu...@@ -51173,6 +51186,7 @@ powerpc64-linux-gnu
51173125118612
51174125118712
51175125118812
5118941
5117612 135119012 13
51177405119140
5117812 135119212 13
...@@ -51858,22 +51872,22 @@ powerpc64-linux-gnu...@@ -51858,22 +51872,22 @@ powerpc64-linux-gnu
51858125187212
51859125187312
51860125187412
51861355187535 41
51862355187635 41
5186351877
51864375187837 41
51865375187937 41
51866375188037 41
5186751881
51868355188235 41
51869355188335 41
51870355188435 41
5187151885
51872375188637 41
51873375188737 41
51874375188837 41
5187551889
51876355189035 41
51877125189112
51878125189212
51879125189312
...@@ -52678,7 +52692,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -52678,7 +52692,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
526781526921
526790526930
526800526940
526813526953 11
52682275269627
5268352697
52684275269827
...@@ -54899,6 +54913,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -54899,6 +54913,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
548995549135
549005549145
549010549150
5491641
549020 13549170 13
54903405491840
549040 13549190 13
...@@ -55584,22 +55599,22 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -55584,22 +55599,22 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
555840555990
555850556000
55586125560112
55587355560235 41
55588355560335 41
5558955604
55590375560537 41
55591375560637 41
55592375560737 41
5559355608
55594355560935 41
55595355561035 41
55596355561135 41
5559755612
55598375561337 41
55599375561437 41
55600375561537 41
5560155616
55602355561735 41
556030556180
55604125561912
556050556200
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/fns.txt+1
...@@ -2734,6 +2734,7 @@ pthread_barrierattr_getpshared pthread...@@ -2734,6 +2734,7 @@ pthread_barrierattr_getpshared pthread
2734pthread_barrierattr_init pthread2734pthread_barrierattr_init pthread
2735pthread_barrierattr_setpshared pthread2735pthread_barrierattr_setpshared pthread
2736pthread_cancel pthread2736pthread_cancel pthread
2737pthread_clockjoin_np pthread
2737pthread_cond_broadcast c2738pthread_cond_broadcast c
2738pthread_cond_clockwait pthread2739pthread_cond_clockwait pthread
2739pthread_cond_destroy c2740pthread_cond_destroy c
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
lib/libc/glibc/vers.txt+1
...@@ -39,3 +39,4 @@ GLIBC_2.27...@@ -39,3 +39,4 @@ GLIBC_2.27
39GLIBC_2.2839GLIBC_2.28
40GLIBC_2.2940GLIBC_2.29
41GLIBC_2.3041GLIBC_2.30
42GLIBC_2.31
lib/libc/include/aarch64-linux-gnu/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
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI.1/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI.
2 Copyright (C) 2011-2019 Free Software Foundation, Inc.2 Copyright (C) 2011-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
...@@ -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 _FCNTL_H20#ifndef _FCNTL_H
21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/aarch64-linux-gnu/bits/fenv.h+3-3
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _FENV_H19#ifndef _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -73,7 +73,7 @@ fenv_t;...@@ -73,7 +73,7 @@ fenv_t;
73# define FE_NOMASK_ENV ((const fenv_t *) -2)73# define FE_NOMASK_ENV ((const fenv_t *) -2)
74#endif74#endif
7575
76#if __GLIBC_USE (IEC_60559_BFP_EXT)76#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
77/* Type representing floating-point control modes. */77/* Type representing floating-point control modes. */
78typedef unsigned int femode_t;78typedef unsigned int femode_t;
7979
lib/libc/include/aarch64-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define FP_FAST_* macros. AArch64 version.1/* Define FP_FAST_* macros. AArch64 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
lib/libc/include/aarch64-linux-gnu/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP. AArch64 Linux version.1/* Defines for bits in AT_HWCAP. AArch64 Linux version.
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#if !defined (_SYS_AUXV_H)19#if !defined (_SYS_AUXV_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/aarch64-linux-gnu/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 __uid_t uid; /* Owner's user ID. */
46 __gid_t gid; /* Owner's group ID. */
47 __uid_t cuid; /* Creator's user ID. */
48 __gid_t cgid; /* Creator's group ID. */
49 unsigned int mode; /* Read/write permission. */
50 unsigned short int __seq; /* Sequence number. */
51 unsigned short int __pad1;
52 __syscall_ulong_t __glibc_reserved1;
53 __syscall_ulong_t __glibc_reserved2;
54 };
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/link.h+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.
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 _LINK_H19#ifndef _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."20# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/aarch64-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. Linux version.1/* Minimum guaranteed maximum values for system limits. Linux version.
2 Copyright (C) 1993-2019 Free Software Foundation, Inc.2 Copyright (C) 1993-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
...@@ -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/* The kernel header pollutes the namespace with the NR_OPEN symbol20/* The kernel header pollutes the namespace with the NR_OPEN symbol
21 and defines LINK_MAX although filesystems have different maxima. A21 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/aarch64-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-128 version.1/* Properties of long double type. ldbl-128 version.
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,8 @@...@@ -14,7 +14,8 @@
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/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */
\ No newline at end of file
20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. AArch64 version.1/* Types for registers for sys/procfs.h. AArch64 version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/aarch64-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/bits/semaphore.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#ifndef _SEMAPHORE_H19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/aarch64-linux-gnu/bits/setjmp.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 _BITS_SETJMP_H19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 120#define _BITS_SETJMP_H 1
lib/libc/include/aarch64-linux-gnu/bits/sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigstack, sigaltstack definitions.1/* sigstack, sigaltstack definitions.
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; 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_SIGSTACK_H19#ifndef _BITS_SIGSTACK_H
20#define _BITS_SIGSTACK_H 120#define _BITS_SIGSTACK_H 1
lib/libc/include/aarch64-linux-gnu/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/include/aarch64-linux-gnu/bits/statfs.h+4-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,13 +14,13 @@...@@ -14,13 +14,13 @@
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_STATFS_H19#ifndef _SYS_STATFS_H
20# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."20# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
21#endif21#endif
2222
23#include <endian.h>23#include <bits/endian.h>
24#include <bits/types.h>24#include <bits/types.h>
25#include <bits/wordsize.h>25#include <bits/wordsize.h>
2626
...@@ -34,7 +34,7 @@...@@ -34,7 +34,7 @@
3434
35#if defined __USE_FILE_OFFSET6435#if defined __USE_FILE_OFFSET64
36# define __field64(type, type64, name) type64 name36# define __field64(type, type64, name) type64 name
37#elif __WORDSIZE == 6437#elif __WORDSIZE == 64 || __STATFS_MATCHES_STATFS64
38# define __field64(type, type64, name) type name38# define __field64(type, type64, name) type name
39#elif __BYTE_ORDER == __LITTLE_ENDIAN39#elif __BYTE_ORDER == __LITTLE_ENDIAN
40# define __field64(type, type64, name) \40# define __field64(type, type64, name) \
lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h created+41
...@@ -0,0 +1,41 @@
1/* AArch64 internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 unsigned int __flags;
36};
37
38#define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
39 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
40
41#endif
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/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/include/aarch64-linux-gnu/bits/wordsize.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Determine the wordsize from the preprocessor defines.1/* Determine the wordsize from the preprocessor defines.
22
3 Copyright (C) 2016-2019 Free Software Foundation, Inc.3 Copyright (C) 2016-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#ifdef __LP64__20#ifdef __LP64__
21# define __WORDSIZE 6421# define __WORDSIZE 64
lib/libc/include/aarch64-linux-gnu/fpu_control.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 _AARCH64_FPU_CONTROL_H19#ifndef _AARCH64_FPU_CONTROL_H
20#define _AARCH64_FPU_CONTROL_H20#define _AARCH64_FPU_CONTROL_H
lib/libc/include/aarch64-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/aarch64-linux-gnu/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/include/aarch64-linux-gnu/sys/ptrace.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/AArch64 version.1/* `ptrace' debugger support interface. Linux/AArch64 version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PTRACE_H20#ifndef _SYS_PTRACE_H
21#define _SYS_PTRACE_H 121#define _SYS_PTRACE_H 1
...@@ -136,8 +136,12 @@ enum __ptrace_request...@@ -136,8 +136,12 @@ enum __ptrace_request
136#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER136#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
137137
138 /* Get seccomp BPF filter metadata. */138 /* Get seccomp BPF filter metadata. */
139 PTRACE_SECCOMP_GET_METADATA = 0x420d139 PTRACE_SECCOMP_GET_METADATA = 0x420d,
140#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA140#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
141
142 /* Get information about system call. */
143 PTRACE_GET_SYSCALL_INFO = 0x420e
144#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
141};145};
142146
143147
lib/libc/include/aarch64-linux-gnu/sys/ucontext.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.
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/* System V/AArch64 ABI compliant context switching support. */19/* System V/AArch64 ABI compliant context switching support. */
2020
lib/libc/include/aarch64-linux-gnu/sys/user.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2009-2019 Free Software Foundation, Inc.1/* Copyright (C) 2009-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_USER_H19#ifndef _SYS_USER_H
20#define _SYS_USER_H 120#define _SYS_USER_H 1
lib/libc/include/aarch64_be-linux-gnu/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
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI.1/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI.
2 Copyright (C) 2011-2019 Free Software Foundation, Inc.2 Copyright (C) 2011-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
...@@ -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 _FCNTL_H20#ifndef _FCNTL_H
21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h+3-3
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _FENV_H19#ifndef _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -73,7 +73,7 @@ fenv_t;...@@ -73,7 +73,7 @@ fenv_t;
73# define FE_NOMASK_ENV ((const fenv_t *) -2)73# define FE_NOMASK_ENV ((const fenv_t *) -2)
74#endif74#endif
7575
76#if __GLIBC_USE (IEC_60559_BFP_EXT)76#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
77/* Type representing floating-point control modes. */77/* Type representing floating-point control modes. */
78typedef unsigned int femode_t;78typedef unsigned int femode_t;
7979
lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define FP_FAST_* macros. AArch64 version.1/* Define FP_FAST_* macros. AArch64 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP. AArch64 Linux version.1/* Defines for bits in AT_HWCAP. AArch64 Linux version.
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#if !defined (_SYS_AUXV_H)19#if !defined (_SYS_AUXV_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/aarch64_be-linux-gnu/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 __uid_t uid; /* Owner's user ID. */
46 __gid_t gid; /* Owner's group ID. */
47 __uid_t cuid; /* Creator's user ID. */
48 __gid_t cgid; /* Creator's group ID. */
49 unsigned int mode; /* Read/write permission. */
50 unsigned short int __seq; /* Sequence number. */
51 unsigned short int __pad1;
52 __syscall_ulong_t __glibc_reserved1;
53 __syscall_ulong_t __glibc_reserved2;
54 };
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/link.h+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.
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 _LINK_H19#ifndef _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."20# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/aarch64_be-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. Linux version.1/* Minimum guaranteed maximum values for system limits. Linux version.
2 Copyright (C) 1993-2019 Free Software Foundation, Inc.2 Copyright (C) 1993-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
...@@ -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/* The kernel header pollutes the namespace with the NR_OPEN symbol20/* The kernel header pollutes the namespace with the NR_OPEN symbol
21 and defines LINK_MAX although filesystems have different maxima. A21 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-128 version.1/* Properties of long double type. ldbl-128 version.
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,8 @@...@@ -14,7 +14,8 @@
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/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */
\ No newline at end of file
20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. AArch64 version.1/* Types for registers for sys/procfs.h. AArch64 version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/aarch64_be-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.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#ifndef _SEMAPHORE_H19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.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 _BITS_SETJMP_H19#ifndef _BITS_SETJMP_H
20#define _BITS_SETJMP_H 120#define _BITS_SETJMP_H 1
lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigstack, sigaltstack definitions.1/* sigstack, sigaltstack definitions.
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; 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_SIGSTACK_H19#ifndef _BITS_SIGSTACK_H
20#define _BITS_SIGSTACK_H 120#define _BITS_SIGSTACK_H 1
lib/libc/include/aarch64_be-linux-gnu/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/include/aarch64_be-linux-gnu/bits/statfs.h+4-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,13 +14,13 @@...@@ -14,13 +14,13 @@
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_STATFS_H19#ifndef _SYS_STATFS_H
20# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."20# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
21#endif21#endif
2222
23#include <endian.h>23#include <bits/endian.h>
24#include <bits/types.h>24#include <bits/types.h>
25#include <bits/wordsize.h>25#include <bits/wordsize.h>
2626
...@@ -34,7 +34,7 @@...@@ -34,7 +34,7 @@
3434
35#if defined __USE_FILE_OFFSET6435#if defined __USE_FILE_OFFSET64
36# define __field64(type, type64, name) type64 name36# define __field64(type, type64, name) type64 name
37#elif __WORDSIZE == 6437#elif __WORDSIZE == 64 || __STATFS_MATCHES_STATFS64
38# define __field64(type, type64, name) type name38# define __field64(type, type64, name) type name
39#elif __BYTE_ORDER == __LITTLE_ENDIAN39#elif __BYTE_ORDER == __LITTLE_ENDIAN
40# define __field64(type, type64, name) \40# define __field64(type, type64, name) \
lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h created+41
...@@ -0,0 +1,41 @@
1/* AArch64 internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 unsigned int __flags;
36};
37
38#define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
39 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
40
41#endif
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/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/include/aarch64_be-linux-gnu/bits/wordsize.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Determine the wordsize from the preprocessor defines.1/* Determine the wordsize from the preprocessor defines.
22
3 Copyright (C) 2016-2019 Free Software Foundation, Inc.3 Copyright (C) 2016-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#ifdef __LP64__20#ifdef __LP64__
21# define __WORDSIZE 6421# define __WORDSIZE 64
lib/libc/include/aarch64_be-linux-gnu/fpu_control.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 _AARCH64_FPU_CONTROL_H19#ifndef _AARCH64_FPU_CONTROL_H
20#define _AARCH64_FPU_CONTROL_H20#define _AARCH64_FPU_CONTROL_H
lib/libc/include/aarch64_be-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/aarch64_be-linux-gnu/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/include/aarch64_be-linux-gnu/sys/ptrace.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/AArch64 version.1/* `ptrace' debugger support interface. Linux/AArch64 version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PTRACE_H20#ifndef _SYS_PTRACE_H
21#define _SYS_PTRACE_H 121#define _SYS_PTRACE_H 1
...@@ -136,8 +136,12 @@ enum __ptrace_request...@@ -136,8 +136,12 @@ enum __ptrace_request
136#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER136#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
137137
138 /* Get seccomp BPF filter metadata. */138 /* Get seccomp BPF filter metadata. */
139 PTRACE_SECCOMP_GET_METADATA = 0x420d139 PTRACE_SECCOMP_GET_METADATA = 0x420d,
140#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA140#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
141
142 /* Get information about system call. */
143 PTRACE_GET_SYSCALL_INFO = 0x420e
144#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
141};145};
142146
143147
lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.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.
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/* System V/AArch64 ABI compliant context switching support. */19/* System V/AArch64 ABI compliant context switching support. */
2020
lib/libc/include/aarch64_be-linux-gnu/sys/user.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2009-2019 Free Software Foundation, Inc.1/* Copyright (C) 2009-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_USER_H19#ifndef _SYS_USER_H
20#define _SYS_USER_H 120#define _SYS_USER_H 1
lib/libc/include/arm-linux-gnueabi/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
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/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 */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux.1/* O_*, F_*, FD_* bit values for Linux.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/arm-linux-gnueabi/bits/fenv.h+3-3
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -81,7 +81,7 @@ fenv_t;...@@ -81,7 +81,7 @@ fenv_t;
81# define FE_NOMASK_ENV ((const fenv_t *) -2)81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif82#endif
8383
84#if __GLIBC_USE (IEC_60559_BFP_EXT)84#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
85/* Type representing floating-point control modes. */85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;86typedef unsigned int femode_t;
8787
lib/libc/include/arm-linux-gnueabi/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features.1/* Macros to control TS 18661-3 glibc features.
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/* Defined to 1 if the current compiler invocation provides a19/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc20 floating-point type with the IEEE 754 binary128 format, and this glibc
lib/libc/include/arm-linux-gnueabi/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.1/* Defines for bits in AT_HWCAP. ARM Linux 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#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)19#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/arm-linux-gnueabi/bits/link.h+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
...@@ -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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/arm-linux-gnueabi/bits/long-double.h+4-3
...@@ -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
...@@ -36,4 +36,5 @@...@@ -36,4 +36,5 @@
36 ABI-compatible with double. */36 ABI-compatible with double. */
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#endif
\ No newline at end of file
39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/arm-linux-gnueabi/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. Arm version.1/* Types for registers for sys/procfs.h. Arm 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/arm-linux-gnueabi/bits/pthreadtypes-arch.h deleted-71
...@@ -1,71 +0,0 @@
1/* Copyright (C) 2002-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#ifndef _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 1
20
21#include <endian.h>
22
23#define __SIZEOF_PTHREAD_ATTR_T 36
24#define __SIZEOF_PTHREAD_MUTEX_T 24
25#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
26#define __SIZEOF_PTHREAD_COND_T 48
27#define __SIZEOF_PTHREAD_CONDATTR_T 4
28#define __SIZEOF_PTHREAD_RWLOCK_T 32
29#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
30#define __SIZEOF_PTHREAD_BARRIER_T 20
31#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
32
33/* Data structure for mutex handling. */
34#define __PTHREAD_COMPAT_PADDING_MID
35#define __PTHREAD_COMPAT_PADDING_END
36#define __PTHREAD_MUTEX_LOCK_ELISION 0
37#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 1
38#define __PTHREAD_MUTEX_USE_UNION 1
39
40#define __LOCK_ALIGNMENT
41#define __ONCE_ALIGNMENT
42
43struct __pthread_rwlock_arch_t
44{
45 unsigned int __readers;
46 unsigned int __writers;
47 unsigned int __wrphase_futex;
48 unsigned int __writers_futex;
49 unsigned int __pad3;
50 unsigned int __pad4;
51#if __BYTE_ORDER == __BIG_ENDIAN
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#else
59 /* FLAGS must stay at this position in the structure to maintain
60 binary compatibility. */
61 unsigned char __flags;
62 unsigned char __shared;
63 unsigned char __pad1;
64 unsigned char __pad2;
65#endif
66 int __cur_writer;
67};
68
69#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
70
71#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/semaphore.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.
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 _SEMAPHORE_H18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/arm-linux-gnueabi/bits/setjmp.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 the machine-dependent type `jmp_buf'. ARM EABI version. */18/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
1919
lib/libc/include/arm-linux-gnueabi/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. ARM version.1/* Define SHMLBA. ARM 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/arm-linux-gnueabi/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/include/arm-linux-gnueabi/bits/struct_rwlock.h created+61
...@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-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 __RWLOCK_INTERNAL_H
20#define __RWLOCK_INTERNAL_H
21
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabi/bits/wordsize.h+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#define __WORDSIZE 3218#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 019#define __WORDSIZE_TIME64_COMPAT32 0
lib/libc/include/arm-linux-gnueabi/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word definitions. ARM VFP version.1/* FPU control word definitions. ARM VFP version.
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#ifndef _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/arm-linux-gnueabi/sys/ptrace.h+6-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/ARM version.1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -196,8 +196,12 @@ enum __ptrace_request...@@ -196,8 +196,12 @@ enum __ptrace_request
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197197
198 /* Get seccomp BPF filter metadata. */198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
201};205};
202206
203207
lib/libc/include/arm-linux-gnueabi/sys/ucontext.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/* System V/ARM ABI compliant context switching support. */18/* System V/ARM ABI compliant context switching support. */
1919
lib/libc/include/arm-linux-gnueabi/sys/user.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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/arm-linux-gnueabihf/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
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/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 */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux.1/* O_*, F_*, FD_* bit values for Linux.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/arm-linux-gnueabihf/bits/fenv.h+3-3
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -81,7 +81,7 @@ fenv_t;...@@ -81,7 +81,7 @@ fenv_t;
81# define FE_NOMASK_ENV ((const fenv_t *) -2)81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif82#endif
8383
84#if __GLIBC_USE (IEC_60559_BFP_EXT)84#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
85/* Type representing floating-point control modes. */85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;86typedef unsigned int femode_t;
8787
lib/libc/include/arm-linux-gnueabihf/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features.1/* Macros to control TS 18661-3 glibc features.
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/* Defined to 1 if the current compiler invocation provides a19/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc20 floating-point type with the IEEE 754 binary128 format, and this glibc
lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.1/* Defines for bits in AT_HWCAP. ARM Linux 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#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)19#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/arm-linux-gnueabihf/bits/link.h+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
...@@ -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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/arm-linux-gnueabihf/bits/long-double.h+4-3
...@@ -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
...@@ -36,4 +36,5 @@...@@ -36,4 +36,5 @@
36 ABI-compatible with double. */36 ABI-compatible with double. */
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#endif
\ No newline at end of file
39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/arm-linux-gnueabihf/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. Arm version.1/* Types for registers for sys/procfs.h. Arm 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h deleted-71
...@@ -1,71 +0,0 @@
1/* Copyright (C) 2002-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#ifndef _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 1
20
21#include <endian.h>
22
23#define __SIZEOF_PTHREAD_ATTR_T 36
24#define __SIZEOF_PTHREAD_MUTEX_T 24
25#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
26#define __SIZEOF_PTHREAD_COND_T 48
27#define __SIZEOF_PTHREAD_CONDATTR_T 4
28#define __SIZEOF_PTHREAD_RWLOCK_T 32
29#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
30#define __SIZEOF_PTHREAD_BARRIER_T 20
31#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
32
33/* Data structure for mutex handling. */
34#define __PTHREAD_COMPAT_PADDING_MID
35#define __PTHREAD_COMPAT_PADDING_END
36#define __PTHREAD_MUTEX_LOCK_ELISION 0
37#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 1
38#define __PTHREAD_MUTEX_USE_UNION 1
39
40#define __LOCK_ALIGNMENT
41#define __ONCE_ALIGNMENT
42
43struct __pthread_rwlock_arch_t
44{
45 unsigned int __readers;
46 unsigned int __writers;
47 unsigned int __wrphase_futex;
48 unsigned int __writers_futex;
49 unsigned int __pad3;
50 unsigned int __pad4;
51#if __BYTE_ORDER == __BIG_ENDIAN
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#else
59 /* FLAGS must stay at this position in the structure to maintain
60 binary compatibility. */
61 unsigned char __flags;
62 unsigned char __shared;
63 unsigned char __pad1;
64 unsigned char __pad2;
65#endif
66 int __cur_writer;
67};
68
69#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
70
71#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/semaphore.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.
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 _SEMAPHORE_H18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 the machine-dependent type `jmp_buf'. ARM EABI version. */18/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
1919
lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. ARM version.1/* Define SHMLBA. ARM 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/arm-linux-gnueabihf/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/include/arm-linux-gnueabihf/bits/struct_rwlock.h created+61
...@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-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 __RWLOCK_INTERNAL_H
20#define __RWLOCK_INTERNAL_H
21
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h+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#define __WORDSIZE 3218#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 019#define __WORDSIZE_TIME64_COMPAT32 0
lib/libc/include/arm-linux-gnueabihf/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word definitions. ARM VFP version.1/* FPU control word definitions. ARM VFP version.
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#ifndef _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h+6-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/ARM version.1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -196,8 +196,12 @@ enum __ptrace_request...@@ -196,8 +196,12 @@ enum __ptrace_request
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197197
198 /* Get seccomp BPF filter metadata. */198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
201};205};
202206
203207
lib/libc/include/arm-linux-gnueabihf/sys/ucontext.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/* System V/ARM ABI compliant context switching support. */18/* System V/ARM ABI compliant context switching support. */
1919
lib/libc/include/arm-linux-gnueabihf/sys/user.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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/armeb-linux-gnueabi/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
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/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 */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux.1/* O_*, F_*, FD_* bit values for Linux.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/armeb-linux-gnueabi/bits/fenv.h+3-3
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -81,7 +81,7 @@ fenv_t;...@@ -81,7 +81,7 @@ fenv_t;
81# define FE_NOMASK_ENV ((const fenv_t *) -2)81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif82#endif
8383
84#if __GLIBC_USE (IEC_60559_BFP_EXT)84#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
85/* Type representing floating-point control modes. */85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;86typedef unsigned int femode_t;
8787
lib/libc/include/armeb-linux-gnueabi/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features.1/* Macros to control TS 18661-3 glibc features.
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/* Defined to 1 if the current compiler invocation provides a19/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc20 floating-point type with the IEEE 754 binary128 format, and this glibc
lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.1/* Defines for bits in AT_HWCAP. ARM Linux 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#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)19#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/armeb-linux-gnueabi/bits/link.h+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
...@@ -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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/armeb-linux-gnueabi/bits/long-double.h+4-3
...@@ -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
...@@ -36,4 +36,5 @@...@@ -36,4 +36,5 @@
36 ABI-compatible with double. */36 ABI-compatible with double. */
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#endif
\ No newline at end of file
39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/armeb-linux-gnueabi/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. Arm version.1/* Types for registers for sys/procfs.h. Arm 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/armeb-linux-gnueabi/bits/pthreadtypes-arch.h deleted-71
...@@ -1,71 +0,0 @@
1/* Copyright (C) 2002-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#ifndef _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 1
20
21#include <endian.h>
22
23#define __SIZEOF_PTHREAD_ATTR_T 36
24#define __SIZEOF_PTHREAD_MUTEX_T 24
25#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
26#define __SIZEOF_PTHREAD_COND_T 48
27#define __SIZEOF_PTHREAD_CONDATTR_T 4
28#define __SIZEOF_PTHREAD_RWLOCK_T 32
29#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
30#define __SIZEOF_PTHREAD_BARRIER_T 20
31#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
32
33/* Data structure for mutex handling. */
34#define __PTHREAD_COMPAT_PADDING_MID
35#define __PTHREAD_COMPAT_PADDING_END
36#define __PTHREAD_MUTEX_LOCK_ELISION 0
37#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 1
38#define __PTHREAD_MUTEX_USE_UNION 1
39
40#define __LOCK_ALIGNMENT
41#define __ONCE_ALIGNMENT
42
43struct __pthread_rwlock_arch_t
44{
45 unsigned int __readers;
46 unsigned int __writers;
47 unsigned int __wrphase_futex;
48 unsigned int __writers_futex;
49 unsigned int __pad3;
50 unsigned int __pad4;
51#if __BYTE_ORDER == __BIG_ENDIAN
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#else
59 /* FLAGS must stay at this position in the structure to maintain
60 binary compatibility. */
61 unsigned char __flags;
62 unsigned char __shared;
63 unsigned char __pad1;
64 unsigned char __pad2;
65#endif
66 int __cur_writer;
67};
68
69#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
70
71#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/semaphore.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.
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 _SEMAPHORE_H18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 the machine-dependent type `jmp_buf'. ARM EABI version. */18/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
1919
lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. ARM version.1/* Define SHMLBA. ARM 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/armeb-linux-gnueabi/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/include/armeb-linux-gnueabi/bits/struct_rwlock.h created+61
...@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-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 __RWLOCK_INTERNAL_H
20#define __RWLOCK_INTERNAL_H
21
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h+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#define __WORDSIZE 3218#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 019#define __WORDSIZE_TIME64_COMPAT32 0
lib/libc/include/armeb-linux-gnueabi/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word definitions. ARM VFP version.1/* FPU control word definitions. ARM VFP version.
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#ifndef _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h+6-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/ARM version.1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -196,8 +196,12 @@ enum __ptrace_request...@@ -196,8 +196,12 @@ enum __ptrace_request
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197197
198 /* Get seccomp BPF filter metadata. */198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
201};205};
202206
203207
lib/libc/include/armeb-linux-gnueabi/sys/ucontext.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/* System V/ARM ABI compliant context switching support. */18/* System V/ARM ABI compliant context switching support. */
1919
lib/libc/include/armeb-linux-gnueabi/sys/user.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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/armeb-linux-gnueabihf/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
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/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 */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux.1/* O_*, F_*, FD_* bit values for Linux.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h+3-3
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -81,7 +81,7 @@ fenv_t;...@@ -81,7 +81,7 @@ fenv_t;
81# define FE_NOMASK_ENV ((const fenv_t *) -2)81# define FE_NOMASK_ENV ((const fenv_t *) -2)
82#endif82#endif
8383
84#if __GLIBC_USE (IEC_60559_BFP_EXT)84#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
85/* Type representing floating-point control modes. */85/* Type representing floating-point control modes. */
86typedef unsigned int femode_t;86typedef unsigned int femode_t;
8787
lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features.1/* Macros to control TS 18661-3 glibc features.
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/* Defined to 1 if the current compiler invocation provides a19/* Defined to 1 if the current compiler invocation provides a
20 floating-point type with the IEEE 754 binary128 format, and this glibc20 floating-point type with the IEEE 754 binary128 format, and this glibc
lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP. ARM Linux version.1/* Defines for bits in AT_HWCAP. ARM Linux 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#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)19#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/armeb-linux-gnueabihf/bits/link.h+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
...@@ -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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h+4-3
...@@ -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
...@@ -36,4 +36,5 @@...@@ -36,4 +36,5 @@
36 ABI-compatible with double. */36 ABI-compatible with double. */
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#endif
\ No newline at end of file
39#endif
40#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. Arm version.1/* Types for registers for sys/procfs.h. Arm 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/armeb-linux-gnueabihf/bits/pthreadtypes-arch.h deleted-71
...@@ -1,71 +0,0 @@
1/* Copyright (C) 2002-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#ifndef _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 1
20
21#include <endian.h>
22
23#define __SIZEOF_PTHREAD_ATTR_T 36
24#define __SIZEOF_PTHREAD_MUTEX_T 24
25#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
26#define __SIZEOF_PTHREAD_COND_T 48
27#define __SIZEOF_PTHREAD_CONDATTR_T 4
28#define __SIZEOF_PTHREAD_RWLOCK_T 32
29#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
30#define __SIZEOF_PTHREAD_BARRIER_T 20
31#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
32
33/* Data structure for mutex handling. */
34#define __PTHREAD_COMPAT_PADDING_MID
35#define __PTHREAD_COMPAT_PADDING_END
36#define __PTHREAD_MUTEX_LOCK_ELISION 0
37#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND 1
38#define __PTHREAD_MUTEX_USE_UNION 1
39
40#define __LOCK_ALIGNMENT
41#define __ONCE_ALIGNMENT
42
43struct __pthread_rwlock_arch_t
44{
45 unsigned int __readers;
46 unsigned int __writers;
47 unsigned int __wrphase_futex;
48 unsigned int __writers_futex;
49 unsigned int __pad3;
50 unsigned int __pad4;
51#if __BYTE_ORDER == __BIG_ENDIAN
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#else
59 /* FLAGS must stay at this position in the structure to maintain
60 binary compatibility. */
61 unsigned char __flags;
62 unsigned char __shared;
63 unsigned char __pad1;
64 unsigned char __pad2;
65#endif
66 int __cur_writer;
67};
68
69#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
70
71#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/semaphore.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.
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 _SEMAPHORE_H18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 the machine-dependent type `jmp_buf'. ARM EABI version. */18/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
1919
lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. ARM version.1/* Define SHMLBA. ARM 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/armeb-linux-gnueabihf/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/include/armeb-linux-gnueabihf/bits/struct_rwlock.h created+61
...@@ -0,0 +1,61 @@
1/* Default read-write lock implementation struct definitions.
2 Copyright (C) 2019-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 __RWLOCK_INTERNAL_H
20#define __RWLOCK_INTERNAL_H
21
22#include <bits/endian.h>
23
24/* Generic struct for both POSIX read-write lock. New ports are expected
25 to use the default layout, however archictetures can redefine it to add
26 arch-specific extensions (such as lock-elision). The struct have a size
27 of 32 bytes on both LP32 and LP64 architectures. */
28
29struct __pthread_rwlock_arch_t
30{
31 unsigned int __readers;
32 unsigned int __writers;
33 unsigned int __wrphase_futex;
34 unsigned int __writers_futex;
35 unsigned int __pad3;
36 unsigned int __pad4;
37 /* FLAGS must stay at its position in the structure to maintain
38 binary compatibility. */
39#if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 unsigned char __flags;
44#else
45 unsigned char __flags;
46 unsigned char __shared;
47 unsigned char __pad1;
48 unsigned char __pad2;
49#endif
50 int __cur_writer;
51};
52
53#if __BYTE_ORDER == __BIG_ENDIAN
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h+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#define __WORDSIZE 3218#define __WORDSIZE 32
19#define __WORDSIZE_TIME64_COMPAT32 019#define __WORDSIZE_TIME64_COMPAT32 0
lib/libc/include/armeb-linux-gnueabihf/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word definitions. ARM VFP version.1/* FPU control word definitions. ARM VFP version.
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#ifndef _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h+6-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/ARM version.1/* `ptrace' debugger support interface. Linux/ARM version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -196,8 +196,12 @@ enum __ptrace_request...@@ -196,8 +196,12 @@ enum __ptrace_request
196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER196#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
197197
198 /* Get seccomp BPF filter metadata. */198 /* Get seccomp BPF filter metadata. */
199 PTRACE_SECCOMP_GET_METADATA = 0x420d199 PTRACE_SECCOMP_GET_METADATA = 0x420d,
200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA200#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
201
202 /* Get information about system call. */
203 PTRACE_GET_SYSCALL_INFO = 0x420e
204#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
201};205};
202206
203207
lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.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/* System V/ARM ABI compliant context switching support. */18/* System V/ARM ABI compliant context switching support. */
1919
lib/libc/include/armeb-linux-gnueabihf/sys/user.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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/generic-glibc/aio.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/*18/*
19 * ISO/IEC 9945-1:1996 6.7: Asynchronous Input and Output19 * ISO/IEC 9945-1:1996 6.7: Asynchronous Input and Output
lib/libc/include/generic-glibc/aliases.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 _ALIASES_H18#ifndef _ALIASES_H
19#define _ALIASES_H 119#define _ALIASES_H 1
lib/libc/include/generic-glibc/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/include/generic-glibc/ar.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Header describing `ar' archive file format.1/* Header describing `ar' archive file format.
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 _AR_H19#ifndef _AR_H
20#define _AR_H 120#define _AR_H 1
lib/libc/include/generic-glibc/argp.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Hierarchial argument parsing, layered over getopt.1/* Hierarchial argument parsing, layered over getopt.
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.
4 Written by Miles Bader <miles@gnu.ai.mit.edu>.4 Written by Miles Bader <miles@gnu.ai.mit.edu>.
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 _ARGP_H20#ifndef _ARGP_H
21#define _ARGP_H21#define _ARGP_H
lib/libc/include/generic-glibc/argz.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Routines for dealing with '\0' separated arg vectors.1/* Routines for dealing with '\0' separated arg vectors.
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 _ARGZ_H19#ifndef _ARGZ_H
20#define _ARGZ_H 120#define _ARGZ_H 1
lib/libc/include/generic-glibc/arpa/inet.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 _ARPA_INET_H18#ifndef _ARPA_INET_H
19#define _ARPA_INET_H 119#define _ARPA_INET_H 1
lib/libc/include/generic-glibc/assert.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.2 Diagnostics <assert.h>19 * ISO C99 Standard: 7.2 Diagnostics <assert.h>
lib/libc/include/generic-glibc/bits/argp-ldbl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Redirections for argp functions for -mlong-double-64.1/* Redirections for argp functions for -mlong-double-64.
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 _ARGP_H19#ifndef _ARGP_H
20# error "Never include <bits/argp-ldbl.h> directly; use <argp.h> instead."20# error "Never include <bits/argp-ldbl.h> directly; use <argp.h> instead."
lib/libc/include/generic-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/include/generic-glibc/bits/cmathcalls.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Prototype declarations for complex math functions;1/* Prototype declarations for complex math functions;
2 helper file for <complex.h>.2 helper file for <complex.h>.
3 Copyright (C) 1997-2019 Free Software Foundation, Inc.3 Copyright (C) 1997-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/* NOTE: Because of the special way this file is used by <complex.h>, this20/* NOTE: Because of the special way this file is used by <complex.h>, this
21 file must NOT be protected from multiple inclusion as header files21 file must NOT be protected from multiple inclusion as header files
lib/libc/include/generic-glibc/bits/confname.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.1/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
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.
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 _UNISTD_H19#ifndef _UNISTD_H
20# error "Never use <bits/confname.h> directly; include <unistd.h> instead."20# error "Never use <bits/confname.h> directly; include <unistd.h> instead."
lib/libc/include/generic-glibc/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/include/generic-glibc/bits/dirent.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 _DIRENT_H18#ifndef _DIRENT_H
19# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."19# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
lib/libc/include/generic-glibc/bits/dirent_ext.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific extensions of <dirent.h>. Linux version.1/* System-specific extensions of <dirent.h>. 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 _DIRENT_H19#ifndef _DIRENT_H
20# error "Never include <bits/dirent_ext.h> directly; use <dirent.h> instead."20# error "Never include <bits/dirent_ext.h> directly; use <dirent.h> instead."
lib/libc/include/generic-glibc/bits/dlfcn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System dependent definitions for run-time dynamic loading.1/* System dependent definitions for run-time dynamic loading.
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 _DLFCN_H19#ifndef _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
lib/libc/include/generic-glibc/bits/endian.h+45-11
...@@ -1,15 +1,49 @@...@@ -1,15 +1,49 @@
1/* The MIPS architecture has selectable endianness.1/* Endian macros for string.h functions
2 It exists in both little and big endian flavours and we2 Copyright (C) 1992-2020 Free Software Foundation, Inc.
3 want to be able to share the installed header files between3 This file is part of the GNU C Library.
4 both, so we define __BYTE_ORDER based on GCC's predefines. */
54
6#ifndef _ENDIAN_H5 The GNU C Library is free software; you can redistribute it and/or
7# error "Never use <bits/endian.h> directly; include <endian.h> instead."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
8#endif41#endif
942
10#ifdef __MIPSEB43#if __BYTE_ORDER == __LITTLE_ENDIAN
11# define __BYTE_ORDER __BIG_ENDIAN44# define __LONG_LONG_PAIR(HI, LO) LO, HI
45#elif __BYTE_ORDER == __BIG_ENDIAN
46# define __LONG_LONG_PAIR(HI, LO) HI, LO
12#endif47#endif
13#ifdef __MIPSEL
14# define __BYTE_ORDER __LITTLE_ENDIAN
15#endif
\ No newline at end of file
48
49#endif /* bits/endian.h */
\ No newline at end of file
lib/libc/include/generic-glibc/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 */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/generic-glibc/bits/epoll.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.
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_EPOLL_H18#ifndef _SYS_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
lib/libc/include/generic-glibc/bits/err-ldbl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Redirections for err.h functions for -mlong-double-64.1/* Redirections for err.h functions for -mlong-double-64.
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 _ERR_H19#ifndef _ERR_H
20# error "Never include <bits/err-ldbl.h> directly; use <err.h> instead."20# error "Never include <bits/err-ldbl.h> directly; use <err.h> instead."
lib/libc/include/generic-glibc/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. Linux specific version.1/* Error constants. Linux specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
20#define _BITS_ERRNO_H 120#define _BITS_ERRNO_H 1
lib/libc/include/generic-glibc/bits/error-ldbl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Redirections for error.h functions for -mlong-double-64.1/* Redirections for error.h functions for -mlong-double-64.
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 _ERROR_H19#ifndef _ERROR_H
20# error "Never include <bits/error-ldbl.h> directly; use <error.h> instead."20# error "Never include <bits/error-ldbl.h> directly; use <error.h> instead."
lib/libc/include/generic-glibc/bits/error.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Specializations for error functions.1/* Specializations for error functions.
2 Copyright (C) 2007-2019 Free Software Foundation, Inc.2 Copyright (C) 2007-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 _ERROR_H19#ifndef _ERROR_H
20# error "Never include <bits/error.h> directly; use <error.h> instead."20# error "Never include <bits/error.h> directly; use <error.h> instead."
lib/libc/include/generic-glibc/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/generic-glibc/bits/fcntl-linux.h+7-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux.1/* O_*, F_*, FD_* bit values for Linux.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl-linux.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl-linux.h> directly; include <fcntl.h> instead."
...@@ -334,6 +334,11 @@ struct f_owner_ex...@@ -334,6 +334,11 @@ struct f_owner_ex
334# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in334# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in
335 the range after performing the335 the range after performing the
336 write. */336 write. */
337/* SYNC_FILE_RANGE_WRITE_AND_WAIT ensures all pages in the range are
338 written to disk before returning. */
339# define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE \
340 | SYNC_FILE_RANGE_WAIT_BEFORE \
341 | SYNC_FILE_RANGE_WAIT_AFTER)
337342
338/* Flags for SPLICE and VMSPLICE. */343/* Flags for SPLICE and VMSPLICE. */
339# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */344# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */
lib/libc/include/generic-glibc/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux.1/* O_*, F_*, FD_* bit values for Linux.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/generic-glibc/bits/fcntl2.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for fcntl functions.1/* Checking macros for fcntl functions.
2 Copyright (C) 2007-2019 Free Software Foundation, Inc.2 Copyright (C) 2007-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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never include <bits/fcntl2.h> directly; use <fcntl.h> instead."20# error "Never include <bits/fcntl2.h> directly; use <fcntl.h> instead."
lib/libc/include/generic-glibc/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -104,7 +104,7 @@ fenv_t;...@@ -104,7 +104,7 @@ fenv_t;
104# define FE_NOMASK_ENV ((const fenv_t *) -2)104# define FE_NOMASK_ENV ((const fenv_t *) -2)
105#endif105#endif
106106
107#if __GLIBC_USE (IEC_60559_BFP_EXT)107#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
108/* Type representing floating-point control modes. */108/* Type representing floating-point control modes. */
109typedef unsigned int femode_t;109typedef unsigned int femode_t;
110110
lib/libc/include/generic-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/include/generic-glibc/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on MIPS platforms.1/* Macros to control TS 18661-3 glibc features on MIPS platforms.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/generic-glibc/bits/flt-eval-method.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __GLIBC_FLT_EVAL_METHOD.1/* Define __GLIBC_FLT_EVAL_METHOD.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
lib/libc/include/generic-glibc/bits/fp-fast.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define FP_FAST_* macros.1/* Define FP_FAST_* macros.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
lib/libc/include/generic-glibc/bits/fp-logb.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN.1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
lib/libc/include/generic-glibc/bits/getopt_core.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declarations for getopt (basic, portable features only).1/* Declarations for getopt (basic, portable features only).
2 Copyright (C) 1989-2019 Free Software Foundation, Inc.2 Copyright (C) 1989-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library and is also part of gnulib.3 This file is part of the GNU C Library and is also part of gnulib.
4 Patches to this file should be submitted to both projects.4 Patches to this file should be submitted to both projects.
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 _GETOPT_CORE_H20#ifndef _GETOPT_CORE_H
21#define _GETOPT_CORE_H 121#define _GETOPT_CORE_H 1
lib/libc/include/generic-glibc/bits/getopt_ext.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declarations for getopt (GNU extensions).1/* Declarations for getopt (GNU extensions).
2 Copyright (C) 1989-2019 Free Software Foundation, Inc.2 Copyright (C) 1989-2020 Free Software Foundation, Inc.
3 This file is part of the GNU C Library and is also part of gnulib.3 This file is part of the GNU C Library and is also part of gnulib.
4 Patches to this file should be submitted to both projects.4 Patches to this file should be submitted to both projects.
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 _GETOPT_EXT_H20#ifndef _GETOPT_EXT_H
21#define _GETOPT_EXT_H 121#define _GETOPT_EXT_H 1
lib/libc/include/generic-glibc/bits/getopt_posix.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declarations for getopt (POSIX compatibility shim).1/* Declarations for getopt (POSIX compatibility shim).
2 Copyright (C) 1989-2019 Free Software Foundation, Inc.2 Copyright (C) 1989-2020 Free Software Foundation, Inc.
3 Unlike the bulk of the getopt implementation, this file is NOT part3 Unlike the bulk of the getopt implementation, this file is NOT part
4 of gnulib.4 of gnulib.
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 _GETOPT_POSIX_H20#ifndef _GETOPT_POSIX_H
21#define _GETOPT_POSIX_H 121#define _GETOPT_POSIX_H 1
lib/libc/include/generic-glibc/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP.1/* Defines for bits in AT_HWCAP.
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 _SYS_AUXV_H19#ifndef _SYS_AUXV_H
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/generic-glibc/bits/in.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/* Linux version. */18/* Linux version. */
1919
lib/libc/include/generic-glibc/bits/indirect-return.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of __INDIRECT_RETURN. Generic version.1/* Definition of __INDIRECT_RETURN. 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 _UCONTEXT_H19#ifndef _UCONTEXT_H
20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
lib/libc/include/generic-glibc/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/generic-glibc/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux version.1/* Structure types for pre-termios terminal ioctls. Linux 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 _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/generic-glibc/bits/ioctls.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_IOCTL_H18#ifndef _SYS_IOCTL_H
19# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."19# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/generic-glibc/bits/ipc-perm.h created+40
...@@ -0,0 +1,40 @@
1/* struct ipc_perm definition.
2 Copyright (C) 2019-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 _SYS_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations.
24 It follows the kernel ipc64_perm size so the syscall can be made directly
25 without temporary buffer copy. However, since glibc defines the MODE
26 field as mode_t per POSIX definition (BZ#18231), it omits the __PAD1 field
27 (since glibc does not export mode_t as 16-bit for any architecture). */
28struct ipc_perm
29{
30 __key_t __key; /* Key. */
31 __uid_t uid; /* Owner's user ID. */
32 __gid_t gid; /* Owner's group ID. */
33 __uid_t cuid; /* Creator's user ID. */
34 __gid_t cgid; /* Creator's group ID. */
35 __mode_t mode; /* Read/write permission. */
36 unsigned short int __seq; /* Sequence number. */
37 unsigned short int __pad2;
38 __syscall_ulong_t __glibc_reserved1;
39 __syscall_ulong_t __glibc_reserved2;
40};
\ No newline at end of file
lib/libc/include/generic-glibc/bits/ipc.h+3-18
...@@ -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_IPC_H18#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
...@@ -37,19 +37,4 @@...@@ -37,19 +37,4 @@
37/* Special key values. */37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
3939
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 __uid_t uid; /* Owner's user ID. */
46 __gid_t gid; /* Owner's group ID. */
47 __uid_t cuid; /* Creator's user ID. */
48 __gid_t cgid; /* Creator's group ID. */
49 unsigned short int mode; /* Read/write permission. */
50 unsigned short int __pad1;
51 unsigned short int __seq; /* Sequence number. */
52 unsigned short int __pad2;
53 __syscall_ulong_t __glibc_reserved1;
54 __syscall_ulong_t __glibc_reserved2;
55 };
\ No newline at end of file
40#include <bits/ipc-perm.h>
\ No newline at end of file
lib/libc/include/generic-glibc/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic.1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic.
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 <bits/ipctypes.h> directly.20 * Never include <bits/ipctypes.h> directly.
lib/libc/include/generic-glibc/bits/iscanonical.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define iscanonical macro.1/* Define iscanonical macro.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
lib/libc/include/generic-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/include/generic-glibc/bits/libm-simd-decl-stubs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Empty definitions required for __MATHCALL_VEC unfolding in mathcalls.h.1/* Empty definitions required for __MATHCALL_VEC unfolding in mathcalls.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 _MATH_H19#ifndef _MATH_H
20# error "Never include <bits/libm-simd-decl-stubs.h> directly;\20# error "Never include <bits/libm-simd-decl-stubs.h> directly;\
lib/libc/include/generic-glibc/bits/link.h+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
...@@ -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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/generic-glibc/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. Linux version.1/* Minimum guaranteed maximum values for system limits. Linux version.
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.
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/* The kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/generic-glibc/bits/locale.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of locale category symbol values.1/* Definition of locale category symbol values.
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#if !defined _LOCALE_H && !defined _LANGINFO_H19#if !defined _LOCALE_H && !defined _LANGINFO_H
20# error "Never use <bits/locale.h> directly; include <locale.h> instead."20# error "Never use <bits/locale.h> directly; include <locale.h> instead."
lib/libc/include/generic-glibc/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. MIPS version.1/* Properties of long double type. MIPS version.
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,10 +14,11 @@...@@ -14,10 +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#include <sgidefs.h>19#include <sgidefs.h>
2020
21#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO3221#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23#endif
\ No newline at end of file
23#endif
24#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/generic-glibc/bits/math-finite.h deleted-197
...@@ -1,197 +0,0 @@
1/* Entry points to finite-math-only compiler runs.
2 Copyright (C) 2011-2019 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 _MATH_H
20# error "Never use <bits/math-finite.h> directly; include <math.h> instead."
21#endif
22
23#define __REDIRFROM(...) __REDIRFROM_X(__VA_ARGS__)
24
25#define __REDIRTO(...) __REDIRTO_X(__VA_ARGS__)
26
27#define __MATH_REDIRCALL_X(from, args, to) \
28 extern _Mdouble_ __REDIRECT_NTH (from, args, to)
29#define __MATH_REDIRCALL(function, reentrant, args) \
30 __MATH_REDIRCALL_X \
31 (__REDIRFROM (function, reentrant), args, \
32 __REDIRTO (function, reentrant))
33#define __MATH_REDIRCALL_2(from, reentrant, args, to) \
34 __MATH_REDIRCALL_X \
35 (__REDIRFROM (from, reentrant), args, \
36 __REDIRTO (to, reentrant))
37
38#define __MATH_REDIRCALL_INTERNAL(function, reentrant, args) \
39 __MATH_REDIRCALL_X \
40 (__REDIRFROM (__CONCAT (__, function), \
41 __CONCAT (reentrant, _finite)), \
42 args, __REDIRTO (function, _r))
43
44
45/* acos. */
46__MATH_REDIRCALL (acos, , (_Mdouble_));
47
48#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
49/* acosh. */
50__MATH_REDIRCALL (acosh, , (_Mdouble_));
51#endif
52
53/* asin. */
54__MATH_REDIRCALL (asin, , (_Mdouble_));
55
56/* atan2. */
57__MATH_REDIRCALL (atan2, , (_Mdouble_, _Mdouble_));
58
59#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
60/* atanh. */
61__MATH_REDIRCALL (atanh, , (_Mdouble_));
62#endif
63
64/* cosh. */
65__MATH_REDIRCALL (cosh, , (_Mdouble_));
66
67/* exp. */
68__MATH_REDIRCALL (exp, , (_Mdouble_));
69
70#if __GLIBC_USE (IEC_60559_FUNCS_EXT)
71/* exp10. */
72__MATH_REDIRCALL (exp10, , (_Mdouble_));
73#endif
74
75#ifdef __USE_ISOC99
76/* exp2. */
77__MATH_REDIRCALL (exp2, , (_Mdouble_));
78#endif
79
80/* fmod. */
81__MATH_REDIRCALL (fmod, , (_Mdouble_, _Mdouble_));
82
83#if defined __USE_XOPEN || defined __USE_ISOC99
84/* hypot. */
85__MATH_REDIRCALL (hypot, , (_Mdouble_, _Mdouble_));
86#endif
87
88#if (__MATH_DECLARING_DOUBLE && (defined __USE_MISC || defined __USE_XOPEN)) \
89 || (!__MATH_DECLARING_DOUBLE && defined __USE_MISC)
90/* j0. */
91__MATH_REDIRCALL (j0, , (_Mdouble_));
92
93/* y0. */
94__MATH_REDIRCALL (y0, , (_Mdouble_));
95
96/* j1. */
97__MATH_REDIRCALL (j1, , (_Mdouble_));
98
99/* y1. */
100__MATH_REDIRCALL (y1, , (_Mdouble_));
101
102/* jn. */
103__MATH_REDIRCALL (jn, , (int, _Mdouble_));
104
105/* yn. */
106__MATH_REDIRCALL (yn, , (int, _Mdouble_));
107#endif
108
109#ifdef __USE_MISC
110/* lgamma_r. */
111__MATH_REDIRCALL (lgamma, _r, (_Mdouble_, int *));
112#endif
113
114/* Redirect __lgammal_r_finite to __lgamma_r_finite when __NO_LONG_DOUBLE_MATH
115 is set and to itself otherwise. It also redirects __lgamma_r_finite and
116 __lgammaf_r_finite to themselves. */
117__MATH_REDIRCALL_INTERNAL (lgamma, _r, (_Mdouble_, int *));
118
119#if ((defined __USE_XOPEN || defined __USE_ISOC99) \
120 && defined __extern_always_inline)
121/* lgamma. */
122__extern_always_inline _Mdouble_
123__NTH (__REDIRFROM (lgamma, ) (_Mdouble_ __d))
124{
125# if defined __USE_MISC || defined __USE_XOPEN
126 return __REDIRTO (lgamma, _r) (__d, &signgam);
127# else
128 int __local_signgam = 0;
129 return __REDIRTO (lgamma, _r) (__d, &__local_signgam);
130# endif
131}
132#endif
133
134#if ((defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)) \
135 && defined __extern_always_inline) && !__MATH_DECLARING_FLOATN
136/* gamma. */
137__extern_always_inline _Mdouble_
138__NTH (__REDIRFROM (gamma, ) (_Mdouble_ __d))
139{
140 return __REDIRTO (lgamma, _r) (__d, &signgam);
141}
142#endif
143
144/* log. */
145__MATH_REDIRCALL (log, , (_Mdouble_));
146
147/* log10. */
148__MATH_REDIRCALL (log10, , (_Mdouble_));
149
150#ifdef __USE_ISOC99
151/* log2. */
152__MATH_REDIRCALL (log2, , (_Mdouble_));
153#endif
154
155/* pow. */
156__MATH_REDIRCALL (pow, , (_Mdouble_, _Mdouble_));
157
158#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
159/* remainder. */
160__MATH_REDIRCALL (remainder, , (_Mdouble_, _Mdouble_));
161#endif
162
163#if ((__MATH_DECLARING_DOUBLE \
164 && (defined __USE_MISC \
165 || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8))) \
166 || (!defined __MATH_DECLARE_LDOUBLE && defined __USE_MISC)) \
167 && !__MATH_DECLARING_FLOATN
168/* scalb. */
169__MATH_REDIRCALL (scalb, , (_Mdouble_, _Mdouble_));
170#endif
171
172/* sinh. */
173__MATH_REDIRCALL (sinh, , (_Mdouble_));
174
175/* sqrt. */
176__MATH_REDIRCALL (sqrt, , (_Mdouble_));
177
178#if defined __USE_ISOC99 && defined __extern_always_inline
179/* tgamma. */
180extern _Mdouble_
181__REDIRFROM (__gamma, _r_finite) (_Mdouble_, int *);
182
183__extern_always_inline _Mdouble_
184__NTH (__REDIRFROM (tgamma, ) (_Mdouble_ __d))
185{
186 int __local_signgam = 0;
187 _Mdouble_ __res = __REDIRTO (gamma, _r) (__d, &__local_signgam);
188 return __local_signgam < 0 ? -__res : __res;
189}
190#endif
191
192#undef __REDIRFROM
193#undef __REDIRTO
194#undef __MATH_REDIRCALL
195#undef __MATH_REDIRCALL_2
196#undef __MATH_REDIRCALL_INTERNAL
197#undef __MATH_REDIRCALL_X
\ No newline at end of file
lib/libc/include/generic-glibc/bits/math-vector.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Platform-specific SIMD declarations of math functions.1/* Platform-specific SIMD declarations of math functions.
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 _MATH_H19#ifndef _MATH_H
20# error "Never include <bits/math-vector.h> directly;\20# error "Never include <bits/math-vector.h> directly;\
lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Prototype declarations for math classification macros helpers.1/* Prototype declarations for math classification macros helpers.
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
1919
20/* Classify given number. */20/* Classify given number. */
lib/libc/include/generic-glibc/bits/mathcalls-narrow.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declare functions returning a narrower type.1/* Declare functions returning a narrower type.
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 _MATH_H19#ifndef _MATH_H
20# error "Never include <bits/mathcalls-narrow.h> directly; include <math.h> instead."20# error "Never include <bits/mathcalls-narrow.h> directly; include <math.h> instead."
lib/libc/include/generic-glibc/bits/mathcalls.h+17-13
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Prototype declarations for math functions; helper file for <math.h>.1/* Prototype declarations for math functions; helper file for <math.h>.
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/* NOTE: Because of the special way this file is used by <math.h>, this19/* NOTE: Because of the special way this file is used by <math.h>, this
20 file must NOT be protected from multiple inclusion as header files20 file must NOT be protected from multiple inclusion as header files
...@@ -109,7 +109,7 @@ __MATHCALL (log10,, (_Mdouble_ __x));...@@ -109,7 +109,7 @@ __MATHCALL (log10,, (_Mdouble_ __x));
109/* Break VALUE into integral and fractional parts. */109/* Break VALUE into integral and fractional parts. */
110__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));110__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
111111
112#if __GLIBC_USE (IEC_60559_FUNCS_EXT)112#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C2X)
113/* Compute exponent to base ten. */113/* Compute exponent to base ten. */
114__MATHCALL (exp10,, (_Mdouble_ __x));114__MATHCALL (exp10,, (_Mdouble_ __x));
115#endif115#endif
...@@ -261,7 +261,7 @@ __MATHCALL (nextafter,, (_Mdouble_ __x, _Mdouble_ __y));...@@ -261,7 +261,7 @@ __MATHCALL (nextafter,, (_Mdouble_ __x, _Mdouble_ __y));
261__MATHCALL (nexttoward,, (_Mdouble_ __x, long double __y));261__MATHCALL (nexttoward,, (_Mdouble_ __x, long double __y));
262# endif262# endif
263263
264# if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN264# if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
265/* Return X - epsilon. */265/* Return X - epsilon. */
266__MATHCALL (nextdown,, (_Mdouble_ __x));266__MATHCALL (nextdown,, (_Mdouble_ __x));
267/* Return X + epsilon. */267/* Return X + epsilon. */
...@@ -280,7 +280,7 @@ __MATHCALL (scalbn,, (_Mdouble_ __x, int __n));...@@ -280,7 +280,7 @@ __MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
280__MATHDECL (int,ilogb,, (_Mdouble_ __x));280__MATHDECL (int,ilogb,, (_Mdouble_ __x));
281#endif281#endif
282282
283#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN283#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
284/* Like ilogb, but returning long int. */284/* Like ilogb, but returning long int. */
285__MATHDECL (long int, llogb,, (_Mdouble_ __x));285__MATHDECL (long int, llogb,, (_Mdouble_ __x));
286#endif286#endif
...@@ -335,7 +335,7 @@ __MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));...@@ -335,7 +335,7 @@ __MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
335__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));335__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
336#endif /* Use ISO C99. */336#endif /* Use ISO C99. */
337337
338#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN338#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN
339/* Round X to nearest integer value, rounding halfway cases to even. */339/* Round X to nearest integer value, rounding halfway cases to even. */
340__MATHCALLX (roundeven,, (_Mdouble_ __x), (__const__));340__MATHCALLX (roundeven,, (_Mdouble_ __x), (__const__));
341341
...@@ -367,16 +367,20 @@ __MATHCALLX (fmaxmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));...@@ -367,16 +367,20 @@ __MATHCALLX (fmaxmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
367/* Return value with minimum magnitude. */367/* Return value with minimum magnitude. */
368__MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));368__MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
369369
370/* Canonicalize floating-point representation. */
371__MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x));
372#endif
373
374#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
370/* Total order operation. */375/* Total order operation. */
371__MATHDECL_1 (int, totalorder,, (_Mdouble_ __x, _Mdouble_ __y))376__MATHDECL_1 (int, totalorder,, (const _Mdouble_ *__x,
372 __attribute__ ((__const__));377 const _Mdouble_ *__y))
378 __attribute_pure__;
373379
374/* Total order operation on absolute values. */380/* Total order operation on absolute values. */
375__MATHDECL_1 (int, totalordermag,, (_Mdouble_ __x, _Mdouble_ __y))381__MATHDECL_1 (int, totalordermag,, (const _Mdouble_ *__x,
376 __attribute__ ((__const__));382 const _Mdouble_ *__y))
377383 __attribute_pure__;
378/* Canonicalize floating-point representation. */
379__MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x));
380384
381/* Get NaN payload. */385/* Get NaN payload. */
382__MATHCALL (getpayload,, (const _Mdouble_ *__x));386__MATHCALL (getpayload,, (const _Mdouble_ *__x));
lib/libc/include/generic-glibc/bits/mathdef.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 _COMPLEX_H18#ifndef _COMPLEX_H
19# error "Never use <bits/mathdef.h> directly; include <complex.h> instead"19# error "Never use <bits/mathdef.h> directly; include <complex.h> instead"
lib/libc/include/generic-glibc/bits/mman-linux.h+4-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux generic version.1/* Definitions for POSIX memory map interface. Linux generic version.
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 _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman-linux.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman-linux.h> directly; include <sys/mman.h> instead."
...@@ -87,6 +87,8 @@...@@ -87,6 +87,8 @@
87# define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag. */87# define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag. */
88# define MADV_WIPEONFORK 18 /* Zero memory on fork, child only. */88# define MADV_WIPEONFORK 18 /* Zero memory on fork, child only. */
89# define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK. */89# define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK. */
90# define MADV_COLD 20 /* Deactivate these pages. */
91# define MADV_PAGEOUT 21 /* Reclaim these pages. */
90# define MADV_HWPOISON 100 /* Poison a page for testing. */92# define MADV_HWPOISON 100 /* Poison a page for testing. */
91#endif93#endif
9294
lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/generic version.1/* Definitions for POSIX memory map interface. Linux/generic version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman-map-flags-generic.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman-map-flags-generic.h> directly; include <sys/mman.h> instead."
lib/libc/include/generic-glibc/bits/mman-shared.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Memory-mapping-related declarations/definitions, not architecture-specific.1/* Memory-mapping-related declarations/definitions, not architecture-specific.
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 _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman-shared.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman-shared.h> directly; include <sys/mman.h> instead."
lib/libc/include/generic-glibc/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/generic version.1/* Definitions for POSIX memory map interface. Linux/generic version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/generic-glibc/bits/monetary-ldbl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* -mlong-double-64 compatibility mode for monetary functions.1/* -mlong-double-64 compatibility mode for monetary functions.
2 Copyright (C) 2006-2019 Free Software Foundation, Inc.2 Copyright (C) 2006-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 _MONETARY_H19#ifndef _MONETARY_H
20# error "Never include <bits/monetary-ldbl.h> directly; use <monetary.h> instead."20# error "Never include <bits/monetary-ldbl.h> directly; use <monetary.h> instead."
lib/libc/include/generic-glibc/bits/mqueue.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _MQUEUE_H18#ifndef _MQUEUE_H
19# error "Never use <bits/mqueue.h> directly; include <mqueue.h> instead."19# error "Never use <bits/mqueue.h> directly; include <mqueue.h> instead."
lib/libc/include/generic-glibc/bits/mqueue2.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for mq functions.1/* Checking macros for mq functions.
2 Copyright (C) 2007-2019 Free Software Foundation, Inc.2 Copyright (C) 2007-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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never include <bits/mqueue2.h> directly; use <mqueue.h> instead."20# error "Never include <bits/mqueue2.h> directly; use <mqueue.h> instead."
lib/libc/include/generic-glibc/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. Generic version.1/* Define where padding goes in struct msqid_ds. 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/generic-glibc/bits/msq.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_MSG_H18#ifndef _SYS_MSG_H
19# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."19# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
lib/libc/include/generic-glibc/bits/netdb.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 _NETDB_H18#ifndef _NETDB_H
19# error "Never include <bits/netdb.h> directly; use <netdb.h> instead."19# error "Never include <bits/netdb.h> directly; use <netdb.h> instead."
lib/libc/include/generic-glibc/bits/param.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Old-style Unix parameters and limits. Linux version.1/* Old-style Unix parameters and limits. Linux version.
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 _SYS_PARAM_H19#ifndef _SYS_PARAM_H
20# error "Never use <bits/param.h> directly; include <sys/param.h> instead."20# error "Never use <bits/param.h> directly; include <sys/param.h> instead."
lib/libc/include/generic-glibc/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/generic-glibc/bits/poll2.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for poll functions.1/* Checking macros for poll functions.
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 _SYS_POLL_H19#ifndef _SYS_POLL_H
20# error "Never include <bits/poll2.h> directly; use <sys/poll.h> instead."20# error "Never include <bits/poll2.h> directly; use <sys/poll.h> instead."
lib/libc/include/generic-glibc/bits/posix1_lim.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.9.2 Minimum Values Added to <limits.h>19 * POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
lib/libc/include/generic-glibc/bits/posix2_lim.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 * Never include this file directly; include <limits.h> instead.19 * Never include this file directly; include <limits.h> instead.
lib/libc/include/generic-glibc/bits/posix_opt.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define POSIX options for Linux.1/* Define POSIX options for Linux.
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 _BITS_POSIX_OPT_H19#ifndef _BITS_POSIX_OPT_H
20#define _BITS_POSIX_OPT_H 120#define _BITS_POSIX_OPT_H 1
lib/libc/include/generic-glibc/bits/ppc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Facilities specific to the PowerPC architecture on Linux1/* Facilities specific to the PowerPC architecture on Linux
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_PPC_H19#ifndef _BITS_PPC_H
20#define _BITS_PPC_H20#define _BITS_PPC_H
lib/libc/include/generic-glibc/bits/printf-ldbl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* -mlong-double-64 compatibility mode for <printf.h> functions.1/* -mlong-double-64 compatibility mode for <printf.h> functions.
2 Copyright (C) 2006-2019 Free Software Foundation, Inc.2 Copyright (C) 2006-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 _PRINTF_H19#ifndef _PRINTF_H
20# error "Never include <bits/printf-ldbl.h> directly; use <printf.h> instead."20# error "Never include <bits/printf-ldbl.h> directly; use <printf.h> instead."
lib/libc/include/generic-glibc/bits/procfs-extra.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Extra sys/procfs.h definitions. Generic Linux version.1/* Extra sys/procfs.h definitions. Generic Linux version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
lib/libc/include/generic-glibc/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/generic-glibc/bits/procfs-prregset.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of prgregset_t and prfpregset_t. Generic Linux version.1/* Types of prgregset_t and prfpregset_t. Generic Linux version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-prregset.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-prregset.h> directly; use <sys/procfs.h> instead."
lib/libc/include/generic-glibc/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. MIPS version.1/* Types for registers for sys/procfs.h. MIPS 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h+19-63
...@@ -1,5 +1,6 @@...@@ -1,5 +1,6 @@
1/* Machine-specific pthread type layouts. MIPS version.1/* Machine-specific pthread type layouts. Generic version.
2 Copyright (C) 2005-2019 Free Software Foundation, Inc.2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
3 This file is part of the GNU C Library.4 This file is part of the GNU C Library.
45
5 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
...@@ -13,77 +14,32 @@...@@ -13,77 +14,32 @@
13 Lesser General Public License for more details.14 Lesser General Public License for more details.
1415
15 You should have received a copy of the GNU Lesser General Public16 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see17 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */18 <http://www.gnu.org/licenses/>. */
1819
19#ifndef _BITS_PTHREADTYPES_ARCH_H20#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 121#define _BITS_PTHREADTYPES_ARCH_H 1
2122
22#include <endian.h>23#include <bits/wordsize.h>
2324
24#if _MIPS_SIM == _ABI6425#if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_ATTR_T 5626# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 4027# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 5628# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 3229# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else30#else
30# define __SIZEOF_PTHREAD_ATTR_T 3631# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 2432# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 3233# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 2034# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif35#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 436#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 4837#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
37#define __SIZEOF_PTHREAD_CONDATTR_T 438#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 839#define __SIZEOF_PTHREAD_COND_T 48
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 440#define __SIZEOF_PTHREAD_CONDATTR_T 4
40
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)
4741
48#define __LOCK_ALIGNMENT42#define __LOCK_ALIGNMENT
49#define __ONCE_ALIGNMENT43#define __ONCE_ALIGNMENT
5044
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 */45#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/generic-glibc/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/include/generic-glibc/bits/ptrace-shared.h+49-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* `ptrace' debugger support interface. Linux version,1/* `ptrace' debugger support interface. Linux version,
2 not architecture-specific.2 not architecture-specific.
3 Copyright (C) 1996-2019 Free Software Foundation, Inc.3 Copyright (C) 1996-2020 Free Software Foundation, Inc.
44
5 This file is part of the GNU C Library.5 This file is part of the GNU C Library.
66
...@@ -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 _SYS_PTRACE_H21#ifndef _SYS_PTRACE_H
22# error "Never use <bits/ptrace-shared.h> directly; include <sys/ptrace.h> instead."22# error "Never use <bits/ptrace-shared.h> directly; include <sys/ptrace.h> instead."
...@@ -52,6 +52,15 @@ enum __ptrace_eventcodes...@@ -52,6 +52,15 @@ enum __ptrace_eventcodes
52 PTRACE_EVENT_STOP = 12852 PTRACE_EVENT_STOP = 128
53};53};
5454
55/* Type of stop for PTRACE_GET_SYSCALL_INFO. */
56enum __ptrace_get_syscall_info_op
57{
58 PTRACE_SYSCALL_INFO_NONE = 0,
59 PTRACE_SYSCALL_INFO_ENTRY = 1,
60 PTRACE_SYSCALL_INFO_EXIT = 2,
61 PTRACE_SYSCALL_INFO_SECCOMP = 3
62};
63
55/* Arguments for PTRACE_PEEKSIGINFO. */64/* Arguments for PTRACE_PEEKSIGINFO. */
56struct __ptrace_peeksiginfo_args65struct __ptrace_peeksiginfo_args
57{66{
...@@ -73,6 +82,44 @@ struct __ptrace_seccomp_metadata...@@ -73,6 +82,44 @@ struct __ptrace_seccomp_metadata
73 __uint64_t flags; /* Output: filter's flags. */82 __uint64_t flags; /* Output: filter's flags. */
74};83};
7584
85/* Results of PTRACE_GET_SYSCALL_INFO. */
86struct __ptrace_syscall_info
87{
88 __uint8_t op; /* One of the enum
89 __ptrace_get_syscall_info_op
90 values. */
91 __uint32_t arch __attribute__ ((__aligned__ (4))); /* AUDIT_ARCH_*
92 value. */
93 __uint64_t instruction_pointer; /* Instruction pointer. */
94 __uint64_t stack_pointer; /* Stack pointer. */
95 union
96 {
97 /* System call number and arguments, for
98 PTRACE_SYSCALL_INFO_ENTRY. */
99 struct
100 {
101 __uint64_t nr;
102 __uint64_t args[6];
103 } entry;
104 /* System call return value and error flag, for
105 PTRACE_SYSCALL_INFO_EXIT. */
106 struct
107 {
108 __int64_t rval;
109 __uint8_t is_error;
110 } exit;
111 /* System call number, arguments and SECCOMP_RET_DATA portion of
112 SECCOMP_RET_TRACE return value, for
113 PTRACE_SYSCALL_INFO_SECCOMP. */
114 struct
115 {
116 __uint64_t nr;
117 __uint64_t args[6];
118 __uint32_t ret_data;
119 } seccomp;
120 };
121};
122
76/* Perform process tracing functions. REQUEST is one of the values123/* Perform process tracing functions. REQUEST is one of the values
77 above, and determines the action to be taken.124 above, and determines the action to be taken.
78 For all requests except PTRACE_TRACEME, PID specifies the process to be125 For all requests except PTRACE_TRACEME, PID specifies the process to be
lib/libc/include/generic-glibc/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux version.1/* Bit values & structures for resource limits. Linux version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/generic-glibc/bits/sched.h+4-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Definitions of constants and data structure for POSIX 1003.1b-19931/* Definitions of constants and data structure for 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_SCHED_H20#ifndef _BITS_SCHED_H
21#define _BITS_SCHED_H 121#define _BITS_SCHED_H 1
...@@ -44,6 +44,8 @@...@@ -44,6 +44,8 @@
44# define CLONE_FS 0x00000200 /* Set if fs info shared between processes. */44# define CLONE_FS 0x00000200 /* Set if fs info shared between processes. */
45# define CLONE_FILES 0x00000400 /* Set if open files shared between processes. */45# define CLONE_FILES 0x00000400 /* Set if open files shared between processes. */
46# define CLONE_SIGHAND 0x00000800 /* Set if signal handlers shared. */46# define CLONE_SIGHAND 0x00000800 /* Set if signal handlers shared. */
47# define CLONE_PIDFD 0x00001000 /* Set if a pidfd should be placed
48 in parent. */
47# define CLONE_PTRACE 0x00002000 /* Set if tracing continues on the child. */49# define CLONE_PTRACE 0x00002000 /* Set if tracing continues on the child. */
48# define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to50# define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to
49 wake it up on mm_release. */51 wake it up on mm_release. */
lib/libc/include/generic-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/include/generic-glibc/bits/select2.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for select functions.1/* Checking macros for select functions.
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,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_SELECT_H19#ifndef _SYS_SELECT_H
20# error "Never include <bits/select2.h> directly; use <sys/select.h> instead."20# error "Never include <bits/select2.h> directly; use <sys/select.h> instead."
lib/libc/include/generic-glibc/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. Generic version.1/* Define where padding goes in struct semid_ds. 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/generic-glibc/bits/sem.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_SEM_H18#ifndef _SYS_SEM_H
19# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."19# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
lib/libc/include/generic-glibc/bits/semaphore.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.
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 _SEMAPHORE_H18#ifndef _SEMAPHORE_H
19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."19# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/generic-glibc/bits/setjmp.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define the machine-dependent type `jmp_buf'. MIPS version.1/* Define the machine-dependent type `jmp_buf'. MIPS version.
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#ifndef _MIPS_BITS_SETJMP_H19#ifndef _MIPS_BITS_SETJMP_H
20#define _MIPS_BITS_SETJMP_H 120#define _MIPS_BITS_SETJMP_H 1
lib/libc/include/generic-glibc/bits/setjmp2.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for setjmp functions.1/* Checking macros for setjmp functions.
2 Copyright (C) 2009-2019 Free Software Foundation, Inc.2 Copyright (C) 2009-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 _SETJMP_H19#ifndef _SETJMP_H
20# error "Never include <bits/setjmp2.h> directly; use <setjmp.h> instead."20# error "Never include <bits/setjmp2.h> directly; use <setjmp.h> instead."
lib/libc/include/generic-glibc/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. Generic version.1/* Define where padding goes in struct shmid_ds. 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/generic-glibc/bits/shm.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_SHM_H18#ifndef _SYS_SHM_H
19# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."19# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
lib/libc/include/generic-glibc/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. Generic version.1/* Define SHMLBA. 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/generic-glibc/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux's sigaction.1/* The proper definitions for Linux's sigaction.
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.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/generic-glibc/bits/sigcontext.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 _BITS_SIGCONTEXT_H18#ifndef _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 119#define _BITS_SIGCONTEXT_H 1
lib/libc/include/generic-glibc/bits/sigevent-consts.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigevent constants. Linux version.1/* sigevent constants. Linux version.
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#ifndef _BITS_SIGEVENT_CONSTS_H19#ifndef _BITS_SIGEVENT_CONSTS_H
20#define _BITS_SIGEVENT_CONSTS_H 120#define _BITS_SIGEVENT_CONSTS_H 1
lib/libc/include/generic-glibc/bits/siginfo-consts.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* siginfo constants. Linux version.1/* siginfo constants. Linux version.
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#ifndef _BITS_SIGINFO_CONSTS_H19#ifndef _BITS_SIGINFO_CONSTS_H
20#define _BITS_SIGINFO_CONSTS_H 120#define _BITS_SIGINFO_CONSTS_H 1
lib/libc/include/generic-glibc/bits/signal_ext.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific extensions of <signal.h>, Linux version.1/* System-specific extensions of <signal.h>, 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 _SIGNAL_H19#ifndef _SIGNAL_H
20# error "Never include <bits/signal_ext.h> directly; use <signal.h> instead."20# error "Never include <bits/signal_ext.h> directly; use <signal.h> instead."
lib/libc/include/generic-glibc/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/generic-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/include/generic-glibc/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux version.1/* Signal number definitions. Linux version.
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 _BITS_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/generic-glibc/bits/sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigstack, sigaltstack definitions.1/* sigstack, sigaltstack definitions.
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#ifndef _BITS_SIGSTACK_H19#ifndef _BITS_SIGSTACK_H
20#define _BITS_SIGSTACK_H 120#define _BITS_SIGSTACK_H 1
lib/libc/include/generic-glibc/bits/sigthread.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal handling function for threaded programs.1/* Signal handling function for threaded programs.
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; 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_SIGTHREAD_H19#ifndef _BITS_SIGTHREAD_H
20#define _BITS_SIGTHREAD_H 120#define _BITS_SIGTHREAD_H 1
lib/libc/include/generic-glibc/bits/sockaddr.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of struct sockaddr_* common members and sizes, generic version.1/* Definition of struct sockaddr_* common members and sizes, generic version.
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/*19/*
20 * Never include this file directly; use <sys/socket.h> instead.20 * Never include this file directly; use <sys/socket.h> instead.
lib/libc/include/generic-glibc/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures.1/* Socket constants which vary among Linux architectures.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/generic-glibc/bits/socket.h+3-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific socket constants and types. Linux version.1/* System-specific socket constants and types. Linux 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#ifndef __BITS_SOCKET_H19#ifndef __BITS_SOCKET_H
20#define __BITS_SOCKET_H20#define __BITS_SOCKET_H
...@@ -169,7 +169,7 @@ typedef __socklen_t socklen_t;...@@ -169,7 +169,7 @@ typedef __socklen_t socklen_t;
169#define SOL_XDP 283169#define SOL_XDP 283
170170
171/* Maximum queue length specifiable by listen. */171/* Maximum queue length specifiable by listen. */
172#define SOMAXCONN 128172#define SOMAXCONN 4096
173173
174/* Get the definition of the macro to define the common sockaddr members. */174/* Get the definition of the macro to define the common sockaddr members. */
175#include <bits/sockaddr.h>175#include <bits/sockaddr.h>
lib/libc/include/generic-glibc/bits/socket2.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for socket functions.1/* Checking macros for socket functions.
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#ifndef _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket2.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket2.h> directly; use <sys/socket.h> instead."
lib/libc/include/generic-glibc/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for generic Linux.1/* Define enum __socket_type for generic Linux.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/generic-glibc/bits/ss_flags.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* ss_flags values for stack_t. Linux version.1/* ss_flags values for stack_t. Linux 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
...@@ -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_SS_FLAGS_H19#ifndef _BITS_SS_FLAGS_H
20#define _BITS_SS_FLAGS_H 120#define _BITS_SS_FLAGS_H 1
lib/libc/include/generic-glibc/bits/stab.def+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Table of DBX symbol codes for the GNU system.1/* Table of DBX symbol codes for the GNU system.
2 Copyright (C) 1988, 1997-2019 Free Software Foundation, Inc.2 Copyright (C) 1988, 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/* This contains contribution from Cygnus Support. */19/* This contains contribution from Cygnus Support. */
20 20
lib/libc/include/generic-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/include/generic-glibc/bits/statfs.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_STATFS_H18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
lib/libc/include/generic-glibc/bits/statvfs.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_STATVFS_H18#ifndef _SYS_STATVFS_H
19# error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."19# error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."
lib/libc/include/generic-glibc/bits/statx-generic.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Generic statx-related definitions and declarations.1/* Generic statx-related definitions and declarations.
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/include/generic-glibc/bits/statx.h+9-7
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* statx-related definitions and declarations. Linux version.1/* statx-related definitions and declarations. Linux 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
...@@ -26,11 +26,13 @@...@@ -26,11 +26,13 @@
2626
27/* Use "" to work around incorrect macro expansion of the27/* Use "" to work around incorrect macro expansion of the
28 __has_include argument (GCC PR 80005). */28 __has_include argument (GCC PR 80005). */
29#if __glibc_has_include ("linux/stat.h")29#ifdef __has_include
30# include "linux/stat.h"30# if __has_include ("linux/stat.h")
31# ifdef STATX_TYPE31# include "linux/stat.h"
32# define __statx_timestamp_defined 132# ifdef STATX_TYPE
33# define __statx_defined 133# define __statx_timestamp_defined 1
34# define __statx_defined 1
35# endif
34# endif36# endif
35#endif37#endif
3638
lib/libc/include/generic-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/include/generic-glibc/bits/stdint-uintn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define uintN_t types.1/* Define uintN_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_UINTN_H19#ifndef _BITS_STDINT_UINTN_H
20#define _BITS_STDINT_UINTN_H 120#define _BITS_STDINT_UINTN_H 1
lib/libc/include/generic-glibc/bits/stdio-ldbl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* -mlong-double-64 compatibility mode for stdio functions.1/* -mlong-double-64 compatibility mode for stdio functions.
2 Copyright (C) 2006-2019 Free Software Foundation, Inc.2 Copyright (C) 2006-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 _STDIO_H19#ifndef _STDIO_H
20# error "Never include <bits/stdio-ldbl.h> directly; use <stdio.h> instead."20# error "Never include <bits/stdio-ldbl.h> directly; use <stdio.h> instead."
lib/libc/include/generic-glibc/bits/stdio.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Optimizing macros and inline functions for stdio functions.1/* Optimizing macros and inline functions for stdio functions.
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#ifndef _BITS_STDIO_H19#ifndef _BITS_STDIO_H
20#define _BITS_STDIO_H 120#define _BITS_STDIO_H 1
lib/libc/include/generic-glibc/bits/stdio2.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for stdio functions.1/* Checking macros for stdio functions.
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#ifndef _BITS_STDIO2_H19#ifndef _BITS_STDIO2_H
20#define _BITS_STDIO2_H 120#define _BITS_STDIO2_H 1
lib/libc/include/generic-glibc/bits/stdio_lim.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#ifndef _BITS_STDIO_LIM_H18#ifndef _BITS_STDIO_LIM_H
19#define _BITS_STDIO_LIM_H 119#define _BITS_STDIO_LIM_H 1
lib/libc/include/generic-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/include/generic-glibc/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/include/generic-glibc/bits/stdlib-ldbl.h+3-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* -mlong-double-64 compatibility mode for <stdlib.h> functions.1/* -mlong-double-64 compatibility mode for <stdlib.h> functions.
2 Copyright (C) 2006-2019 Free Software Foundation, Inc.2 Copyright (C) 2006-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 include <bits/stdlib-ldbl.h> directly; use <stdlib.h> instead."20# error "Never include <bits/stdlib-ldbl.h> directly; use <stdlib.h> instead."
...@@ -28,7 +28,7 @@ __LDBL_REDIR1_DECL (strtold, strtod)...@@ -28,7 +28,7 @@ __LDBL_REDIR1_DECL (strtold, strtod)
28__LDBL_REDIR1_DECL (strtold_l, strtod_l)28__LDBL_REDIR1_DECL (strtold_l, strtod_l)
29#endif29#endif
3030
31#if __GLIBC_USE (IEC_60559_BFP_EXT)31#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
32__LDBL_REDIR1_DECL (strfroml, strfromd)32__LDBL_REDIR1_DECL (strfroml, strfromd)
33#endif33#endif
3434
lib/libc/include/generic-glibc/bits/stdlib.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for stdlib functions.1/* Checking macros for stdlib functions.
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#ifndef _STDLIB_H19#ifndef _STDLIB_H
20# error "Never include <bits/stdlib.h> directly; use <stdlib.h> instead."20# error "Never include <bits/stdlib.h> directly; use <stdlib.h> instead."
lib/libc/include/generic-glibc/bits/string_fortified.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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_STRING_FORTIFIED_H18#ifndef _BITS_STRING_FORTIFIED_H
19#define _BITS_STRING_FORTIFIED_H 119#define _BITS_STRING_FORTIFIED_H 1
lib/libc/include/generic-glibc/bits/strings_fortified.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Fortify macros for strings.h functions.1/* Fortify macros for strings.h functions.
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 __STRINGS_FORTIFIED19#ifndef __STRINGS_FORTIFIED
20# define __STRINGS_FORTIFIED 120# define __STRINGS_FORTIFIED 1
lib/libc/include/generic-glibc/bits/struct_mutex.h created+84
...@@ -0,0 +1,84 @@
1/* Default mutex implementation struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22/* Generic struct for both POSIX and C11 mutexes. New ports are expected
23 to use the default layout, however architecture can redefine it to
24 add arch-specific extension (such as lock-elision). The struct have
25 a size of 32 bytes on LP32 and 40 bytes on LP64 architectures. */
26
27struct __pthread_mutex_s
28{
29 int __lock __LOCK_ALIGNMENT;
30 unsigned int __count;
31 int __owner;
32#if __WORDSIZE == 64
33 unsigned int __nusers;
34#endif
35 /* KIND must stay at this position in the structure to maintain
36 binary compatibility with static initializers.
37
38 Concurrency notes:
39 The __kind of a mutex is initialized either by the static
40 PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init.
41
42 After a mutex has been initialized, the __kind of a mutex is usually not
43 changed. BUT it can be set to -1 in pthread_mutex_destroy or elision can
44 be enabled. This is done concurrently in the pthread_mutex_*lock
45 functions by using the macro FORCE_ELISION. This macro is only defined
46 for architectures which supports lock elision.
47
48 For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and
49 PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already
50 set type of a mutex. Before a mutex is initialized, only
51 PTHREAD_MUTEX_NO_ELISION_NP can be set with pthread_mutexattr_settype.
52
53 After a mutex has been initialized, the functions pthread_mutex_*lock can
54 enable elision - if the mutex-type and the machine supports it - by
55 setting the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently.
56 Afterwards the lock / unlock functions are using specific elision
57 code-paths. */
58 int __kind;
59#if __WORDSIZE != 64
60 unsigned int __nusers;
61#endif
62#if __WORDSIZE == 64
63 int __spins;
64 __pthread_list_t __list;
65# define __PTHREAD_MUTEX_HAVE_PREV 1
66#else
67 __extension__ union
68 {
69 int __spins;
70 __pthread_slist_t __list;
71 };
72# define __PTHREAD_MUTEX_HAVE_PREV 0
73#endif
74};
75
76#if __PTHREAD_MUTEX_HAVE_PREV == 1
77# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
78 0, 0, 0, 0, __kind, 0, { 0, 0 }
79#else
80# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
81 0, 0, 0, __kind, 0, { 0 }
82#endif
83
84#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/struct_rwlock.h created+71
...@@ -0,0 +1,71 @@
1/* MIPS internal rwlock struct definitions.
2 Copyright (C) 2019-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 _RWLOCK_INTERNAL_H
20#define _RWLOCK_INTERNAL_H
21
22struct __pthread_rwlock_arch_t
23{
24 unsigned int __readers;
25 unsigned int __writers;
26 unsigned int __wrphase_futex;
27 unsigned int __writers_futex;
28 unsigned int __pad3;
29 unsigned int __pad4;
30#if _MIPS_SIM == _ABI64
31 int __cur_writer;
32 int __shared;
33 unsigned long int __pad1;
34 unsigned long int __pad2;
35 /* FLAGS must stay at this position in the structure to maintain
36 binary compatibility. */
37 unsigned int __flags;
38# else
39# if __BYTE_ORDER == __BIG_ENDIAN
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46# else
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 unsigned char __pad1;
52 unsigned char __pad2;
53# endif
54 int __cur_writer;
55#endif
56};
57
58#if _MIPS_SIM == _ABI64
59# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
61#else
62# if __BYTE_ORDER == __BIG_ENDIAN
63# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
64 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
65# else
66# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
67 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
68# endif
69#endif
70
71#endif
\ No newline at end of file
lib/libc/include/generic-glibc/bits/sys_errlist.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declare sys_errlist and sys_nerr, or don't. Compatibility (do) version.1/* Declare sys_errlist and sys_nerr, or don't. Compatibility (do) 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 _STDIO_H19#ifndef _STDIO_H
20# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."20# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
lib/libc/include/generic-glibc/bits/syscall.h+10-2
...@@ -1,11 +1,11 @@...@@ -1,11 +1,11 @@
1/* Generated at libc build time from syscall list. */1/* Generated at libc build time from syscall list. */
2/* The system call list corresponds to kernel 5.2. */2/* The system call list corresponds to kernel 5.4. */
33
4#ifndef _SYSCALL_H4#ifndef _SYSCALL_H
5# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."5# error "Never use <bits/syscall.h> directly; include <sys/syscall.h> instead."
6#endif6#endif
77
8#define __GLIBC_LINUX_VERSION_CODE 3281928#define __GLIBC_LINUX_VERSION_CODE 328704
99
10#ifdef __NR_FAST_atomic_update10#ifdef __NR_FAST_atomic_update
11# define SYS_FAST_atomic_update __NR_FAST_atomic_update11# define SYS_FAST_atomic_update __NR_FAST_atomic_update
...@@ -207,6 +207,10 @@...@@ -207,6 +207,10 @@
207# define SYS_clone2 __NR_clone2207# define SYS_clone2 __NR_clone2
208#endif208#endif
209209
210#ifdef __NR_clone3
211# define SYS_clone3 __NR_clone3
212#endif
213
210#ifdef __NR_close214#ifdef __NR_close
211# define SYS_close __NR_close215# define SYS_close __NR_close
212#endif216#endif
...@@ -1547,6 +1551,10 @@...@@ -1547,6 +1551,10 @@
1547# define SYS_personality __NR_personality1551# define SYS_personality __NR_personality
1548#endif1552#endif
15491553
1554#ifdef __NR_pidfd_open
1555# define SYS_pidfd_open __NR_pidfd_open
1556#endif
1557
1550#ifdef __NR_pidfd_send_signal1558#ifdef __NR_pidfd_send_signal
1551# define SYS_pidfd_send_signal __NR_pidfd_send_signal1559# define SYS_pidfd_send_signal __NR_pidfd_send_signal
1552#endif1560#endif
lib/libc/include/generic-glibc/bits/syslog-ldbl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* -mlong-double-64 compatibility mode for syslog functions.1/* -mlong-double-64 compatibility mode for syslog functions.
2 Copyright (C) 2006-2019 Free Software Foundation, Inc.2 Copyright (C) 2006-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 _SYS_SYSLOG_H19#ifndef _SYS_SYSLOG_H
20# error "Never include <bits/syslog-ldbl.h> directly; use <sys/syslog.h> instead."20# error "Never include <bits/syslog-ldbl.h> directly; use <sys/syslog.h> instead."
lib/libc/include/generic-glibc/bits/syslog-path.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* <bits/syslog-path.h> -- _PATH_LOG definition1/* <bits/syslog-path.h> -- _PATH_LOG definition
2 Copyright (C) 2006-2019 Free Software Foundation, Inc.2 Copyright (C) 2006-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 _SYS_SYSLOG_H19#ifndef _SYS_SYSLOG_H
20# error "Never include this file directly. Use <sys/syslog.h> instead"20# error "Never include this file directly. Use <sys/syslog.h> instead"
lib/libc/include/generic-glibc/bits/syslog.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for syslog functions.1/* Checking macros for syslog functions.
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#ifndef _SYS_SYSLOG_H19#ifndef _SYS_SYSLOG_H
20# error "Never include <bits/syslog.h> directly; use <sys/syslog.h> instead."20# error "Never include <bits/syslog.h> directly; use <sys/syslog.h> instead."
lib/libc/include/generic-glibc/bits/sysmacros.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions of macros to access `dev_t' values.1/* Definitions of macros to access `dev_t' values.
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_SYSMACROS_H19#ifndef _BITS_SYSMACROS_H
20#define _BITS_SYSMACROS_H 120#define _BITS_SYSMACROS_H 1
lib/libc/include/generic-glibc/bits/termios-baud.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud rate selection definitions. Linux/generic version.1/* termios baud rate selection definitions. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/generic version.1/* termios c_cc symbolic constant definitions. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios_c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios_c_cc.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios-c_cflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios control mode definitions. Linux/generic version.1/* termios control mode definitions. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios-c_iflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios input mode definitions. Linux/generic version.1/* termios input mode definitions. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-ciflags.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-ciflags.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/generic version.1/* termios local mode definitions. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios-c_oflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios output mode definitions. Linux/generic version.1/* termios output mode definitions. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios-misc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud platform specific definitions. Linux/generic version.1/* termios baud platform specific definitions. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/generic version.1/* struct termios definition. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios-tcflow.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios tcflag symbolic contants definitions. Linux/generic version.1/* termios tcflag symbolic contants definitions. Linux/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,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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/bits/termios.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios type and macro definitions. Linux version.1/* termios type and macro definitions. Linux version.
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.
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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios.h> directly; use <termios.h> instead."20# error "Never include <bits/termios.h> directly; use <termios.h> instead."
lib/libc/include/generic-glibc/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/include/generic-glibc/bits/time.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-dependent timing definitions. Linux version.1/* System-dependent timing definitions. Linux 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/*19/*
20 * Never include this file directly; use <time.h> instead.20 * Never include this file directly; use <time.h> instead.
lib/libc/include/generic-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/include/generic-glibc/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/generic-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/include/generic-glibc/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/include/generic-glibc/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/include/generic-glibc/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/include/generic-glibc/bits/types/__sigval_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __sigval_t.1/* Define __sigval_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.
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 ____sigval_t_defined19#ifndef ____sigval_t_defined
20#define ____sigval_t_defined20#define ____sigval_t_defined
lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.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 __cookie_io_functions_t_defined18#ifndef __cookie_io_functions_t_defined
19#define __cookie_io_functions_t_defined 119#define __cookie_io_functions_t_defined 1
lib/libc/include/generic-glibc/bits/types/error_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define error_t.1/* Define error_t.
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 __error_t_defined19#ifndef __error_t_defined
20# define __error_t_defined 120# define __error_t_defined 1
lib/libc/include/generic-glibc/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/include/generic-glibc/bits/types/stack_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define stack_t. Linux version.1/* Define stack_t. Linux 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
...@@ -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 __stack_t_defined19#ifndef __stack_t_defined
20#define __stack_t_defined 120#define __stack_t_defined 1
lib/libc/include/generic-glibc/bits/types/struct_FILE.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 __struct_FILE_defined18#ifndef __struct_FILE_defined
19#define __struct_FILE_defined 119#define __struct_FILE_defined 1
lib/libc/include/generic-glibc/bits/types/struct_iovec.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define struct iovec.1/* Define struct iovec.
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 __iovec_defined19#ifndef __iovec_defined
20#define __iovec_defined 120#define __iovec_defined 1
lib/libc/include/generic-glibc/bits/types/struct_rusage.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define struct rusage.1/* Define struct rusage.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 __rusage_defined19#ifndef __rusage_defined
20#define __rusage_defined 120#define __rusage_defined 1
lib/libc/include/generic-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/include/generic-glibc/bits/types/struct_sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define struct sigstack.1/* Define struct sigstack.
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#ifndef __sigstack_defined19#ifndef __sigstack_defined
20#define __sigstack_defined 120#define __sigstack_defined 1
lib/libc/include/generic-glibc/bits/types/struct_statx.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of the generic version of struct statx.1/* Definition of the generic version of struct statx.
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 _SYS_STAT_H19#ifndef _SYS_STAT_H
20# error Never include <bits/types/struct_statx.h> directly, include <sys/stat.h> instead.20# error Never include <bits/types/struct_statx.h> directly, include <sys/stat.h> instead.
lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of the generic version of struct statx_timestamp.1/* Definition of the generic version of struct statx_timestamp.
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 _SYS_STAT_H19#ifndef _SYS_STAT_H
20# error Never include <bits/types/struct_statx_timestamp.h> directly, include <sys/stat.h> instead.20# error Never include <bits/types/struct_statx_timestamp.h> directly, include <sys/stat.h> instead.
lib/libc/include/generic-glibc/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
\ No newline at end of file
lib/libc/include/generic-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/include/generic-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/include/generic-glibc/bits/uio-ext.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Operating system-specific extensions to sys/uio.h - Linux version.1/* Operating system-specific extensions to sys/uio.h - Linux 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_UIO_EXT_H19#ifndef _BITS_UIO_EXT_H
20#define _BITS_UIO_EXT_H 120#define _BITS_UIO_EXT_H 1
lib/libc/include/generic-glibc/bits/uio_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Implementation limits related to sys/uio.h - Linux version.1/* Implementation limits related to sys/uio.h - Linux 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#ifndef _BITS_UIO_LIM_H19#ifndef _BITS_UIO_LIM_H
20#define _BITS_UIO_LIM_H 120#define _BITS_UIO_LIM_H 1
lib/libc/include/generic-glibc/bits/unistd.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for unistd functions.1/* Checking macros for unistd functions.
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#ifndef _UNISTD_H19#ifndef _UNISTD_H
20# error "Never include <bits/unistd.h> directly; use <unistd.h> instead."20# error "Never include <bits/unistd.h> directly; use <unistd.h> instead."
lib/libc/include/generic-glibc/bits/unistd_ext.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System-specific extensions of <unistd.h>, Linux version.1/* System-specific extensions of <unistd.h>, 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 _UNISTD_H19#ifndef _UNISTD_H
20# error "Never include <bits/unistd_ext.h> directly; use <unistd.h> instead."20# error "Never include <bits/unistd_ext.h> directly; use <unistd.h> instead."
lib/libc/include/generic-glibc/bits/utmp.h+5-4
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The `struct utmp' type, describing entries in the utmp file. GNU version.1/* The `struct utmp' type, describing entries in the utmp file.
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.
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 _UTMP_H19#ifndef _UTMP_H
20# error "Never include <bits/utmp.h> directly; use <utmp.h> instead."20# error "Never include <bits/utmp.h> directly; use <utmp.h> instead."
...@@ -61,7 +61,8 @@ struct utmp...@@ -61,7 +61,8 @@ struct utmp
61 pid_t ut_pid; /* Process ID of login process. */61 pid_t ut_pid; /* Process ID of login process. */
62 char ut_line[UT_LINESIZE]62 char ut_line[UT_LINESIZE]
63 __attribute_nonstring__; /* Devicename. */63 __attribute_nonstring__; /* Devicename. */
64 char ut_id[4]; /* Inittab ID. */64 char ut_id[4]
65 __attribute_nonstring__; /* Inittab ID. */
65 char ut_user[UT_NAMESIZE]66 char ut_user[UT_NAMESIZE]
66 __attribute_nonstring__; /* Username. */67 __attribute_nonstring__; /* Username. */
67 char ut_host[UT_HOSTSIZE]68 char ut_host[UT_HOSTSIZE]
lib/libc/include/generic-glibc/bits/utmpx.h+10-6
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structures and definitions for the user accounting database. GNU version.1/* Structures and definitions for the user accounting database. GNU version.
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#ifndef _UTMPX_H19#ifndef _UTMPX_H
20# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."20# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."
...@@ -56,10 +56,14 @@ struct utmpx...@@ -56,10 +56,14 @@ struct utmpx
56{56{
57 short int ut_type; /* Type of login. */57 short int ut_type; /* Type of login. */
58 __pid_t ut_pid; /* Process ID of login process. */58 __pid_t ut_pid; /* Process ID of login process. */
59 char ut_line[__UT_LINESIZE]; /* Devicename. */59 char ut_line[__UT_LINESIZE]
60 char ut_id[4]; /* Inittab ID. */60 __attribute_nonstring__; /* Devicename. */
61 char ut_user[__UT_NAMESIZE]; /* Username. */61 char ut_id[4]
62 char ut_host[__UT_HOSTSIZE]; /* Hostname for remote login. */62 __attribute_nonstring__; /* Inittab ID. */
63 char ut_user[__UT_NAMESIZE]
64 __attribute_nonstring__; /* Username. */
65 char ut_host[__UT_HOSTSIZE]
66 __attribute_nonstring__; /* Hostname for remote login. */
63 struct __exit_status ut_exit; /* Exit status of a process marked67 struct __exit_status ut_exit; /* Exit status of a process marked
64 as DEAD_PROCESS. */68 as DEAD_PROCESS. */
6569
lib/libc/include/generic-glibc/bits/utsname.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_UTSNAME_H18#ifndef _SYS_UTSNAME_H
19# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead."19# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead."
lib/libc/include/generic-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/include/generic-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/include/generic-glibc/bits/wchar-ldbl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* -mlong-double-64 compatibility mode for <wchar.h> functions.1/* -mlong-double-64 compatibility mode for <wchar.h> functions.
2 Copyright (C) 2006-2019 Free Software Foundation, Inc.2 Copyright (C) 2006-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 _WCHAR_H19#ifndef _WCHAR_H
20# error "Never include <bits/wchar-ldbl.h> directly; use <wchar.h> instead."20# error "Never include <bits/wchar-ldbl.h> directly; use <wchar.h> instead."
lib/libc/include/generic-glibc/bits/wchar.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* wchar_t type related definitions.1/* wchar_t type related definitions.
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#ifndef _BITS_WCHAR_H19#ifndef _BITS_WCHAR_H
20#define _BITS_WCHAR_H 120#define _BITS_WCHAR_H 1
lib/libc/include/generic-glibc/bits/wchar2.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Checking macros for wchar functions.1/* Checking macros for wchar functions.
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#ifndef _WCHAR_H19#ifndef _WCHAR_H
20# error "Never include <bits/wchar2.h> directly; use <wchar.h> instead."20# error "Never include <bits/wchar2.h> directly; use <wchar.h> instead."
lib/libc/include/generic-glibc/bits/wctype-wchar.h+3-3
...@@ -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/*18/*
19 * ISO C99 Standard: 7.2519 * ISO C99 Standard: 7.25
...@@ -42,7 +42,7 @@ typedef unsigned long int wctype_t;...@@ -42,7 +42,7 @@ typedef unsigned long int wctype_t;
42 endian). We define the bit value interpretations here dependent on the42 endian). We define the bit value interpretations here dependent on the
43 machine's byte order. */43 machine's byte order. */
4444
45# include <endian.h>45# include <bits/endian.h>
46# if __BYTE_ORDER == __BIG_ENDIAN46# if __BYTE_ORDER == __BIG_ENDIAN
47# define _ISwbit(bit) (1 << (bit))47# define _ISwbit(bit) (1 << (bit))
48# else /* __BYTE_ORDER == __LITTLE_ENDIAN */48# else /* __BYTE_ORDER == __LITTLE_ENDIAN */
lib/libc/include/generic-glibc/bits/wordsize.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.
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 <sgidefs.h>18#include <sgidefs.h>
1919
lib/libc/include/generic-glibc/bits/xopen_lim.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/*18/*
19 * Never include this file directly; use <limits.h> instead.19 * Never include this file directly; use <limits.h> instead.
lib/libc/include/generic-glibc/byteswap.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 _BYTESWAP_H18#ifndef _BYTESWAP_H
19#define _BYTESWAP_H 119#define _BYTESWAP_H 1
lib/libc/include/generic-glibc/complex.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/*18/*
19 * ISO C99: 7.3 Complex arithmetic <complex.h>19 * ISO C99: 7.3 Complex arithmetic <complex.h>
lib/libc/include/generic-glibc/cpio.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Extended cpio format from POSIX.1.1/* Extended cpio format from POSIX.1.
2 This file is part of the GNU C Library.2 This file is part of the GNU C Library.
3 Copyright (C) 1992-2019 Free Software Foundation, Inc.3 Copyright (C) 1992-2020 Free Software Foundation, Inc.
4 NOTE: The canonical source of this file is maintained with the GNU cpio.4 NOTE: The canonical source of this file is maintained with the GNU cpio.
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 _CPIO_H20#ifndef _CPIO_H
21#define _CPIO_H 121#define _CPIO_H 1
lib/libc/include/generic-glibc/crypt.h+2-2
...@@ -1,7 +1,7 @@...@@ -1,7 +1,7 @@
1/*1/*
2 * UFC-crypt: ultra fast crypt(3) implementation2 * UFC-crypt: ultra fast crypt(3) implementation
3 *3 *
4 * Copyright (C) 1991-2019 Free Software Foundation, Inc.4 * Copyright (C) 1991-2020 Free Software Foundation, Inc.
5 *5 *
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
7 * modify it under the terms of the GNU Lesser General Public7 * modify it under the terms of the GNU Lesser General Public
...@@ -15,7 +15,7 @@...@@ -15,7 +15,7 @@
15 *15 *
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/>.
19 *19 *
20 * @(#)crypt.h 1.5 12/20/9620 * @(#)crypt.h 1.5 12/20/96
21 *21 *
lib/libc/include/generic-glibc/ctype.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.4: Character handling <ctype.h>19 * ISO C99 Standard 7.4: Character handling <ctype.h>
...@@ -36,7 +36,7 @@ __BEGIN_DECLS...@@ -36,7 +36,7 @@ __BEGIN_DECLS
36 endian). We define the bit value interpretations here dependent on the36 endian). We define the bit value interpretations here dependent on the
37 machine's byte order. */37 machine's byte order. */
3838
39# include <endian.h>39# include <bits/endian.h>
40# if __BYTE_ORDER == __BIG_ENDIAN40# if __BYTE_ORDER == __BIG_ENDIAN
41# define _ISbit(bit) (1 << (bit))41# define _ISbit(bit) (1 << (bit))
42# else /* __BYTE_ORDER == __LITTLE_ENDIAN */42# else /* __BYTE_ORDER == __LITTLE_ENDIAN */
lib/libc/include/generic-glibc/dirent.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.1.2 Directory Operations <dirent.h>19 * POSIX Standard: 5.1.2 Directory Operations <dirent.h>
lib/libc/include/generic-glibc/dlfcn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* User functions for run-time dynamic loading.1/* User functions for run-time dynamic loading.
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 _DLFCN_H19#ifndef _DLFCN_H
20#define _DLFCN_H 120#define _DLFCN_H 1
lib/libc/include/generic-glibc/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/include/generic-glibc/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/include/generic-glibc/envz.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Routines for dealing with '\0' separated environment vectors1/* Routines for dealing with '\0' separated environment vectors
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 _ENVZ_H19#ifndef _ENVZ_H
20#define _ENVZ_H 120#define _ENVZ_H 1
lib/libc/include/generic-glibc/err.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* 4.4BSD utility functions for error messages.1/* 4.4BSD utility functions for error messages.
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 _ERR_H19#ifndef _ERR_H
20#define _ERR_H 120#define _ERR_H 1
lib/libc/include/generic-glibc/errno.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.5 Errors <errno.h>19 * ISO C99 Standard: 7.5 Errors <errno.h>
lib/libc/include/generic-glibc/error.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declaration for error-reporting function1/* Declaration for error-reporting function
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 _ERROR_H19#ifndef _ERROR_H
20#define _ERROR_H 120#define _ERROR_H 1
lib/libc/include/generic-glibc/execinfo.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 _EXECINFO_H18#ifndef _EXECINFO_H
19#define _EXECINFO_H 119#define _EXECINFO_H 1
lib/libc/include/generic-glibc/fcntl.h+3-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: 6.5 File Control Operations <fcntl.h>19 * POSIX Standard: 6.5 File Control Operations <fcntl.h>
...@@ -161,6 +161,7 @@ typedef __pid_t pid_t;...@@ -161,6 +161,7 @@ typedef __pid_t pid_t;
161# define AT_STATX_SYNC_AS_STAT 0x0000161# define AT_STATX_SYNC_AS_STAT 0x0000
162# define AT_STATX_FORCE_SYNC 0x2000162# define AT_STATX_FORCE_SYNC 0x2000
163# define AT_STATX_DONT_SYNC 0x4000163# define AT_STATX_DONT_SYNC 0x4000
164# define AT_RECURSIVE 0x8000 /* Apply to the entire subtree. */
164# endif165# endif
165# define AT_EACCESS 0x200 /* Test access permitted for166# define AT_EACCESS 0x200 /* Test access permitted for
166 effective IDs, not real IDs. */167 effective IDs, not real IDs. */
lib/libc/include/generic-glibc/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/include/generic-glibc/fenv.h+6-6
...@@ -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/*18/*
19 * ISO C99 7.6: Floating-point environment <fenv.h>19 * ISO C99 7.6: Floating-point environment <fenv.h>
...@@ -77,7 +77,7 @@ extern int fegetexceptflag (fexcept_t *__flagp, int __excepts) __THROW;...@@ -77,7 +77,7 @@ extern int fegetexceptflag (fexcept_t *__flagp, int __excepts) __THROW;
77/* Raise the supported exceptions represented by EXCEPTS. */77/* Raise the supported exceptions represented by EXCEPTS. */
78extern int feraiseexcept (int __excepts) __THROW;78extern int feraiseexcept (int __excepts) __THROW;
7979
80#if __GLIBC_USE (IEC_60559_BFP_EXT)80#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
81/* Set the supported exception flags represented by EXCEPTS, without81/* Set the supported exception flags represented by EXCEPTS, without
82 causing enabled traps to be taken. */82 causing enabled traps to be taken. */
83extern int fesetexcept (int __excepts) __THROW;83extern int fesetexcept (int __excepts) __THROW;
...@@ -91,7 +91,7 @@ extern int fesetexceptflag (const fexcept_t *__flagp, int __excepts) __THROW;...@@ -91,7 +91,7 @@ extern int fesetexceptflag (const fexcept_t *__flagp, int __excepts) __THROW;
91 currently set. */91 currently set. */
92extern int fetestexcept (int __excepts) __THROW;92extern int fetestexcept (int __excepts) __THROW;
9393
94#if __GLIBC_USE (IEC_60559_BFP_EXT)94#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
95/* Determine which of subset of the exceptions specified by EXCEPTS95/* Determine which of subset of the exceptions specified by EXCEPTS
96 are set in *FLAGP. */96 are set in *FLAGP. */
97extern int fetestexceptflag (const fexcept_t *__flagp, int __excepts) __THROW;97extern int fetestexceptflag (const fexcept_t *__flagp, int __excepts) __THROW;
...@@ -130,7 +130,7 @@ extern int feupdateenv (const fenv_t *__envp) __THROW;...@@ -130,7 +130,7 @@ extern int feupdateenv (const fenv_t *__envp) __THROW;
130130
131/* Control modes. */131/* Control modes. */
132132
133#if __GLIBC_USE (IEC_60559_BFP_EXT)133#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
134/* Store the current floating-point control modes in the object134/* Store the current floating-point control modes in the object
135 pointed to by MODEP. */135 pointed to by MODEP. */
136extern int fegetmode (femode_t *__modep) __THROW;136extern int fegetmode (femode_t *__modep) __THROW;
...@@ -147,7 +147,7 @@ extern int fesetmode (const femode_t *__modep) __THROW;...@@ -147,7 +147,7 @@ extern int fesetmode (const femode_t *__modep) __THROW;
147147
148/* NaN support. */148/* NaN support. */
149149
150#if (__GLIBC_USE (IEC_60559_BFP_EXT) \150#if (__GLIBC_USE (IEC_60559_BFP_EXT_C2X) \
151 && defined FE_INVALID \151 && defined FE_INVALID \
152 && defined __SUPPORT_SNAN__)152 && defined __SUPPORT_SNAN__)
153# define FE_SNANS_ALWAYS_SIGNAL 1153# define FE_SNANS_ALWAYS_SIGNAL 1
lib/libc/include/generic-glibc/finclude/math-vector-fortran.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
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.
4!4!
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,6 +14,6 @@...@@ -14,6 +14,6 @@
14!14!
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 SIMD math functions are available for this platform.19! No SIMD math functions are available for this platform.
\ No newline at end of file
lib/libc/include/generic-glibc/fmtmsg.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Message display handling.1/* Message display handling.
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#ifndef __FMTMSG_H19#ifndef __FMTMSG_H
20#define __FMTMSG_H 120#define __FMTMSG_H 1
lib/libc/include/generic-glibc/fnmatch.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 _FNMATCH_H18#ifndef _FNMATCH_H
19#define _FNMATCH_H 119#define _FNMATCH_H 1
lib/libc/include/generic-glibc/fpregdef.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 _FPREGDEF_H18#ifndef _FPREGDEF_H
19#define _FPREGDEF_H19#define _FPREGDEF_H
lib/libc/include/generic-glibc/fpu_control.h+2-3
...@@ -1,7 +1,6 @@...@@ -1,7 +1,6 @@
1/* FPU control word bits. Mips version.1/* FPU control word bits. Mips 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.
4 Contributed by Olaf Flebbe and Ralf Baechle.
54
6 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
7 modify it under the terms of the GNU Lesser General Public6 modify it under the terms of the GNU Lesser General Public
...@@ -15,7 +14,7 @@...@@ -15,7 +14,7 @@
1514
16 You should have received a copy of the GNU Lesser General Public15 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see16 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */17 <https://www.gnu.org/licenses/>. */
1918
20#ifndef _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
21#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/generic-glibc/fts.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* File tree traversal functions declarations.1/* File tree traversal functions declarations.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 * Copyright (c) 1989, 199320 * Copyright (c) 1989, 1993
lib/libc/include/generic-glibc/ftw.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/*18/*
19 * X/Open Portability Guide 4.2: ftw.h19 * X/Open Portability Guide 4.2: ftw.h
lib/libc/include/generic-glibc/gconv.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/* This header provides no interface for a user to the internals of18/* This header provides no interface for a user to the internals of
19 the gconv implementation in the libc. Therefore there is no use19 the gconv implementation in the libc. Therefore there is no use
lib/libc/include/generic-glibc/getopt.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declarations for getopt.1/* Declarations for getopt.
2 Copyright (C) 1989-2019 Free Software Foundation, Inc.2 Copyright (C) 1989-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 Unlike the bulk of the getopt implementation, this file is NOT part4 Unlike the bulk of the getopt implementation, this file is NOT part
5 of gnulib; gnulib also has a getopt.h but it is different.5 of gnulib; gnulib also has a getopt.h but it is different.
...@@ -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 _GETOPT_H21#ifndef _GETOPT_H
22#define _GETOPT_H 122#define _GETOPT_H 1
lib/libc/include/generic-glibc/glob.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 _GLOB_H18#ifndef _GLOB_H
19#define _GLOB_H 119#define _GLOB_H 1
lib/libc/include/generic-glibc/gnu-versions.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Header with interface version macros for library pieces copied elsewhere.1/* Header with interface version macros for library pieces copied elsewhere.
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 _GNU_VERSIONS_H19#ifndef _GNU_VERSIONS_H
20#define _GNU_VERSIONS_H 120#define _GNU_VERSIONS_H 1
lib/libc/include/generic-glibc/gnu/libc-version.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Interface to GNU libc specific functions for version information.1/* Interface to GNU libc specific functions for version information.
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#ifndef _GNU_LIBC_VERSION_H19#ifndef _GNU_LIBC_VERSION_H
20#define _GNU_LIBC_VERSION_H 120#define _GNU_LIBC_VERSION_H 1
lib/libc/include/generic-glibc/grp.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: 9.2.1 Group Database Access <grp.h>19 * POSIX Standard: 9.2.1 Group Database Access <grp.h>
lib/libc/include/generic-glibc/gshadow.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2009-2019 Free Software Foundation, Inc.1/* Copyright (C) 2009-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/* Declaration of types and functions for shadow group suite. */18/* Declaration of types and functions for shadow group suite. */
1919
lib/libc/include/generic-glibc/iconv.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 _ICONV_H18#ifndef _ICONV_H
19#define _ICONV_H 119#define _ICONV_H 1
lib/libc/include/generic-glibc/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/generic-glibc/ifaddrs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* ifaddrs.h -- declarations for getting network interface addresses1/* ifaddrs.h -- declarations for getting network interface addresses
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 _IFADDRS_H19#ifndef _IFADDRS_H
20#define _IFADDRS_H 120#define _IFADDRS_H 1
lib/libc/include/generic-glibc/inttypes.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/*18/*
19 * ISO C99: 7.8 Format conversion of integer types <inttypes.h>19 * ISO C99: 7.8 Format conversion of integer types <inttypes.h>
lib/libc/include/generic-glibc/langinfo.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Access to locale-dependent parameters.1/* Access to locale-dependent parameters.
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 _LANGINFO_H19#ifndef _LANGINFO_H
20#define _LANGINFO_H 120#define _LANGINFO_H 1
lib/libc/include/generic-glibc/libgen.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 _LIBGEN_H18#ifndef _LIBGEN_H
19#define _LIBGEN_H 119#define _LIBGEN_H 1
lib/libc/include/generic-glibc/libintl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Message catalogs for internationalization.1/* Message catalogs for internationalization.
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.
4 This file is derived from the file libgettext.h in the GNU gettext package.4 This file is derived from the file libgettext.h in the GNU gettext package.
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 _LIBINTL_H20#ifndef _LIBINTL_H
21#define _LIBINTL_H 121#define _LIBINTL_H 1
lib/libc/include/generic-glibc/limits.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.10/5.2.4.2.1 Sizes of integer types <limits.h>19 * ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h>
...@@ -142,7 +142,7 @@...@@ -142,7 +142,7 @@
142/* The integer width macros are not defined by GCC's <limits.h> before142/* The integer width macros are not defined by GCC's <limits.h> before
143 GCC 7, or if _GNU_SOURCE rather than143 GCC 7, or if _GNU_SOURCE rather than
144 __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. */144 __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. */
145#if __GLIBC_USE (IEC_60559_BFP_EXT)145#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
146# ifndef CHAR_WIDTH146# ifndef CHAR_WIDTH
147# define CHAR_WIDTH 8147# define CHAR_WIDTH 8
148# endif148# endif
lib/libc/include/generic-glibc/link.h+2-2
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Data structure for communication from the run-time dynamic linker for1/* Data structure for communication from the run-time dynamic linker for
2 loaded ELF shared objects.2 loaded ELF shared objects.
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 _LINK_H20#ifndef _LINK_H
21#define _LINK_H 121#define _LINK_H 1
lib/libc/include/generic-glibc/locale.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.11 Localization <locale.h>19 * ISO C99 Standard: 7.11 Localization <locale.h>
lib/libc/include/generic-glibc/malloc.h+3-4
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Prototypes and definition for malloc implementation.1/* Prototypes and definition for malloc implementation.
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 _MALLOC_H19#ifndef _MALLOC_H
20#define _MALLOC_H 120#define _MALLOC_H 1
...@@ -71,8 +71,7 @@ extern void *valloc (size_t __size) __THROW __attribute_malloc__...@@ -71,8 +71,7 @@ extern void *valloc (size_t __size) __THROW __attribute_malloc__
7171
72/* Equivalent to valloc(minimum-page-that-holds(n)), that is, round up72/* Equivalent to valloc(minimum-page-that-holds(n)), that is, round up
73 __size to nearest pagesize. */73 __size to nearest pagesize. */
74extern void *pvalloc (size_t __size) __THROW __attribute_malloc__74extern void *pvalloc (size_t __size) __THROW __attribute_malloc__ __wur;
75 __attribute_alloc_size__ ((1)) __wur;
7675
77/* Underlying allocation function; successive calls should return76/* Underlying allocation function; successive calls should return
78 contiguous pieces of memory. */77 contiguous pieces of memory. */
lib/libc/include/generic-glibc/math.h+8-228
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declarations for math functions.1/* Declarations for math functions.
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/*19/*
20 * ISO C99 Standard: 7.12 Mathematics <math.h>20 * ISO C99 Standard: 7.12 Mathematics <math.h>
...@@ -104,7 +104,7 @@ __BEGIN_DECLS...@@ -104,7 +104,7 @@ __BEGIN_DECLS
104# endif104# endif
105#endif /* __USE_ISOC99 */105#endif /* __USE_ISOC99 */
106106
107#if __GLIBC_USE (IEC_60559_BFP_EXT)107#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
108/* Signaling NaN macros, if supported. */108/* Signaling NaN macros, if supported. */
109# if __GNUC_PREREQ (3, 3)109# if __GNUC_PREREQ (3, 3)
110# define SNANF (__builtin_nansf (""))110# define SNANF (__builtin_nansf (""))
...@@ -200,7 +200,7 @@ typedef _Float128x double_t;...@@ -200,7 +200,7 @@ typedef _Float128x double_t;
200# define FP_ILOGBNAN 2147483647200# define FP_ILOGBNAN 2147483647
201# endif201# endif
202#endif202#endif
203#if __GLIBC_USE (IEC_60559_BFP_EXT)203#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
204# if __WORDSIZE == 32204# if __WORDSIZE == 32
205# define __FP_LONG_MAX 0x7fffffffL205# define __FP_LONG_MAX 0x7fffffffL
206# else206# else
...@@ -232,7 +232,7 @@ typedef _Float128x double_t;...@@ -232,7 +232,7 @@ typedef _Float128x double_t;
232232
233#include <bits/fp-fast.h>233#include <bits/fp-fast.h>
234234
235#if __GLIBC_USE (IEC_60559_BFP_EXT)235#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
236/* Rounding direction macros for fromfp functions. */236/* Rounding direction macros for fromfp functions. */
237enum237enum
238 {238 {
...@@ -495,7 +495,7 @@ extern long double __REDIRECT_NTH (nexttowardl,...@@ -495,7 +495,7 @@ extern long double __REDIRECT_NTH (nexttowardl,
495#define __MATHCALL_NARROW(func, redir, nargs) \495#define __MATHCALL_NARROW(func, redir, nargs) \
496 __MATHCALL_NARROW_NORMAL (func, nargs)496 __MATHCALL_NARROW_NORMAL (func, nargs)
497497
498#if __GLIBC_USE (IEC_60559_BFP_EXT)498#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
499499
500# define _Mret_ float500# define _Mret_ float
501# define _Marg_ double501# define _Marg_ double
...@@ -969,7 +969,7 @@ enum...@@ -969,7 +969,7 @@ enum
969969
970#endif /* Use ISO C99. */970#endif /* Use ISO C99. */
971971
972#if __GLIBC_USE (IEC_60559_BFP_EXT)972#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
973# include <bits/iscanonical.h>973# include <bits/iscanonical.h>
974974
975/* Return nonzero value if X is a signaling NaN. */975/* Return nonzero value if X is a signaling NaN. */
...@@ -1245,228 +1245,8 @@ iszero (__T __val)...@@ -1245,228 +1245,8 @@ iszero (__T __val)
1245# include <bits/mathinline.h>1245# include <bits/mathinline.h>
1246#endif1246#endif
12471247
1248/* Define special entry points to use when the compiler got told to
1249 only expect finite results. */
1250#if defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0
1251
1252/* Include bits/math-finite.h for double. */
1253# define _Mdouble_ double
1254# define __MATH_DECLARING_DOUBLE 1
1255# define __MATH_DECLARING_FLOATN 0
1256# define __REDIRFROM_X(function, reentrant) \
1257 function ## reentrant
1258# define __REDIRTO_X(function, reentrant) \
1259 __ ## function ## reentrant ## _finite
1260# include <bits/math-finite.h>
1261# undef _Mdouble_
1262# undef __MATH_DECLARING_DOUBLE
1263# undef __MATH_DECLARING_FLOATN
1264# undef __REDIRFROM_X
1265# undef __REDIRTO_X
1266
1267/* When __USE_ISOC99 is defined, include math-finite for float and
1268 long double, as well. */
1269# ifdef __USE_ISOC99
1270
1271/* Include bits/math-finite.h for float. */
1272# define _Mdouble_ float
1273# define __MATH_DECLARING_DOUBLE 0
1274# define __MATH_DECLARING_FLOATN 0
1275# define __REDIRFROM_X(function, reentrant) \
1276 function ## f ## reentrant
1277# define __REDIRTO_X(function, reentrant) \
1278 __ ## function ## f ## reentrant ## _finite
1279# include <bits/math-finite.h>
1280# undef _Mdouble_
1281# undef __MATH_DECLARING_DOUBLE
1282# undef __MATH_DECLARING_FLOATN
1283# undef __REDIRFROM_X
1284# undef __REDIRTO_X
1285
1286/* Include bits/math-finite.h for long double. */
1287# ifdef __MATH_DECLARE_LDOUBLE
1288# define _Mdouble_ long double
1289# define __MATH_DECLARING_DOUBLE 0
1290# define __MATH_DECLARING_FLOATN 0
1291# define __REDIRFROM_X(function, reentrant) \
1292 function ## l ## reentrant
1293# ifdef __NO_LONG_DOUBLE_MATH
1294# define __REDIRTO_X(function, reentrant) \
1295 __ ## function ## reentrant ## _finite
1296# else
1297# define __REDIRTO_X(function, reentrant) \
1298 __ ## function ## l ## reentrant ## _finite
1299# endif
1300# include <bits/math-finite.h>
1301# undef _Mdouble_
1302# undef __MATH_DECLARING_DOUBLE
1303# undef __MATH_DECLARING_FLOATN
1304# undef __REDIRFROM_X
1305# undef __REDIRTO_X
1306# endif
1307
1308# endif /* __USE_ISOC99. */
1309
1310/* Include bits/math-finite.h for _FloatN and _FloatNx. */
1311
1312# if (__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !defined _LIBC)) \
1313 && __GLIBC_USE (IEC_60559_TYPES_EXT)
1314# define _Mdouble_ _Float16
1315# define __MATH_DECLARING_DOUBLE 0
1316# define __MATH_DECLARING_FLOATN 1
1317# define __REDIRFROM_X(function, reentrant) \
1318 function ## f16 ## reentrant
1319# if __HAVE_DISTINCT_FLOAT16
1320# define __REDIRTO_X(function, reentrant) \
1321 __ ## function ## f16 ## reentrant ## _finite
1322# else
1323# error "non-disinct _Float16"
1324# endif
1325# include <bits/math-finite.h>
1326# undef _Mdouble_
1327# undef __MATH_DECLARING_DOUBLE
1328# undef __MATH_DECLARING_FLOATN
1329# undef __REDIRFROM_X
1330# undef __REDIRTO_X
1331# endif
1332
1333# if (__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !defined _LIBC)) \
1334 && __GLIBC_USE (IEC_60559_TYPES_EXT)
1335# define _Mdouble_ _Float32
1336# define __MATH_DECLARING_DOUBLE 0
1337# define __MATH_DECLARING_FLOATN 1
1338# define __REDIRFROM_X(function, reentrant) \
1339 function ## f32 ## reentrant
1340# if __HAVE_DISTINCT_FLOAT32
1341# define __REDIRTO_X(function, reentrant) \
1342 __ ## function ## f32 ## reentrant ## _finite
1343# else
1344# define __REDIRTO_X(function, reentrant) \
1345 __ ## function ## f ## reentrant ## _finite
1346# endif
1347# include <bits/math-finite.h>
1348# undef _Mdouble_
1349# undef __MATH_DECLARING_DOUBLE
1350# undef __MATH_DECLARING_FLOATN
1351# undef __REDIRFROM_X
1352# undef __REDIRTO_X
1353# endif
1354
1355# if (__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !defined _LIBC)) \
1356 && __GLIBC_USE (IEC_60559_TYPES_EXT)
1357# define _Mdouble_ _Float64
1358# define __MATH_DECLARING_DOUBLE 0
1359# define __MATH_DECLARING_FLOATN 1
1360# define __REDIRFROM_X(function, reentrant) \
1361 function ## f64 ## reentrant
1362# if __HAVE_DISTINCT_FLOAT64
1363# define __REDIRTO_X(function, reentrant) \
1364 __ ## function ## f64 ## reentrant ## _finite
1365# else
1366# define __REDIRTO_X(function, reentrant) \
1367 __ ## function ## reentrant ## _finite
1368# endif
1369# include <bits/math-finite.h>
1370# undef _Mdouble_
1371# undef __MATH_DECLARING_DOUBLE
1372# undef __MATH_DECLARING_FLOATN
1373# undef __REDIRFROM_X
1374# undef __REDIRTO_X
1375# endif
1376
1377# if (__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !defined _LIBC)) \
1378 && __GLIBC_USE (IEC_60559_TYPES_EXT)
1379# define _Mdouble_ _Float128
1380# define __MATH_DECLARING_DOUBLE 0
1381# define __MATH_DECLARING_FLOATN 1
1382# define __REDIRFROM_X(function, reentrant) \
1383 function ## f128 ## reentrant
1384# if __HAVE_DISTINCT_FLOAT128
1385# define __REDIRTO_X(function, reentrant) \
1386 __ ## function ## f128 ## reentrant ## _finite
1387# else
1388# define __REDIRTO_X(function, reentrant) \
1389 __ ## function ## l ## reentrant ## _finite
1390# endif
1391# include <bits/math-finite.h>
1392# undef _Mdouble_
1393# undef __MATH_DECLARING_DOUBLE
1394# undef __MATH_DECLARING_FLOATN
1395# undef __REDIRFROM_X
1396# undef __REDIRTO_X
1397# endif
1398
1399# if (__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !defined _LIBC)) \
1400 && __GLIBC_USE (IEC_60559_TYPES_EXT)
1401# define _Mdouble_ _Float32x
1402# define __MATH_DECLARING_DOUBLE 0
1403# define __MATH_DECLARING_FLOATN 1
1404# define __REDIRFROM_X(function, reentrant) \
1405 function ## f32x ## reentrant
1406# if __HAVE_DISTINCT_FLOAT32X
1407# define __REDIRTO_X(function, reentrant) \
1408 __ ## function ## f32x ## reentrant ## _finite
1409# else
1410# define __REDIRTO_X(function, reentrant) \
1411 __ ## function ## reentrant ## _finite
1412# endif
1413# include <bits/math-finite.h>
1414# undef _Mdouble_
1415# undef __MATH_DECLARING_DOUBLE
1416# undef __MATH_DECLARING_FLOATN
1417# undef __REDIRFROM_X
1418# undef __REDIRTO_X
1419# endif
1420
1421# if (__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !defined _LIBC)) \
1422 && __GLIBC_USE (IEC_60559_TYPES_EXT)
1423# define _Mdouble_ _Float64x
1424# define __MATH_DECLARING_DOUBLE 0
1425# define __MATH_DECLARING_FLOATN 1
1426# define __REDIRFROM_X(function, reentrant) \
1427 function ## f64x ## reentrant
1428# if __HAVE_DISTINCT_FLOAT64X
1429# define __REDIRTO_X(function, reentrant) \
1430 __ ## function ## f64x ## reentrant ## _finite
1431# elif __HAVE_FLOAT64X_LONG_DOUBLE
1432# define __REDIRTO_X(function, reentrant) \
1433 __ ## function ## l ## reentrant ## _finite
1434# else
1435# define __REDIRTO_X(function, reentrant) \
1436 __ ## function ## f128 ## reentrant ## _finite
1437# endif
1438# include <bits/math-finite.h>
1439# undef _Mdouble_
1440# undef __MATH_DECLARING_DOUBLE
1441# undef __MATH_DECLARING_FLOATN
1442# undef __REDIRFROM_X
1443# undef __REDIRTO_X
1444# endif
1445
1446# if (__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !defined _LIBC)) \
1447 && __GLIBC_USE (IEC_60559_TYPES_EXT)
1448# define _Mdouble_ _Float128x
1449# define __MATH_DECLARING_DOUBLE 0
1450# define __MATH_DECLARING_FLOATN 1
1451# define __REDIRFROM_X(function, reentrant) \
1452 function ## f128x ## reentrant
1453# if __HAVE_DISTINCT_FLOAT128X
1454# define __REDIRTO_X(function, reentrant) \
1455 __ ## function ## f128x ## reentrant ## _finite
1456# else
1457# error "non-disinct _Float128x"
1458# endif
1459# include <bits/math-finite.h>
1460# undef _Mdouble_
1461# undef __MATH_DECLARING_DOUBLE
1462# undef __MATH_DECLARING_FLOATN
1463# undef __REDIRFROM_X
1464# undef __REDIRTO_X
1465# endif
1466
1467#endif /* __FINITE_MATH_ONLY__ > 0. */
14681248
1469#if __GLIBC_USE (IEC_60559_BFP_EXT)1249#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
1470/* An expression whose type has the widest of the evaluation formats1250/* An expression whose type has the widest of the evaluation formats
1471 of X and Y (which are of floating-point types). */1251 of X and Y (which are of floating-point types). */
1472# if __FLT_EVAL_METHOD__ == 2 || __FLT_EVAL_METHOD__ > 641252# if __FLT_EVAL_METHOD__ == 2 || __FLT_EVAL_METHOD__ > 64
lib/libc/include/generic-glibc/mcheck.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 _MCHECK_H18#ifndef _MCHECK_H
19#define _MCHECK_H 119#define _MCHECK_H 1
lib/libc/include/generic-glibc/memory.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 * SVID19 * SVID
lib/libc/include/generic-glibc/mntent.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Utilities for reading/writing fstab, mtab, etc.1/* Utilities for reading/writing fstab, mtab, etc.
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 _MNTENT_H19#ifndef _MNTENT_H
20#define _MNTENT_H 120#define _MNTENT_H 1
lib/libc/include/generic-glibc/monetary.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Header file for monetary value formatting functions.1/* Header file for monetary value formatting functions.
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 _MONETARY_H19#ifndef _MONETARY_H
20#define _MONETARY_H 120#define _MONETARY_H 1
lib/libc/include/generic-glibc/mqueue.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _MQUEUE_H18#ifndef _MQUEUE_H
19#define _MQUEUE_H 119#define _MQUEUE_H 1
lib/libc/include/generic-glibc/net/ethernet.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/* Based on the FreeBSD version of this file. Curiously, that file18/* Based on the FreeBSD version of this file. Curiously, that file
19 lacks a copyright in the header. */19 lacks a copyright in the header. */
lib/libc/include/generic-glibc/net/if.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* net/if.h -- declarations for inquiring about network interfaces1/* net/if.h -- declarations for inquiring about network interfaces
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#ifndef _NET_IF_H19#ifndef _NET_IF_H
20#define _NET_IF_H 120#define _NET_IF_H 1
lib/libc/include/generic-glibc/net/if_arp.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for Address Resolution Protocol.1/* Definitions for Address Resolution Protocol.
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/* Based on the 4.4BSD and Linux version of this file. */20/* Based on the 4.4BSD and Linux version of this file. */
2121
lib/libc/include/generic-glibc/net/if_packet.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for use with Linux SOCK_PACKET sockets.1/* Definitions for use with Linux SOCK_PACKET sockets.
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#ifndef __IF_PACKET_H19#ifndef __IF_PACKET_H
20#define __IF_PACKET_H20#define __IF_PACKET_H
lib/libc/include/generic-glibc/net/if_shaper.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 _NET_IF_SHAPER_H18#ifndef _NET_IF_SHAPER_H
19#define _NET_IF_SHAPER_H 119#define _NET_IF_SHAPER_H 1
lib/libc/include/generic-glibc/net/if_slip.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 _NET_IF_SLIP_H18#ifndef _NET_IF_SLIP_H
19#define _NET_IF_SLIP_H 119#define _NET_IF_SLIP_H 1
lib/libc/include/generic-glibc/net/route.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/* Based on the 4.4BSD and Linux version of this file. */18/* Based on the 4.4BSD and Linux version of this file. */
1919
lib/libc/include/generic-glibc/netash/ash.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for use with Linux AF_ASH sockets.1/* Definitions for use with Linux AF_ASH sockets.
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#ifndef _NETASH_ASH_H19#ifndef _NETASH_ASH_H
20#define _NETASH_ASH_H 120#define _NETASH_ASH_H 1
lib/libc/include/generic-glibc/netatalk/at.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 _NETATALK_AT_H18#ifndef _NETATALK_AT_H
19#define _NETATALK_AT_H 119#define _NETATALK_AT_H 1
lib/libc/include/generic-glibc/netax25/ax25.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 _NETAX25_AX25_H18#ifndef _NETAX25_AX25_H
19#define _NETAX25_AX25_H 119#define _NETAX25_AX25_H 1
lib/libc/include/generic-glibc/netdb.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/* All data returned by the network data base library are supplied in18/* All data returned by the network data base library are supplied in
19 host order and returned in network order (suitable for use in19 host order and returned in network order (suitable for use in
lib/libc/include/generic-glibc/neteconet/ec.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for use with Linux AF_ECONET sockets.1/* Definitions for use with Linux AF_ECONET sockets.
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#ifndef _NETECONET_EC_H19#ifndef _NETECONET_EC_H
20#define _NETECONET_EC_H 120#define _NETECONET_EC_H 1
lib/libc/include/generic-glibc/netinet/ether.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Functions for storing Ethernet addresses in ASCII and mapping to hostnames.1/* Functions for storing Ethernet addresses in ASCII and mapping to hostnames.
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 _NETINET_ETHER_H19#ifndef _NETINET_ETHER_H
20#define _NETINET_ETHER_H 120#define _NETINET_ETHER_H 1
lib/libc/include/generic-glibc/netinet/icmp6.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 _NETINET_ICMP6_H18#ifndef _NETINET_ICMP6_H
19#define _NETINET_ICMP6_H 119#define _NETINET_ICMP6_H 1
lib/libc/include/generic-glibc/netinet/if_ether.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 __NETINET_IF_ETHER_H18#ifndef __NETINET_IF_ETHER_H
1919
lib/libc/include/generic-glibc/netinet/if_fddi.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 _NETINET_IF_FDDI_H18#ifndef _NETINET_IF_FDDI_H
19#define _NETINET_IF_FDDI_H 119#define _NETINET_IF_FDDI_H 1
lib/libc/include/generic-glibc/netinet/if_tr.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 _NETINET_IF_TR_H18#ifndef _NETINET_IF_TR_H
19#define _NETINET_IF_TR_H 119#define _NETINET_IF_TR_H 1
lib/libc/include/generic-glibc/netinet/igmp.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 _NETINET_IGMP_H18#ifndef _NETINET_IGMP_H
19#define _NETINET_IGMP_H 119#define _NETINET_IGMP_H 1
lib/libc/include/generic-glibc/netinet/in.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 _NETINET_IN_H18#ifndef _NETINET_IN_H
19#define _NETINET_IN_H 119#define _NETINET_IN_H 1
lib/libc/include/generic-glibc/netinet/in_systm.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System specific type definitions for networking code.1/* System specific type definitions for networking code.
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#ifndef _NETINET_IN_SYSTM_H19#ifndef _NETINET_IN_SYSTM_H
20#define _NETINET_IN_SYSTM_H 120#define _NETINET_IN_SYSTM_H 1
lib/libc/include/generic-glibc/netinet/ip.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 __NETINET_IP_H18#ifndef __NETINET_IP_H
19#define __NETINET_IP_H 119#define __NETINET_IP_H 1
lib/libc/include/generic-glibc/netinet/ip6.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 _NETINET_IP6_H18#ifndef _NETINET_IP6_H
19#define _NETINET_IP6_H 119#define _NETINET_IP6_H 1
lib/libc/include/generic-glibc/netinet/ip_icmp.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 __NETINET_IP_ICMP_H18#ifndef __NETINET_IP_ICMP_H
19#define __NETINET_IP_ICMP_H 119#define __NETINET_IP_ICMP_H 1
lib/libc/include/generic-glibc/netinet/tcp.h+1
...@@ -79,6 +79,7 @@...@@ -79,6 +79,7 @@
79#define TCP_INQ 36 /* Notify bytes available to read79#define TCP_INQ 36 /* Notify bytes available to read
80 as a cmsg on read. */80 as a cmsg on read. */
81#define TCP_CM_INQ TCP_INQ81#define TCP_CM_INQ TCP_INQ
82#define TCP_TX_DELAY 37 /* Delay outgoing packets by XX usec. */
8283
83#define TCP_REPAIR_ON 184#define TCP_REPAIR_ON 1
84#define TCP_REPAIR_OFF 085#define TCP_REPAIR_OFF 0
lib/libc/include/generic-glibc/netinet/udp.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 * Copyright (C) 1982, 1986 Regents of the University of California.19 * Copyright (C) 1982, 1986 Regents of the University of California.
lib/libc/include/generic-glibc/netipx/ipx.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 __NETIPX_IPX_H18#ifndef __NETIPX_IPX_H
19#define __NETIPX_IPX_H 119#define __NETIPX_IPX_H 1
lib/libc/include/generic-glibc/netiucv/iucv.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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 __NETIUCV_IUCV_H18#ifndef __NETIUCV_IUCV_H
19#define __NETIUCV_IUCV_H 119#define __NETIUCV_IUCV_H 1
lib/libc/include/generic-glibc/netpacket/packet.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for use with Linux AF_PACKET sockets.1/* Definitions for use with Linux AF_PACKET sockets.
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#ifndef __NETPACKET_PACKET_H19#ifndef __NETPACKET_PACKET_H
20#define __NETPACKET_PACKET_H 120#define __NETPACKET_PACKET_H 1
lib/libc/include/generic-glibc/netrom/netrom.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 _NETROM_NETROM_H18#ifndef _NETROM_NETROM_H
19#define _NETROM_NETROM_H 119#define _NETROM_NETROM_H 1
lib/libc/include/generic-glibc/netrose/rose.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for Rose packet radio address family.1/* Definitions for Rose packet radio address family.
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/* What follows is copied from the 2.1.93 <linux/rose.h>. */19/* What follows is copied from the 2.1.93 <linux/rose.h>. */
2020
lib/libc/include/generic-glibc/nl_types.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 _NL_TYPES_H18#ifndef _NL_TYPES_H
19#define _NL_TYPES_H 119#define _NL_TYPES_H 1
lib/libc/include/generic-glibc/nss.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/* Define interface to NSS. This is meant for the interface functions18/* Define interface to NSS. This is meant for the interface functions
19 and for implementors of new services. */19 and for implementors of new services. */
lib/libc/include/generic-glibc/obstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* obstack.h - object stack macros1/* obstack.h - object stack macros
2 Copyright (C) 1988-2019 Free Software Foundation, Inc.2 Copyright (C) 1988-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/* Summary:19/* Summary:
2020
lib/libc/include/generic-glibc/printf.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 _PRINTF_H18#ifndef _PRINTF_H
1919
lib/libc/include/generic-glibc/proc_service.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Callback interface for libthread_db, functions users must define.1/* Callback interface for libthread_db, functions users must define.
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#ifndef _PROC_SERVICE_H19#ifndef _PROC_SERVICE_H
20#define _PROC_SERVICE_H 120#define _PROC_SERVICE_H 1
lib/libc/include/generic-glibc/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/include/generic-glibc/pty.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Functions for pseudo TTY handling.1/* Functions for pseudo TTY handling.
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 _PTY_H19#ifndef _PTY_H
20#define _PTY_H 120#define _PTY_H 1
lib/libc/include/generic-glibc/pwd.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: 9.2.2 User Database Access <pwd.h>19 * POSIX Standard: 9.2.2 User Database Access <pwd.h>
lib/libc/include/generic-glibc/re_comp.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 _RE_COMP_H18#ifndef _RE_COMP_H
19#define _RE_COMP_H 119#define _RE_COMP_H 1
lib/libc/include/generic-glibc/regdef.h+2-3
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
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.
3 Contributed by Ralf Baechle <ralf@gnu.org>.
43
5 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
6 modify it under the terms of the GNU Lesser General Public5 modify it under the terms of the GNU Lesser General Public
...@@ -14,7 +13,7 @@...@@ -14,7 +13,7 @@
1413
15 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1817
19#ifndef _REGDEF_H18#ifndef _REGDEF_H
20#define _REGDEF_H19#define _REGDEF_H
lib/libc/include/generic-glibc/regex.h+1-1
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1/* Definitions for data structures and routines for the regular1/* Definitions for data structures and routines for the regular
2 expression library.2 expression library.
3 Copyright (C) 1985, 1989-2019 Free Software Foundation, Inc.3 Copyright (C) 1985, 1989-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
lib/libc/include/generic-glibc/regexp.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 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.3 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
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 _REGEXP_H19#ifndef _REGEXP_H
20#define _REGEXP_H 120#define _REGEXP_H 1
lib/libc/include/generic-glibc/resolv.h+1
...@@ -131,6 +131,7 @@ struct res_sym {...@@ -131,6 +131,7 @@ struct res_sym {
131#define RES_NOTLDQUERY 0x01000000 /* Do not look up unqualified name131#define RES_NOTLDQUERY 0x01000000 /* Do not look up unqualified name
132 as a TLD. */132 as a TLD. */
133#define RES_NORELOAD 0x02000000 /* No automatic configuration reload. */133#define RES_NORELOAD 0x02000000 /* No automatic configuration reload. */
134#define RES_TRUSTAD 0x04000000 /* Request AD bit, keep it in responses. */
134135
135#define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH)136#define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH)
136137
lib/libc/include/generic-glibc/sched.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.1/* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
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 _SCHED_H19#ifndef _SCHED_H
20#define _SCHED_H 120#define _SCHED_H 1
lib/libc/include/generic-glibc/scsi/scsi.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/*18/*
19 * This header file contains public constants and structures used by19 * This header file contains public constants and structures used by
lib/libc/include/generic-glibc/scsi/scsi_ioctl.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#ifndef _SCSI_IOCTL_H18#ifndef _SCSI_IOCTL_H
19#define _SCSI_IOCTL_H19#define _SCSI_IOCTL_H
lib/libc/include/generic-glibc/scsi/sg.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/*18/*
19 History:19 History:
lib/libc/include/generic-glibc/search.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declarations for System V style searching functions.1/* Declarations for System V style searching functions.
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 _SEARCH_H19#ifndef _SEARCH_H
20#define _SEARCH_H 120#define _SEARCH_H 1
lib/libc/include/generic-glibc/semaphore.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.
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 _SEMAPHORE_H18#ifndef _SEMAPHORE_H
19#define _SEMAPHORE_H 119#define _SEMAPHORE_H 1
lib/libc/include/generic-glibc/setjmp.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.13 Nonlocal jumps <setjmp.h>19 * ISO C99 Standard: 7.13 Nonlocal jumps <setjmp.h>
lib/libc/include/generic-glibc/sgidefs.h+2-3
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
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 Contributed by Ralf Baechle <ralf@gnu.org>.
43
5 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
6 modify it under the terms of the GNU Lesser General Public5 modify it under the terms of the GNU Lesser General Public
...@@ -14,7 +13,7 @@...@@ -14,7 +13,7 @@
1413
15 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1817
19#ifndef _SGIDEFS_H18#ifndef _SGIDEFS_H
20#define _SGIDEFS_H 119#define _SGIDEFS_H 1
lib/libc/include/generic-glibc/sgtty.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 _SGTTY_H18#ifndef _SGTTY_H
19#define _SGTTY_H 119#define _SGTTY_H 1
lib/libc/include/generic-glibc/shadow.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/* Declaration of types and functions for "shadow" storage of hashed18/* Declaration of types and functions for "shadow" storage of hashed
19 passphrases. The shadow database is like the user database, but is19 passphrases. The shadow database is like the user database, but is
lib/libc/include/generic-glibc/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/include/generic-glibc/spawn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX spawn interface.1/* Definitions for POSIX spawn interface.
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#ifndef _SPAWN_H19#ifndef _SPAWN_H
20#define _SPAWN_H 120#define _SPAWN_H 1
lib/libc/include/generic-glibc/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/include/generic-glibc/stdint.h+3-3
...@@ -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/*18/*
19 * ISO C99: 7.18 Integer types <stdint.h>19 * ISO C99: 7.18 Integer types <stdint.h>
...@@ -273,7 +273,7 @@ typedef __uintmax_t uintmax_t;...@@ -273,7 +273,7 @@ typedef __uintmax_t uintmax_t;
273# define UINTMAX_C(c) c ## ULL273# define UINTMAX_C(c) c ## ULL
274# endif274# endif
275275
276#if __GLIBC_USE (IEC_60559_BFP_EXT)276#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
277277
278# define INT8_WIDTH 8278# define INT8_WIDTH 8
279# define UINT8_WIDTH 8279# define UINT8_WIDTH 8
lib/libc/include/generic-glibc/stdio.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define ISO C stdio on top of C++ iostreams.1/* Define ISO C stdio on top of C++ iostreams.
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/*19/*
20 * ISO C99 Standard: 7.19 Input/output <stdio.h>20 * ISO C99 Standard: 7.19 Input/output <stdio.h>
lib/libc/include/generic-glibc/stdio_ext.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Functions to access FILE structure internals.1/* Functions to access FILE structure internals.
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/* This header contains the same definitions as the header of the same name19/* This header contains the same definitions as the header of the same name
20 on Sun's Solaris OS. */20 on Sun's Solaris OS. */
lib/libc/include/generic-glibc/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/include/generic-glibc/string.h+7-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/*18/*
19 * ISO C99 Standard: 7.21 String handling <string.h>19 * ISO C99 Standard: 7.21 String handling <string.h>
...@@ -33,7 +33,8 @@ __BEGIN_DECLS...@@ -33,7 +33,8 @@ __BEGIN_DECLS
33#include <stddef.h>33#include <stddef.h>
3434
35/* Tell the caller that we provide correct C++ prototypes. */35/* Tell the caller that we provide correct C++ prototypes. */
36#if defined __cplusplus && __GNUC_PREREQ (4, 4)36#if defined __cplusplus && (__GNUC_PREREQ (4, 4) \
37 || __glibc_clang_prereq (3, 5))
37# define __CORRECT_ISO_CPP_STRING_H_PROTO38# define __CORRECT_ISO_CPP_STRING_H_PROTO
38#endif39#endif
3940
...@@ -49,7 +50,7 @@ extern void *memmove (void *__dest, const void *__src, size_t __n)...@@ -49,7 +50,7 @@ extern void *memmove (void *__dest, const void *__src, size_t __n)
49/* Copy no more than N bytes of SRC to DEST, stopping when C is found.50/* Copy no more than N bytes of SRC to DEST, stopping when C is found.
50 Return the position in DEST one byte past where C was copied,51 Return the position in DEST one byte past where C was copied,
51 or NULL if C was not found in the first N bytes of SRC. */52 or NULL if C was not found in the first N bytes of SRC. */
52#if defined __USE_MISC || defined __USE_XOPEN53#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC2X)
53extern void *memccpy (void *__restrict __dest, const void *__restrict __src,54extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
54 int __c, size_t __n)55 int __c, size_t __n)
55 __THROW __nonnull ((1, 2));56 __THROW __nonnull ((1, 2));
...@@ -161,7 +162,7 @@ extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,...@@ -161,7 +162,7 @@ extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
161#endif162#endif
162163
163#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \164#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \
164 || __GLIBC_USE (LIB_EXT2))165 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X))
165/* Duplicate S, returning an identical malloc'd string. */166/* Duplicate S, returning an identical malloc'd string. */
166extern char *strdup (const char *__s)167extern char *strdup (const char *__s)
167 __THROW __attribute_malloc__ __nonnull ((1));168 __THROW __attribute_malloc__ __nonnull ((1));
...@@ -170,7 +171,7 @@ extern char *strdup (const char *__s)...@@ -170,7 +171,7 @@ extern char *strdup (const char *__s)
170/* Return a malloc'd copy of at most N bytes of STRING. The171/* Return a malloc'd copy of at most N bytes of STRING. The
171 resultant string is terminated even if no null terminator172 resultant string is terminated even if no null terminator
172 appears before STRING[N]. */173 appears before STRING[N]. */
173#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2)174#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X)
174extern char *strndup (const char *__string, size_t __n)175extern char *strndup (const char *__string, size_t __n)
175 __THROW __attribute_malloc__ __nonnull ((1));176 __THROW __attribute_malloc__ __nonnull ((1));
176#endif177#endif
lib/libc/include/generic-glibc/strings.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 _STRINGS_H18#ifndef _STRINGS_H
19#define _STRINGS_H 119#define _STRINGS_H 1
lib/libc/include/generic-glibc/sys/acct.h+3-3
...@@ -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,14 +13,14 @@...@@ -13,14 +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#ifndef _SYS_ACCT_H18#ifndef _SYS_ACCT_H
19#define _SYS_ACCT_H 119#define _SYS_ACCT_H 1
2020
21#include <sys/types.h>21#include <sys/types.h>
22#include <stdint.h>22#include <stdint.h>
23#include <endian.h>23#include <bits/endian.h>
24#include <bits/types/time_t.h>24#include <bits/types/time_t.h>
2525
26__BEGIN_DECLS26__BEGIN_DECLS
lib/libc/include/generic-glibc/sys/asm.h+2-3
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
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 Ralf Baechle <ralf@gnu.org>.
43
5 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
6 modify it under the terms of the GNU Lesser General Public5 modify it under the terms of the GNU Lesser General Public
...@@ -14,7 +13,7 @@...@@ -14,7 +13,7 @@
1413
15 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1817
19#ifndef _SYS_ASM_H18#ifndef _SYS_ASM_H
20#define _SYS_ASM_H19#define _SYS_ASM_H
lib/libc/include/generic-glibc/sys/auxv.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Access to the auxiliary vector.1/* Access to the auxiliary vector.
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 _SYS_AUXV_H19#ifndef _SYS_AUXV_H
20#define _SYS_AUXV_H 120#define _SYS_AUXV_H 1
lib/libc/include/generic-glibc/sys/cachectl.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_CACHECTL_H18#ifndef _SYS_CACHECTL_H
19#define _SYS_CACHECTL_H 119#define _SYS_CACHECTL_H 1
lib/libc/include/generic-glibc/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/include/generic-glibc/sys/debugreg.h+2-2
...@@ -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,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_DEBUGREG_H18#ifndef _SYS_DEBUGREG_H
19#define _SYS_DEBUGREG_H 119#define _SYS_DEBUGREG_H 1
lib/libc/include/generic-glibc/sys/dir.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 _SYS_DIR_H18#ifndef _SYS_DIR_H
19#define _SYS_DIR_H 119#define _SYS_DIR_H 1
lib/libc/include/generic-glibc/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/include/generic-glibc/sys/epoll.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.
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_EPOLL_H18#ifndef _SYS_EPOLL_H
19#define _SYS_EPOLL_H 119#define _SYS_EPOLL_H 1
lib/libc/include/generic-glibc/sys/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19#define _SYS_EVENTFD_H 119#define _SYS_EVENTFD_H 1
lib/libc/include/generic-glibc/sys/fanotify.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 _SYS_FANOTIFY_H18#ifndef _SYS_FANOTIFY_H
19#define _SYS_FANOTIFY_H 119#define _SYS_FANOTIFY_H 1
lib/libc/include/generic-glibc/sys/file.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 _SYS_FILE_H18#ifndef _SYS_FILE_H
19#define _SYS_FILE_H 119#define _SYS_FILE_H 1
lib/libc/include/generic-glibc/sys/fpregdef.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 _SYS_FPREGDEF_H18#ifndef _SYS_FPREGDEF_H
19#define _SYS_FPREGDEF_H19#define _SYS_FPREGDEF_H
lib/libc/include/generic-glibc/sys/fsuid.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_FSUID_H18#ifndef _SYS_FSUID_H
19#define _SYS_FSUID_H 119#define _SYS_FSUID_H 1
lib/libc/include/generic-glibc/sys/gmon_out.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 Contributed by David Mosberger <davidm@cs.arizona.edu>.3 Contributed by David Mosberger <davidm@cs.arizona.edu>.
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/* This file specifies the format of gmon.out files. It should have19/* This file specifies the format of gmon.out files. It should have
20 as few external dependencies as possible as it is going to be included20 as few external dependencies as possible as it is going to be included
lib/libc/include/generic-glibc/sys/ifunc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions used by AArch64 indirect function resolvers.1/* Definitions used by AArch64 indirect function resolvers.
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 _SYS_IFUNC_H19#ifndef _SYS_IFUNC_H
20#define _SYS_IFUNC_H20#define _SYS_IFUNC_H
lib/libc/include/generic-glibc/sys/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19#define _SYS_INOTIFY_H 119#define _SYS_INOTIFY_H 1
lib/libc/include/generic-glibc/sys/io.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_IO_H18#ifndef _SYS_IO_H
19#define _SYS_IO_H 119#define _SYS_IO_H 1
lib/libc/include/generic-glibc/sys/ioctl.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 _SYS_IOCTL_H18#ifndef _SYS_IOCTL_H
19#define _SYS_IOCTL_H 119#define _SYS_IOCTL_H 1
lib/libc/include/generic-glibc/sys/ipc.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_IPC_H18#ifndef _SYS_IPC_H
19#define _SYS_IPC_H 119#define _SYS_IPC_H 1
lib/libc/include/generic-glibc/sys/kd.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_KD_H18#ifndef _SYS_KD_H
19#define _SYS_KD_H 119#define _SYS_KD_H 1
lib/libc/include/generic-glibc/sys/klog.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_KLOG_H18#ifndef _SYS_KLOG_H
1919
lib/libc/include/generic-glibc/sys/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for BSD-style memory management.1/* Definitions for BSD-style memory management.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20#define _SYS_MMAN_H 120#define _SYS_MMAN_H 1
lib/libc/include/generic-glibc/sys/mount.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Header file for mounting/unmount Linux filesystems.1/* Header file for mounting/unmount Linux filesystems.
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/* This is taken from /usr/include/linux/fs.h. */19/* This is taken from /usr/include/linux/fs.h. */
2020
lib/libc/include/generic-glibc/sys/msg.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_MSG_H18#ifndef _SYS_MSG_H
19#define _SYS_MSG_H19#define _SYS_MSG_H
lib/libc/include/generic-glibc/sys/mtio.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structures and definitions for magnetic tape I/O control commands.1/* Structures and definitions for magnetic tape I/O control commands.
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/* Written by H. Bergman <hennus@cybercomm.nl>. */19/* Written by H. Bergman <hennus@cybercomm.nl>. */
2020
lib/libc/include/generic-glibc/sys/param.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Compatibility header for old-style Unix parameters and limits.1/* Compatibility header for old-style Unix parameters and limits.
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 _SYS_PARAM_H19#ifndef _SYS_PARAM_H
20#define _SYS_PARAM_H 120#define _SYS_PARAM_H 1
lib/libc/include/generic-glibc/sys/pci.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_PCI_H18#ifndef _SYS_PCI_H
19#define _SYS_PCI_H 119#define _SYS_PCI_H 1
lib/libc/include/generic-glibc/sys/perm.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_PERM_H18#ifndef _SYS_PERM_H
1919
lib/libc/include/generic-glibc/sys/personality.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.
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/* Taken verbatim from Linux 2.6 (include/linux/personality.h). */18/* Taken verbatim from Linux 2.6 (include/linux/personality.h). */
1919
lib/libc/include/generic-glibc/sys/platform/ppc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Facilities specific to the PowerPC architecture1/* Facilities specific to the PowerPC architecture
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 _SYS_PLATFORM_PPC_H19#ifndef _SYS_PLATFORM_PPC_H
20#define _SYS_PLATFORM_PPC_H 120#define _SYS_PLATFORM_PPC_H 1
lib/libc/include/generic-glibc/sys/poll.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Compatibility definitions for System V `poll' interface.1/* Compatibility definitions for System V `poll' interface.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_POLL_H19#ifndef _SYS_POLL_H
20#define _SYS_POLL_H 120#define _SYS_POLL_H 1
lib/libc/include/generic-glibc/sys/prctl.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_PRCTL_H18#ifndef _SYS_PRCTL_H
19#define _SYS_PRCTL_H 119#define _SYS_PRCTL_H 1
lib/libc/include/generic-glibc/sys/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for core files and libthread_db. Generic Linux version.1/* Definitions for core files and libthread_db. Generic Linux version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21#define _SYS_PROCFS_H 121#define _SYS_PROCFS_H 1
lib/libc/include/generic-glibc/sys/profil.h+2-2
...@@ -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,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 _PROFIL_H18#ifndef _PROFIL_H
19#define _PROFIL_H 119#define _PROFIL_H 1
lib/libc/include/generic-glibc/sys/ptrace.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux version.1/* `ptrace' debugger support interface. Linux version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PTRACE_H20#ifndef _SYS_PTRACE_H
21#define _SYS_PTRACE_H 121#define _SYS_PTRACE_H 1
...@@ -166,8 +166,12 @@ enum __ptrace_request...@@ -166,8 +166,12 @@ enum __ptrace_request
166#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER166#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
167167
168 /* Get seccomp BPF filter metadata. */168 /* Get seccomp BPF filter metadata. */
169 PTRACE_SECCOMP_GET_METADATA = 0x420d169 PTRACE_SECCOMP_GET_METADATA = 0x420d,
170#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA170#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
171
172 /* Get information about system call. */
173 PTRACE_GET_SYSCALL_INFO = 0x420e
174#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
171};175};
172176
173177
lib/libc/include/generic-glibc/sys/quota.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* This just represents the non-kernel parts of <linux/quota.h>.1/* This just represents the non-kernel parts of <linux/quota.h>.
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/*19/*
20 * Copyright (c) 1982, 1986 Regents of the University of California.20 * Copyright (c) 1982, 1986 Regents of the University of California.
lib/libc/include/generic-glibc/sys/random.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Interfaces for obtaining random bytes.1/* Interfaces for obtaining random bytes.
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#ifndef _SYS_RANDOM_H19#ifndef _SYS_RANDOM_H
20#define _SYS_RANDOM_H 120#define _SYS_RANDOM_H 1
lib/libc/include/generic-glibc/sys/raw.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#ifndef _SYS_RAW_H18#ifndef _SYS_RAW_H
19#define _SYS_RAW_H 119#define _SYS_RAW_H 1
lib/libc/include/generic-glibc/sys/reboot.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/* This file should define RB_* macros to be used as flag18/* This file should define RB_* macros to be used as flag
19 bits in the argument to the `reboot' system call. */19 bits in the argument to the `reboot' system call. */
lib/libc/include/generic-glibc/sys/reg.h+2-2
...@@ -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,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_REG_H18#ifndef _SYS_REG_H
19#define _SYS_REG_H 119#define _SYS_REG_H 1
lib/libc/include/generic-glibc/sys/regdef.h+2-3
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
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 Ralf Baechle <ralf@gnu.org>.
43
5 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
6 modify it under the terms of the GNU Lesser General Public5 modify it under the terms of the GNU Lesser General Public
...@@ -14,7 +13,7 @@...@@ -14,7 +13,7 @@
1413
15 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see15 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */16 <https://www.gnu.org/licenses/>. */
1817
19#ifndef _SYS_REGDEF_H18#ifndef _SYS_REGDEF_H
20#define _SYS_REGDEF_H19#define _SYS_REGDEF_H
lib/libc/include/generic-glibc/sys/resource.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 _SYS_RESOURCE_H18#ifndef _SYS_RESOURCE_H
19#define _SYS_RESOURCE_H 119#define _SYS_RESOURCE_H 1
lib/libc/include/generic-glibc/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/include/generic-glibc/sys/sem.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_SEM_H18#ifndef _SYS_SEM_H
19#define _SYS_SEM_H 119#define _SYS_SEM_H 1
lib/libc/include/generic-glibc/sys/sendfile.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sendfile -- copy data directly from one file descriptor to another1/* sendfile -- copy data directly from one file descriptor to another
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#ifndef _SYS_SENDFILE_H19#ifndef _SYS_SENDFILE_H
20#define _SYS_SENDFILE_H 120#define _SYS_SENDFILE_H 1
lib/libc/include/generic-glibc/sys/shm.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_SHM_H18#ifndef _SYS_SHM_H
19#define _SYS_SHM_H 119#define _SYS_SHM_H 1
lib/libc/include/generic-glibc/sys/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19#define _SYS_SIGNALFD_H 119#define _SYS_SIGNALFD_H 1
lib/libc/include/generic-glibc/sys/socket.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Declarations of socket constants, types, and functions.1/* Declarations of socket constants, types, and functions.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20#define _SYS_SOCKET_H 120#define _SYS_SOCKET_H 1
lib/libc/include/generic-glibc/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/include/generic-glibc/sys/statfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for getting information about a filesystem.1/* Definitions for getting information about a filesystem.
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 _SYS_STATFS_H19#ifndef _SYS_STATFS_H
20#define _SYS_STATFS_H 120#define _SYS_STATFS_H 1
lib/libc/include/generic-glibc/sys/statvfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for getting information about a filesystem.1/* Definitions for getting information about a filesystem.
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#ifndef _SYS_STATVFS_H19#ifndef _SYS_STATVFS_H
20#define _SYS_STATVFS_H 120#define _SYS_STATVFS_H 1
lib/libc/include/generic-glibc/sys/swap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Calls to enable and disable swapping on specified locations. Linux version.1/* Calls to enable and disable swapping on specified locations. Linux 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 _SYS_SWAP_H19#ifndef _SYS_SWAP_H
2020
lib/libc/include/generic-glibc/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
\ No newline at end of file
lib/libc/include/generic-glibc/sys/sysctl.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_SYSCTL_H18#ifndef _SYS_SYSCTL_H
19#define _SYS_SYSCTL_H 119#define _SYS_SYSCTL_H 1
lib/libc/include/generic-glibc/sys/sysinfo.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_SYSINFO_H18#ifndef _SYS_SYSINFO_H
19#define _SYS_SYSINFO_H 119#define _SYS_SYSINFO_H 1
lib/libc/include/generic-glibc/sys/sysmacros.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions of macros to access `dev_t' values.1/* Definitions of macros to access `dev_t' values.
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 _SYS_SYSMACROS_H19#ifndef _SYS_SYSMACROS_H
20#define _SYS_SYSMACROS_H 120#define _SYS_SYSMACROS_H 1
lib/libc/include/generic-glibc/sys/sysmips.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_SYSMIPS_H18#ifndef _SYS_SYSMIPS_H
19#define _SYS_SYSMIPS_H 119#define _SYS_SYSMIPS_H 1
lib/libc/include/generic-glibc/sys/tas.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 Maciej W. Rozycki <macro@ds2.pg.gda.pl>, 2000.3 Contributed by Maciej W. Rozycki <macro@ds2.pg.gda.pl>, 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 _SYS_TAS_H19#ifndef _SYS_TAS_H
20#define _SYS_TAS_H 120#define _SYS_TAS_H 1
lib/libc/include/generic-glibc/sys/time.h+14-13
...@@ -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 _SYS_TIME_H18#ifndef _SYS_TIME_H
19#define _SYS_TIME_H 119#define _SYS_TIME_H 1
...@@ -54,23 +54,24 @@ struct timezone...@@ -54,23 +54,24 @@ struct timezone
54 int tz_minuteswest; /* Minutes west of GMT. */54 int tz_minuteswest; /* Minutes west of GMT. */
55 int tz_dsttime; /* Nonzero if DST is ever in effect. */55 int tz_dsttime; /* Nonzero if DST is ever in effect. */
56 };56 };
57
58typedef struct timezone *__restrict __timezone_ptr_t;
59#else
60typedef void *__restrict __timezone_ptr_t;
61#endif57#endif
6258
63/* Get the current time of day and timezone information,59/* Get the current time of day, putting it into *TV.
64 putting it into *TV and *TZ. If TZ is NULL, *TZ is not filled.60 If TZ is not null, *TZ must be a struct timezone, and both fields
65 Returns 0 on success, -1 on errors.61 will be set to zero.
66 NOTE: This form of timezone information is obsolete.62 Calling this function with a non-null TZ is obsolete;
67 Use the functions and variables declared in <time.h> instead. */63 use localtime etc. instead.
64 This function itself is semi-obsolete;
65 most callers should use time or clock_gettime instead. */
68extern int gettimeofday (struct timeval *__restrict __tv,66extern int gettimeofday (struct timeval *__restrict __tv,
69 __timezone_ptr_t __tz) __THROW __nonnull ((1));67 void *__restrict __tz) __THROW __nonnull ((1));
7068
71#ifdef __USE_MISC69#ifdef __USE_MISC
72/* Set the current time of day and timezone information.70/* Set the current time of day and timezone information.
73 This call is restricted to the super-user. */71 This call is restricted to the super-user.
72 Setting the timezone in this way is obsolete, but we don't yet
73 warn about it because it still has some uses for which there is
74 no alternative. */
74extern int settimeofday (const struct timeval *__tv,75extern int settimeofday (const struct timeval *__tv,
75 const struct timezone *__tz)76 const struct timezone *__tz)
76 __THROW;77 __THROW;
lib/libc/include/generic-glibc/sys/timeb.h+4-3
...@@ -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#ifndef _SYS_TIMEB_H18#ifndef _SYS_TIMEB_H
19#define _SYS_TIMEB_H 119#define _SYS_TIMEB_H 1
...@@ -36,7 +36,8 @@ struct timeb...@@ -36,7 +36,8 @@ struct timeb
3636
37/* Fill in TIMEBUF with information about the current time. */37/* Fill in TIMEBUF with information about the current time. */
3838
39extern int ftime (struct timeb *__timebuf);39extern int ftime (struct timeb *__timebuf)
40 __nonnull ((1)) __attribute_deprecated__;
4041
41__END_DECLS42__END_DECLS
4243
lib/libc/include/generic-glibc/sys/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19#define _SYS_TIMERFD_H 119#define _SYS_TIMERFD_H 1
lib/libc/include/generic-glibc/sys/times.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: 4.5.2 Process Times <sys/times.h>19 * POSIX Standard: 4.5.2 Process Times <sys/times.h>
lib/libc/include/generic-glibc/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/include/generic-glibc/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/include/generic-glibc/sys/ucontext.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1997-2019 Free Software Foundation, Inc. This file is part of the GNU C Library.1/* Copyright (C) 1997-2020 Free Software Foundation, Inc. This file is part of the GNU C Library.
22
3 The GNU C Library is free software; you can redistribute it and/or3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public4 modify it under the terms of the GNU Lesser General Public
...@@ -12,7 +12,7 @@...@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU Lesser General Public13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see14 License along with the GNU C Library. If not, see
15 <http://www.gnu.org/licenses/>. */15 <https://www.gnu.org/licenses/>. */
1616
17/* Don't rely on this, the interface is currently messed up and may need to17/* Don't rely on this, the interface is currently messed up and may need to
18 be broken to be fixed. */18 be broken to be fixed. */
lib/libc/include/generic-glibc/sys/uio.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 _SYS_UIO_H18#ifndef _SYS_UIO_H
19#define _SYS_UIO_H 119#define _SYS_UIO_H 1
lib/libc/include/generic-glibc/sys/un.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 _SYS_UN_H18#ifndef _SYS_UN_H
19#define _SYS_UN_H 119#define _SYS_UN_H 1
lib/libc/include/generic-glibc/sys/user.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.
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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/generic-glibc/sys/utsname.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: 4.4 System Identification <sys/utsname.h>19 * POSIX Standard: 4.4 System Identification <sys/utsname.h>
lib/libc/include/generic-glibc/sys/vlimit.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 _SYS_VLIMIT_H18#ifndef _SYS_VLIMIT_H
19#define _SYS_VLIMIT_H 119#define _SYS_VLIMIT_H 1
lib/libc/include/generic-glibc/sys/vm86.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_VM86_H18#ifndef _SYS_VM86_H
1919
lib/libc/include/generic-glibc/sys/vtimes.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 _SYS_VTIMES_H18#ifndef _SYS_VTIMES_H
19#define _SYS_VTIMES_H 119#define _SYS_VTIMES_H 1
lib/libc/include/generic-glibc/sys/wait.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: 3.2.1 Wait for Process Termination <sys/wait.h>19 * POSIX Standard: 3.2.1 Wait for Process Termination <sys/wait.h>
lib/libc/include/generic-glibc/sys/xattr.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.
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_XATTR_H18#ifndef _SYS_XATTR_H
19#define _SYS_XATTR_H 119#define _SYS_XATTR_H 1
lib/libc/include/generic-glibc/tar.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Extended tar format from POSIX.1.1/* Extended tar format from POSIX.1.
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.
4 Written by David J. MacKenzie.4 Written by David J. MacKenzie.
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 _TAR_H20#ifndef _TAR_H
21#define _TAR_H 121#define _TAR_H 1
lib/libc/include/generic-glibc/termios.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: 7.1-2 General Terminal Interface <termios.h>19 * POSIX Standard: 7.1-2 General Terminal Interface <termios.h>
lib/libc/include/generic-glibc/tgmath.h+171-26
...@@ -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/*18/*
19 * ISO C99 Standard: 7.22 Type-generic math <tgmath.h>19 * ISO C99 Standard: 7.22 Type-generic math <tgmath.h>
...@@ -43,6 +43,25 @@...@@ -43,6 +43,25 @@
4343
44#if __GNUC_PREREQ (2, 7)44#if __GNUC_PREREQ (2, 7)
4545
46/* Certain cases of narrowing macros only need to call a single
47 function so cannot use __builtin_tgmath and do not need any
48 complicated logic. */
49# if __HAVE_FLOAT128X
50# error "Unsupported _Float128x type for <tgmath.h>."
51# endif
52# if ((__HAVE_FLOAT64X && !__HAVE_FLOAT128) \
53 || (__HAVE_FLOAT128 && !__HAVE_FLOAT64X))
54# error "Unsupported combination of types for <tgmath.h>."
55# endif
56# define __TGMATH_2_NARROW_D(F, X, Y) \
57 (F ## l (X, Y))
58# define __TGMATH_2_NARROW_F64X(F, X, Y) \
59 (F ## f128 (X, Y))
60# if !__HAVE_FLOAT128
61# define __TGMATH_2_NARROW_F32X(F, X, Y) \
62 (F ## f64 (X, Y))
63# endif
64
46# if __HAVE_BUILTIN_TGMATH65# if __HAVE_BUILTIN_TGMATH
4766
48# if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)67# if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)
...@@ -94,6 +113,33 @@...@@ -94,6 +113,33 @@
94# define __TGMATH_2C(F, C, X, Y) __builtin_tgmath (__TGMATH_RCFUNCS (F, C) \113# define __TGMATH_2C(F, C, X, Y) __builtin_tgmath (__TGMATH_RCFUNCS (F, C) \
95 (X), (Y))114 (X), (Y))
96115
116# define __TGMATH_NARROW_FUNCS_F(X) X, X ## l,
117# define __TGMATH_NARROW_FUNCS_F16(X) \
118 __TG_F32_ARG (X) __TG_F64_ARG (X) __TG_F128_ARG (X) \
119 __TG_F32X_ARG (X) __TG_F64X_ARG (X) __TG_F128X_ARG (X)
120# define __TGMATH_NARROW_FUNCS_F32(X) \
121 __TG_F64_ARG (X) __TG_F128_ARG (X) \
122 __TG_F32X_ARG (X) __TG_F64X_ARG (X) __TG_F128X_ARG (X)
123# define __TGMATH_NARROW_FUNCS_F64(X) \
124 __TG_F128_ARG (X) \
125 __TG_F64X_ARG (X) __TG_F128X_ARG (X)
126# define __TGMATH_NARROW_FUNCS_F32X(X) \
127 __TG_F64X_ARG (X) __TG_F128X_ARG (X) \
128 __TG_F64_ARG (X) __TG_F128_ARG (X)
129
130# define __TGMATH_2_NARROW_F(F, X, Y) \
131 __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y))
132# define __TGMATH_2_NARROW_F16(F, X, Y) \
133 __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y))
134# define __TGMATH_2_NARROW_F32(F, X, Y) \
135 __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y))
136# define __TGMATH_2_NARROW_F64(F, X, Y) \
137 __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y))
138# if __HAVE_FLOAT128
139# define __TGMATH_2_NARROW_F32X(F, X, Y) \
140 __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y))
141# endif
142
97# else /* !__HAVE_BUILTIN_TGMATH. */143# else /* !__HAVE_BUILTIN_TGMATH. */
98144
99# ifdef __NO_LONG_DOUBLE_MATH145# ifdef __NO_LONG_DOUBLE_MATH
...@@ -230,8 +276,6 @@...@@ -230,8 +276,6 @@
230 __TGMATH_2 (Fct, (Val1), (Val2))276 __TGMATH_2 (Fct, (Val1), (Val2))
231# define __TGMATH_BINARY_REAL_STD_ONLY(Val1, Val2, Fct) \277# define __TGMATH_BINARY_REAL_STD_ONLY(Val1, Val2, Fct) \
232 __TGMATH_2STD (Fct, (Val1), (Val2))278 __TGMATH_2STD (Fct, (Val1), (Val2))
233# define __TGMATH_BINARY_REAL_RET_ONLY(Val1, Val2, Fct) \
234 __TGMATH_2 (Fct, (Val1), (Val2))
235# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \279# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \
236 __TGMATH_3 (Fct, (Val1), (Val2), (Val3))280 __TGMATH_3 (Fct, (Val1), (Val2), (Val3))
237# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \281# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \
...@@ -326,18 +370,6 @@...@@ -326,18 +370,6 @@
326 + (__tgmath_real_type (Val2)) 0)) \370 + (__tgmath_real_type (Val2)) 0)) \
327 Fct##f (Val1, Val2)))371 Fct##f (Val1, Val2)))
328372
329# define __TGMATH_BINARY_REAL_RET_ONLY(Val1, Val2, Fct) \
330 (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \
331 && __builtin_classify_type ((Val1) + (Val2)) == 8) \
332 ? __TGMATH_F128 ((Val1) + (Val2), Fct, (Val1, Val2)) \
333 __tgml(Fct) (Val1, Val2) \
334 : (sizeof (+(Val1)) == sizeof (double) \
335 || sizeof (+(Val2)) == sizeof (double) \
336 || __builtin_classify_type (Val1) != 8 \
337 || __builtin_classify_type (Val2) != 8) \
338 ? Fct (Val1, Val2) \
339 : Fct##f (Val1, Val2)))
340
341# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \373# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \
342 (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \374 (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \
343 && __builtin_classify_type ((Val1) + (Val2)) == 8) \375 && __builtin_classify_type ((Val1) + (Val2)) == 8) \
...@@ -507,6 +539,65 @@...@@ -507,6 +539,65 @@
507 : (__typeof ((__tgmath_complex_type (Val1)) 0 \539 : (__typeof ((__tgmath_complex_type (Val1)) 0 \
508 + (__tgmath_complex_type (Val2)) 0)) \540 + (__tgmath_complex_type (Val2)) 0)) \
509 Cfct##f (Val1, Val2))))541 Cfct##f (Val1, Val2))))
542
543# define __TGMATH_2_NARROW_F(F, X, Y) \
544 (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
545 + (__tgmath_real_type (Y)) 0) > sizeof (double) \
546 ? F ## l (X, Y) \
547 : F (X, Y)))
548/* In most cases, these narrowing macro definitions based on sizeof
549 ensure that the function called has the right argument format, as
550 for other <tgmath.h> macros for compilers before GCC 8, but may not
551 have exactly the argument type (among the types with that format)
552 specified in the standard logic.
553
554 In the case of macros for _Float32x return type, when _Float64x
555 exists, _Float64 arguments should result in the *f64 function being
556 called while _Float32x arguments should result in the *f64x
557 function being called. These cases cannot be distinguished using
558 sizeof (or at all if the types are typedefs rather than different
559 types). However, for these functions it is OK (does not affect the
560 final result) to call a function with any argument format at least
561 as wide as all the floating-point arguments, unless that affects
562 rounding of integer arguments. Integer arguments are considered to
563 have type _Float64, so the *f64 functions are preferred for f32x*
564 macros when no argument has a wider floating-point type. */
565# if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128
566# define __TGMATH_2_NARROW_F32(F, X, Y) \
567 (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
568 + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \
569 ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \
570 F ## f64x (X, Y) \
571 : F ## f64 (X, Y)))
572# define __TGMATH_2_NARROW_F64(F, X, Y) \
573 (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
574 + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \
575 ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \
576 F ## f64x (X, Y) \
577 : F ## f128 (X, Y)))
578# define __TGMATH_2_NARROW_F32X(F, X, Y) \
579 (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
580 + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \
581 ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \
582 F ## f64x (X, Y) \
583 : F ## f64 (X, Y)))
584# elif __HAVE_FLOAT128
585# define __TGMATH_2_NARROW_F32(F, X, Y) \
586 (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
587 + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \
588 ? F ## f128 (X, Y) \
589 : F ## f64 (X, Y)))
590# define __TGMATH_2_NARROW_F64(F, X, Y) \
591 (F ## f128 (X, Y))
592# define __TGMATH_2_NARROW_F32X(F, X, Y) \
593 (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
594 + (__tgmath_real_type (Y)) 0) > sizeof (_Float32x) \
595 ? F ## f64x (X, Y) \
596 : F ## f64 (X, Y)))
597# else
598# define __TGMATH_2_NARROW_F32(F, X, Y) \
599 (F ## f64 (X, Y))
600# endif
510# endif /* !__HAVE_BUILTIN_TGMATH. */601# endif /* !__HAVE_BUILTIN_TGMATH. */
511#else602#else
512# error "Unsupported compiler; you cannot use <tgmath.h>"603# error "Unsupported compiler; you cannot use <tgmath.h>"
...@@ -661,7 +752,7 @@...@@ -661,7 +752,7 @@
661 prevailing rounding mode. */752 prevailing rounding mode. */
662#define rint(Val) __TGMATH_UNARY_REAL_ONLY (Val, rint)753#define rint(Val) __TGMATH_UNARY_REAL_ONLY (Val, rint)
663754
664#if __GLIBC_USE (IEC_60559_BFP_EXT)755#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
665/* Return X - epsilon. */756/* Return X - epsilon. */
666# define nextdown(Val) __TGMATH_UNARY_REAL_ONLY (Val, nextdown)757# define nextdown(Val) __TGMATH_UNARY_REAL_ONLY (Val, nextdown)
667/* Return X + epsilon. */758/* Return X + epsilon. */
...@@ -706,7 +797,7 @@...@@ -706,7 +797,7 @@
706#define fma(Val1, Val2, Val3) \797#define fma(Val1, Val2, Val3) \
707 __TGMATH_TERNARY_REAL_ONLY (Val1, Val2, Val3, fma)798 __TGMATH_TERNARY_REAL_ONLY (Val1, Val2, Val3, fma)
708799
709#if __GLIBC_USE (IEC_60559_BFP_EXT)800#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
710/* Round X to nearest integer value, rounding halfway cases to even. */801/* Round X to nearest integer value, rounding halfway cases to even. */
711# define roundeven(Val) __TGMATH_UNARY_REAL_ONLY (Val, roundeven)802# define roundeven(Val) __TGMATH_UNARY_REAL_ONLY (Val, roundeven)
712803
...@@ -730,14 +821,6 @@...@@ -730,14 +821,6 @@
730821
731/* Return value with minimum magnitude. */822/* Return value with minimum magnitude. */
732# define fminmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminmag)823# define fminmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminmag)
733
734/* Total order operation. */
735# define totalorder(Val1, Val2) \
736 __TGMATH_BINARY_REAL_RET_ONLY (Val1, Val2, totalorder)
737
738/* Total order operation on absolute values. */
739# define totalordermag(Val1, Val2) \
740 __TGMATH_BINARY_REAL_RET_ONLY (Val1, Val2, totalordermag)
741#endif824#endif
742825
743826
...@@ -761,4 +844,66 @@...@@ -761,4 +844,66 @@
761/* Real part of Z. */844/* Real part of Z. */
762#define creal(Val) __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME (Val, creal)845#define creal(Val) __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME (Val, creal)
763846
847
848/* Narrowing functions. */
849
850#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
851
852/* Add. */
853# define fadd(Val1, Val2) __TGMATH_2_NARROW_F (fadd, Val1, Val2)
854# define dadd(Val1, Val2) __TGMATH_2_NARROW_D (dadd, Val1, Val2)
855
856/* Divide. */
857# define fdiv(Val1, Val2) __TGMATH_2_NARROW_F (fdiv, Val1, Val2)
858# define ddiv(Val1, Val2) __TGMATH_2_NARROW_D (ddiv, Val1, Val2)
859
860/* Multiply. */
861# define fmul(Val1, Val2) __TGMATH_2_NARROW_F (fmul, Val1, Val2)
862# define dmul(Val1, Val2) __TGMATH_2_NARROW_D (dmul, Val1, Val2)
863
864/* Subtract. */
865# define fsub(Val1, Val2) __TGMATH_2_NARROW_F (fsub, Val1, Val2)
866# define dsub(Val1, Val2) __TGMATH_2_NARROW_D (dsub, Val1, Val2)
867
868#endif
869
870#if __GLIBC_USE (IEC_60559_TYPES_EXT)
871
872# if __HAVE_FLOAT16
873# define f16add(Val1, Val2) __TGMATH_2_NARROW_F16 (f16add, Val1, Val2)
874# define f16div(Val1, Val2) __TGMATH_2_NARROW_F16 (f16div, Val1, Val2)
875# define f16mul(Val1, Val2) __TGMATH_2_NARROW_F16 (f16mul, Val1, Val2)
876# define f16sub(Val1, Val2) __TGMATH_2_NARROW_F16 (f16sub, Val1, Val2)
877# endif
878
879# if __HAVE_FLOAT32
880# define f32add(Val1, Val2) __TGMATH_2_NARROW_F32 (f32add, Val1, Val2)
881# define f32div(Val1, Val2) __TGMATH_2_NARROW_F32 (f32div, Val1, Val2)
882# define f32mul(Val1, Val2) __TGMATH_2_NARROW_F32 (f32mul, Val1, Val2)
883# define f32sub(Val1, Val2) __TGMATH_2_NARROW_F32 (f32sub, Val1, Val2)
884# endif
885
886# if __HAVE_FLOAT64 && (__HAVE_FLOAT64X || __HAVE_FLOAT128)
887# define f64add(Val1, Val2) __TGMATH_2_NARROW_F64 (f64add, Val1, Val2)
888# define f64div(Val1, Val2) __TGMATH_2_NARROW_F64 (f64div, Val1, Val2)
889# define f64mul(Val1, Val2) __TGMATH_2_NARROW_F64 (f64mul, Val1, Val2)
890# define f64sub(Val1, Val2) __TGMATH_2_NARROW_F64 (f64sub, Val1, Val2)
891# endif
892
893# if __HAVE_FLOAT32X
894# define f32xadd(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xadd, Val1, Val2)
895# define f32xdiv(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xdiv, Val1, Val2)
896# define f32xmul(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xmul, Val1, Val2)
897# define f32xsub(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xsub, Val1, Val2)
898# endif
899
900# if __HAVE_FLOAT64X && (__HAVE_FLOAT128X || __HAVE_FLOAT128)
901# define f64xadd(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xadd, Val1, Val2)
902# define f64xdiv(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xdiv, Val1, Val2)
903# define f64xmul(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xmul, Val1, Val2)
904# define f64xsub(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xsub, Val1, Val2)
905# endif
906
907#endif
908
764#endif /* tgmath.h */909#endif /* tgmath.h */
\ No newline at end of file
lib/libc/include/generic-glibc/thread_db.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* thread_db.h -- interface to libthread_db.so library for debugging -lpthread1/* thread_db.h -- interface to libthread_db.so library for debugging -lpthread
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#ifndef _THREAD_DB_H19#ifndef _THREAD_DB_H
20#define _THREAD_DB_H 120#define _THREAD_DB_H 1
lib/libc/include/generic-glibc/threads.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* ISO C11 Standard: 7.26 - Thread support library <threads.h>.1/* ISO C11 Standard: 7.26 - Thread support library <threads.h>.
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 _THREADS_H19#ifndef _THREADS_H
20#define _THREADS_H 120#define _THREADS_H 1
lib/libc/include/generic-glibc/time.h+6-12
...@@ -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.23 Date and time <time.h>19 * ISO C99 Standard: 7.23 Date and time <time.h>
...@@ -122,7 +122,7 @@ extern struct tm *gmtime (const time_t *__timer) __THROW;...@@ -122,7 +122,7 @@ extern struct tm *gmtime (const time_t *__timer) __THROW;
122 of *TIMER in the local timezone. */122 of *TIMER in the local timezone. */
123extern struct tm *localtime (const time_t *__timer) __THROW;123extern struct tm *localtime (const time_t *__timer) __THROW;
124124
125#ifdef __USE_POSIX125#if defined __USE_POSIX || __GLIBC_USE (ISOC2X)
126/* Return the `struct tm' representation of *TIMER in UTC,126/* Return the `struct tm' representation of *TIMER in UTC,
127 using *TP to store the result. */127 using *TP to store the result. */
128extern struct tm *gmtime_r (const time_t *__restrict __timer,128extern struct tm *gmtime_r (const time_t *__restrict __timer,
...@@ -132,7 +132,7 @@ extern struct tm *gmtime_r (const time_t *__restrict __timer,...@@ -132,7 +132,7 @@ extern struct tm *gmtime_r (const time_t *__restrict __timer,
132 using *TP to store the result. */132 using *TP to store the result. */
133extern struct tm *localtime_r (const time_t *__restrict __timer,133extern struct tm *localtime_r (const time_t *__restrict __timer,
134 struct tm *__restrict __tp) __THROW;134 struct tm *__restrict __tp) __THROW;
135#endif /* POSIX */135#endif /* POSIX || C2X */
136136
137/* Return a string of the form "Day Mon dd hh:mm:ss yyyy\n"137/* Return a string of the form "Day Mon dd hh:mm:ss yyyy\n"
138 that is the representation of TP in this format. */138 that is the representation of TP in this format. */
...@@ -141,7 +141,7 @@ extern char *asctime (const struct tm *__tp) __THROW;...@@ -141,7 +141,7 @@ extern char *asctime (const struct tm *__tp) __THROW;
141/* Equivalent to `asctime (localtime (timer))'. */141/* Equivalent to `asctime (localtime (timer))'. */
142extern char *ctime (const time_t *__timer) __THROW;142extern char *ctime (const time_t *__timer) __THROW;
143143
144#ifdef __USE_POSIX144#if defined __USE_POSIX || __GLIBC_USE (ISOC2X)
145/* Reentrant versions of the above functions. */145/* Reentrant versions of the above functions. */
146146
147/* Return in BUF a string of the form "Day Mon dd hh:mm:ss yyyy\n"147/* Return in BUF a string of the form "Day Mon dd hh:mm:ss yyyy\n"
...@@ -152,7 +152,7 @@ extern char *asctime_r (const struct tm *__restrict __tp,...@@ -152,7 +152,7 @@ extern char *asctime_r (const struct tm *__restrict __tp,
152/* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */152/* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */
153extern char *ctime_r (const time_t *__restrict __timer,153extern char *ctime_r (const time_t *__restrict __timer,
154 char *__restrict __buf) __THROW;154 char *__restrict __buf) __THROW;
155#endif /* POSIX */155#endif /* POSIX || C2X */
156156
157157
158/* Defined in localtime.c. */158/* Defined in localtime.c. */
...@@ -175,12 +175,6 @@ extern int daylight;...@@ -175,12 +175,6 @@ extern int daylight;
175extern long int timezone;175extern long int timezone;
176#endif176#endif
177177
178#ifdef __USE_MISC
179/* Set the system time to *WHEN.
180 This call is restricted to the superuser. */
181extern int stime (const time_t *__when) __THROW;
182#endif
183
184178
185/* Nonzero if YEAR is a leap year (every 4 years,179/* Nonzero if YEAR is a leap year (every 4 years,
186 except every 100th isn't, and every 400th is). */180 except every 100th isn't, and every 400th is). */
lib/libc/include/generic-glibc/uchar.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/*18/*
19 * ISO C11 Standard: 7.2819 * ISO C11 Standard: 7.28
lib/libc/include/generic-glibc/ucontext.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/* System V ABI compliant user-level context switching support. */18/* System V ABI compliant user-level context switching support. */
1919
lib/libc/include/generic-glibc/ulimit.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 _ULIMIT_H18#ifndef _ULIMIT_H
19#define _ULIMIT_H 119#define _ULIMIT_H 1
lib/libc/include/generic-glibc/unistd.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.10 Symbolic Constants <unistd.h>19 * POSIX Standard: 2.10 Symbolic Constants <unistd.h>
lib/libc/include/generic-glibc/utime.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.6 Set File Access and Modification Times <utime.h>19 * POSIX Standard: 5.6.6 Set File Access and Modification Times <utime.h>
lib/libc/include/generic-glibc/utmp.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1993-2019 Free Software Foundation, Inc.1/* Copyright (C) 1993-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 _UTMP_H18#ifndef _UTMP_H
19#define _UTMP_H 119#define _UTMP_H 1
lib/libc/include/generic-glibc/utmpx.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 _UTMPX_H18#ifndef _UTMPX_H
19#define _UTMPX_H 119#define _UTMPX_H 1
lib/libc/include/generic-glibc/values.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Old compatibility names for <limits.h> and <float.h> constants.1/* Old compatibility names for <limits.h> and <float.h> constants.
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/* This interface is obsolete. New programs should use19/* This interface is obsolete. New programs should use
20 <limits.h> and/or <float.h> instead of <values.h>. */20 <limits.h> and/or <float.h> instead of <values.h>. */
lib/libc/include/generic-glibc/wchar.h+4-3
...@@ -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/*18/*
19 * ISO C99 Standard: 7.2419 * ISO C99 Standard: 7.24
...@@ -685,7 +685,8 @@ extern int vswscanf (const wchar_t *__restrict __s,...@@ -685,7 +685,8 @@ extern int vswscanf (const wchar_t *__restrict __s,
685 __gnuc_va_list __arg)685 __gnuc_va_list __arg)
686 __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;686 __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
687687
688# if !defined __USE_GNU \688/* Same redirection as above for the v*wscanf family. */
689# if !__GLIBC_USE (DEPRECATED_SCANF) \
689 && (!defined __LDBL_COMPAT || !defined __REDIRECT) \690 && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
690 && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)691 && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
691# ifdef __REDIRECT692# ifdef __REDIRECT
lib/libc/include/generic-glibc/wctype.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/*18/*
19 * ISO C99 Standard: 7.2519 * ISO C99 Standard: 7.25
lib/libc/include/generic-glibc/wordexp.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 _WORDEXP_H18#ifndef _WORDEXP_H
19#define _WORDEXP_H 119#define _WORDEXP_H 1
lib/libc/include/i386-linux-gnu/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
\ No newline at end of file
lib/libc/include/i386-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/i386-linux-gnu/bits/epoll.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.
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_EPOLL_H18#ifndef _SYS_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
lib/libc/include/i386-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux/x86.1/* O_*, F_*, FD_* bit values for Linux/x86.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/i386-linux-gnu/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -101,7 +101,7 @@ fenv_t;...@@ -101,7 +101,7 @@ fenv_t;
101# define FE_NOMASK_ENV ((const fenv_t *) -2)101# define FE_NOMASK_ENV ((const fenv_t *) -2)
102#endif102#endif
103103
104#if __GLIBC_USE (IEC_60559_BFP_EXT)104#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
105/* Type representing floating-point control modes. */105/* Type representing floating-point control modes. */
106typedef struct106typedef struct
107 {107 {
lib/libc/include/i386-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on x86.1/* Macros to control TS 18661-3 glibc features on 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 _BITS_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/i386-linux-gnu/bits/flt-eval-method.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.1/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
lib/libc/include/i386-linux-gnu/bits/fp-logb.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
lib/libc/include/i386-linux-gnu/bits/indirect-return.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of __INDIRECT_RETURN. x86 version.1/* Definition of __INDIRECT_RETURN. x86 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 _UCONTEXT_H19#ifndef _UCONTEXT_H
20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
lib/libc/include/i386-linux-gnu/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
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 _SYS_IPC_H19#ifndef _SYS_IPC_H
20# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."20# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
lib/libc/include/i386-linux-gnu/bits/iscanonical.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define iscanonical macro. ldbl-96 version.1/* Define iscanonical macro. ldbl-96 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
lib/libc/include/i386-linux-gnu/bits/link.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/i386-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-96 version.1/* Properties of long double type. ldbl-96 version.
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,8 @@...@@ -14,7 +14,8 @@
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/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */
\ No newline at end of file
20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/math-vector.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Platform-specific SIMD declarations of math functions.1/* Platform-specific SIMD declarations of math functions.
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 _MATH_H19#ifndef _MATH_H
20# error "Never include <bits/math-vector.h> directly;\20# error "Never include <bits/math-vector.h> directly;\
lib/libc/include/i386-linux-gnu/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/x86_64 version.1/* Definitions for POSIX memory map interface. Linux/x86_64 version.
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 _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/i386-linux-gnu/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/i386-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. x86 version.1/* Types for registers for sys/procfs.h. x86 version.
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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/i386-linux-gnu/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/include/i386-linux-gnu/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/include/i386-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. x86 version.1/* Define where padding goes in struct semid_ds. x86 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/i386-linux-gnu/bits/semaphore.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.
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
...@@ -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 _SEMAPHORE_H19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/i386-linux-gnu/bits/setjmp.h+2-2
...@@ -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,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 the machine-dependent type `jmp_buf'. x86-64 version. */18/* Define the machine-dependent type `jmp_buf'. x86-64 version. */
19#ifndef _BITS_SETJMP_H19#ifndef _BITS_SETJMP_H
lib/libc/include/i386-linux-gnu/bits/sigcontext.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.
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_SIGCONTEXT_H18#ifndef _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 119#define _BITS_SIGCONTEXT_H 1
lib/libc/include/i386-linux-gnu/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/include/i386-linux-gnu/bits/struct_mutex.h created+63
...@@ -0,0 +1,63 @@
1/* x86 internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#ifdef __x86_64__
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#ifdef __x86_64__
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __eelision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__eelision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#ifdef __x86_64__
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/struct_rwlock.h created+65
...@@ -0,0 +1,65 @@
1/* x86 internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#ifdef __x86_64__
32 int __cur_writer;
33 int __shared;
34 signed char __rwelision;
35# ifdef __ILP32__
36 unsigned char __pad1[3];
37# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
38# else
39 unsigned char __pad1[7];
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
41# endif
42 unsigned long int __pad2;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned int __flags;
46#else /* __x86_64__ */
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 signed char __rwelision;
52 unsigned char __pad2;
53 int __cur_writer;
54#endif
55};
56
57#ifdef __x86_64__
58# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
59 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
60#else
61# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
62 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
63#endif
64
65#endif
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/sysctl.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#if defined __x86_64__ && defined __ILP32__18#if defined __x86_64__ && defined __ILP32__
19# error "sysctl system call is unsupported in x32 kernel"19# error "sysctl system call is unsupported in x32 kernel"
lib/libc/include/i386-linux-gnu/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, x86-64 and x32 case.1/* Bit size of the time_t type at glibc build time, x86-64 and x32 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#if defined __x86_64__ && defined __ILP32__19#if defined __x86_64__ && defined __ILP32__
20/* For x32, time is 64-bit even though word size is 32-bit. */20/* For x32, time is 64-bit even though word size is 32-bit. */
lib/libc/include/i386-linux-gnu/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/include/i386-linux-gnu/finclude/math-vector-fortran.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
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.
4!4!
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 @@
14!14!
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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')19!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
lib/libc/include/i386-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word bits. x86 version.1/* FPU control word bits. x86 version.
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 Olaf Flebbe.4 Contributed by Olaf Flebbe.
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 _FPU_CONTROL_H20#ifndef _FPU_CONTROL_H
21#define _FPU_CONTROL_H 121#define _FPU_CONTROL_H 1
lib/libc/include/i386-linux-gnu/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/include/i386-linux-gnu/sys/ptrace.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/x86 version.1/* `ptrace' debugger support interface. Linux/x86 version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PTRACE_H20#ifndef _SYS_PTRACE_H
21#define _SYS_PTRACE_H 121#define _SYS_PTRACE_H 1
...@@ -186,8 +186,12 @@ enum __ptrace_request...@@ -186,8 +186,12 @@ enum __ptrace_request
186#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER186#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
187187
188 /* Get seccomp BPF filter metadata. */188 /* Get seccomp BPF filter metadata. */
189 PTRACE_SECCOMP_GET_METADATA = 0x420d189 PTRACE_SECCOMP_GET_METADATA = 0x420d,
190#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA190#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
191
192 /* Get information about system call. */
193 PTRACE_GET_SYSCALL_INFO = 0x420e
194#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
191};195};
192196
193197
lib/libc/include/i386-linux-gnu/sys/ucontext.h+2-2
...@@ -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,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_UCONTEXT_H18#ifndef _SYS_UCONTEXT_H
19#define _SYS_UCONTEXT_H 119#define _SYS_UCONTEXT_H 1
lib/libc/include/i386-linux-gnu/sys/user.h+2-2
...@@ -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,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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/mips-linux-gnu/bits/dlfcn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System dependent definitions for run-time dynamic loading.1/* System dependent definitions for run-time dynamic loading.
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 _DLFCN_H19#ifndef _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
lib/libc/include/mips-linux-gnu/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. MIPS/Linux specific version.1/* Error constants. MIPS/Linux specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
2020
lib/libc/include/mips-linux-gnu/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/mips-linux-gnu/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/mips-linux-gnu/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/mips-linux-gnu/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 unsigned int uid; /* Owner's user ID. */
46 unsigned int gid; /* Owner's group ID. */
47 unsigned int cuid; /* Creator's user ID. */
48 unsigned int cgid; /* Creator's group ID. */
49 unsigned int mode; /* Read/write permission. */
50 unsigned short int __seq; /* Sequence number. */
51 unsigned short int __pad1;
52 unsigned long int __glibc_reserved1;
53 unsigned long int __glibc_reserved2;
54};
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS 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/*19/*
20 * Never include <bits/ipctypes.h> directly.20 * Never include <bits/ipctypes.h> directly.
lib/libc/include/mips-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.
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.
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 kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/mips-linux-gnu/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.1/* Definitions for POSIX memory map interface. Linux/MIPS version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/mips-linux-gnu/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.1/* Define where padding goes in struct msqid_ds. MIPS 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/mips-linux-gnu/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/mips-linux-gnu/bits/pthreadtypes-arch.h created+44
...@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/mips-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. MIPS version.1/* Define where padding goes in struct semid_ds. MIPS 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/mips-linux-gnu/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.1/* Define where padding goes in struct shmid_ds. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips-linux-gnu/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. MIPS version.1/* Define SHMLBA. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips-linux-gnu/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux/MIPS's sigaction.1/* The proper definitions for Linux/MIPS's sigaction.
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.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/mips-linux-gnu/bits/sigcontext.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the GNU C Library.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library.
22
3 The GNU C Library is free software; you can redistribute it and/or3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public4 modify it under the terms of the GNU Lesser General Public
...@@ -12,7 +12,7 @@...@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU Lesser General Public13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see14 License along with the GNU C Library. If not, see
15 <http://www.gnu.org/licenses/>. */15 <https://www.gnu.org/licenses/>. */
1616
17#ifndef _BITS_SIGCONTEXT_H17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 118#define _BITS_SIGCONTEXT_H 1
lib/libc/include/mips-linux-gnu/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/mips-linux-gnu/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux/MIPS version.1/* Signal number definitions. Linux/MIPS version.
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 _BITS_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/mips-linux-gnu/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.1/* Socket constants which vary among Linux architectures. Version for MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips-linux-gnu/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for Linux/MIPS.1/* Define enum __socket_type for Linux/MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips-linux-gnu/bits/statfs.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_STATFS_H18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
lib/libc/include/mips-linux-gnu/bits/struct_mutex.h created+56
...@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.1/* termios c_cc symbolic constant definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/mips-linux-gnu/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/mips-linux-gnu/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/mips version.1/* struct termios definition. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/mips-linux-gnu/bits/termios-tcflow.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
lib/libc/include/mips-linux-gnu/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/mips-linux-gnu/bits/types/stack_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define stack_t. MIPS Linux version.1/* Define stack_t. MIPS Linux 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
...@@ -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 __stack_t_defined19#ifndef __stack_t_defined
20#define __stack_t_defined 120#define __stack_t_defined 1
lib/libc/include/mips-linux-gnu/ieee754.h+12-9
...@@ -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,19 @@...@@ -13,16 +13,19 @@
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 _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25#include <float.h>25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
2629
27__BEGIN_DECLS30__BEGIN_DECLS
2831
...@@ -127,7 +130,7 @@ union ieee754_double...@@ -127,7 +130,7 @@ union ieee754_double
127130
128#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
129132
130#if LDBL_MANT_DIG == 113133#if __LDBL_MANT_DIG__ == 113
131134
132union ieee854_long_double135union ieee854_long_double
133 {136 {
...@@ -184,7 +187,7 @@ union ieee854_long_double...@@ -184,7 +187,7 @@ union ieee854_long_double
184187
185#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
186189
187#elif LDBL_MANT_DIG == 64190#elif __LDBL_MANT_DIG__ == 64
188191
189union ieee854_long_double192union ieee854_long_double
190 {193 {
...@@ -253,7 +256,7 @@ union ieee854_long_double...@@ -253,7 +256,7 @@ union ieee854_long_double
253256
254#define IEEE854_LONG_DOUBLE_BIAS 0x3fff257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
255258
256#elif LDBL_MANT_DIG == 53259#elif __LDBL_MANT_DIG__ == 53
257260
258union ieee854_long_double261union ieee854_long_double
259 {262 {
...@@ -316,7 +319,7 @@ union ieee854_long_double...@@ -316,7 +319,7 @@ union ieee854_long_double
316319
317#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
318321
319#endif /* LDBL_MANT_DIG == 53 */322#endif /* __LDBL_MANT_DIG__ == 53 */
320323
321__END_DECLS324__END_DECLS
322325
lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System dependent definitions for run-time dynamic loading.1/* System dependent definitions for run-time dynamic loading.
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 _DLFCN_H19#ifndef _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. MIPS/Linux specific version.1/* Error constants. MIPS/Linux specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
2020
lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 unsigned int uid; /* Owner's user ID. */
46 unsigned int gid; /* Owner's group ID. */
47 unsigned int cuid; /* Creator's user ID. */
48 unsigned int cgid; /* Creator's group ID. */
49 unsigned int mode; /* Read/write permission. */
50 unsigned short int __seq; /* Sequence number. */
51 unsigned short int __pad1;
52 unsigned long int __glibc_reserved1;
53 unsigned long int __glibc_reserved2;
54};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS 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/*19/*
20 * Never include <bits/ipctypes.h> directly.20 * Never include <bits/ipctypes.h> directly.
lib/libc/include/mips64-linux-gnuabi64/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.
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.
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 kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/mips64-linux-gnuabi64/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.1/* Definitions for POSIX memory map interface. Linux/MIPS version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.1/* Define where padding goes in struct msqid_ds. MIPS 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h created+44
...@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. MIPS version.1/* Define where padding goes in struct semid_ds. MIPS 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.1/* Define where padding goes in struct shmid_ds. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. MIPS version.1/* Define SHMLBA. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux/MIPS's sigaction.1/* The proper definitions for Linux/MIPS's sigaction.
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.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the GNU C Library.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library.
22
3 The GNU C Library is free software; you can redistribute it and/or3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public4 modify it under the terms of the GNU Lesser General Public
...@@ -12,7 +12,7 @@...@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU Lesser General Public13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see14 License along with the GNU C Library. If not, see
15 <http://www.gnu.org/licenses/>. */15 <https://www.gnu.org/licenses/>. */
1616
17#ifndef _BITS_SIGCONTEXT_H17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 118#define _BITS_SIGCONTEXT_H 1
lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux/MIPS version.1/* Signal number definitions. Linux/MIPS version.
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 _BITS_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.1/* Socket constants which vary among Linux architectures. Version for MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for Linux/MIPS.1/* Define enum __socket_type for Linux/MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/statfs.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_STATFS_H18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h created+56
...@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.1/* termios c_cc symbolic constant definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/mips version.1/* struct termios definition. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define stack_t. MIPS Linux version.1/* Define stack_t. MIPS Linux 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
...@@ -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 __stack_t_defined19#ifndef __stack_t_defined
20#define __stack_t_defined 120#define __stack_t_defined 1
lib/libc/include/mips64-linux-gnuabi64/ieee754.h+12-9
...@@ -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,19 @@...@@ -13,16 +13,19 @@
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 _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25#include <float.h>25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
2629
27__BEGIN_DECLS30__BEGIN_DECLS
2831
...@@ -127,7 +130,7 @@ union ieee754_double...@@ -127,7 +130,7 @@ union ieee754_double
127130
128#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
129132
130#if LDBL_MANT_DIG == 113133#if __LDBL_MANT_DIG__ == 113
131134
132union ieee854_long_double135union ieee854_long_double
133 {136 {
...@@ -184,7 +187,7 @@ union ieee854_long_double...@@ -184,7 +187,7 @@ union ieee854_long_double
184187
185#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
186189
187#elif LDBL_MANT_DIG == 64190#elif __LDBL_MANT_DIG__ == 64
188191
189union ieee854_long_double192union ieee854_long_double
190 {193 {
...@@ -253,7 +256,7 @@ union ieee854_long_double...@@ -253,7 +256,7 @@ union ieee854_long_double
253256
254#define IEEE854_LONG_DOUBLE_BIAS 0x3fff257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
255258
256#elif LDBL_MANT_DIG == 53259#elif __LDBL_MANT_DIG__ == 53
257260
258union ieee854_long_double261union ieee854_long_double
259 {262 {
...@@ -316,7 +319,7 @@ union ieee854_long_double...@@ -316,7 +319,7 @@ union ieee854_long_double
316319
317#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
318321
319#endif /* LDBL_MANT_DIG == 53 */322#endif /* __LDBL_MANT_DIG__ == 53 */
320323
321__END_DECLS324__END_DECLS
322325
lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System dependent definitions for run-time dynamic loading.1/* System dependent definitions for run-time dynamic loading.
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 _DLFCN_H19#ifndef _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. MIPS/Linux specific version.1/* Error constants. MIPS/Linux specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
2020
lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 unsigned int uid; /* Owner's user ID. */
46 unsigned int gid; /* Owner's group ID. */
47 unsigned int cuid; /* Creator's user ID. */
48 unsigned int cgid; /* Creator's group ID. */
49 unsigned int mode; /* Read/write permission. */
50 unsigned short int __seq; /* Sequence number. */
51 unsigned short int __pad1;
52 unsigned long int __glibc_reserved1;
53 unsigned long int __glibc_reserved2;
54};
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS 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/*19/*
20 * Never include <bits/ipctypes.h> directly.20 * Never include <bits/ipctypes.h> directly.
lib/libc/include/mips64-linux-gnuabin32/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.
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.
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 kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/mips64-linux-gnuabin32/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.1/* Definitions for POSIX memory map interface. Linux/MIPS version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.1/* Define where padding goes in struct msqid_ds. MIPS 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h created+44
...@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. MIPS version.1/* Define where padding goes in struct semid_ds. MIPS 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.1/* Define where padding goes in struct shmid_ds. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. MIPS version.1/* Define SHMLBA. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux/MIPS's sigaction.1/* The proper definitions for Linux/MIPS's sigaction.
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.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the GNU C Library.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library.
22
3 The GNU C Library is free software; you can redistribute it and/or3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public4 modify it under the terms of the GNU Lesser General Public
...@@ -12,7 +12,7 @@...@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU Lesser General Public13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see14 License along with the GNU C Library. If not, see
15 <http://www.gnu.org/licenses/>. */15 <https://www.gnu.org/licenses/>. */
1616
17#ifndef _BITS_SIGCONTEXT_H17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 118#define _BITS_SIGCONTEXT_H 1
lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux/MIPS version.1/* Signal number definitions. Linux/MIPS version.
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 _BITS_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.1/* Socket constants which vary among Linux architectures. Version for MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for Linux/MIPS.1/* Define enum __socket_type for Linux/MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/statfs.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_STATFS_H18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h created+56
...@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.1/* termios c_cc symbolic constant definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/mips version.1/* struct termios definition. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define stack_t. MIPS Linux version.1/* Define stack_t. MIPS Linux 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
...@@ -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 __stack_t_defined19#ifndef __stack_t_defined
20#define __stack_t_defined 120#define __stack_t_defined 1
lib/libc/include/mips64-linux-gnuabin32/ieee754.h+12-9
...@@ -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,19 @@...@@ -13,16 +13,19 @@
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 _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25#include <float.h>25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
2629
27__BEGIN_DECLS30__BEGIN_DECLS
2831
...@@ -127,7 +130,7 @@ union ieee754_double...@@ -127,7 +130,7 @@ union ieee754_double
127130
128#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
129132
130#if LDBL_MANT_DIG == 113133#if __LDBL_MANT_DIG__ == 113
131134
132union ieee854_long_double135union ieee854_long_double
133 {136 {
...@@ -184,7 +187,7 @@ union ieee854_long_double...@@ -184,7 +187,7 @@ union ieee854_long_double
184187
185#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
186189
187#elif LDBL_MANT_DIG == 64190#elif __LDBL_MANT_DIG__ == 64
188191
189union ieee854_long_double192union ieee854_long_double
190 {193 {
...@@ -253,7 +256,7 @@ union ieee854_long_double...@@ -253,7 +256,7 @@ union ieee854_long_double
253256
254#define IEEE854_LONG_DOUBLE_BIAS 0x3fff257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
255258
256#elif LDBL_MANT_DIG == 53259#elif __LDBL_MANT_DIG__ == 53
257260
258union ieee854_long_double261union ieee854_long_double
259 {262 {
...@@ -316,7 +319,7 @@ union ieee854_long_double...@@ -316,7 +319,7 @@ union ieee854_long_double
316319
317#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
318321
319#endif /* LDBL_MANT_DIG == 53 */322#endif /* __LDBL_MANT_DIG__ == 53 */
320323
321__END_DECLS324__END_DECLS
322325
lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System dependent definitions for run-time dynamic loading.1/* System dependent definitions for run-time dynamic loading.
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 _DLFCN_H19#ifndef _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. MIPS/Linux specific version.1/* Error constants. MIPS/Linux specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
2020
lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 unsigned int uid; /* Owner's user ID. */
46 unsigned int gid; /* Owner's group ID. */
47 unsigned int cuid; /* Creator's user ID. */
48 unsigned int cgid; /* Creator's group ID. */
49 unsigned int mode; /* Read/write permission. */
50 unsigned short int __seq; /* Sequence number. */
51 unsigned short int __pad1;
52 unsigned long int __glibc_reserved1;
53 unsigned long int __glibc_reserved2;
54};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS 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/*19/*
20 * Never include <bits/ipctypes.h> directly.20 * Never include <bits/ipctypes.h> directly.
lib/libc/include/mips64el-linux-gnuabi64/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.
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.
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 kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.1/* Definitions for POSIX memory map interface. Linux/MIPS version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.1/* Define where padding goes in struct msqid_ds. MIPS 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h created+44
...@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. MIPS version.1/* Define where padding goes in struct semid_ds. MIPS 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.1/* Define where padding goes in struct shmid_ds. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. MIPS version.1/* Define SHMLBA. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux/MIPS's sigaction.1/* The proper definitions for Linux/MIPS's sigaction.
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.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the GNU C Library.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library.
22
3 The GNU C Library is free software; you can redistribute it and/or3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public4 modify it under the terms of the GNU Lesser General Public
...@@ -12,7 +12,7 @@...@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU Lesser General Public13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see14 License along with the GNU C Library. If not, see
15 <http://www.gnu.org/licenses/>. */15 <https://www.gnu.org/licenses/>. */
1616
17#ifndef _BITS_SIGCONTEXT_H17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 118#define _BITS_SIGCONTEXT_H 1
lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux/MIPS version.1/* Signal number definitions. Linux/MIPS version.
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 _BITS_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.1/* Socket constants which vary among Linux architectures. Version for MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for Linux/MIPS.1/* Define enum __socket_type for Linux/MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.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_STATFS_H18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h created+56
...@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.1/* termios c_cc symbolic constant definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/mips version.1/* struct termios definition. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define stack_t. MIPS Linux version.1/* Define stack_t. MIPS Linux 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
...@@ -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 __stack_t_defined19#ifndef __stack_t_defined
20#define __stack_t_defined 120#define __stack_t_defined 1
lib/libc/include/mips64el-linux-gnuabi64/ieee754.h+12-9
...@@ -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,19 @@...@@ -13,16 +13,19 @@
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 _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25#include <float.h>25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
2629
27__BEGIN_DECLS30__BEGIN_DECLS
2831
...@@ -127,7 +130,7 @@ union ieee754_double...@@ -127,7 +130,7 @@ union ieee754_double
127130
128#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
129132
130#if LDBL_MANT_DIG == 113133#if __LDBL_MANT_DIG__ == 113
131134
132union ieee854_long_double135union ieee854_long_double
133 {136 {
...@@ -184,7 +187,7 @@ union ieee854_long_double...@@ -184,7 +187,7 @@ union ieee854_long_double
184187
185#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
186189
187#elif LDBL_MANT_DIG == 64190#elif __LDBL_MANT_DIG__ == 64
188191
189union ieee854_long_double192union ieee854_long_double
190 {193 {
...@@ -253,7 +256,7 @@ union ieee854_long_double...@@ -253,7 +256,7 @@ union ieee854_long_double
253256
254#define IEEE854_LONG_DOUBLE_BIAS 0x3fff257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
255258
256#elif LDBL_MANT_DIG == 53259#elif __LDBL_MANT_DIG__ == 53
257260
258union ieee854_long_double261union ieee854_long_double
259 {262 {
...@@ -316,7 +319,7 @@ union ieee854_long_double...@@ -316,7 +319,7 @@ union ieee854_long_double
316319
317#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
318321
319#endif /* LDBL_MANT_DIG == 53 */322#endif /* __LDBL_MANT_DIG__ == 53 */
320323
321__END_DECLS324__END_DECLS
322325
lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System dependent definitions for run-time dynamic loading.1/* System dependent definitions for run-time dynamic loading.
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 _DLFCN_H19#ifndef _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. MIPS/Linux specific version.1/* Error constants. MIPS/Linux specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
2020
lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 unsigned int uid; /* Owner's user ID. */
46 unsigned int gid; /* Owner's group ID. */
47 unsigned int cuid; /* Creator's user ID. */
48 unsigned int cgid; /* Creator's group ID. */
49 unsigned int mode; /* Read/write permission. */
50 unsigned short int __seq; /* Sequence number. */
51 unsigned short int __pad1;
52 unsigned long int __glibc_reserved1;
53 unsigned long int __glibc_reserved2;
54};
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS 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/*19/*
20 * Never include <bits/ipctypes.h> directly.20 * Never include <bits/ipctypes.h> directly.
lib/libc/include/mips64el-linux-gnuabin32/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.
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.
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 kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.1/* Definitions for POSIX memory map interface. Linux/MIPS version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.1/* Define where padding goes in struct msqid_ds. MIPS 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h created+44
...@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. MIPS version.1/* Define where padding goes in struct semid_ds. MIPS 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.1/* Define where padding goes in struct shmid_ds. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. MIPS version.1/* Define SHMLBA. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux/MIPS's sigaction.1/* The proper definitions for Linux/MIPS's sigaction.
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.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the GNU C Library.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library.
22
3 The GNU C Library is free software; you can redistribute it and/or3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public4 modify it under the terms of the GNU Lesser General Public
...@@ -12,7 +12,7 @@...@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU Lesser General Public13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see14 License along with the GNU C Library. If not, see
15 <http://www.gnu.org/licenses/>. */15 <https://www.gnu.org/licenses/>. */
1616
17#ifndef _BITS_SIGCONTEXT_H17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 118#define _BITS_SIGCONTEXT_H 1
lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux/MIPS version.1/* Signal number definitions. Linux/MIPS version.
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 _BITS_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.1/* Socket constants which vary among Linux architectures. Version for MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for Linux/MIPS.1/* Define enum __socket_type for Linux/MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.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_STATFS_H18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h created+56
...@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.1/* termios c_cc symbolic constant definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/mips version.1/* struct termios definition. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define stack_t. MIPS Linux version.1/* Define stack_t. MIPS Linux 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
...@@ -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 __stack_t_defined19#ifndef __stack_t_defined
20#define __stack_t_defined 120#define __stack_t_defined 1
lib/libc/include/mips64el-linux-gnuabin32/ieee754.h+12-9
...@@ -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,19 @@...@@ -13,16 +13,19 @@
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 _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25#include <float.h>25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
2629
27__BEGIN_DECLS30__BEGIN_DECLS
2831
...@@ -127,7 +130,7 @@ union ieee754_double...@@ -127,7 +130,7 @@ union ieee754_double
127130
128#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
129132
130#if LDBL_MANT_DIG == 113133#if __LDBL_MANT_DIG__ == 113
131134
132union ieee854_long_double135union ieee854_long_double
133 {136 {
...@@ -184,7 +187,7 @@ union ieee854_long_double...@@ -184,7 +187,7 @@ union ieee854_long_double
184187
185#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
186189
187#elif LDBL_MANT_DIG == 64190#elif __LDBL_MANT_DIG__ == 64
188191
189union ieee854_long_double192union ieee854_long_double
190 {193 {
...@@ -253,7 +256,7 @@ union ieee854_long_double...@@ -253,7 +256,7 @@ union ieee854_long_double
253256
254#define IEEE854_LONG_DOUBLE_BIAS 0x3fff257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
255258
256#elif LDBL_MANT_DIG == 53259#elif __LDBL_MANT_DIG__ == 53
257260
258union ieee854_long_double261union ieee854_long_double
259 {262 {
...@@ -316,7 +319,7 @@ union ieee854_long_double...@@ -316,7 +319,7 @@ union ieee854_long_double
316319
317#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
318321
319#endif /* LDBL_MANT_DIG == 53 */322#endif /* __LDBL_MANT_DIG__ == 53 */
320323
321__END_DECLS324__END_DECLS
322325
lib/libc/include/mipsel-linux-gnu/bits/dlfcn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* System dependent definitions for run-time dynamic loading.1/* System dependent definitions for run-time dynamic loading.
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 _DLFCN_H19#ifndef _DLFCN_H
20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."20# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. MIPS/Linux specific version.1/* Error constants. MIPS/Linux specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
2020
lib/libc/include/mipsel-linux-gnu/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.1/* Structure types for pre-termios terminal ioctls. Linux/MIPS version.
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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 unsigned int uid; /* Owner's user ID. */
46 unsigned int gid; /* Owner's group ID. */
47 unsigned int cuid; /* Creator's user ID. */
48 unsigned int cgid; /* Creator's group ID. */
49 unsigned int mode; /* Read/write permission. */
50 unsigned short int __seq; /* Sequence number. */
51 unsigned short int __pad1;
52 unsigned long int __glibc_reserved1;
53 unsigned long int __glibc_reserved2;
54};
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS 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/*19/*
20 * Never include <bits/ipctypes.h> directly.20 * Never include <bits/ipctypes.h> directly.
lib/libc/include/mipsel-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.1/* Minimum guaranteed maximum values for system limits. MIPS Linux version.
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.
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 kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/mipsel-linux-gnu/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/MIPS version.1/* Definitions for POSIX memory map interface. Linux/MIPS version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. MIPS version.1/* Define where padding goes in struct msqid_ds. MIPS 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/pthreadtypes-arch.h created+44
...@@ -0,0 +1,44 @@
1/* Machine-specific pthread type layouts. MIPS version.
2 Copyright (C) 2005-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _BITS_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/endian.h>
23
24#if _MIPS_SIM == _ABI64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_ATTR_T 36
31# define __SIZEOF_PTHREAD_MUTEX_T 24
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41#define __LOCK_ALIGNMENT
42#define __ONCE_ALIGNMENT
43
44#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux/MIPS version.1/* Bit values & structures for resource limits. Linux/MIPS version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. MIPS version.1/* Define where padding goes in struct semid_ds. MIPS 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. MIPS version.1/* Define where padding goes in struct shmid_ds. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. MIPS version.1/* Define SHMLBA. MIPS 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux/MIPS's sigaction.1/* The proper definitions for Linux/MIPS's sigaction.
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.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/mipsel-linux-gnu/bits/sigcontext.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the GNU C Library.1/* Copyright (C) 1996-2020 Free Software Foundation, Inc. This file is part of the GNU C Library.
22
3 The GNU C Library is free software; you can redistribute it and/or3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public4 modify it under the terms of the GNU Lesser General Public
...@@ -12,7 +12,7 @@...@@ -12,7 +12,7 @@
1212
13 You should have received a copy of the GNU Lesser General Public13 You should have received a copy of the GNU Lesser General Public
14 License along with the GNU C Library. If not, see14 License along with the GNU C Library. If not, see
15 <http://www.gnu.org/licenses/>. */15 <https://www.gnu.org/licenses/>. */
1616
17#ifndef _BITS_SIGCONTEXT_H17#ifndef _BITS_SIGCONTEXT_H
18#define _BITS_SIGCONTEXT_H 118#define _BITS_SIGCONTEXT_H 1
lib/libc/include/mipsel-linux-gnu/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux/MIPS version.1/* Signal number definitions. Linux/MIPS version.
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 _BITS_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/mipsel-linux-gnu/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.1/* Socket constants which vary among Linux architectures. Version for MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for Linux/MIPS.1/* Define enum __socket_type for Linux/MIPS.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/statfs.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_STATFS_H18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/struct_mutex.h created+56
...@@ -0,0 +1,56 @@
1/* MIPS internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if _MIPS_SIM == _ABI64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if _MIPS_SIM == _ABI64
34 int __spins;
35 __pthread_list_t __list;
36# define __PTHREAD_MUTEX_HAVE_PREV 1
37#else
38 unsigned int __nusers;
39 __extension__ union
40 {
41 int __spins;
42 __pthread_slist_t __list;
43 };
44# define __PTHREAD_MUTEX_HAVE_PREV 0
45#endif
46};
47
48#if _MIPS_SIM == _ABI64
49# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
50 0, 0, 0, 0, __kind, 0, { 0, 0 }
51#else
52# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
53 0, 0, 0, __kind, 0, { 0 }
54#endif
55
56#endif
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/mips version.1/* termios c_cc symbolic constant definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/mips version.1/* struct termios definition. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/termios-tcflow.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/mips version.1/* termios local mode definitions. Linux/mips 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-tcflow.h> directly; use <termios.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/mipsel-linux-gnu/bits/types/stack_t.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define stack_t. MIPS Linux version.1/* Define stack_t. MIPS Linux 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
...@@ -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 __stack_t_defined19#ifndef __stack_t_defined
20#define __stack_t_defined 120#define __stack_t_defined 1
lib/libc/include/mipsel-linux-gnu/ieee754.h+12-9
...@@ -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,19 @@...@@ -13,16 +13,19 @@
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 _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25#include <float.h>25#ifndef __LDBL_MANT_DIG__
26# include <float.h>
27# define __LDBL_MANT_DIG__ LDBL_MANT_DIG
28#endif
2629
27__BEGIN_DECLS30__BEGIN_DECLS
2831
...@@ -127,7 +130,7 @@ union ieee754_double...@@ -127,7 +130,7 @@ union ieee754_double
127130
128#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */131#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
129132
130#if LDBL_MANT_DIG == 113133#if __LDBL_MANT_DIG__ == 113
131134
132union ieee854_long_double135union ieee854_long_double
133 {136 {
...@@ -184,7 +187,7 @@ union ieee854_long_double...@@ -184,7 +187,7 @@ union ieee854_long_double
184187
185#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */188#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */
186189
187#elif LDBL_MANT_DIG == 64190#elif __LDBL_MANT_DIG__ == 64
188191
189union ieee854_long_double192union ieee854_long_double
190 {193 {
...@@ -253,7 +256,7 @@ union ieee854_long_double...@@ -253,7 +256,7 @@ union ieee854_long_double
253256
254#define IEEE854_LONG_DOUBLE_BIAS 0x3fff257#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
255258
256#elif LDBL_MANT_DIG == 53259#elif __LDBL_MANT_DIG__ == 53
257260
258union ieee854_long_double261union ieee854_long_double
259 {262 {
...@@ -316,7 +319,7 @@ union ieee854_long_double...@@ -316,7 +319,7 @@ union ieee854_long_double
316319
317#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */320#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */
318321
319#endif /* LDBL_MANT_DIG == 53 */322#endif /* __LDBL_MANT_DIG__ == 53 */
320323
321__END_DECLS324__END_DECLS
322325
lib/libc/include/powerpc-linux-gnu/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
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/powerpc-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux/PowerPC.1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -170,7 +170,7 @@ extern const fenv_t __fe_nonieee_env;...@@ -170,7 +170,7 @@ extern const fenv_t __fe_nonieee_env;
170170
171#endif171#endif
172172
173#if __GLIBC_USE (IEC_60559_BFP_EXT)173#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
174/* Type representing floating-point control modes. */174/* Type representing floating-point control modes. */
175typedef double femode_t;175typedef double femode_t;
176176
lib/libc/include/powerpc-linux-gnu/bits/fenvinline.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Inline floating-point environment handling functions for powerpc.1/* Inline floating-point environment handling functions for powerpc.
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#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
2020
lib/libc/include/powerpc-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on powerpc.1/* Macros to control TS 18661-3 glibc features on powerpc.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/powerpc-linux-gnu/bits/fp-fast.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define FP_FAST_* macros. PowerPC version.1/* Define FP_FAST_* macros. PowerPC version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP and AT_HWCAP2.1/* Defines for bits in AT_HWCAP and AT_HWCAP2.
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#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)19#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.1/* Structure types for pre-termios terminal ioctls. Linux/powerpc 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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/ipc-perm.h created+36
...@@ -0,0 +1,36 @@
1/* struct ipc_perm definition. Linux/powerpc version.
2 Copyright (C) 1995-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 __uint32_t __seq; /* Sequence number. */
33 __uint32_t __pad1;
34 __uint64_t __glibc_reserved1;
35 __uint64_t __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 __uid_t uid; /* Owner's user ID. */
46 __gid_t gid; /* Owner's group ID. */
47 __uid_t cuid; /* Creator's user ID. */
48 __gid_t cgid; /* Creator's group ID. */
49 __mode_t mode; /* Read/write permission. */
50 __uint32_t __seq; /* Sequence number. */
51 __uint32_t __pad1;
52 __uint64_t __glibc_reserved1;
53 __uint64_t __glibc_reserved2;
54 };
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/iscanonical.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define iscanonical macro. ldbl-128ibm version.1/* Define iscanonical macro. ldbl-128ibm version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/link.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific declarations for dynamic linker interface. PowerPC version1/* Machine-specific declarations for dynamic linker interface. PowerPC version
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#ifndef _LINK_H19#ifndef _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."20# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. Linux/PPC version.1/* Minimum guaranteed maximum values for system limits. Linux/PPC version.
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.
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/* The kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/powerpc-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-opt version.1/* Properties of long double type. ldbl-opt version.
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,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 __NO_LONG_DOUBLE_MATH19#ifndef __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 120# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23# endif23# endif
24#endif
\ No newline at end of file
24#endif
25#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/mman.h+4-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/PowerPC version.1/* Definitions for POSIX memory map interface. Linux/PowerPC version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
...@@ -36,6 +36,8 @@...@@ -36,6 +36,8 @@
36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
37# define MAP_STACK 0x20000 /* Allocation is for a stack. */37# define MAP_STACK 0x20000 /* Allocation is for a stack. */
38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
39# define MAP_SYNC 0x80000 /* Perform synchronous page
40 faults for the mapping. */
39# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap41# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
40 underlying mapping. */42 underlying mapping. */
41#endif43#endif
lib/libc/include/powerpc-linux-gnu/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. PowerPC version.1/* Define where padding goes in struct msqid_ds. PowerPC 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. PowerPC version.1/* Types for registers for sys/procfs.h. PowerPC 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/pthreadtypes-arch.h deleted-81
...@@ -1,81 +0,0 @@
1/* Machine-specific pthread type layouts. PowerPC version.
2 Copyright (C) 2003-2019 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/wordsize.h>
23
24#if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_MUTEX_T 40
26# define __SIZEOF_PTHREAD_ATTR_T 56
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_MUTEX_T 24
31# define __SIZEOF_PTHREAD_ATTR_T 36
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41/* Definitions for internal mutex struct. */
42#define __PTHREAD_COMPAT_PADDING_MID
43#define __PTHREAD_COMPAT_PADDING_END
44#define __PTHREAD_MUTEX_LOCK_ELISION 1
45#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (__WORDSIZE != 64)
46#define __PTHREAD_MUTEX_USE_UNION (__WORDSIZE != 64)
47
48#define __LOCK_ALIGNMENT
49#define __ONCE_ALIGNMENT
50
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 __WORDSIZE == 64
60 int __cur_writer;
61 int __shared;
62 unsigned char __rwelision;
63 unsigned char __pad1[7];
64 unsigned long int __pad2;
65 /* FLAGS must stay at this position in the structure to maintain
66 binary compatibility. */
67 unsigned int __flags;
68# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
69#else
70 unsigned char __rwelision;
71 unsigned char __pad2;
72 unsigned char __shared;
73 /* FLAGS must stay at this position in the structure to maintain
74 binary compatibility. */
75 unsigned char __flags;
76 int __cur_writer;
77# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
78#endif
79};
80
81#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. PowerPC version.1/* Define where padding goes in struct semid_ds. PowerPC 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/semaphore.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific POSIX semaphore type layouts. PowerPC version.1/* Machine-specific POSIX semaphore type layouts. PowerPC 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.
4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
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 _SEMAPHORE_H20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/setjmp.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/* Define the machine-dependent type `jmp_buf'. PowerPC version. */18/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
19#ifndef _BITS_SETJMP_H19#ifndef _BITS_SETJMP_H
lib/libc/include/powerpc-linux-gnu/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. PowerPC version.1/* Define where padding goes in struct shmid_ds. PowerPC 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigstack, sigaltstack definitions.1/* sigstack, sigaltstack definitions.
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#ifndef _BITS_SIGSTACK_H19#ifndef _BITS_SIGSTACK_H
20#define _BITS_SIGSTACK_H 120#define _BITS_SIGSTACK_H 1
lib/libc/include/powerpc-linux-gnu/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.1/* Socket constants which vary among Linux architectures. Version for POWER.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/powerpc-linux-gnu/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/include/powerpc-linux-gnu/bits/struct_mutex.h created+63
...@@ -0,0 +1,63 @@
1/* PowerPC internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__elision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/struct_rwlock.h created+61
...@@ -0,0 +1,61 @@
1/* PowerPC internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned char __rwelision;
35 unsigned char __pad1[7];
36 unsigned long int __pad2;
37 /* FLAGS must stay at this position in the structure to maintain
38 binary compatibility. */
39 unsigned int __flags;
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
41#else
42 unsigned char __rwelision;
43 unsigned char __pad2;
44 unsigned char __shared;
45 /* FLAGS must stay at this position in the structure to maintain
46 binary compatibility. */
47 unsigned char __flags;
48 int __cur_writer;
49# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
50#endif
51};
52
53#if __WORDSIZE == 64
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/termios-baud.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud rate selection definitions. Linux/powerpc version.1/* termios baud rate selection definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/powerpc version.1/* termios c_cc symbolic constant definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/termios-c_cflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios control mode definitions. Linux/powerpc version.1/* termios control mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/termios-c_iflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios input mode definitions. Linux/powerpc version.1/* termios input mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/powerpc version.1/* termios local mode definitions. Linux/powerpc version.
2 Copyright (C) 2019i 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/termios-c_oflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios output mode definitions. Linux/powerpc version.1/* termios output mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc-linux-gnu/bits/termios-misc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud platform specific definitions. Linux/powerpc version.1/* termios baud platform specific definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
lib/libc/include/powerpc-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word definitions. PowerPC version.1/* FPU control word definitions. PowerPC 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 _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/powerpc-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/powerpc-linux-gnu/sys/ptrace.h+12-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/PowerPC version.1/* `ptrace' debugger support interface. Linux/PowerPC version.
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 _SYS_PTRACE_H19#ifndef _SYS_PTRACE_H
20#define _SYS_PTRACE_H 120#define _SYS_PTRACE_H 1
...@@ -38,6 +38,7 @@ __BEGIN_DECLS...@@ -38,6 +38,7 @@ __BEGIN_DECLS
38# undef PTRACE_GETREGSET38# undef PTRACE_GETREGSET
39# undef PTRACE_GETSIGINFO39# undef PTRACE_GETSIGINFO
40# undef PTRACE_GETSIGMASK40# undef PTRACE_GETSIGMASK
41# undef PTRACE_GET_SYSCALL_INFO
41# undef PTRACE_GETVRREGS42# undef PTRACE_GETVRREGS
42# undef PTRACE_GETVSRREGS43# undef PTRACE_GETVSRREGS
43# undef PTRACE_INTERRUPT44# undef PTRACE_INTERRUPT
...@@ -65,6 +66,10 @@ __BEGIN_DECLS...@@ -65,6 +66,10 @@ __BEGIN_DECLS
65# undef PTRACE_SINGLEBLOCK66# undef PTRACE_SINGLEBLOCK
66# undef PTRACE_SINGLESTEP67# undef PTRACE_SINGLESTEP
67# undef PTRACE_SYSCALL68# undef PTRACE_SYSCALL
69# undef PTRACE_SYSCALL_INFO_NONE
70# undef PTRACE_SYSCALL_INFO_ENTRY
71# undef PTRACE_SYSCALL_INFO_EXIT
72# undef PTRACE_SYSCALL_INFO_SECCOMP
68# undef PTRACE_TRACEME73# undef PTRACE_TRACEME
69#endif74#endif
7075
...@@ -241,8 +246,12 @@ enum __ptrace_request...@@ -241,8 +246,12 @@ enum __ptrace_request
241#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER246#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
242247
243 /* Get seccomp BPF filter metadata. */248 /* Get seccomp BPF filter metadata. */
244 PTRACE_SECCOMP_GET_METADATA = 0x420d249 PTRACE_SECCOMP_GET_METADATA = 0x420d,
245#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA250#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
251
252 /* Get information about system call. */
253 PTRACE_GET_SYSCALL_INFO = 0x420e
254#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
246};255};
247256
248257
lib/libc/include/powerpc-linux-gnu/sys/ucontext.h+6-6
...@@ -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_UCONTEXT_H18#ifndef _SYS_UCONTEXT_H
19#define _SYS_UCONTEXT_H 119#define _SYS_UCONTEXT_H 1
...@@ -75,12 +75,12 @@ typedef struct...@@ -75,12 +75,12 @@ typedef struct
75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches
76 * the mcontext upto but not including the v_regs field. For kernels that76 * the mcontext upto but not including the v_regs field. For kernels that
77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
78 * v_regs field may not exist and should not be referenced. The v_regd field78 * v_regs field may not exist and should not be referenced. The v_regs field
79 * can be refernced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC79 * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
80 * is set in AT_HWCAP. */80 * is set in AT_HWCAP. */
8181
82/* Number of general registers. */82/* Number of general registers. */
83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
86 split vectors */86 split vectors */
...@@ -136,7 +136,7 @@ typedef struct {...@@ -136,7 +136,7 @@ typedef struct {
136 * either NULL (if this processor does not support the VMX feature) or the136 * either NULL (if this processor does not support the VMX feature) or the
137 * address of the first quadword within the allocated (vmx_reserve) area.137 * address of the first quadword within the allocated (vmx_reserve) area.
138 *138 *
139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentually139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
140 * an array of 34 quadword entries. The entries with140 * an array of 34 quadword entries. The entries with
141 * indexes 0-31 contain the corresponding vector registers. The entry with141 * indexes 0-31 contain the corresponding vector registers. The entry with
142 * index 32 contains the vscr as the last word (offset 12) within the142 * index 32 contains the vscr as the last word (offset 12) within the
lib/libc/include/powerpc-linux-gnu/sys/user.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_USER_H18#ifndef _SYS_USER_H
1919
lib/libc/include/powerpc64-linux-gnu/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
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux/PowerPC.1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -170,7 +170,7 @@ extern const fenv_t __fe_nonieee_env;...@@ -170,7 +170,7 @@ extern const fenv_t __fe_nonieee_env;
170170
171#endif171#endif
172172
173#if __GLIBC_USE (IEC_60559_BFP_EXT)173#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
174/* Type representing floating-point control modes. */174/* Type representing floating-point control modes. */
175typedef double femode_t;175typedef double femode_t;
176176
lib/libc/include/powerpc64-linux-gnu/bits/fenvinline.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Inline floating-point environment handling functions for powerpc.1/* Inline floating-point environment handling functions for powerpc.
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#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
2020
lib/libc/include/powerpc64-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on powerpc.1/* Macros to control TS 18661-3 glibc features on powerpc.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define FP_FAST_* macros. PowerPC version.1/* Define FP_FAST_* macros. PowerPC version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP and AT_HWCAP2.1/* Defines for bits in AT_HWCAP and AT_HWCAP2.
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#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)19#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.1/* Structure types for pre-termios terminal ioctls. Linux/powerpc 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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h created+36
...@@ -0,0 +1,36 @@
1/* struct ipc_perm definition. Linux/powerpc version.
2 Copyright (C) 1995-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 __uint32_t __seq; /* Sequence number. */
33 __uint32_t __pad1;
34 __uint64_t __glibc_reserved1;
35 __uint64_t __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 __uid_t uid; /* Owner's user ID. */
46 __gid_t gid; /* Owner's group ID. */
47 __uid_t cuid; /* Creator's user ID. */
48 __gid_t cgid; /* Creator's group ID. */
49 __mode_t mode; /* Read/write permission. */
50 __uint32_t __seq; /* Sequence number. */
51 __uint32_t __pad1;
52 __uint64_t __glibc_reserved1;
53 __uint64_t __glibc_reserved2;
54 };
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define iscanonical macro. ldbl-128ibm version.1/* Define iscanonical macro. ldbl-128ibm version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/link.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific declarations for dynamic linker interface. PowerPC version1/* Machine-specific declarations for dynamic linker interface. PowerPC version
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#ifndef _LINK_H19#ifndef _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."20# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. Linux/PPC version.1/* Minimum guaranteed maximum values for system limits. Linux/PPC version.
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.
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/* The kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/powerpc64-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-opt version.1/* Properties of long double type. ldbl-opt version.
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,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 __NO_LONG_DOUBLE_MATH19#ifndef __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 120# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23# endif23# endif
24#endif
\ No newline at end of file
24#endif
25#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/mman.h+4-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/PowerPC version.1/* Definitions for POSIX memory map interface. Linux/PowerPC version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
...@@ -36,6 +36,8 @@...@@ -36,6 +36,8 @@
36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
37# define MAP_STACK 0x20000 /* Allocation is for a stack. */37# define MAP_STACK 0x20000 /* Allocation is for a stack. */
38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
39# define MAP_SYNC 0x80000 /* Perform synchronous page
40 faults for the mapping. */
39# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap41# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
40 underlying mapping. */42 underlying mapping. */
41#endif43#endif
lib/libc/include/powerpc64-linux-gnu/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. PowerPC version.1/* Define where padding goes in struct msqid_ds. PowerPC 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. PowerPC version.1/* Types for registers for sys/procfs.h. PowerPC 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/pthreadtypes-arch.h deleted-81
...@@ -1,81 +0,0 @@
1/* Machine-specific pthread type layouts. PowerPC version.
2 Copyright (C) 2003-2019 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/wordsize.h>
23
24#if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_MUTEX_T 40
26# define __SIZEOF_PTHREAD_ATTR_T 56
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_MUTEX_T 24
31# define __SIZEOF_PTHREAD_ATTR_T 36
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41/* Definitions for internal mutex struct. */
42#define __PTHREAD_COMPAT_PADDING_MID
43#define __PTHREAD_COMPAT_PADDING_END
44#define __PTHREAD_MUTEX_LOCK_ELISION 1
45#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (__WORDSIZE != 64)
46#define __PTHREAD_MUTEX_USE_UNION (__WORDSIZE != 64)
47
48#define __LOCK_ALIGNMENT
49#define __ONCE_ALIGNMENT
50
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 __WORDSIZE == 64
60 int __cur_writer;
61 int __shared;
62 unsigned char __rwelision;
63 unsigned char __pad1[7];
64 unsigned long int __pad2;
65 /* FLAGS must stay at this position in the structure to maintain
66 binary compatibility. */
67 unsigned int __flags;
68# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
69#else
70 unsigned char __rwelision;
71 unsigned char __pad2;
72 unsigned char __shared;
73 /* FLAGS must stay at this position in the structure to maintain
74 binary compatibility. */
75 unsigned char __flags;
76 int __cur_writer;
77# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
78#endif
79};
80
81#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. PowerPC version.1/* Define where padding goes in struct semid_ds. PowerPC 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/semaphore.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific POSIX semaphore type layouts. PowerPC version.1/* Machine-specific POSIX semaphore type layouts. PowerPC 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.
4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
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 _SEMAPHORE_H20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/setjmp.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/* Define the machine-dependent type `jmp_buf'. PowerPC version. */18/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
19#ifndef _BITS_SETJMP_H19#ifndef _BITS_SETJMP_H
lib/libc/include/powerpc64-linux-gnu/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. PowerPC version.1/* Define where padding goes in struct shmid_ds. PowerPC 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigstack, sigaltstack definitions.1/* sigstack, sigaltstack definitions.
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#ifndef _BITS_SIGSTACK_H19#ifndef _BITS_SIGSTACK_H
20#define _BITS_SIGSTACK_H 120#define _BITS_SIGSTACK_H 1
lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.1/* Socket constants which vary among Linux architectures. Version for POWER.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/powerpc64-linux-gnu/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/include/powerpc64-linux-gnu/bits/struct_mutex.h created+63
...@@ -0,0 +1,63 @@
1/* PowerPC internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__elision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h created+61
...@@ -0,0 +1,61 @@
1/* PowerPC internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned char __rwelision;
35 unsigned char __pad1[7];
36 unsigned long int __pad2;
37 /* FLAGS must stay at this position in the structure to maintain
38 binary compatibility. */
39 unsigned int __flags;
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
41#else
42 unsigned char __rwelision;
43 unsigned char __pad2;
44 unsigned char __shared;
45 /* FLAGS must stay at this position in the structure to maintain
46 binary compatibility. */
47 unsigned char __flags;
48 int __cur_writer;
49# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
50#endif
51};
52
53#if __WORDSIZE == 64
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud rate selection definitions. Linux/powerpc version.1/* termios baud rate selection definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/powerpc version.1/* termios c_cc symbolic constant definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios control mode definitions. Linux/powerpc version.1/* termios control mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios input mode definitions. Linux/powerpc version.1/* termios input mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/powerpc version.1/* termios local mode definitions. Linux/powerpc version.
2 Copyright (C) 2019i 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios output mode definitions. Linux/powerpc version.1/* termios output mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud platform specific definitions. Linux/powerpc version.1/* termios baud platform specific definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word definitions. PowerPC version.1/* FPU control word definitions. PowerPC 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 _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/powerpc64-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h+12-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/PowerPC version.1/* `ptrace' debugger support interface. Linux/PowerPC version.
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 _SYS_PTRACE_H19#ifndef _SYS_PTRACE_H
20#define _SYS_PTRACE_H 120#define _SYS_PTRACE_H 1
...@@ -38,6 +38,7 @@ __BEGIN_DECLS...@@ -38,6 +38,7 @@ __BEGIN_DECLS
38# undef PTRACE_GETREGSET38# undef PTRACE_GETREGSET
39# undef PTRACE_GETSIGINFO39# undef PTRACE_GETSIGINFO
40# undef PTRACE_GETSIGMASK40# undef PTRACE_GETSIGMASK
41# undef PTRACE_GET_SYSCALL_INFO
41# undef PTRACE_GETVRREGS42# undef PTRACE_GETVRREGS
42# undef PTRACE_GETVSRREGS43# undef PTRACE_GETVSRREGS
43# undef PTRACE_INTERRUPT44# undef PTRACE_INTERRUPT
...@@ -65,6 +66,10 @@ __BEGIN_DECLS...@@ -65,6 +66,10 @@ __BEGIN_DECLS
65# undef PTRACE_SINGLEBLOCK66# undef PTRACE_SINGLEBLOCK
66# undef PTRACE_SINGLESTEP67# undef PTRACE_SINGLESTEP
67# undef PTRACE_SYSCALL68# undef PTRACE_SYSCALL
69# undef PTRACE_SYSCALL_INFO_NONE
70# undef PTRACE_SYSCALL_INFO_ENTRY
71# undef PTRACE_SYSCALL_INFO_EXIT
72# undef PTRACE_SYSCALL_INFO_SECCOMP
68# undef PTRACE_TRACEME73# undef PTRACE_TRACEME
69#endif74#endif
7075
...@@ -241,8 +246,12 @@ enum __ptrace_request...@@ -241,8 +246,12 @@ enum __ptrace_request
241#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER246#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
242247
243 /* Get seccomp BPF filter metadata. */248 /* Get seccomp BPF filter metadata. */
244 PTRACE_SECCOMP_GET_METADATA = 0x420d249 PTRACE_SECCOMP_GET_METADATA = 0x420d,
245#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA250#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
251
252 /* Get information about system call. */
253 PTRACE_GET_SYSCALL_INFO = 0x420e
254#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
246};255};
247256
248257
lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h+6-6
...@@ -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_UCONTEXT_H18#ifndef _SYS_UCONTEXT_H
19#define _SYS_UCONTEXT_H 119#define _SYS_UCONTEXT_H 1
...@@ -75,12 +75,12 @@ typedef struct...@@ -75,12 +75,12 @@ typedef struct
75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches
76 * the mcontext upto but not including the v_regs field. For kernels that76 * the mcontext upto but not including the v_regs field. For kernels that
77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
78 * v_regs field may not exist and should not be referenced. The v_regd field78 * v_regs field may not exist and should not be referenced. The v_regs field
79 * can be refernced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC79 * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
80 * is set in AT_HWCAP. */80 * is set in AT_HWCAP. */
8181
82/* Number of general registers. */82/* Number of general registers. */
83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
86 split vectors */86 split vectors */
...@@ -136,7 +136,7 @@ typedef struct {...@@ -136,7 +136,7 @@ typedef struct {
136 * either NULL (if this processor does not support the VMX feature) or the136 * either NULL (if this processor does not support the VMX feature) or the
137 * address of the first quadword within the allocated (vmx_reserve) area.137 * address of the first quadword within the allocated (vmx_reserve) area.
138 *138 *
139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentually139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
140 * an array of 34 quadword entries. The entries with140 * an array of 34 quadword entries. The entries with
141 * indexes 0-31 contain the corresponding vector registers. The entry with141 * indexes 0-31 contain the corresponding vector registers. The entry with
142 * index 32 contains the vscr as the last word (offset 12) within the142 * index 32 contains the vscr as the last word (offset 12) within the
lib/libc/include/powerpc64-linux-gnu/sys/user.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_USER_H18#ifndef _SYS_USER_H
1919
lib/libc/include/powerpc64le-linux-gnu/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
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux/PowerPC.1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -170,7 +170,7 @@ extern const fenv_t __fe_nonieee_env;...@@ -170,7 +170,7 @@ extern const fenv_t __fe_nonieee_env;
170170
171#endif171#endif
172172
173#if __GLIBC_USE (IEC_60559_BFP_EXT)173#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
174/* Type representing floating-point control modes. */174/* Type representing floating-point control modes. */
175typedef double femode_t;175typedef double femode_t;
176176
lib/libc/include/powerpc64le-linux-gnu/bits/fenvinline.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Inline floating-point environment handling functions for powerpc.1/* Inline floating-point environment handling functions for powerpc.
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#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
2020
lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on powerpc.1/* Macros to control TS 18661-3 glibc features on powerpc.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define FP_FAST_* macros. PowerPC version.1/* Define FP_FAST_* macros. PowerPC version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."20# error "Never use <bits/fp-fast.h> directly; include <math.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP and AT_HWCAP2.1/* Defines for bits in AT_HWCAP and AT_HWCAP2.
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#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)19#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structure types for pre-termios terminal ioctls. Linux/powerpc version.1/* Structure types for pre-termios terminal ioctls. Linux/powerpc 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#ifndef _SYS_IOCTL_H19#ifndef _SYS_IOCTL_H
20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."20# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h created+36
...@@ -0,0 +1,36 @@
1/* struct ipc_perm definition. Linux/powerpc version.
2 Copyright (C) 1995-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 __uint32_t __seq; /* Sequence number. */
33 __uint32_t __pad1;
34 __uint64_t __glibc_reserved1;
35 __uint64_t __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/ipc.h deleted-54
...@@ -1,54 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23
24/* Mode bits for `msgget', `semget', and `shmget'. */
25#define IPC_CREAT 01000 /* Create key if key does not exist. */
26#define IPC_EXCL 02000 /* Fail if key exists. */
27#define IPC_NOWAIT 04000 /* Return error on wait. */
28
29/* Control commands for `msgctl', `semctl', and `shmctl'. */
30#define IPC_RMID 0 /* Remove identifier. */
31#define IPC_SET 1 /* Set `ipc_perm' options. */
32#define IPC_STAT 2 /* Get `ipc_perm' options. */
33#ifdef __USE_GNU
34# define IPC_INFO 3 /* See ipcs. */
35#endif
36
37/* Special key values. */
38#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
39
40
41/* Data structure used to pass permission information to IPC operations. */
42struct ipc_perm
43 {
44 __key_t __key; /* Key. */
45 __uid_t uid; /* Owner's user ID. */
46 __gid_t gid; /* Owner's group ID. */
47 __uid_t cuid; /* Creator's user ID. */
48 __gid_t cgid; /* Creator's group ID. */
49 __mode_t mode; /* Read/write permission. */
50 __uint32_t __seq; /* Sequence number. */
51 __uint32_t __pad1;
52 __uint64_t __glibc_reserved1;
53 __uint64_t __glibc_reserved2;
54 };
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define iscanonical macro. ldbl-128ibm version.1/* Define iscanonical macro. ldbl-128ibm version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/link.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific declarations for dynamic linker interface. PowerPC version1/* Machine-specific declarations for dynamic linker interface. PowerPC version
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#ifndef _LINK_H19#ifndef _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."20# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. Linux/PPC version.1/* Minimum guaranteed maximum values for system limits. Linux/PPC version.
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.
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/* The kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-opt version.1/* Properties of long double type. ldbl-opt version.
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,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 __NO_LONG_DOUBLE_MATH19#ifndef __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 120# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23# endif23# endif
24#endif
\ No newline at end of file
24#endif
25#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/mman.h+4-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/PowerPC version.1/* Definitions for POSIX memory map interface. Linux/PowerPC version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
...@@ -36,6 +36,8 @@...@@ -36,6 +36,8 @@
36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
37# define MAP_STACK 0x20000 /* Allocation is for a stack. */37# define MAP_STACK 0x20000 /* Allocation is for a stack. */
38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
39# define MAP_SYNC 0x80000 /* Perform synchronous page
40 faults for the mapping. */
39# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap41# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
40 underlying mapping. */42 underlying mapping. */
41#endif43#endif
lib/libc/include/powerpc64le-linux-gnu/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. PowerPC version.1/* Define where padding goes in struct msqid_ds. PowerPC 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. PowerPC version.1/* Types for registers for sys/procfs.h. PowerPC 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/pthreadtypes-arch.h deleted-81
...@@ -1,81 +0,0 @@
1/* Machine-specific pthread type layouts. PowerPC version.
2 Copyright (C) 2003-2019 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/wordsize.h>
23
24#if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_MUTEX_T 40
26# define __SIZEOF_PTHREAD_ATTR_T 56
27# define __SIZEOF_PTHREAD_RWLOCK_T 56
28# define __SIZEOF_PTHREAD_BARRIER_T 32
29#else
30# define __SIZEOF_PTHREAD_MUTEX_T 24
31# define __SIZEOF_PTHREAD_ATTR_T 36
32# define __SIZEOF_PTHREAD_RWLOCK_T 32
33# define __SIZEOF_PTHREAD_BARRIER_T 20
34#endif
35#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_CONDATTR_T 4
38#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
39#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
40
41/* Definitions for internal mutex struct. */
42#define __PTHREAD_COMPAT_PADDING_MID
43#define __PTHREAD_COMPAT_PADDING_END
44#define __PTHREAD_MUTEX_LOCK_ELISION 1
45#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (__WORDSIZE != 64)
46#define __PTHREAD_MUTEX_USE_UNION (__WORDSIZE != 64)
47
48#define __LOCK_ALIGNMENT
49#define __ONCE_ALIGNMENT
50
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 __WORDSIZE == 64
60 int __cur_writer;
61 int __shared;
62 unsigned char __rwelision;
63 unsigned char __pad1[7];
64 unsigned long int __pad2;
65 /* FLAGS must stay at this position in the structure to maintain
66 binary compatibility. */
67 unsigned int __flags;
68# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
69#else
70 unsigned char __rwelision;
71 unsigned char __pad2;
72 unsigned char __shared;
73 /* FLAGS must stay at this position in the structure to maintain
74 binary compatibility. */
75 unsigned char __flags;
76 int __cur_writer;
77# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
78#endif
79};
80
81#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. PowerPC version.1/* Define where padding goes in struct semid_ds. PowerPC 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/semaphore.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific POSIX semaphore type layouts. PowerPC version.1/* Machine-specific POSIX semaphore type layouts. PowerPC 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.
4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.4 Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
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 _SEMAPHORE_H20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.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/* Define the machine-dependent type `jmp_buf'. PowerPC version. */18/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
19#ifndef _BITS_SETJMP_H19#ifndef _BITS_SETJMP_H
lib/libc/include/powerpc64le-linux-gnu/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. PowerPC version.1/* Define where padding goes in struct shmid_ds. PowerPC 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigstack, sigaltstack definitions.1/* sigstack, sigaltstack definitions.
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#ifndef _BITS_SIGSTACK_H19#ifndef _BITS_SIGSTACK_H
20#define _BITS_SIGSTACK_H 120#define _BITS_SIGSTACK_H 1
lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.1/* Socket constants which vary among Linux architectures. Version for POWER.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/powerpc64le-linux-gnu/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/include/powerpc64le-linux-gnu/bits/struct_mutex.h created+63
...@@ -0,0 +1,63 @@
1/* PowerPC internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__elision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h created+61
...@@ -0,0 +1,61 @@
1/* PowerPC internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned char __rwelision;
35 unsigned char __pad1[7];
36 unsigned long int __pad2;
37 /* FLAGS must stay at this position in the structure to maintain
38 binary compatibility. */
39 unsigned int __flags;
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
41#else
42 unsigned char __rwelision;
43 unsigned char __pad2;
44 unsigned char __shared;
45 /* FLAGS must stay at this position in the structure to maintain
46 binary compatibility. */
47 unsigned char __flags;
48 int __cur_writer;
49# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
50#endif
51};
52
53#if __WORDSIZE == 64
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
56#else
57# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
58 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0
59#endif
60
61#endif
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud rate selection definitions. Linux/powerpc version.1/* termios baud rate selection definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/powerpc version.1/* termios c_cc symbolic constant definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios control mode definitions. Linux/powerpc version.1/* termios control mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios input mode definitions. Linux/powerpc version.1/* termios input mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_iflags.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios local mode definitions. Linux/powerpc version.1/* termios local mode definitions. Linux/powerpc version.
2 Copyright (C) 2019i 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_lflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios output mode definitions. Linux/powerpc version.1/* termios output mode definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud platform specific definitions. Linux/powerpc version.1/* termios baud platform specific definitions. Linux/powerpc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-misc.h> directly; use <termios.h> instead."
lib/libc/include/powerpc64le-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word definitions. PowerPC version.1/* FPU control word definitions. PowerPC 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 _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/powerpc64le-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h+12-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/PowerPC version.1/* `ptrace' debugger support interface. Linux/PowerPC version.
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 _SYS_PTRACE_H19#ifndef _SYS_PTRACE_H
20#define _SYS_PTRACE_H 120#define _SYS_PTRACE_H 1
...@@ -38,6 +38,7 @@ __BEGIN_DECLS...@@ -38,6 +38,7 @@ __BEGIN_DECLS
38# undef PTRACE_GETREGSET38# undef PTRACE_GETREGSET
39# undef PTRACE_GETSIGINFO39# undef PTRACE_GETSIGINFO
40# undef PTRACE_GETSIGMASK40# undef PTRACE_GETSIGMASK
41# undef PTRACE_GET_SYSCALL_INFO
41# undef PTRACE_GETVRREGS42# undef PTRACE_GETVRREGS
42# undef PTRACE_GETVSRREGS43# undef PTRACE_GETVSRREGS
43# undef PTRACE_INTERRUPT44# undef PTRACE_INTERRUPT
...@@ -65,6 +66,10 @@ __BEGIN_DECLS...@@ -65,6 +66,10 @@ __BEGIN_DECLS
65# undef PTRACE_SINGLEBLOCK66# undef PTRACE_SINGLEBLOCK
66# undef PTRACE_SINGLESTEP67# undef PTRACE_SINGLESTEP
67# undef PTRACE_SYSCALL68# undef PTRACE_SYSCALL
69# undef PTRACE_SYSCALL_INFO_NONE
70# undef PTRACE_SYSCALL_INFO_ENTRY
71# undef PTRACE_SYSCALL_INFO_EXIT
72# undef PTRACE_SYSCALL_INFO_SECCOMP
68# undef PTRACE_TRACEME73# undef PTRACE_TRACEME
69#endif74#endif
7075
...@@ -241,8 +246,12 @@ enum __ptrace_request...@@ -241,8 +246,12 @@ enum __ptrace_request
241#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER246#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
242247
243 /* Get seccomp BPF filter metadata. */248 /* Get seccomp BPF filter metadata. */
244 PTRACE_SECCOMP_GET_METADATA = 0x420d249 PTRACE_SECCOMP_GET_METADATA = 0x420d,
245#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA250#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
251
252 /* Get information about system call. */
253 PTRACE_GET_SYSCALL_INFO = 0x420e
254#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
246};255};
247256
248257
lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h+6-6
...@@ -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_UCONTEXT_H18#ifndef _SYS_UCONTEXT_H
19#define _SYS_UCONTEXT_H 119#define _SYS_UCONTEXT_H 1
...@@ -75,12 +75,12 @@ typedef struct...@@ -75,12 +75,12 @@ typedef struct
75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches75 * a sigcontext. For older kernel (without Altivec) the sigcontext matches
76 * the mcontext upto but not including the v_regs field. For kernels that76 * the mcontext upto but not including the v_regs field. For kernels that
77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the77 * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the
78 * v_regs field may not exist and should not be referenced. The v_regd field78 * v_regs field may not exist and should not be referenced. The v_regs field
79 * can be refernced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC79 * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC
80 * is set in AT_HWCAP. */80 * is set in AT_HWCAP. */
8181
82/* Number of general registers. */82/* Number of general registers. */
83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */83# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */
84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */84# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */
85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in85# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in
86 split vectors */86 split vectors */
...@@ -136,7 +136,7 @@ typedef struct {...@@ -136,7 +136,7 @@ typedef struct {
136 * either NULL (if this processor does not support the VMX feature) or the136 * either NULL (if this processor does not support the VMX feature) or the
137 * address of the first quadword within the allocated (vmx_reserve) area.137 * address of the first quadword within the allocated (vmx_reserve) area.
138 *138 *
139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentually139 * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially
140 * an array of 34 quadword entries. The entries with140 * an array of 34 quadword entries. The entries with
141 * indexes 0-31 contain the corresponding vector registers. The entry with141 * indexes 0-31 contain the corresponding vector registers. The entry with
142 * index 32 contains the vscr as the last word (offset 12) within the142 * index 32 contains the vscr as the last word (offset 12) within the
lib/libc/include/powerpc64le-linux-gnu/sys/user.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_USER_H18#ifndef _SYS_USER_H
1919
lib/libc/include/riscv64-linux-gnu/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
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux / RISC-V.1/* O_*, F_*, FD_* bit values for Linux / RISC-V.
2 Copyright (C) 2011-2019 Free Software Foundation, Inc.2 Copyright (C) 2011-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
...@@ -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 _FCNTL_H20#ifndef _FCNTL_H
21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."21# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/riscv64-linux-gnu/bits/fenv.h+3-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Floating point environment, RISC-V version.1/* Floating point environment, RISC-V 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
...@@ -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 _FENV_H19#ifndef _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -65,7 +65,7 @@ typedef unsigned int fenv_t;...@@ -65,7 +65,7 @@ typedef unsigned int fenv_t;
65/* If the default argument is used we use this value. */65/* If the default argument is used we use this value. */
66#define FE_DFL_ENV ((__const fenv_t *) -1)66#define FE_DFL_ENV ((__const fenv_t *) -1)
6767
68#if __GLIBC_USE (IEC_60559_BFP_EXT)68#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
69/* Type representing floating-point control modes. */69/* Type representing floating-point control modes. */
70typedef unsigned int femode_t;70typedef unsigned int femode_t;
7171
lib/libc/include/riscv64-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/riscv64-linux-gnu/bits/link.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific declarations for dynamic linker interface. RISC-V version.1/* Machine-specific declarations for dynamic linker interface. RISC-V 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#ifndef _LINK_H19#ifndef _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."20# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/riscv64-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-128 version.1/* Properties of long double type. ldbl-128 version.
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,8 @@...@@ -14,7 +14,8 @@
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/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */
\ No newline at end of file
20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. RISC-V version.1/* Types for registers for sys/procfs.h. RISC-V 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/riscv64-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/bits/semaphore.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific POSIX semaphore type layouts. RISC-V version.1/* Machine-specific POSIX semaphore type layouts. RISC-V 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 _SEMAPHORE_H19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/riscv64-linux-gnu/bits/setjmp.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define the machine-dependent type `jmp_buf'. RISC-V version.1/* Define the machine-dependent type `jmp_buf'. 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,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 _RISCV_BITS_SETJMP_H19#ifndef _RISCV_BITS_SETJMP_H
20#define _RISCV_BITS_SETJMP_H20#define _RISCV_BITS_SETJMP_H
lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-dependent signal context structure for Linux. RISC-V version.1/* Machine-dependent signal context structure for Linux. RISC-V version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc. This file is part of the GNU C Library.2 Copyright (C) 1996-2020 Free Software Foundation, Inc. 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
5 modify it under the terms of the GNU Lesser General Public5 modify it under the terms of the GNU Lesser General Public
...@@ -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_SIGCONTEXT_H18#ifndef _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 119#define _BITS_SIGCONTEXT_H 1
lib/libc/include/riscv64-linux-gnu/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/include/riscv64-linux-gnu/bits/statfs.h+4-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,13 +14,13 @@...@@ -14,13 +14,13 @@
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_STATFS_H19#ifndef _SYS_STATFS_H
20# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."20# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
21#endif21#endif
2222
23#include <endian.h>23#include <bits/endian.h>
24#include <bits/types.h>24#include <bits/types.h>
25#include <bits/wordsize.h>25#include <bits/wordsize.h>
2626
...@@ -34,7 +34,7 @@...@@ -34,7 +34,7 @@
3434
35#if defined __USE_FILE_OFFSET6435#if defined __USE_FILE_OFFSET64
36# define __field64(type, type64, name) type64 name36# define __field64(type, type64, name) type64 name
37#elif __WORDSIZE == 6437#elif __WORDSIZE == 64 || __STATFS_MATCHES_STATFS64
38# define __field64(type, type64, name) type name38# define __field64(type, type64, name) type name
39#elif __BYTE_ORDER == __LITTLE_ENDIAN39#elif __BYTE_ORDER == __LITTLE_ENDIAN
40# define __field64(type, type64, name) \40# define __field64(type, type64, name) \
lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h created+45
...@@ -0,0 +1,45 @@
1/* RISC-V internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23/* There is a lot of padding in this structure. While it's not strictly
24 necessary on RISC-V, we're going to leave it in to be on the safe side in
25 case it's needed in the future. Most other architectures have the padding,
26 so this gives us the same extensibility as everyone else has. */
27struct __pthread_rwlock_arch_t
28{
29 unsigned int __readers;
30 unsigned int __writers;
31 unsigned int __wrphase_futex;
32 unsigned int __writers_futex;
33 unsigned int __pad3;
34 unsigned int __pad4;
35 int __cur_writer;
36 int __shared;
37 unsigned long int __pad1;
38 unsigned long int __pad2;
39 unsigned int __flags;
40};
41
42#define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
43 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
44
45#endif
\ No newline at end of file
lib/libc/include/riscv64-linux-gnu/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/include/riscv64-linux-gnu/bits/wordsize.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Determine the wordsize from the preprocessor defines. RISC-V version.1/* Determine the wordsize from the preprocessor defines. RISC-V 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#if __riscv_xlen == (__SIZEOF_POINTER__ * 8)19#if __riscv_xlen == (__SIZEOF_POINTER__ * 8)
20# define __WORDSIZE __riscv_xlen20# define __WORDSIZE __riscv_xlen
lib/libc/include/riscv64-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word bits. RISC-V version.1/* FPU control word bits. RISC-V 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 _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
lib/libc/include/riscv64-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/riscv64-linux-gnu/sys/asm.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Miscellaneous macros.1/* Miscellaneous macros.
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#ifndef _SYS_ASM_H19#ifndef _SYS_ASM_H
20#define _SYS_ASM_H20#define _SYS_ASM_H
lib/libc/include/riscv64-linux-gnu/sys/cachectl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* RISC-V instruction cache flushing interface1/* RISC-V instruction cache flushing interface
2 Copyright (C) 2017-2019 Free Software Foundation, Inc.2 Copyright (C) 2017-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
...@@ -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 _SYS_CACHECTL_H20#ifndef _SYS_CACHECTL_H
21#define _SYS_CACHECTL_H 121#define _SYS_CACHECTL_H 1
lib/libc/include/riscv64-linux-gnu/sys/ucontext.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct ucontext definition, RISC-V version.1/* struct ucontext definition, RISC-V version.
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/* Don't rely on this, the interface is currently messed up and may need to19/* Don't rely on this, the interface is currently messed up and may need to
20 be broken to be fixed. */20 be broken to be fixed. */
lib/libc/include/riscv64-linux-gnu/sys/user.h+2-2
...@@ -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,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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/s390x-linux-gnu/bits/elfclass.h+2-2
...@@ -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 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,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 specifies the native word size of the machine, which indicates19/* This file specifies the native word size of the machine, which indicates
20 the ELF file class used for executables and shared objects on this20 the ELF file class used for executables and shared objects on this
lib/libc/include/s390x-linux-gnu/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
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/s390x-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux.1/* O_*, F_*, FD_* bit values for Linux.
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#ifndef _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/s390x-linux-gnu/bits/fenv.h+3-3
...@@ -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 Denis Joseph Barrow <djbarrow@de.ibm.com>.3 Contributed by Denis Joseph Barrow <djbarrow@de.ibm.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#ifndef _FENV_H19#ifndef _FENV_H
20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."20# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -91,7 +91,7 @@ typedef struct...@@ -91,7 +91,7 @@ typedef struct
91# define FE_NOMASK_ENV ((const fenv_t *) -2)91# define FE_NOMASK_ENV ((const fenv_t *) -2)
92#endif92#endif
9393
94#if __GLIBC_USE (IEC_60559_BFP_EXT)94#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
95/* Type representing floating-point control modes. */95/* Type representing floating-point control modes. */
96typedef unsigned int femode_t;96typedef unsigned int femode_t;
9797
lib/libc/include/s390x-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/s390x-linux-gnu/bits/flt-eval-method.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __GLIBC_FLT_EVAL_METHOD. S/390 version.1/* Define __GLIBC_FLT_EVAL_METHOD. S/390 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
lib/libc/include/s390x-linux-gnu/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP.1/* Defines for bits in AT_HWCAP.
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 _SYS_AUXV_H19#ifndef _SYS_AUXV_H
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/s390x-linux-gnu/bits/ipc.h deleted-60
...@@ -1,60 +0,0 @@
1/* Copyright (C) 2001-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23#include <bits/wordsize.h>
24
25/* Mode bits for `msgget', `semget', and `shmget'. */
26#define IPC_CREAT 01000 /* Create key if key does not exist. */
27#define IPC_EXCL 02000 /* Fail if key exists. */
28#define IPC_NOWAIT 04000 /* Return error on wait. */
29
30/* Control commands for `msgctl', `semctl', and `shmctl'. */
31#define IPC_RMID 0 /* Remove identifier. */
32#define IPC_SET 1 /* Set `ipc_perm' options. */
33#define IPC_STAT 2 /* Get `ipc_perm' options. */
34#ifdef __USE_GNU
35#define IPC_INFO 3 /* See ipcs. */
36#endif
37
38/* Special key values. */
39#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
40
41
42/* Data structure used to pass permission information to IPC operations. */
43struct ipc_perm
44 {
45 __key_t __key; /* Key. */
46 __uid_t uid; /* Owner's user ID. */
47 __gid_t gid; /* Owner's group ID. */
48 __uid_t cuid; /* Creator's user ID. */
49 __gid_t cgid; /* Creator's group ID. */
50#if __WORDSIZE == 64
51 __mode_t mode; /* Read/write permission. */
52#else
53 unsigned short int mode; /* Read/write permission. */
54 unsigned short int __pad1;
55#endif
56 unsigned short int __seq; /* Sequence number. */
57 unsigned short int __pad2;
58 unsigned long int __glibc_reserved1;
59 unsigned long int __glibc_reserved2;
60 };
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/link.h+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
...@@ -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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/s390x-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-opt version.1/* Properties of long double type. ldbl-opt version.
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,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 __NO_LONG_DOUBLE_MATH19#ifndef __NO_LONG_DOUBLE_MATH
20# define __LONG_DOUBLE_MATH_OPTIONAL 120# define __LONG_DOUBLE_MATH_OPTIONAL 1
21# ifndef __LONG_DOUBLE_128__21# ifndef __LONG_DOUBLE_128__
22# define __NO_LONG_DOUBLE_MATH 122# define __NO_LONG_DOUBLE_MATH 1
23# endif23# endif
24#endif
\ No newline at end of file
24#endif
25#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Extra sys/procfs.h definitions. S/390 version.1/* Extra sys/procfs.h definitions. S/390 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#ifndef _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
lib/libc/include/s390x-linux-gnu/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. S/390 version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. S/390 version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/s390x-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. S/390 version.1/* Types for registers for sys/procfs.h. S/390 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#ifndef _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/s390x-linux-gnu/bits/pthreadtypes-arch.h deleted-79
...@@ -1,79 +0,0 @@
1/* Copyright (C) 2003-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#ifndef _BITS_PTHREADTYPES_ARCH_H
19#define _BITS_PTHREADTYPES_ARCH_H 1
20
21#include <bits/wordsize.h>
22
23#if __WORDSIZE == 64
24# define __SIZEOF_PTHREAD_ATTR_T 56
25# define __SIZEOF_PTHREAD_MUTEX_T 40
26# define __SIZEOF_PTHREAD_RWLOCK_T 56
27# define __SIZEOF_PTHREAD_BARRIER_T 32
28#else
29# define __SIZEOF_PTHREAD_ATTR_T 36
30# define __SIZEOF_PTHREAD_MUTEX_T 24
31# define __SIZEOF_PTHREAD_RWLOCK_T 32
32# define __SIZEOF_PTHREAD_BARRIER_T 20
33#endif
34#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
35#define __SIZEOF_PTHREAD_CONDATTR_T 4
36#define __SIZEOF_PTHREAD_COND_T 48
37#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
38#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
39
40/* Definitions for internal mutex struct. */
41#define __PTHREAD_COMPAT_PADDING_MID
42#define __PTHREAD_COMPAT_PADDING_END
43#define __PTHREAD_MUTEX_LOCK_ELISION 1
44#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (__WORDSIZE != 64)
45#define __PTHREAD_MUTEX_USE_UNION (__WORDSIZE != 64)
46
47#define __LOCK_ALIGNMENT
48#define __ONCE_ALIGNMENT
49
50struct __pthread_rwlock_arch_t
51{
52 unsigned int __readers;
53 unsigned int __writers;
54 unsigned int __wrphase_futex;
55 unsigned int __writers_futex;
56 unsigned int __pad3;
57 unsigned int __pad4;
58#if __WORDSIZE == 64
59 int __cur_writer;
60 int __shared;
61 unsigned long int __pad1;
62 unsigned long int __pad2;
63 /* FLAGS must stay at this position in the structure to maintain
64 binary compatibility. */
65 unsigned int __flags;
66# else
67 unsigned char __pad1;
68 unsigned char __pad2;
69 unsigned char __shared;
70 /* FLAGS must stay at this position in the structure to maintain
71 binary compatibility. */
72 unsigned char __flags;
73 int __cur_writer;
74#endif
75};
76
77#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
78
79#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/semaphore.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2003-2019 Free Software Foundation, Inc.1/* Copyright (C) 2003-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 Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.3 Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
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 _SEMAPHORE_H19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/s390x-linux-gnu/bits/setjmp.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/* Define the machine-dependent type `jmp_buf'. IBM s390 version. */18/* Define the machine-dependent type `jmp_buf'. IBM s390 version. */
1919
lib/libc/include/s390x-linux-gnu/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for 31 & 64 bit S/390 sigaction.1/* Definitions for 31 & 64 bit S/390 sigaction.
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 _BITS_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/s390x-linux-gnu/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/include/s390x-linux-gnu/bits/statfs.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_STATFS_H18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h created+63
...@@ -0,0 +1,63 @@
1/* S390 internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#if __WORDSIZE == 64
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#if __WORDSIZE == 64
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __elision;
46 } _d;
47# define __spins _d.__espins
48# define __elision _d.__elision
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#if __WORDSIZE == 64
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h created+58
...@@ -0,0 +1,58 @@
1/* S390 internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned long int __pad1;
35 unsigned long int __pad2;
36 /* FLAGS must stay at this position in the structure to maintain
37 binary compatibility. */
38 unsigned int __flags;
39# else
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46 int __cur_writer;
47#endif
48};
49
50#if __WORDSIZE == 64
51# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
52 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
53#else
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#endif
57
58#endif
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/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/include/s390x-linux-gnu/bits/utmp.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The `struct utmp' type, describing entries in the utmp file. GNU version.1/* The `struct utmp' type, describing entries in the utmp file. GNU version.
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.
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 _UTMP_H19#ifndef _UTMP_H
20# error "Never include <bits/utmp.h> directly; use <utmp.h> instead."20# error "Never include <bits/utmp.h> directly; use <utmp.h> instead."
...@@ -61,7 +61,8 @@ struct utmp...@@ -61,7 +61,8 @@ struct utmp
61 pid_t ut_pid; /* Process ID of login process. */61 pid_t ut_pid; /* Process ID of login process. */
62 char ut_line[UT_LINESIZE]62 char ut_line[UT_LINESIZE]
63 __attribute_nonstring__; /* Devicename. */63 __attribute_nonstring__; /* Devicename. */
64 char ut_id[4]; /* Inittab ID. */64 char ut_id[4]
65 __attribute_nonstring__; /* Inittab ID. */
65 char ut_user[UT_NAMESIZE]66 char ut_user[UT_NAMESIZE]
66 __attribute_nonstring__; /* Username. */67 __attribute_nonstring__; /* Username. */
67 char ut_host[UT_HOSTSIZE]68 char ut_host[UT_HOSTSIZE]
lib/libc/include/s390x-linux-gnu/bits/utmpx.h+10-6
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Structures and definitions for the user accounting database. GNU version.1/* Structures and definitions for the user accounting database. GNU version.
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#ifndef _UTMPX_H19#ifndef _UTMPX_H
20# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."20# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead."
...@@ -56,10 +56,14 @@ struct utmpx...@@ -56,10 +56,14 @@ struct utmpx
56{56{
57 short int ut_type; /* Type of login. */57 short int ut_type; /* Type of login. */
58 __pid_t ut_pid; /* Process ID of login process. */58 __pid_t ut_pid; /* Process ID of login process. */
59 char ut_line[__UT_LINESIZE]; /* Devicename. */59 char ut_line[__UT_LINESIZE]
60 char ut_id[4]; /* Inittab ID. */60 __attribute_nonstring__; /* Devicename. */
61 char ut_user[__UT_NAMESIZE]; /* Username. */61 char ut_id[4]
62 char ut_host[__UT_HOSTSIZE]; /* Hostname for remote login. */62 __attribute_nonstring__; /* Inittab ID. */
63 char ut_user[__UT_NAMESIZE]
64 __attribute_nonstring__; /* Username. */
65 char ut_host[__UT_HOSTSIZE]
66 __attribute_nonstring__; /* Hostname for remote login. */
63 struct __exit_status ut_exit; /* Exit status of a process marked67 struct __exit_status ut_exit; /* Exit status of a process marked
64 as DEAD_PROCESS. */68 as DEAD_PROCESS. */
6569
lib/libc/include/s390x-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word definitions. Stub version.1/* FPU control word definitions. Stub version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
3 Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com) and3 Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com) and
4 Martin Schwidefsky (schwidefsky@de.ibm.com).4 Martin Schwidefsky (schwidefsky@de.ibm.com).
5 This file is part of the GNU C Library.5 This file is part of the GNU C Library.
...@@ -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 _FPU_CONTROL_H21#ifndef _FPU_CONTROL_H
22#define _FPU_CONTROL_H22#define _FPU_CONTROL_H
lib/libc/include/s390x-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/s390x-linux-gnu/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/include/s390x-linux-gnu/sys/ptrace.h+11-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/S390 version.1/* `ptrace' debugger support interface. Linux/S390 version.
2 Copyright (C) 2000-2019 Free Software Foundation, Inc.2 Copyright (C) 2000-2020 Free Software Foundation, Inc.
3 Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).3 Contributed by Denis Joseph Barrow (djbarrow@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#ifndef _SYS_PTRACE_H20#ifndef _SYS_PTRACE_H
21#define _SYS_PTRACE_H 121#define _SYS_PTRACE_H 1
...@@ -79,6 +79,11 @@ __BEGIN_DECLS...@@ -79,6 +79,11 @@ __BEGIN_DECLS
79# undef PTRACE_EVENT_SECCOMP79# undef PTRACE_EVENT_SECCOMP
80# undef PTRACE_EVENT_STOP80# undef PTRACE_EVENT_STOP
81# undef PTRACE_PEEKSIGINFO_SHARED81# undef PTRACE_PEEKSIGINFO_SHARED
82# undef PTRACE_GET_SYSCALL_INFO
83# undef PTRACE_SYSCALL_INFO_NONE
84# undef PTRACE_SYSCALL_INFO_ENTRY
85# undef PTRACE_SYSCALL_INFO_EXIT
86# undef PTRACE_SYSCALL_INFO_SECCOMP
82#endif87#endif
83/* Type of the REQUEST argument to `ptrace.' */88/* Type of the REQUEST argument to `ptrace.' */
84enum __ptrace_request89enum __ptrace_request
...@@ -198,6 +203,10 @@ enum __ptrace_request...@@ -198,6 +203,10 @@ enum __ptrace_request
198 PTRACE_SECCOMP_GET_METADATA = 0x420d,203 PTRACE_SECCOMP_GET_METADATA = 0x420d,
199#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA204#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
200205
206 /* Get information about system call. */
207 PTRACE_GET_SYSCALL_INFO = 0x420e,
208#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
209
201 PTRACE_PEEKUSR_AREA = 0x5000,210 PTRACE_PEEKUSR_AREA = 0x5000,
202#define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA211#define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA
203212
lib/libc/include/s390x-linux-gnu/sys/ucontext.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 Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).2 Contributed by Denis Joseph Barrow (djbarrow@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,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_UCONTEXT_H19#ifndef _SYS_UCONTEXT_H
20#define _SYS_UCONTEXT_H 120#define _SYS_UCONTEXT_H 1
lib/libc/include/s390x-linux-gnu/sys/user.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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/sparc-linux-gnu/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
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/sparc-linux-gnu/bits/epoll.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.
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_EPOLL_H18#ifndef _SYS_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
lib/libc/include/sparc-linux-gnu/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. Linux/Sparc specific version.1/* Error constants. Linux/Sparc specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
20#define _BITS_ERRNO_H 120#define _BITS_ERRNO_H 1
lib/libc/include/sparc-linux-gnu/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/sparc-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux/SPARC.1/* O_*, F_*, FD_* bit values for Linux/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
...@@ -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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/sparc-linux-gnu/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -92,7 +92,7 @@ typedef unsigned long int fenv_t;...@@ -92,7 +92,7 @@ typedef unsigned long int fenv_t;
92# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))92# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
93#endif93#endif
9494
95#if __GLIBC_USE (IEC_60559_BFP_EXT)95#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
96/* Type representing floating-point control modes. */96/* Type representing floating-point control modes. */
97typedef unsigned long int femode_t;97typedef unsigned long int femode_t;
9898
lib/libc/include/sparc-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/sparc-linux-gnu/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP.1/* Defines for bits in AT_HWCAP.
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,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_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)19#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/sparc-linux-gnu/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/sparc-linux-gnu/bits/ioctls.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_IOCTL_H18#ifndef _SYS_IOCTL_H
19# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."19# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h created+36
...@@ -0,0 +1,36 @@
1/* struct ipc_perm definition. Linux/sparc version.
2 Copyright (C) 1995-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 unsigned short int __pad1;
33 unsigned short int __seq; /* Sequence number. */
34 __extension__ unsigned long long int __glibc_reserved1;
35 __extension__ unsigned long long int __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/ipc.h deleted-61
...@@ -1,61 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23#include <bits/wordsize.h>
24
25/* Mode bits for `msgget', `semget', and `shmget'. */
26#define IPC_CREAT 01000 /* Create key if key does not exist. */
27#define IPC_EXCL 02000 /* Fail if key exists. */
28#define IPC_NOWAIT 04000 /* Return error on wait. */
29
30/* Control commands for `msgctl', `semctl', and `shmctl'. */
31#define IPC_RMID 0 /* Remove identifier. */
32#define IPC_SET 1 /* Set `ipc_perm' options. */
33#define IPC_STAT 2 /* Get `ipc_perm' options. */
34#ifdef __USE_GNU
35# define IPC_INFO 3 /* See ipcs. */
36#endif
37
38/* Special key values. */
39#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
40
41
42/* Data structure used to pass permission information to IPC operations. */
43struct ipc_perm
44 {
45 __key_t __key; /* Key. */
46 __uid_t uid; /* Owner's user ID. */
47 __gid_t gid; /* Owner's group ID. */
48 __uid_t cuid; /* Creator's user ID. */
49 __gid_t cgid; /* Creator's group ID. */
50#if __WORDSIZE == 32
51 unsigned short int __pad1;
52 unsigned short int mode; /* Read/write permission. */
53 unsigned short int __pad2;
54#else
55 __mode_t mode; /* Read/write permission. */
56 unsigned short int __pad1;
57#endif
58 unsigned short int __seq; /* Sequence number. */
59 __extension__ unsigned long long int __glibc_reserved1;
60 __extension__ unsigned long long int __glibc_reserved2;
61 };
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/link.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific audit interfaces for dynamic linker. SPARC version.1/* Machine-specific audit interfaces for dynamic linker. SPARC 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#ifndef _LINK_H19#ifndef _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."20# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/sparc-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. Linux/SPARC version.1/* Minimum guaranteed maximum values for system limits. Linux/SPARC version.
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.
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 Library General Public15 You should have received a copy of the GNU Library 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/* The kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/sparc-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. SPARC version.1/* Properties of long double type. SPARC version.
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#include <bits/wordsize.h>19#include <bits/wordsize.h>
2020
...@@ -23,4 +23,5 @@...@@ -23,4 +23,5 @@
23# ifndef __LONG_DOUBLE_128__23# ifndef __LONG_DOUBLE_128__
24# define __NO_LONG_DOUBLE_MATH 124# define __NO_LONG_DOUBLE_MATH 1
25# endif25# endif
26#endif
\ No newline at end of file
26#endif
27#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/mman.h+4-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/SPARC version.1/* Definitions for POSIX memory map interface. Linux/SPARC version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
...@@ -36,6 +36,8 @@...@@ -36,6 +36,8 @@
36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
37# define MAP_STACK 0x20000 /* Allocation is for a stack. */37# define MAP_STACK 0x20000 /* Allocation is for a stack. */
38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
39# define MAP_SYNC 0x80000 /* Perform synchronous page
40 faults for the mapping. */
39# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap41# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
40 underlying mapping. */42 underlying mapping. */
41#endif43#endif
lib/libc/include/sparc-linux-gnu/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. SPARC version.1/* Define where padding goes in struct msqid_ds. SPARC 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/sparc-linux-gnu/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Extra sys/procfs.h definitions. SPARC version.1/* Extra sys/procfs.h definitions. SPARC 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
lib/libc/include/sparc-linux-gnu/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/sparc-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. SPARC version.1/* Types for registers for sys/procfs.h. SPARC 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/sparc-linux-gnu/bits/pthreadtypes-arch.h deleted-81
...@@ -1,81 +0,0 @@
1/* Machine-specific pthread type layouts. SPARC version.
2 Copyright (C) 2003-2019 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/wordsize.h>
23
24#if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_CONDATTR_T 4
28# define __SIZEOF_PTHREAD_RWLOCK_T 56
29# define __SIZEOF_PTHREAD_BARRIER_T 32
30#else
31# define __SIZEOF_PTHREAD_ATTR_T 36
32# define __SIZEOF_PTHREAD_MUTEX_T 24
33# define __SIZEOF_PTHREAD_CONDATTR_T 4
34# define __SIZEOF_PTHREAD_RWLOCK_T 32
35# define __SIZEOF_PTHREAD_BARRIER_T 20
36#endif
37#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
38#define __SIZEOF_PTHREAD_COND_T 48
39#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
40#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
41
42/* Definitions for internal mutex struct. */
43#define __PTHREAD_COMPAT_PADDING_MID
44#define __PTHREAD_COMPAT_PADDING_END
45#define __PTHREAD_MUTEX_LOCK_ELISION 0
46#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (__WORDSIZE != 64)
47#define __PTHREAD_MUTEX_USE_UNION (__WORDSIZE != 64)
48
49#define __LOCK_ALIGNMENT
50#define __ONCE_ALIGNMENT
51
52struct __pthread_rwlock_arch_t
53{
54 unsigned int __readers;
55 unsigned int __writers;
56 unsigned int __wrphase_futex;
57 unsigned int __writers_futex;
58 unsigned int __pad3;
59 unsigned int __pad4;
60#if __WORDSIZE == 64
61 int __cur_writer;
62 int __shared;
63 unsigned long int __pad1;
64 unsigned long int __pad2;
65 /* FLAGS must stay at this position in the structure to maintain
66 binary compatibility. */
67 unsigned int __flags;
68#else
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 int __cur_writer;
76#endif
77};
78
79#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
80
81#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux/SPARC version.1/* Bit values & structures for resource limits. Linux/SPARC version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/sparc-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. SPARC version.1/* Define where padding goes in struct semid_ds. SPARC 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/sparc-linux-gnu/bits/semaphore.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific POSIX semaphore type layouts. SPARC version.1/* Machine-specific POSIX semaphore type layouts. SPARC 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.
4 Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.4 Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
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 _SEMAPHORE_H20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/sparc-linux-gnu/bits/setjmp.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 _BITS_SETJMP_H18#ifndef _BITS_SETJMP_H
19#define _BITS_SETJMP_H 119#define _BITS_SETJMP_H 1
lib/libc/include/sparc-linux-gnu/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. SPARC version.1/* Define where padding goes in struct shmid_ds. SPARC 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/sparc-linux-gnu/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. SPARC version.1/* Define SHMLBA. SPARC 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/sparc-linux-gnu/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux/SPARC sigaction.1/* The proper definitions for Linux/SPARC sigaction.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/sparc-linux-gnu/bits/sigcontext.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 _BITS_SIGCONTEXT_H18#ifndef _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 119#define _BITS_SIGCONTEXT_H 1
lib/libc/include/sparc-linux-gnu/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/sparc-linux-gnu/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux/SPARC version.1/* Signal number definitions. Linux/SPARC 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_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/sparc-linux-gnu/bits/sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigstack, sigaltstack definitions.1/* sigstack, sigaltstack definitions.
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#ifndef _BITS_SIGSTACK_H19#ifndef _BITS_SIGSTACK_H
20#define _BITS_SIGSTACK_H 120#define _BITS_SIGSTACK_H 1
lib/libc/include/sparc-linux-gnu/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for SPARC.1/* Socket constants which vary among Linux architectures. Version for SPARC.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/sparc-linux-gnu/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for Linux/SPARC.1/* Define enum __socket_type for Linux/SPARC.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/sparc-linux-gnu/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/include/sparc-linux-gnu/bits/struct_rwlock.h created+58
...@@ -0,0 +1,58 @@
1/* SPARC internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned long int __pad1;
35 unsigned long int __pad2;
36 /* FLAGS must stay at this position in the structure to maintain
37 binary compatibility. */
38 unsigned int __flags;
39#else
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46 int __cur_writer;
47#endif
48};
49
50#if __WORDSIZE == 64
51# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
52 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
53#else
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#endif
57
58#endif
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/termios-baud.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud rate selection definitions. Linux/sparc version.1/* termios baud rate selection definitions. Linux/sparc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/sparc version.1/* termios c_cc symbolic constant definitions. Linux/sparc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios output mode definitions. Linux/sparc version.1/* termios output mode definitions. Linux/sparc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
lib/libc/include/sparc-linux-gnu/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/sparc version.1/* struct termios definition. Linux/sparc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/sparc-linux-gnu/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/sparc-linux-gnu/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/include/sparc-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word bits. SPARC version.1/* FPU control word bits. SPARC version.
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 Miguel de Icaza4 Contributed by Miguel de Icaza
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 _FPU_CONTROL_H20#ifndef _FPU_CONTROL_H
21#define _FPU_CONTROL_H 121#define _FPU_CONTROL_H 1
lib/libc/include/sparc-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/sparc-linux-gnu/sys/ptrace.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/SPARC version.1/* `ptrace' debugger support interface. Linux/SPARC 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 _SYS_PTRACE_H19#ifndef _SYS_PTRACE_H
20#define _SYS_PTRACE_H 120#define _SYS_PTRACE_H 1
...@@ -217,8 +217,12 @@ enum __ptrace_request...@@ -217,8 +217,12 @@ enum __ptrace_request
217#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER217#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
218218
219 /* Get seccomp BPF filter metadata. */219 /* Get seccomp BPF filter metadata. */
220 PTRACE_SECCOMP_GET_METADATA = 0x420d220 PTRACE_SECCOMP_GET_METADATA = 0x420d,
221#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA221#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
222
223 /* Get information about system call. */
224 PTRACE_GET_SYSCALL_INFO = 0x420e
225#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
222};226};
223227
224228
lib/libc/include/sparc-linux-gnu/sys/ucontext.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_UCONTEXT_H18#ifndef _SYS_UCONTEXT_H
19#define _SYS_UCONTEXT_H 119#define _SYS_UCONTEXT_H 1
lib/libc/include/sparc-linux-gnu/sys/user.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2003-2019 Free Software Foundation, Inc.1/* Copyright (C) 2003-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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/sparcv9-linux-gnu/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
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/sparcv9-linux-gnu/bits/epoll.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.
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_EPOLL_H18#ifndef _SYS_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/errno.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Error constants. Linux/Sparc specific version.1/* Error constants. Linux/Sparc specific 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_ERRNO_H19#ifndef _BITS_ERRNO_H
20#define _BITS_ERRNO_H 120#define _BITS_ERRNO_H 1
lib/libc/include/sparcv9-linux-gnu/bits/eventfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_EVENTFD_H18#ifndef _SYS_EVENTFD_H
19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."19# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux/SPARC.1/* O_*, F_*, FD_* bit values for Linux/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
...@@ -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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -92,7 +92,7 @@ typedef unsigned long int fenv_t;...@@ -92,7 +92,7 @@ typedef unsigned long int fenv_t;
92# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))92# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
93#endif93#endif
9494
95#if __GLIBC_USE (IEC_60559_BFP_EXT)95#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
96/* Type representing floating-point control modes. */96/* Type representing floating-point control modes. */
97typedef unsigned long int femode_t;97typedef unsigned long int femode_t;
9898
lib/libc/include/sparcv9-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.1/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
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_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/sparcv9-linux-gnu/bits/hwcap.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Defines for bits in AT_HWCAP.1/* Defines for bits in AT_HWCAP.
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,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_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)19#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."20# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/inotify.h+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
...@@ -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_INOTIFY_H18#ifndef _SYS_INOTIFY_H
19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."19# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/ioctls.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_IOCTL_H18#ifndef _SYS_IOCTL_H
19# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."19# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/ipc-perm.h created+36
...@@ -0,0 +1,36 @@
1/* struct ipc_perm definition. Linux/sparc version.
2 Copyright (C) 1995-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 <https://www.gnu.org/licenses/>. */
18
19#ifndef _SYS_IPC_H
20# error "Never use <bits/ipc-perm.h> directly; include <sys/ipc.h> instead."
21#endif
22
23/* Data structure used to pass permission information to IPC operations. */
24struct ipc_perm
25 {
26 __key_t __key; /* Key. */
27 __uid_t uid; /* Owner's user ID. */
28 __gid_t gid; /* Owner's group ID. */
29 __uid_t cuid; /* Creator's user ID. */
30 __gid_t cgid; /* Creator's group ID. */
31 __mode_t mode; /* Read/write permission. */
32 unsigned short int __pad1;
33 unsigned short int __seq; /* Sequence number. */
34 __extension__ unsigned long long int __glibc_reserved1;
35 __extension__ unsigned long long int __glibc_reserved2;
36 };
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/ipc.h deleted-61
...@@ -1,61 +0,0 @@
1/* Copyright (C) 1995-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#ifndef _SYS_IPC_H
19# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
20#endif
21
22#include <bits/types.h>
23#include <bits/wordsize.h>
24
25/* Mode bits for `msgget', `semget', and `shmget'. */
26#define IPC_CREAT 01000 /* Create key if key does not exist. */
27#define IPC_EXCL 02000 /* Fail if key exists. */
28#define IPC_NOWAIT 04000 /* Return error on wait. */
29
30/* Control commands for `msgctl', `semctl', and `shmctl'. */
31#define IPC_RMID 0 /* Remove identifier. */
32#define IPC_SET 1 /* Set `ipc_perm' options. */
33#define IPC_STAT 2 /* Get `ipc_perm' options. */
34#ifdef __USE_GNU
35# define IPC_INFO 3 /* See ipcs. */
36#endif
37
38/* Special key values. */
39#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
40
41
42/* Data structure used to pass permission information to IPC operations. */
43struct ipc_perm
44 {
45 __key_t __key; /* Key. */
46 __uid_t uid; /* Owner's user ID. */
47 __gid_t gid; /* Owner's group ID. */
48 __uid_t cuid; /* Creator's user ID. */
49 __gid_t cgid; /* Creator's group ID. */
50#if __WORDSIZE == 32
51 unsigned short int __pad1;
52 unsigned short int mode; /* Read/write permission. */
53 unsigned short int __pad2;
54#else
55 __mode_t mode; /* Read/write permission. */
56 unsigned short int __pad1;
57#endif
58 unsigned short int __seq; /* Sequence number. */
59 __extension__ unsigned long long int __glibc_reserved1;
60 __extension__ unsigned long long int __glibc_reserved2;
61 };
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/link.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific audit interfaces for dynamic linker. SPARC version.1/* Machine-specific audit interfaces for dynamic linker. SPARC 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#ifndef _LINK_H19#ifndef _LINK_H
20# error "Never include <bits/link.h> directly; use <link.h> instead."20# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/local_lim.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Minimum guaranteed maximum values for system limits. Linux/SPARC version.1/* Minimum guaranteed maximum values for system limits. Linux/SPARC version.
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.
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 Library General Public15 You should have received a copy of the GNU Library 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/* The kernel header pollutes the namespace with the NR_OPEN symbol19/* The kernel header pollutes the namespace with the NR_OPEN symbol
20 and defines LINK_MAX although filesystems have different maxima. A20 and defines LINK_MAX although filesystems have different maxima. A
lib/libc/include/sparcv9-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. SPARC version.1/* Properties of long double type. SPARC version.
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#include <bits/wordsize.h>19#include <bits/wordsize.h>
2020
...@@ -23,4 +23,5 @@...@@ -23,4 +23,5 @@
23# ifndef __LONG_DOUBLE_128__23# ifndef __LONG_DOUBLE_128__
24# define __NO_LONG_DOUBLE_MATH 124# define __NO_LONG_DOUBLE_MATH 1
25# endif25# endif
26#endif
\ No newline at end of file
26#endif
27#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/mman.h+4-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/SPARC version.1/* Definitions for POSIX memory map interface. Linux/SPARC version.
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#ifndef _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
...@@ -36,6 +36,8 @@...@@ -36,6 +36,8 @@
36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */36# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
37# define MAP_STACK 0x20000 /* Allocation is for a stack. */37# define MAP_STACK 0x20000 /* Allocation is for a stack. */
38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */38# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */
39# define MAP_SYNC 0x80000 /* Perform synchronous page
40 faults for the mapping. */
39# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap41# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap
40 underlying mapping. */42 underlying mapping. */
41#endif43#endif
lib/libc/include/sparcv9-linux-gnu/bits/msq-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct msqid_ds. SPARC version.1/* Define where padding goes in struct msqid_ds. SPARC 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 _SYS_MSG_H19#ifndef _SYS_MSG_H
20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."20# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/poll.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_POLL_H18#ifndef _SYS_POLL_H
19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."19# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/procfs-extra.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Extra sys/procfs.h definitions. SPARC version.1/* Extra sys/procfs.h definitions. SPARC 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs-extra.h> directly; use <sys/procfs.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. SPARC version.1/* Types for registers for sys/procfs.h. SPARC 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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/pthreadtypes-arch.h deleted-81
...@@ -1,81 +0,0 @@
1/* Machine-specific pthread type layouts. SPARC version.
2 Copyright (C) 2003-2019 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_PTHREADTYPES_ARCH_H
20#define _BITS_PTHREADTYPES_ARCH_H 1
21
22#include <bits/wordsize.h>
23
24#if __WORDSIZE == 64
25# define __SIZEOF_PTHREAD_ATTR_T 56
26# define __SIZEOF_PTHREAD_MUTEX_T 40
27# define __SIZEOF_PTHREAD_CONDATTR_T 4
28# define __SIZEOF_PTHREAD_RWLOCK_T 56
29# define __SIZEOF_PTHREAD_BARRIER_T 32
30#else
31# define __SIZEOF_PTHREAD_ATTR_T 36
32# define __SIZEOF_PTHREAD_MUTEX_T 24
33# define __SIZEOF_PTHREAD_CONDATTR_T 4
34# define __SIZEOF_PTHREAD_RWLOCK_T 32
35# define __SIZEOF_PTHREAD_BARRIER_T 20
36#endif
37#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
38#define __SIZEOF_PTHREAD_COND_T 48
39#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
40#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
41
42/* Definitions for internal mutex struct. */
43#define __PTHREAD_COMPAT_PADDING_MID
44#define __PTHREAD_COMPAT_PADDING_END
45#define __PTHREAD_MUTEX_LOCK_ELISION 0
46#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (__WORDSIZE != 64)
47#define __PTHREAD_MUTEX_USE_UNION (__WORDSIZE != 64)
48
49#define __LOCK_ALIGNMENT
50#define __ONCE_ALIGNMENT
51
52struct __pthread_rwlock_arch_t
53{
54 unsigned int __readers;
55 unsigned int __writers;
56 unsigned int __wrphase_futex;
57 unsigned int __writers_futex;
58 unsigned int __pad3;
59 unsigned int __pad4;
60#if __WORDSIZE == 64
61 int __cur_writer;
62 int __shared;
63 unsigned long int __pad1;
64 unsigned long int __pad2;
65 /* FLAGS must stay at this position in the structure to maintain
66 binary compatibility. */
67 unsigned int __flags;
68#else
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 int __cur_writer;
76#endif
77};
78
79#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
80
81#endif /* bits/pthreadtypes.h */
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/resource.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Bit values & structures for resource limits. Linux/SPARC version.1/* Bit values & structures for resource limits. Linux/SPARC version.
2 Copyright (C) 1994-2019 Free Software Foundation, Inc.2 Copyright (C) 1994-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 _SYS_RESOURCE_H19#ifndef _SYS_RESOURCE_H
20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."20# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. SPARC version.1/* Define where padding goes in struct semid_ds. SPARC 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/semaphore.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Machine-specific POSIX semaphore type layouts. SPARC version.1/* Machine-specific POSIX semaphore type layouts. SPARC 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.
4 Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.4 Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
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 _SEMAPHORE_H20#ifndef _SEMAPHORE_H
21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."21# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/setjmp.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 _BITS_SETJMP_H18#ifndef _BITS_SETJMP_H
19#define _BITS_SETJMP_H 119#define _BITS_SETJMP_H 1
lib/libc/include/sparcv9-linux-gnu/bits/shm-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct shmid_ds. SPARC version.1/* Define where padding goes in struct shmid_ds. SPARC 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/shmlba.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define SHMLBA. SPARC version.1/* Define SHMLBA. SPARC 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 _SYS_SHM_H19#ifndef _SYS_SHM_H
20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."20# error "Never use <bits/shmlba.h> directly; include <sys/shm.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/sigaction.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* The proper definitions for Linux/SPARC sigaction.1/* The proper definitions for Linux/SPARC sigaction.
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_SIGACTION_H19#ifndef _BITS_SIGACTION_H
20#define _BITS_SIGACTION_H 120#define _BITS_SIGACTION_H 1
lib/libc/include/sparcv9-linux-gnu/bits/sigcontext.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 _BITS_SIGCONTEXT_H18#ifndef _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 119#define _BITS_SIGCONTEXT_H 1
lib/libc/include/sparcv9-linux-gnu/bits/signalfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2007-2019 Free Software Foundation, Inc.1/* Copyright (C) 2007-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_SIGNALFD_H18#ifndef _SYS_SIGNALFD_H
19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."19# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/signum.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Signal number definitions. Linux/SPARC version.1/* Signal number definitions. Linux/SPARC 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_SIGNUM_H19#ifndef _BITS_SIGNUM_H
20#define _BITS_SIGNUM_H 120#define _BITS_SIGNUM_H 1
lib/libc/include/sparcv9-linux-gnu/bits/sigstack.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* sigstack, sigaltstack definitions.1/* sigstack, sigaltstack definitions.
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#ifndef _BITS_SIGSTACK_H19#ifndef _BITS_SIGSTACK_H
20#define _BITS_SIGSTACK_H 120#define _BITS_SIGSTACK_H 1
lib/libc/include/sparcv9-linux-gnu/bits/socket-constants.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Socket constants which vary among Linux architectures. Version for SPARC.1/* Socket constants which vary among Linux architectures. Version for SPARC.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/socket_type.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define enum __socket_type for Linux/SPARC.1/* Define enum __socket_type for Linux/SPARC.
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 _SYS_SOCKET_H19#ifndef _SYS_SOCKET_H
20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."20# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
lib/libc/include/sparcv9-linux-gnu/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/include/sparcv9-linux-gnu/bits/struct_rwlock.h created+58
...@@ -0,0 +1,58 @@
1/* SPARC internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#if __WORDSIZE == 64
32 int __cur_writer;
33 int __shared;
34 unsigned long int __pad1;
35 unsigned long int __pad2;
36 /* FLAGS must stay at this position in the structure to maintain
37 binary compatibility. */
38 unsigned int __flags;
39#else
40 unsigned char __pad1;
41 unsigned char __pad2;
42 unsigned char __shared;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned char __flags;
46 int __cur_writer;
47#endif
48};
49
50#if __WORDSIZE == 64
51# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
52 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags
53#else
54# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
55 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0
56#endif
57
58#endif
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/termios-baud.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios baud rate selection definitions. Linux/sparc version.1/* termios baud rate selection definitions. Linux/sparc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-baud.h> directly; use <termios.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/termios-c_cc.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios c_cc symbolic constant definitions. Linux/sparc version.1/* termios c_cc symbolic constant definitions. Linux/sparc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_cc.h> directly; use <termios.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/termios-c_oflag.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* termios output mode definitions. Linux/sparc version.1/* termios output mode definitions. Linux/sparc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-c_oflag.h> directly; use <termios.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/termios-struct.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* struct termios definition. Linux/sparc version.1/* struct termios definition. Linux/sparc 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 _TERMIOS_H19#ifndef _TERMIOS_H
20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."20# error "Never include <bits/termios-struct.h> directly; use <termios.h> instead."
lib/libc/include/sparcv9-linux-gnu/bits/timerfd.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2008-2019 Free Software Foundation, Inc.1/* Copyright (C) 2008-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_TIMERFD_H18#ifndef _SYS_TIMERFD_H
19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."19# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
lib/libc/include/sparcv9-linux-gnu/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/include/sparcv9-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word bits. SPARC version.1/* FPU control word bits. SPARC version.
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 Miguel de Icaza4 Contributed by Miguel de Icaza
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 _FPU_CONTROL_H20#ifndef _FPU_CONTROL_H
21#define _FPU_CONTROL_H 121#define _FPU_CONTROL_H 1
lib/libc/include/sparcv9-linux-gnu/ieee754.h+4-4
...@@ -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,14 @@...@@ -13,14 +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#ifndef _IEEE754_H18#ifndef _IEEE754_H
19
20#define _IEEE754_H 119#define _IEEE754_H 1
20
21#include <features.h>21#include <features.h>
2222
23#include <endian.h>23#include <bits/endian.h>
2424
25__BEGIN_DECLS25__BEGIN_DECLS
2626
lib/libc/include/sparcv9-linux-gnu/sys/ptrace.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/SPARC version.1/* `ptrace' debugger support interface. Linux/SPARC 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 _SYS_PTRACE_H19#ifndef _SYS_PTRACE_H
20#define _SYS_PTRACE_H 120#define _SYS_PTRACE_H 1
...@@ -217,8 +217,12 @@ enum __ptrace_request...@@ -217,8 +217,12 @@ enum __ptrace_request
217#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER217#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
218218
219 /* Get seccomp BPF filter metadata. */219 /* Get seccomp BPF filter metadata. */
220 PTRACE_SECCOMP_GET_METADATA = 0x420d220 PTRACE_SECCOMP_GET_METADATA = 0x420d,
221#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA221#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
222
223 /* Get information about system call. */
224 PTRACE_GET_SYSCALL_INFO = 0x420e
225#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
222};226};
223227
224228
lib/libc/include/sparcv9-linux-gnu/sys/ucontext.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_UCONTEXT_H18#ifndef _SYS_UCONTEXT_H
19#define _SYS_UCONTEXT_H 119#define _SYS_UCONTEXT_H 1
lib/libc/include/sparcv9-linux-gnu/sys/user.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2003-2019 Free Software Foundation, Inc.1/* Copyright (C) 2003-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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/x86_64-linux-gnu/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
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/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 */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/x86_64-linux-gnu/bits/epoll.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.
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_EPOLL_H18#ifndef _SYS_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux/x86.1/* O_*, F_*, FD_* bit values for Linux/x86.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -101,7 +101,7 @@ fenv_t;...@@ -101,7 +101,7 @@ fenv_t;
101# define FE_NOMASK_ENV ((const fenv_t *) -2)101# define FE_NOMASK_ENV ((const fenv_t *) -2)
102#endif102#endif
103103
104#if __GLIBC_USE (IEC_60559_BFP_EXT)104#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
105/* Type representing floating-point control modes. */105/* Type representing floating-point control modes. */
106typedef struct106typedef struct
107 {107 {
lib/libc/include/x86_64-linux-gnu/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on x86.1/* Macros to control TS 18661-3 glibc features on 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 _BITS_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.1/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of __INDIRECT_RETURN. x86 version.1/* Definition of __INDIRECT_RETURN. x86 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 _UCONTEXT_H19#ifndef _UCONTEXT_H
20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
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 _SYS_IPC_H19#ifndef _SYS_IPC_H
20# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."20# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define iscanonical macro. ldbl-96 version.1/* Define iscanonical macro. ldbl-96 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/link.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-96 version.1/* Properties of long double type. ldbl-96 version.
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,8 @@...@@ -14,7 +14,8 @@
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/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */
\ No newline at end of file
20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/math-vector.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Platform-specific SIMD declarations of math functions.1/* Platform-specific SIMD declarations of math functions.
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 _MATH_H19#ifndef _MATH_H
20# error "Never include <bits/math-vector.h> directly;\20# error "Never include <bits/math-vector.h> directly;\
lib/libc/include/x86_64-linux-gnu/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/x86_64 version.1/* Definitions for POSIX memory map interface. Linux/x86_64 version.
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 _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. x86 version.1/* Types for registers for sys/procfs.h. x86 version.
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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/x86_64-linux-gnu/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/include/x86_64-linux-gnu/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/include/x86_64-linux-gnu/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. x86 version.1/* Define where padding goes in struct semid_ds. x86 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/semaphore.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.
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
...@@ -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 _SEMAPHORE_H19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/x86_64-linux-gnu/bits/setjmp.h+2-2
...@@ -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,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 the machine-dependent type `jmp_buf'. x86-64 version. */18/* Define the machine-dependent type `jmp_buf'. x86-64 version. */
19#ifndef _BITS_SETJMP_H19#ifndef _BITS_SETJMP_H
lib/libc/include/x86_64-linux-gnu/bits/sigcontext.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.
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_SIGCONTEXT_H18#ifndef _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 119#define _BITS_SIGCONTEXT_H 1
lib/libc/include/x86_64-linux-gnu/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/include/x86_64-linux-gnu/bits/struct_mutex.h created+63
...@@ -0,0 +1,63 @@
1/* x86 internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#ifdef __x86_64__
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#ifdef __x86_64__
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __eelision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__eelision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#ifdef __x86_64__
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h created+65
...@@ -0,0 +1,65 @@
1/* x86 internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#ifdef __x86_64__
32 int __cur_writer;
33 int __shared;
34 signed char __rwelision;
35# ifdef __ILP32__
36 unsigned char __pad1[3];
37# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
38# else
39 unsigned char __pad1[7];
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
41# endif
42 unsigned long int __pad2;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned int __flags;
46#else /* __x86_64__ */
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 signed char __rwelision;
52 unsigned char __pad2;
53 int __cur_writer;
54#endif
55};
56
57#ifdef __x86_64__
58# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
59 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
60#else
61# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
62 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
63#endif
64
65#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/sysctl.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#if defined __x86_64__ && defined __ILP32__18#if defined __x86_64__ && defined __ILP32__
19# error "sysctl system call is unsupported in x32 kernel"19# error "sysctl system call is unsupported in x32 kernel"
lib/libc/include/x86_64-linux-gnu/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, x86-64 and x32 case.1/* Bit size of the time_t type at glibc build time, x86-64 and x32 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#if defined __x86_64__ && defined __ILP32__19#if defined __x86_64__ && defined __ILP32__
20/* For x32, time is 64-bit even though word size is 32-bit. */20/* For x32, time is 64-bit even though word size is 32-bit. */
lib/libc/include/x86_64-linux-gnu/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/include/x86_64-linux-gnu/finclude/math-vector-fortran.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
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.
4!4!
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 @@
14!14!
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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')19!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
lib/libc/include/x86_64-linux-gnu/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word bits. x86 version.1/* FPU control word bits. x86 version.
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 Olaf Flebbe.4 Contributed by Olaf Flebbe.
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 _FPU_CONTROL_H20#ifndef _FPU_CONTROL_H
21#define _FPU_CONTROL_H 121#define _FPU_CONTROL_H 1
lib/libc/include/x86_64-linux-gnu/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/include/x86_64-linux-gnu/sys/ptrace.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/x86 version.1/* `ptrace' debugger support interface. Linux/x86 version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PTRACE_H20#ifndef _SYS_PTRACE_H
21#define _SYS_PTRACE_H 121#define _SYS_PTRACE_H 1
...@@ -186,8 +186,12 @@ enum __ptrace_request...@@ -186,8 +186,12 @@ enum __ptrace_request
186#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER186#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
187187
188 /* Get seccomp BPF filter metadata. */188 /* Get seccomp BPF filter metadata. */
189 PTRACE_SECCOMP_GET_METADATA = 0x420d189 PTRACE_SECCOMP_GET_METADATA = 0x420d,
190#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA190#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
191
192 /* Get information about system call. */
193 PTRACE_GET_SYSCALL_INFO = 0x420e
194#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
191};195};
192196
193197
lib/libc/include/x86_64-linux-gnu/sys/ucontext.h+2-2
...@@ -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,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_UCONTEXT_H18#ifndef _SYS_UCONTEXT_H
19#define _SYS_UCONTEXT_H 119#define _SYS_UCONTEXT_H 1
lib/libc/include/x86_64-linux-gnu/sys/user.h+2-2
...@@ -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,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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/libc/include/x86_64-linux-gnux32/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
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/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 */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/environments.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#ifndef _UNISTD_H18#ifndef _UNISTD_H
19# error "Never include this file directly. Use <unistd.h> instead"19# error "Never include this file directly. Use <unistd.h> instead"
lib/libc/include/x86_64-linux-gnux32/bits/epoll.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.
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_EPOLL_H18#ifndef _SYS_EPOLL_H
19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."19# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* O_*, F_*, FD_* bit values for Linux/x86.1/* O_*, F_*, FD_* bit values for Linux/x86.
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 _FCNTL_H19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/fenv.h+3-3
...@@ -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 _FENV_H18#ifndef _FENV_H
19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."19# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
...@@ -101,7 +101,7 @@ fenv_t;...@@ -101,7 +101,7 @@ fenv_t;
101# define FE_NOMASK_ENV ((const fenv_t *) -2)101# define FE_NOMASK_ENV ((const fenv_t *) -2)
102#endif102#endif
103103
104#if __GLIBC_USE (IEC_60559_BFP_EXT)104#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
105/* Type representing floating-point control modes. */105/* Type representing floating-point control modes. */
106typedef struct106typedef struct
107 {107 {
lib/libc/include/x86_64-linux-gnux32/bits/floatn.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Macros to control TS 18661-3 glibc features on x86.1/* Macros to control TS 18661-3 glibc features on 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 _BITS_FLOATN_H19#ifndef _BITS_FLOATN_H
20#define _BITS_FLOATN_H20#define _BITS_FLOATN_H
lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.1/* Define __GLIBC_FLT_EVAL_METHOD. x86 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."20# error "Never use <bits/flt-eval-method.h> directly; include <math.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.1/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."20# error "Never use <bits/fp-logb.h> directly; include <math.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definition of __INDIRECT_RETURN. x86 version.1/* Definition of __INDIRECT_RETURN. x86 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 _UCONTEXT_H19#ifndef _UCONTEXT_H
20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."20# error "Never include <bits/indirect-return.h> directly; use <ucontext.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.1/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM.
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 _SYS_IPC_H19#ifndef _SYS_IPC_H
20# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."20# error "Never use <bits/ipctypes.h> directly; include <sys/ipc.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define iscanonical macro. ldbl-96 version.1/* Define iscanonical macro. ldbl-96 version.
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#ifndef _MATH_H19#ifndef _MATH_H
20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."20# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/link.h+2-2
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* Copyright (C) 2004-2019 Free Software Foundation, Inc.1/* Copyright (C) 2004-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 _LINK_H18#ifndef _LINK_H
19# error "Never include <bits/link.h> directly; use <link.h> instead."19# error "Never include <bits/link.h> directly; use <link.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/long-double.h+4-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Properties of long double type. ldbl-96 version.1/* Properties of long double type. ldbl-96 version.
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,8 @@...@@ -14,7 +14,8 @@
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/* long double is distinct from double, so there is nothing to19/* long double is distinct from double, so there is nothing to
20 define here. */
\ No newline at end of file
20 define here. */
21#define __LONG_DOUBLE_USES_FLOAT128 0
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Platform-specific SIMD declarations of math functions.1/* Platform-specific SIMD declarations of math functions.
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 _MATH_H19#ifndef _MATH_H
20# error "Never include <bits/math-vector.h> directly;\20# error "Never include <bits/math-vector.h> directly;\
lib/libc/include/x86_64-linux-gnux32/bits/mman.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Definitions for POSIX memory map interface. Linux/x86_64 version.1/* Definitions for POSIX memory map interface. Linux/x86_64 version.
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 _SYS_MMAN_H19#ifndef _SYS_MMAN_H
20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."20# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.1/* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-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
...@@ -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 _SYS_PROCFS_H20#ifndef _SYS_PROCFS_H
21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."21# error "Never include <bits/procfs-id.h> directly; use <sys/procfs.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/procfs.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Types for registers for sys/procfs.h. x86 version.1/* Types for registers for sys/procfs.h. x86 version.
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 _SYS_PROCFS_H19#ifndef _SYS_PROCFS_H
20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."20# error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead."
lib/libc/include/x86_64-linux-gnux32/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/include/x86_64-linux-gnux32/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/include/x86_64-linux-gnux32/bits/sem-pad.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* Define where padding goes in struct semid_ds. x86 version.1/* Define where padding goes in struct semid_ds. x86 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 _SYS_SEM_H19#ifndef _SYS_SEM_H
20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."20# error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/semaphore.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.
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
...@@ -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 _SEMAPHORE_H19#ifndef _SEMAPHORE_H
20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."20# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h+2-2
...@@ -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,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 the machine-dependent type `jmp_buf'. x86-64 version. */18/* Define the machine-dependent type `jmp_buf'. x86-64 version. */
19#ifndef _BITS_SETJMP_H19#ifndef _BITS_SETJMP_H
lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.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.
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_SIGCONTEXT_H18#ifndef _BITS_SIGCONTEXT_H
19#define _BITS_SIGCONTEXT_H 119#define _BITS_SIGCONTEXT_H 1
lib/libc/include/x86_64-linux-gnux32/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/include/x86_64-linux-gnux32/bits/struct_mutex.h created+63
...@@ -0,0 +1,63 @@
1/* x86 internal mutex struct definitions.
2 Copyright (C) 2019-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 _THREAD_MUTEX_INTERNAL_H
20#define _THREAD_MUTEX_INTERNAL_H 1
21
22struct __pthread_mutex_s
23{
24 int __lock;
25 unsigned int __count;
26 int __owner;
27#ifdef __x86_64__
28 unsigned int __nusers;
29#endif
30 /* KIND must stay at this position in the structure to maintain
31 binary compatibility with static initializers. */
32 int __kind;
33#ifdef __x86_64__
34 short __spins;
35 short __elision;
36 __pthread_list_t __list;
37# define __PTHREAD_MUTEX_HAVE_PREV 1
38#else
39 unsigned int __nusers;
40 __extension__ union
41 {
42 struct
43 {
44 short __espins;
45 short __eelision;
46# define __spins __elision_data.__espins
47# define __elision __elision_data.__eelision
48 } __elision_data;
49 __pthread_slist_t __list;
50 };
51# define __PTHREAD_MUTEX_HAVE_PREV 0
52#endif
53};
54
55#ifdef __x86_64__
56# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
57 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
58#else
59# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
60 0, 0, 0, __kind, 0, { { 0, 0 } }
61#endif
62
63#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h created+65
...@@ -0,0 +1,65 @@
1/* x86 internal rwlock struct definitions.
2 Copyright (C) 2019-2020 Free Software Foundation, Inc.
3
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef _RWLOCK_INTERNAL_H
21#define _RWLOCK_INTERNAL_H
22
23struct __pthread_rwlock_arch_t
24{
25 unsigned int __readers;
26 unsigned int __writers;
27 unsigned int __wrphase_futex;
28 unsigned int __writers_futex;
29 unsigned int __pad3;
30 unsigned int __pad4;
31#ifdef __x86_64__
32 int __cur_writer;
33 int __shared;
34 signed char __rwelision;
35# ifdef __ILP32__
36 unsigned char __pad1[3];
37# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
38# else
39 unsigned char __pad1[7];
40# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
41# endif
42 unsigned long int __pad2;
43 /* FLAGS must stay at this position in the structure to maintain
44 binary compatibility. */
45 unsigned int __flags;
46#else /* __x86_64__ */
47 /* FLAGS must stay at this position in the structure to maintain
48 binary compatibility. */
49 unsigned char __flags;
50 unsigned char __shared;
51 signed char __rwelision;
52 unsigned char __pad2;
53 int __cur_writer;
54#endif
55};
56
57#ifdef __x86_64__
58# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
59 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
60#else
61# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
62 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
63#endif
64
65#endif
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/sysctl.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#if defined __x86_64__ && defined __ILP32__18#if defined __x86_64__ && defined __ILP32__
19# error "sysctl system call is unsupported in x32 kernel"19# error "sysctl system call is unsupported in x32 kernel"
lib/libc/include/x86_64-linux-gnux32/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, x86-64 and x32 case.1/* Bit size of the time_t type at glibc build time, x86-64 and x32 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#if defined __x86_64__ && defined __ILP32__19#if defined __x86_64__ && defined __ILP32__
20/* For x32, time is 64-bit even though word size is 32-bit. */20/* For x32, time is 64-bit even though word size is 32-bit. */
lib/libc/include/x86_64-linux-gnux32/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/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
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.
4!4!
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 @@
14!14!
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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')19!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
lib/libc/include/x86_64-linux-gnux32/fpu_control.h+2-2
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* FPU control word bits. x86 version.1/* FPU control word bits. x86 version.
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 Olaf Flebbe.4 Contributed by Olaf Flebbe.
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 _FPU_CONTROL_H20#ifndef _FPU_CONTROL_H
21#define _FPU_CONTROL_H 121#define _FPU_CONTROL_H 1
lib/libc/include/x86_64-linux-gnux32/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/include/x86_64-linux-gnux32/sys/ptrace.h+7-3
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1/* `ptrace' debugger support interface. Linux/x86 version.1/* `ptrace' debugger support interface. Linux/x86 version.
2 Copyright (C) 1996-2019 Free Software Foundation, Inc.2 Copyright (C) 1996-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
...@@ -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 _SYS_PTRACE_H20#ifndef _SYS_PTRACE_H
21#define _SYS_PTRACE_H 121#define _SYS_PTRACE_H 1
...@@ -186,8 +186,12 @@ enum __ptrace_request...@@ -186,8 +186,12 @@ enum __ptrace_request
186#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER186#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
187187
188 /* Get seccomp BPF filter metadata. */188 /* Get seccomp BPF filter metadata. */
189 PTRACE_SECCOMP_GET_METADATA = 0x420d189 PTRACE_SECCOMP_GET_METADATA = 0x420d,
190#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA190#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
191
192 /* Get information about system call. */
193 PTRACE_GET_SYSCALL_INFO = 0x420e
194#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
191};195};
192196
193197
lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h+2-2
...@@ -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,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_UCONTEXT_H18#ifndef _SYS_UCONTEXT_H
19#define _SYS_UCONTEXT_H 119#define _SYS_UCONTEXT_H 1
lib/libc/include/x86_64-linux-gnux32/sys/user.h+2-2
...@@ -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,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_USER_H18#ifndef _SYS_USER_H
19#define _SYS_USER_H 119#define _SYS_USER_H 1
lib/std/build.zig+2-2
...@@ -763,7 +763,7 @@ pub const Builder = struct {...@@ -763,7 +763,7 @@ pub const Builder = struct {
763 }763 }
764764
765 pub fn makePath(self: *Builder, path: []const u8) !void {765 pub fn makePath(self: *Builder, path: []const u8) !void {
766 fs.makePath(self.allocator, self.pathFromRoot(path)) catch |err| {766 fs.cwd().makePath(self.pathFromRoot(path)) catch |err| {
767 warn("Unable to create path {}: {}\n", .{ path, @errorName(err) });767 warn("Unable to create path {}: {}\n", .{ path, @errorName(err) });
768 return err;768 return err;
769 };769 };
...@@ -2311,7 +2311,7 @@ pub const InstallDirStep = struct {...@@ -2311,7 +2311,7 @@ pub const InstallDirStep = struct {
2311 const rel_path = entry.path[full_src_dir.len + 1 ..];2311 const rel_path = entry.path[full_src_dir.len + 1 ..];
2312 const dest_path = try fs.path.join(self.builder.allocator, &[_][]const u8{ dest_prefix, rel_path });2312 const dest_path = try fs.path.join(self.builder.allocator, &[_][]const u8{ dest_prefix, rel_path });
2313 switch (entry.kind) {2313 switch (entry.kind) {
2314 .Directory => try fs.makePath(self.builder.allocator, dest_path),2314 .Directory => try fs.cwd().makePath(dest_path),
2315 .File => try self.builder.updateFile(entry.path, dest_path),2315 .File => try self.builder.updateFile(entry.path, dest_path),
2316 else => continue,2316 else => continue,
2317 }2317 }
lib/std/build/emit_raw.zig+4-4
...@@ -213,11 +213,11 @@ pub const InstallRawStep = struct {...@@ -213,11 +213,11 @@ pub const InstallRawStep = struct {
213 builder: *Builder,213 builder: *Builder,
214 artifact: *LibExeObjStep,214 artifact: *LibExeObjStep,
215 dest_dir: InstallDir,215 dest_dir: InstallDir,
216 dest_filename: [] const u8,216 dest_filename: []const u8,
217217
218 const Self = @This();218 const Self = @This();
219219
220 pub fn create(builder: *Builder, artifact: *LibExeObjStep, dest_filename: [] const u8) *Self {220 pub fn create(builder: *Builder, artifact: *LibExeObjStep, dest_filename: []const u8) *Self {
221 const self = builder.allocator.create(Self) catch unreachable;221 const self = builder.allocator.create(Self) catch unreachable;
222 self.* = Self{222 self.* = Self{
223 .step = Step.init(builder.fmt("install raw binary {}", .{artifact.step.name}), builder.allocator, make),223 .step = Step.init(builder.fmt("install raw binary {}", .{artifact.step.name}), builder.allocator, make),
...@@ -249,7 +249,7 @@ pub const InstallRawStep = struct {...@@ -249,7 +249,7 @@ pub const InstallRawStep = struct {
249 const full_src_path = self.artifact.getOutputPath();249 const full_src_path = self.artifact.getOutputPath();
250 const full_dest_path = builder.getInstallPath(self.dest_dir, self.dest_filename);250 const full_dest_path = builder.getInstallPath(self.dest_dir, self.dest_filename);
251251
252 fs.makePath(builder.allocator, builder.getInstallPath(self.dest_dir, "")) catch unreachable;252 fs.cwd().makePath(builder.getInstallPath(self.dest_dir, "")) catch unreachable;
253 try emit_raw(builder.allocator, full_src_path, full_dest_path);253 try emit_raw(builder.allocator, full_src_path, full_dest_path);
254 }254 }
255};
\ No newline at end of file
255};
lib/std/build/write_file.zig+1-1
...@@ -74,7 +74,7 @@ pub const WriteFileStep = struct {...@@ -74,7 +74,7 @@ pub const WriteFileStep = struct {
74 &hash_basename,74 &hash_basename,
75 });75 });
76 // TODO replace with something like fs.makePathAndOpenDir76 // TODO replace with something like fs.makePathAndOpenDir
77 fs.makePath(self.builder.allocator, self.output_dir) catch |err| {77 fs.cwd().makePath(self.output_dir) catch |err| {
78 warn("unable to make path {}: {}\n", .{ self.output_dir, @errorName(err) });78 warn("unable to make path {}: {}\n", .{ self.output_dir, @errorName(err) });
79 return err;79 return err;
80 };80 };
lib/std/c.zig+4-1
...@@ -75,6 +75,7 @@ pub extern "c" fn isatty(fd: fd_t) c_int;...@@ -75,6 +75,7 @@ pub extern "c" fn isatty(fd: fd_t) c_int;
75pub extern "c" fn close(fd: fd_t) c_int;75pub extern "c" fn close(fd: fd_t) c_int;
76pub extern "c" fn fstat(fd: fd_t, buf: *Stat) c_int;76pub extern "c" fn fstat(fd: fd_t, buf: *Stat) c_int;
77pub extern "c" fn @"fstat$INODE64"(fd: fd_t, buf: *Stat) c_int;77pub extern "c" fn @"fstat$INODE64"(fd: fd_t, buf: *Stat) c_int;
78pub extern "c" fn fstatat(dirfd: fd_t, path: [*:0]const u8, stat_buf: *Stat, flags: u32) c_int;
78pub extern "c" fn lseek(fd: fd_t, offset: off_t, whence: c_int) off_t;79pub extern "c" fn lseek(fd: fd_t, offset: off_t, whence: c_int) off_t;
79pub extern "c" fn open(path: [*:0]const u8, oflag: c_uint, ...) c_int;80pub extern "c" fn open(path: [*:0]const u8, oflag: c_uint, ...) c_int;
80pub extern "c" fn openat(fd: c_int, path: [*:0]const u8, oflag: c_uint, ...) c_int;81pub extern "c" fn openat(fd: c_int, path: [*:0]const u8, oflag: c_uint, ...) c_int;
...@@ -101,9 +102,11 @@ pub extern "c" fn faccessat(dirfd: fd_t, path: [*:0]const u8, mode: c_uint, flag...@@ -101,9 +102,11 @@ pub extern "c" fn faccessat(dirfd: fd_t, path: [*:0]const u8, mode: c_uint, flag
101pub extern "c" fn pipe(fds: *[2]fd_t) c_int;102pub extern "c" fn pipe(fds: *[2]fd_t) c_int;
102pub extern "c" fn pipe2(fds: *[2]fd_t, flags: u32) c_int;103pub extern "c" fn pipe2(fds: *[2]fd_t, flags: u32) c_int;
103pub extern "c" fn mkdir(path: [*:0]const u8, mode: c_uint) c_int;104pub extern "c" fn mkdir(path: [*:0]const u8, mode: c_uint) c_int;
105pub extern "c" fn mkdirat(dirfd: fd_t, path: [*:0]const u8, mode: u32) c_int;
104pub extern "c" fn symlink(existing: [*:0]const u8, new: [*:0]const u8) c_int;106pub extern "c" fn symlink(existing: [*:0]const u8, new: [*:0]const u8) c_int;
105pub extern "c" fn rename(old: [*:0]const u8, new: [*:0]const u8) c_int;107pub extern "c" fn rename(old: [*:0]const u8, new: [*:0]const u8) c_int;
106pub extern "c" fn chdir(path: [*:0]const u8) c_int;108pub extern "c" fn chdir(path: [*:0]const u8) c_int;
109pub extern "c" fn fchdir(fd: fd_t) c_int;
107pub extern "c" fn execve(path: [*:0]const u8, argv: [*:null]const ?[*:0]const u8, envp: [*:null]const ?[*:0]const u8) c_int;110pub extern "c" fn execve(path: [*:0]const u8, argv: [*:null]const ?[*:0]const u8, envp: [*:null]const ?[*:0]const u8) c_int;
108pub extern "c" fn dup(fd: fd_t) c_int;111pub extern "c" fn dup(fd: fd_t) c_int;
109pub extern "c" fn dup2(old_fd: fd_t, new_fd: fd_t) c_int;112pub extern "c" fn dup2(old_fd: fd_t, new_fd: fd_t) c_int;
...@@ -142,7 +145,7 @@ pub extern "c" fn sendto(...@@ -142,7 +145,7 @@ pub extern "c" fn sendto(
142 buf: *const c_void,145 buf: *const c_void,
143 len: usize,146 len: usize,
144 flags: u32,147 flags: u32,
145 dest_addr: *const sockaddr,148 dest_addr: ?*const sockaddr,
146 addrlen: socklen_t,149 addrlen: socklen_t,
147) isize;150) isize;
148151
lib/std/c/darwin.zig+16
...@@ -55,6 +55,22 @@ pub extern "c" fn clock_get_time(clock_serv: clock_serv_t, cur_time: *mach_times...@@ -55,6 +55,22 @@ pub extern "c" fn clock_get_time(clock_serv: clock_serv_t, cur_time: *mach_times
55pub extern "c" fn host_get_clock_service(host: host_t, clock_id: clock_id_t, clock_serv: ?[*]clock_serv_t) kern_return_t;55pub extern "c" fn host_get_clock_service(host: host_t, clock_id: clock_id_t, clock_serv: ?[*]clock_serv_t) kern_return_t;
56pub extern "c" fn mach_port_deallocate(task: ipc_space_t, name: mach_port_name_t) kern_return_t;56pub extern "c" fn mach_port_deallocate(task: ipc_space_t, name: mach_port_name_t) kern_return_t;
5757
58pub const sf_hdtr = extern struct {
59 headers: [*]const iovec_const,
60 hdr_cnt: c_int,
61 trailers: [*]const iovec_const,
62 trl_cnt: c_int,
63};
64
65pub extern "c" fn sendfile(
66 out_fd: fd_t,
67 in_fd: fd_t,
68 offset: off_t,
69 len: *off_t,
70 sf_hdtr: ?*sf_hdtr,
71 flags: u32,
72) c_int;
73
58pub fn sigaddset(set: *sigset_t, signo: u5) void {74pub fn sigaddset(set: *sigset_t, signo: u5) void {
59 set.* |= @as(u32, 1) << (signo - 1);75 set.* |= @as(u32, 1) << (signo - 1);
60}76}
lib/std/c/freebsd.zig+16
...@@ -8,6 +8,22 @@ pub extern "c" fn getdents(fd: c_int, buf_ptr: [*]u8, nbytes: usize) usize;...@@ -8,6 +8,22 @@ pub extern "c" fn getdents(fd: c_int, buf_ptr: [*]u8, nbytes: usize) usize;
8pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;8pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;
9pub extern "c" fn getrandom(buf_ptr: [*]u8, buf_len: usize, flags: c_uint) isize;9pub extern "c" fn getrandom(buf_ptr: [*]u8, buf_len: usize, flags: c_uint) isize;
1010
11pub const sf_hdtr = extern struct {
12 headers: [*]const iovec_const,
13 hdr_cnt: c_int,
14 trailers: [*]const iovec_const,
15 trl_cnt: c_int,
16};
17pub extern "c" fn sendfile(
18 out_fd: fd_t,
19 in_fd: fd_t,
20 offset: ?*off_t,
21 nbytes: usize,
22 sf_hdtr: ?*sf_hdtr,
23 sbytes: ?*off_t,
24 flags: u32,
25) c_int;
26
11pub const dl_iterate_phdr_callback = extern fn (info: *dl_phdr_info, size: usize, data: ?*c_void) c_int;27pub const dl_iterate_phdr_callback = extern fn (info: *dl_phdr_info, size: usize, data: ?*c_void) c_int;
12pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*c_void) c_int;28pub extern "c" fn dl_iterate_phdr(callback: dl_iterate_phdr_callback, data: ?*c_void) c_int;
1329
lib/std/c/linux.zig+7
...@@ -82,6 +82,13 @@ pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;...@@ -82,6 +82,13 @@ pub extern "c" fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) c_int;
8282
83pub extern "c" fn memfd_create(name: [*:0]const u8, flags: c_uint) c_int;83pub extern "c" fn memfd_create(name: [*:0]const u8, flags: c_uint) c_int;
8484
85pub extern "c" fn sendfile(
86 out_fd: fd_t,
87 in_fd: fd_t,
88 offset: ?*off_t,
89 count: usize,
90) isize;
91
85pub const pthread_attr_t = extern struct {92pub const pthread_attr_t = extern struct {
86 __size: [56]u8,93 __size: [56]u8,
87 __align: c_long,94 __align: c_long,
lib/std/event/loop.zig+12-10
...@@ -236,7 +236,8 @@ pub const Loop = struct {...@@ -236,7 +236,8 @@ pub const Loop = struct {
236 var extra_thread_index: usize = 0;236 var extra_thread_index: usize = 0;
237 errdefer {237 errdefer {
238 // writing 8 bytes to an eventfd cannot fail238 // writing 8 bytes to an eventfd cannot fail
239 noasync os.write(self.os_data.final_eventfd, &wakeup_bytes) catch unreachable;239 const amt = noasync os.write(self.os_data.final_eventfd, &wakeup_bytes) catch unreachable;
240 assert(amt == wakeup_bytes.len);
240 while (extra_thread_index != 0) {241 while (extra_thread_index != 0) {
241 extra_thread_index -= 1;242 extra_thread_index -= 1;
242 self.extra_threads[extra_thread_index].wait();243 self.extra_threads[extra_thread_index].wait();
...@@ -682,7 +683,8 @@ pub const Loop = struct {...@@ -682,7 +683,8 @@ pub const Loop = struct {
682 .linux => {683 .linux => {
683 self.posixFsRequest(&self.os_data.fs_end_request);684 self.posixFsRequest(&self.os_data.fs_end_request);
684 // writing 8 bytes to an eventfd cannot fail685 // writing 8 bytes to an eventfd cannot fail
685 noasync os.write(self.os_data.final_eventfd, &wakeup_bytes) catch unreachable;686 const amt = noasync os.write(self.os_data.final_eventfd, &wakeup_bytes) catch unreachable;
687 assert(amt == wakeup_bytes.len);
686 return;688 return;
687 },689 },
688 .macosx, .freebsd, .netbsd, .dragonfly => {690 .macosx, .freebsd, .netbsd, .dragonfly => {
...@@ -831,7 +833,7 @@ pub const Loop = struct {...@@ -831,7 +833,7 @@ pub const Loop = struct {
831833
832 /// Performs an async `os.write` using a separate thread.834 /// Performs an async `os.write` using a separate thread.
833 /// `fd` must block and not return EAGAIN.835 /// `fd` must block and not return EAGAIN.
834 pub fn write(self: *Loop, fd: os.fd_t, bytes: []const u8) os.WriteError!void {836 pub fn write(self: *Loop, fd: os.fd_t, bytes: []const u8) os.WriteError!usize {
835 var req_node = Request.Node{837 var req_node = Request.Node{
836 .data = .{838 .data = .{
837 .msg = .{839 .msg = .{
...@@ -852,7 +854,7 @@ pub const Loop = struct {...@@ -852,7 +854,7 @@ pub const Loop = struct {
852854
853 /// Performs an async `os.writev` using a separate thread.855 /// Performs an async `os.writev` using a separate thread.
854 /// `fd` must block and not return EAGAIN.856 /// `fd` must block and not return EAGAIN.
855 pub fn writev(self: *Loop, fd: os.fd_t, iov: []const os.iovec_const) os.WriteError!void {857 pub fn writev(self: *Loop, fd: os.fd_t, iov: []const os.iovec_const) os.WriteError!usize {
856 var req_node = Request.Node{858 var req_node = Request.Node{
857 .data = .{859 .data = .{
858 .msg = .{860 .msg = .{
...@@ -873,7 +875,7 @@ pub const Loop = struct {...@@ -873,7 +875,7 @@ pub const Loop = struct {
873875
874 /// Performs an async `os.pwritev` using a separate thread.876 /// Performs an async `os.pwritev` using a separate thread.
875 /// `fd` must block and not return EAGAIN.877 /// `fd` must block and not return EAGAIN.
876 pub fn pwritev(self: *Loop, fd: os.fd_t, iov: []const os.iovec_const, offset: u64) os.WriteError!void {878 pub fn pwritev(self: *Loop, fd: os.fd_t, iov: []const os.iovec_const, offset: u64) os.WriteError!usize {
877 var req_node = Request.Node{879 var req_node = Request.Node{
878 .data = .{880 .data = .{
879 .msg = .{881 .msg = .{
...@@ -1137,7 +1139,7 @@ pub const Loop = struct {...@@ -1137,7 +1139,7 @@ pub const Loop = struct {
1137 pub const Write = struct {1139 pub const Write = struct {
1138 fd: os.fd_t,1140 fd: os.fd_t,
1139 bytes: []const u8,1141 bytes: []const u8,
1140 result: Error!void,1142 result: Error!usize,
11411143
1142 pub const Error = os.WriteError;1144 pub const Error = os.WriteError;
1143 };1145 };
...@@ -1145,7 +1147,7 @@ pub const Loop = struct {...@@ -1145,7 +1147,7 @@ pub const Loop = struct {
1145 pub const WriteV = struct {1147 pub const WriteV = struct {
1146 fd: os.fd_t,1148 fd: os.fd_t,
1147 iov: []const os.iovec_const,1149 iov: []const os.iovec_const,
1148 result: Error!void,1150 result: Error!usize,
11491151
1150 pub const Error = os.WriteError;1152 pub const Error = os.WriteError;
1151 };1153 };
...@@ -1154,9 +1156,9 @@ pub const Loop = struct {...@@ -1154,9 +1156,9 @@ pub const Loop = struct {
1154 fd: os.fd_t,1156 fd: os.fd_t,
1155 iov: []const os.iovec_const,1157 iov: []const os.iovec_const,
1156 offset: usize,1158 offset: usize,
1157 result: Error!void,1159 result: Error!usize,
11581160
1159 pub const Error = os.WriteError;1161 pub const Error = os.PWriteError;
1160 };1162 };
11611163
1162 pub const PReadV = struct {1164 pub const PReadV = struct {
...@@ -1165,7 +1167,7 @@ pub const Loop = struct {...@@ -1165,7 +1167,7 @@ pub const Loop = struct {
1165 offset: usize,1167 offset: usize,
1166 result: Error!usize,1168 result: Error!usize,
11671169
1168 pub const Error = os.ReadError;1170 pub const Error = os.PReadError;
1169 };1171 };
11701172
1171 pub const Open = struct {1173 pub const Open = struct {
lib/std/fs.zig+104-100
...@@ -123,47 +123,21 @@ pub fn updateFileMode(source_path: []const u8, dest_path: []const u8, mode: ?Fil...@@ -123,47 +123,21 @@ pub fn updateFileMode(source_path: []const u8, dest_path: []const u8, mode: ?Fil
123 }123 }
124 const actual_mode = mode orelse src_stat.mode;124 const actual_mode = mode orelse src_stat.mode;
125125
126 // TODO this logic could be made more efficient by calling makePath, once126 if (path.dirname(dest_path)) |dirname| {
127 // that API does not require an allocator127 try cwd().makePath(dirname);
128 var atomic_file = make_atomic_file: while (true) {128 }
129 const af = AtomicFile.init(dest_path, actual_mode) catch |err| switch (err) {
130 error.FileNotFound => {
131 var p = dest_path;
132 while (path.dirname(p)) |dirname| {
133 makeDir(dirname) catch |e| switch (e) {
134 error.FileNotFound => {
135 p = dirname;
136 continue;
137 },
138 else => return e,
139 };
140 continue :make_atomic_file;
141 } else {
142 return err;
143 }
144 },
145 else => |e| return e,
146 };
147 break af;
148 } else unreachable;
149 defer atomic_file.deinit();
150129
151 const in_stream = &src_file.inStream().stream;130 var atomic_file = try AtomicFile.init(dest_path, actual_mode);
131 defer atomic_file.deinit();
152132
153 var buf: [mem.page_size * 6]u8 = undefined;133 try atomic_file.file.writeFileAll(src_file, .{ .in_len = src_stat.size });
154 while (true) {134 try atomic_file.file.updateTimes(src_stat.atime, src_stat.mtime);
155 const amt = try in_stream.readFull(buf[0..]);135 try atomic_file.finish();
156 try atomic_file.file.write(buf[0..amt]);136 return PrevStatus.stale;
157 if (amt != buf.len) {
158 try atomic_file.file.updateTimes(src_stat.atime, src_stat.mtime);
159 try atomic_file.finish();
160 return PrevStatus.stale;
161 }
162 }
163}137}
164138
165/// Guaranteed to be atomic. However until https://patchwork.kernel.org/patch/9636735/ is139/// Guaranteed to be atomic.
166/// merged and readily available,140/// On Linux, until https://patchwork.kernel.org/patch/9636735/ is merged and readily available,
167/// there is a possibility of power loss or application termination leaving temporary files present141/// there is a possibility of power loss or application termination leaving temporary files present
168/// in the same directory as dest_path.142/// in the same directory as dest_path.
169/// Destination file will have the same mode as the source file.143/// Destination file will have the same mode as the source file.
...@@ -207,6 +181,9 @@ pub fn copyFileMode(source_path: []const u8, dest_path: []const u8, mode: File.M...@@ -207,6 +181,9 @@ pub fn copyFileMode(source_path: []const u8, dest_path: []const u8, mode: File.M
207 }181 }
208}182}
209183
184/// TODO update this API to avoid a getrandom syscall for every operation. It
185/// should accept a random interface.
186/// TODO rework this to integrate with Dir
210pub const AtomicFile = struct {187pub const AtomicFile = struct {
211 file: File,188 file: File,
212 tmp_path_buf: [MAX_PATH_BYTES]u8,189 tmp_path_buf: [MAX_PATH_BYTES]u8,
...@@ -268,70 +245,42 @@ pub const AtomicFile = struct {...@@ -268,70 +245,42 @@ pub const AtomicFile = struct {
268245
269 pub fn finish(self: *AtomicFile) !void {246 pub fn finish(self: *AtomicFile) !void {
270 assert(!self.finished);247 assert(!self.finished);
271 self.file.close();248 if (std.Target.current.os.tag == .windows) {
272 self.finished = true;
273 if (builtin.os.tag == .windows) {
274 const dest_path_w = try os.windows.sliceToPrefixedFileW(self.dest_path);249 const dest_path_w = try os.windows.sliceToPrefixedFileW(self.dest_path);
275 const tmp_path_w = try os.windows.cStrToPrefixedFileW(@ptrCast([*:0]u8, &self.tmp_path_buf));250 const tmp_path_w = try os.windows.cStrToPrefixedFileW(@ptrCast([*:0]u8, &self.tmp_path_buf));
251 self.file.close();
252 self.finished = true;
276 return os.renameW(&tmp_path_w, &dest_path_w);253 return os.renameW(&tmp_path_w, &dest_path_w);
254 } else {
255 const dest_path_c = try os.toPosixPath(self.dest_path);
256 self.file.close();
257 self.finished = true;
258 return os.renameC(@ptrCast([*:0]u8, &self.tmp_path_buf), &dest_path_c);
277 }259 }
278 const dest_path_c = try os.toPosixPath(self.dest_path);
279 return os.renameC(@ptrCast([*:0]u8, &self.tmp_path_buf), &dest_path_c);
280 }260 }
281};261};
282262
283const default_new_dir_mode = 0o755;263const default_new_dir_mode = 0o755;
284264
285/// Create a new directory.265/// Create a new directory, based on an absolute path.
286pub fn makeDir(dir_path: []const u8) !void {266/// Asserts that the path is absolute. See `Dir.makeDir` for a function that operates
287 return os.mkdir(dir_path, default_new_dir_mode);267/// on both absolute and relative paths.
268pub fn makeDirAbsolute(absolute_path: []const u8) !void {
269 assert(path.isAbsoluteC(absolute_path));
270 return os.mkdir(absolute_path, default_new_dir_mode);
288}271}
289272
290/// Same as `makeDir` except the parameter is a null-terminated UTF8-encoded string.273/// Same as `makeDirAbsolute` except the parameter is a null-terminated UTF8-encoded string.
291pub fn makeDirC(dir_path: [*:0]const u8) !void {274pub fn makeDirAbsoluteZ(absolute_path_z: [*:0]const u8) !void {
292 return os.mkdirC(dir_path, default_new_dir_mode);275 assert(path.isAbsoluteC(absolute_path_z));
276 return os.mkdirZ(absolute_path_z, default_new_dir_mode);
293}277}
294278
295/// Same as `makeDir` except the parameter is a null-terminated UTF16LE-encoded string.279/// Same as `makeDirAbsolute` except the parameter is a null-terminated WTF-16 encoded string.
296pub fn makeDirW(dir_path: [*:0]const u16) !void {280pub fn makeDirAbsoluteW(absolute_path_w: [*:0]const u16) !void {
297 return os.mkdirW(dir_path, default_new_dir_mode);281 assert(path.isAbsoluteWindowsW(absolute_path_w));
298}282 const handle = try os.windows.CreateDirectoryW(null, absolute_path_w, null);
299283 os.windows.CloseHandle(handle);
300/// Calls makeDir recursively to make an entire path. Returns success if the path
301/// already exists and is a directory.
302/// This function is not atomic, and if it returns an error, the file system may
303/// have been modified regardless.
304/// TODO determine if we can remove the allocator requirement from this function
305pub fn makePath(allocator: *Allocator, full_path: []const u8) !void {
306 const resolved_path = try path.resolve(allocator, &[_][]const u8{full_path});
307 defer allocator.free(resolved_path);
308
309 var end_index: usize = resolved_path.len;
310 while (true) {
311 makeDir(resolved_path[0..end_index]) catch |err| switch (err) {
312 error.PathAlreadyExists => {
313 // TODO stat the file and return an error if it's not a directory
314 // this is important because otherwise a dangling symlink
315 // could cause an infinite loop
316 if (end_index == resolved_path.len) return;
317 },
318 error.FileNotFound => {
319 // march end_index backward until next path component
320 while (true) {
321 end_index -= 1;
322 if (path.isSep(resolved_path[end_index])) break;
323 }
324 continue;
325 },
326 else => return err,
327 };
328 if (end_index == resolved_path.len) return;
329 // march end_index forward until next path component
330 while (true) {
331 end_index += 1;
332 if (end_index == resolved_path.len or path.isSep(resolved_path[end_index])) break;
333 }
334 }
335}284}
336285
337/// Returns `error.DirNotEmpty` if the directory is not empty.286/// Returns `error.DirNotEmpty` if the directory is not empty.
...@@ -709,17 +658,19 @@ pub const Dir = struct {...@@ -709,17 +658,19 @@ pub const Dir = struct {
709 /// Call `File.close` to release the resource.658 /// Call `File.close` to release the resource.
710 /// Asserts that the path parameter has no null bytes.659 /// Asserts that the path parameter has no null bytes.
711 pub fn openFile(self: Dir, sub_path: []const u8, flags: File.OpenFlags) File.OpenError!File {660 pub fn openFile(self: Dir, sub_path: []const u8, flags: File.OpenFlags) File.OpenError!File {
712 if (std.debug.runtime_safety) for (sub_path) |byte| assert(byte != 0);
713 if (builtin.os.tag == .windows) {661 if (builtin.os.tag == .windows) {
714 const path_w = try os.windows.sliceToPrefixedFileW(sub_path);662 const path_w = try os.windows.sliceToPrefixedFileW(sub_path);
715 return self.openFileW(&path_w, flags);663 return self.openFileW(&path_w, flags);
716 }664 }
717 const path_c = try os.toPosixPath(sub_path);665 const path_c = try os.toPosixPath(sub_path);
718 return self.openFileC(&path_c, flags);666 return self.openFileZ(&path_c, flags);
719 }667 }
720668
669 /// Deprecated; use `openFileZ`.
670 pub const openFileC = openFileZ;
671
721 /// Same as `openFile` but the path parameter is null-terminated.672 /// Same as `openFile` but the path parameter is null-terminated.
722 pub fn openFileC(self: Dir, sub_path: [*:0]const u8, flags: File.OpenFlags) File.OpenError!File {673 pub fn openFileZ(self: Dir, sub_path: [*:0]const u8, flags: File.OpenFlags) File.OpenError!File {
723 if (builtin.os.tag == .windows) {674 if (builtin.os.tag == .windows) {
724 const path_w = try os.windows.cStrToPrefixedFileW(sub_path);675 const path_w = try os.windows.cStrToPrefixedFileW(sub_path);
725 return self.openFileW(&path_w, flags);676 return self.openFileW(&path_w, flags);
...@@ -759,7 +710,6 @@ pub const Dir = struct {...@@ -759,7 +710,6 @@ pub const Dir = struct {
759 /// Call `File.close` on the result when done.710 /// Call `File.close` on the result when done.
760 /// Asserts that the path parameter has no null bytes.711 /// Asserts that the path parameter has no null bytes.
761 pub fn createFile(self: Dir, sub_path: []const u8, flags: File.CreateFlags) File.OpenError!File {712 pub fn createFile(self: Dir, sub_path: []const u8, flags: File.CreateFlags) File.OpenError!File {
762 if (std.debug.runtime_safety) for (sub_path) |byte| assert(byte != 0);
763 if (builtin.os.tag == .windows) {713 if (builtin.os.tag == .windows) {
764 const path_w = try os.windows.sliceToPrefixedFileW(sub_path);714 const path_w = try os.windows.sliceToPrefixedFileW(sub_path);
765 return self.createFileW(&path_w, flags);715 return self.createFileW(&path_w, flags);
...@@ -806,9 +756,9 @@ pub const Dir = struct {...@@ -806,9 +756,9 @@ pub const Dir = struct {
806 return self.openFile(sub_path, .{});756 return self.openFile(sub_path, .{});
807 }757 }
808758
809 /// Deprecated; call `openFileC` directly.759 /// Deprecated; call `openFileZ` directly.
810 pub fn openReadC(self: Dir, sub_path: [*:0]const u8) File.OpenError!File {760 pub fn openReadC(self: Dir, sub_path: [*:0]const u8) File.OpenError!File {
811 return self.openFileC(sub_path, .{});761 return self.openFileZ(sub_path, .{});
812 }762 }
813763
814 /// Deprecated; call `openFileW` directly.764 /// Deprecated; call `openFileW` directly.
...@@ -882,6 +832,64 @@ pub const Dir = struct {...@@ -882,6 +832,64 @@ pub const Dir = struct {
882 }832 }
883 }833 }
884834
835 pub fn makeDir(self: Dir, sub_path: []const u8) !void {
836 try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
837 }
838
839 pub fn makeDirZ(self: Dir, sub_path: [*:0]const u8) !void {
840 try os.mkdiratC(self.fd, sub_path, default_new_dir_mode);
841 }
842
843 pub fn makeDirW(self: Dir, sub_path: [*:0]const u16) !void {
844 const handle = try os.windows.CreateDirectoryW(self.fd, sub_path, null);
845 os.windows.CloseHandle(handle);
846 }
847
848 /// Calls makeDir recursively to make an entire path. Returns success if the path
849 /// already exists and is a directory.
850 /// This function is not atomic, and if it returns an error, the file system may
851 /// have been modified regardless.
852 pub fn makePath(self: Dir, sub_path: []const u8) !void {
853 var end_index: usize = sub_path.len;
854 while (true) {
855 self.makeDir(sub_path[0..end_index]) catch |err| switch (err) {
856 error.PathAlreadyExists => {
857 // TODO stat the file and return an error if it's not a directory
858 // this is important because otherwise a dangling symlink
859 // could cause an infinite loop
860 if (end_index == sub_path.len) return;
861 },
862 error.FileNotFound => {
863 if (end_index == 0) return err;
864 // march end_index backward until next path component
865 while (true) {
866 end_index -= 1;
867 if (path.isSep(sub_path[end_index])) break;
868 }
869 continue;
870 },
871 else => return err,
872 };
873 if (end_index == sub_path.len) return;
874 // march end_index forward until next path component
875 while (true) {
876 end_index += 1;
877 if (end_index == sub_path.len or path.isSep(sub_path[end_index])) break;
878 }
879 }
880 }
881
882 /// Changes the current working directory to the open directory handle.
883 /// This modifies global state and can have surprising effects in multi-
884 /// threaded applications. Most applications and especially libraries should
885 /// not call this function as a general rule, however it can have use cases
886 /// in, for example, implementing a shell, or child process execution.
887 /// Not all targets support this. For example, WASI does not have the concept
888 /// of a current working directory.
889 pub fn setAsCwd(self: Dir) !void {
890 try os.fchdir(self.fd);
891 }
892
885 /// Deprecated; call `openDirList` directly.893 /// Deprecated; call `openDirList` directly.
886 pub fn openDir(self: Dir, sub_path: []const u8) OpenError!Dir {894 pub fn openDir(self: Dir, sub_path: []const u8) OpenError!Dir {
887 return self.openDirList(sub_path);895 return self.openDirList(sub_path);
...@@ -900,7 +908,6 @@ pub const Dir = struct {...@@ -900,7 +908,6 @@ pub const Dir = struct {
900 ///908 ///
901 /// Asserts that the path parameter has no null bytes.909 /// Asserts that the path parameter has no null bytes.
902 pub fn openDirTraverse(self: Dir, sub_path: []const u8) OpenError!Dir {910 pub fn openDirTraverse(self: Dir, sub_path: []const u8) OpenError!Dir {
903 if (std.debug.runtime_safety) for (sub_path) |byte| assert(byte != 0);
904 if (builtin.os.tag == .windows) {911 if (builtin.os.tag == .windows) {
905 const sub_path_w = try os.windows.sliceToPrefixedFileW(sub_path);912 const sub_path_w = try os.windows.sliceToPrefixedFileW(sub_path);
906 return self.openDirTraverseW(&sub_path_w);913 return self.openDirTraverseW(&sub_path_w);
...@@ -918,7 +925,6 @@ pub const Dir = struct {...@@ -918,7 +925,6 @@ pub const Dir = struct {
918 ///925 ///
919 /// Asserts that the path parameter has no null bytes.926 /// Asserts that the path parameter has no null bytes.
920 pub fn openDirList(self: Dir, sub_path: []const u8) OpenError!Dir {927 pub fn openDirList(self: Dir, sub_path: []const u8) OpenError!Dir {
921 if (std.debug.runtime_safety) for (sub_path) |byte| assert(byte != 0);
922 if (builtin.os.tag == .windows) {928 if (builtin.os.tag == .windows) {
923 const sub_path_w = try os.windows.sliceToPrefixedFileW(sub_path);929 const sub_path_w = try os.windows.sliceToPrefixedFileW(sub_path);
924 return self.openDirListW(&sub_path_w);930 return self.openDirListW(&sub_path_w);
...@@ -1082,7 +1088,6 @@ pub const Dir = struct {...@@ -1082,7 +1088,6 @@ pub const Dir = struct {
1082 /// To delete a directory recursively, see `deleteTree`.1088 /// To delete a directory recursively, see `deleteTree`.
1083 /// Asserts that the path parameter has no null bytes.1089 /// Asserts that the path parameter has no null bytes.
1084 pub fn deleteDir(self: Dir, sub_path: []const u8) DeleteDirError!void {1090 pub fn deleteDir(self: Dir, sub_path: []const u8) DeleteDirError!void {
1085 if (std.debug.runtime_safety) for (sub_path) |byte| assert(byte != 0);
1086 if (builtin.os.tag == .windows) {1091 if (builtin.os.tag == .windows) {
1087 const sub_path_w = try os.windows.sliceToPrefixedFileW(sub_path);1092 const sub_path_w = try os.windows.sliceToPrefixedFileW(sub_path);
1088 return self.deleteDirW(&sub_path_w);1093 return self.deleteDirW(&sub_path_w);
...@@ -1112,7 +1117,6 @@ pub const Dir = struct {...@@ -1112,7 +1117,6 @@ pub const Dir = struct {
1112 /// The return value is a slice of `buffer`, from index `0`.1117 /// The return value is a slice of `buffer`, from index `0`.
1113 /// Asserts that the path parameter has no null bytes.1118 /// Asserts that the path parameter has no null bytes.
1114 pub fn readLink(self: Dir, sub_path: []const u8, buffer: *[MAX_PATH_BYTES]u8) ![]u8 {1119 pub fn readLink(self: Dir, sub_path: []const u8, buffer: *[MAX_PATH_BYTES]u8) ![]u8 {
1115 if (std.debug.runtime_safety) for (sub_path) |byte| assert(byte != 0);
1116 const sub_path_c = try os.toPosixPath(sub_path);1120 const sub_path_c = try os.toPosixPath(sub_path);
1117 return self.readLinkC(&sub_path_c, buffer);1121 return self.readLinkC(&sub_path_c, buffer);
1118 }1122 }
...@@ -1329,7 +1333,7 @@ pub const Dir = struct {...@@ -1329,7 +1333,7 @@ pub const Dir = struct {
1329 pub fn writeFile(self: Dir, sub_path: []const u8, data: []const u8) !void {1333 pub fn writeFile(self: Dir, sub_path: []const u8, data: []const u8) !void {
1330 var file = try self.createFile(sub_path, .{});1334 var file = try self.createFile(sub_path, .{});
1331 defer file.close();1335 defer file.close();
1332 try file.write(data);1336 try file.writeAll(data);
1333 }1337 }
13341338
1335 pub const AccessError = os.AccessError;1339 pub const AccessError = os.AccessError;
...@@ -1402,7 +1406,7 @@ pub fn openFileAbsolute(absolute_path: []const u8, flags: File.OpenFlags) File.O...@@ -1402,7 +1406,7 @@ pub fn openFileAbsolute(absolute_path: []const u8, flags: File.OpenFlags) File.O
1402/// Same as `openFileAbsolute` but the path parameter is null-terminated.1406/// Same as `openFileAbsolute` but the path parameter is null-terminated.
1403pub fn openFileAbsoluteC(absolute_path_c: [*:0]const u8, flags: File.OpenFlags) File.OpenError!File {1407pub fn openFileAbsoluteC(absolute_path_c: [*:0]const u8, flags: File.OpenFlags) File.OpenError!File {
1404 assert(path.isAbsoluteC(absolute_path_c));1408 assert(path.isAbsoluteC(absolute_path_c));
1405 return cwd().openFileC(absolute_path_c, flags);1409 return cwd().openFileZ(absolute_path_c, flags);
1406}1410}
14071411
1408/// Same as `openFileAbsolute` but the path parameter is WTF-16 encoded.1412/// Same as `openFileAbsolute` but the path parameter is WTF-16 encoded.
lib/std/fs/file.zig+214-17
...@@ -228,63 +228,260 @@ pub const File = struct {...@@ -228,63 +228,260 @@ pub const File = struct {
228 }228 }
229229
230 pub const ReadError = os.ReadError;230 pub const ReadError = os.ReadError;
231 pub const PReadError = os.PReadError;
231232
232 pub fn read(self: File, buffer: []u8) ReadError!usize {233 pub fn read(self: File, buffer: []u8) ReadError!usize {
233 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {234 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {
234 return std.event.Loop.instance.?.read(self.handle, buffer);235 return std.event.Loop.instance.?.read(self.handle, buffer);
236 } else {
237 return os.read(self.handle, buffer);
238 }
239 }
240
241 pub fn readAll(self: File, buffer: []u8) ReadError!void {
242 var index: usize = 0;
243 while (index < buffer.len) {
244 index += try self.read(buffer[index..]);
235 }245 }
236 return os.read(self.handle, buffer);
237 }246 }
238247
239 pub fn pread(self: File, buffer: []u8, offset: u64) ReadError!usize {248 pub fn pread(self: File, buffer: []u8, offset: u64) PReadError!usize {
240 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {249 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {
241 return std.event.Loop.instance.?.pread(self.handle, buffer);250 return std.event.Loop.instance.?.pread(self.handle, buffer, offset);
251 } else {
252 return os.pread(self.handle, buffer, offset);
253 }
254 }
255
256 pub fn preadAll(self: File, buffer: []u8, offset: u64) PReadError!void {
257 var index: usize = 0;
258 while (index < buffer.len) {
259 index += try self.pread(buffer[index..], offset + index);
242 }260 }
243 return os.pread(self.handle, buffer, offset);
244 }261 }
245262
246 pub fn readv(self: File, iovecs: []const os.iovec) ReadError!usize {263 pub fn readv(self: File, iovecs: []const os.iovec) ReadError!usize {
247 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {264 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {
248 return std.event.Loop.instance.?.readv(self.handle, iovecs);265 return std.event.Loop.instance.?.readv(self.handle, iovecs);
266 } else {
267 return os.readv(self.handle, iovecs);
249 }268 }
250 return os.readv(self.handle, iovecs);
251 }269 }
252270
253 pub fn preadv(self: File, iovecs: []const os.iovec, offset: u64) ReadError!usize {271 /// The `iovecs` parameter is mutable because this function needs to mutate the fields in
272 /// order to handle partial reads from the underlying OS layer.
273 pub fn readvAll(self: File, iovecs: []os.iovec) ReadError!void {
274 if (iovecs.len == 0) return;
275
276 var i: usize = 0;
277 while (true) {
278 var amt = try self.readv(iovecs[i..]);
279 while (amt >= iovecs[i].iov_len) {
280 amt -= iovecs[i].iov_len;
281 i += 1;
282 if (i >= iovecs.len) return;
283 }
284 iovecs[i].iov_base += amt;
285 iovecs[i].iov_len -= amt;
286 }
287 }
288
289 pub fn preadv(self: File, iovecs: []const os.iovec, offset: u64) PReadError!usize {
254 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {290 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {
255 return std.event.Loop.instance.?.preadv(self.handle, iovecs, offset);291 return std.event.Loop.instance.?.preadv(self.handle, iovecs, offset);
292 } else {
293 return os.preadv(self.handle, iovecs, offset);
294 }
295 }
296
297 /// The `iovecs` parameter is mutable because this function needs to mutate the fields in
298 /// order to handle partial reads from the underlying OS layer.
299 pub fn preadvAll(self: File, iovecs: []const os.iovec, offset: u64) PReadError!void {
300 if (iovecs.len == 0) return;
301
302 var i: usize = 0;
303 var off: usize = 0;
304 while (true) {
305 var amt = try self.preadv(iovecs[i..], offset + off);
306 off += amt;
307 while (amt >= iovecs[i].iov_len) {
308 amt -= iovecs[i].iov_len;
309 i += 1;
310 if (i >= iovecs.len) return;
311 }
312 iovecs[i].iov_base += amt;
313 iovecs[i].iov_len -= amt;
256 }314 }
257 return os.preadv(self.handle, iovecs, offset);
258 }315 }
259316
260 pub const WriteError = os.WriteError;317 pub const WriteError = os.WriteError;
318 pub const PWriteError = os.PWriteError;
261319
262 pub fn write(self: File, bytes: []const u8) WriteError!void {320 pub fn write(self: File, bytes: []const u8) WriteError!usize {
263 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {321 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {
264 return std.event.Loop.instance.?.write(self.handle, bytes);322 return std.event.Loop.instance.?.write(self.handle, bytes);
323 } else {
324 return os.write(self.handle, bytes);
325 }
326 }
327
328 pub fn writeAll(self: File, bytes: []const u8) WriteError!void {
329 var index: usize = 0;
330 while (index < bytes.len) {
331 index += try self.write(bytes[index..]);
265 }332 }
266 return os.write(self.handle, bytes);
267 }333 }
268334
269 pub fn pwrite(self: File, bytes: []const u8, offset: u64) WriteError!void {335 pub fn pwrite(self: File, bytes: []const u8, offset: u64) PWriteError!usize {
270 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {336 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {
271 return std.event.Loop.instance.?.pwrite(self.handle, bytes, offset);337 return std.event.Loop.instance.?.pwrite(self.handle, bytes, offset);
338 } else {
339 return os.pwrite(self.handle, bytes, offset);
272 }340 }
273 return os.pwrite(self.handle, bytes, offset);
274 }341 }
275342
276 pub fn writev(self: File, iovecs: []const os.iovec_const) WriteError!void {343 pub fn pwriteAll(self: File, bytes: []const u8, offset: u64) PWriteError!void {
344 var index: usize = 0;
345 while (index < bytes.len) {
346 index += try self.pwrite(bytes[index..], offset + index);
347 }
348 }
349
350 pub fn writev(self: File, iovecs: []const os.iovec_const) WriteError!usize {
277 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {351 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {
278 return std.event.Loop.instance.?.writev(self.handle, iovecs);352 return std.event.Loop.instance.?.writev(self.handle, iovecs);
353 } else {
354 return os.writev(self.handle, iovecs);
355 }
356 }
357
358 /// The `iovecs` parameter is mutable because this function needs to mutate the fields in
359 /// order to handle partial writes from the underlying OS layer.
360 pub fn writevAll(self: File, iovecs: []os.iovec_const) WriteError!void {
361 if (iovecs.len == 0) return;
362
363 var i: usize = 0;
364 while (true) {
365 var amt = try self.writev(iovecs[i..]);
366 while (amt >= iovecs[i].iov_len) {
367 amt -= iovecs[i].iov_len;
368 i += 1;
369 if (i >= iovecs.len) return;
370 }
371 iovecs[i].iov_base += amt;
372 iovecs[i].iov_len -= amt;
279 }373 }
280 return os.writev(self.handle, iovecs);
281 }374 }
282375
283 pub fn pwritev(self: File, iovecs: []const os.iovec_const, offset: usize) WriteError!void {376 pub fn pwritev(self: File, iovecs: []os.iovec_const, offset: usize) PWriteError!usize {
284 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {377 if (need_async_thread and self.io_mode == .blocking and !self.async_block_allowed) {
285 return std.event.Loop.instance.?.pwritev(self.handle, iovecs);378 return std.event.Loop.instance.?.pwritev(self.handle, iovecs, offset);
379 } else {
380 return os.pwritev(self.handle, iovecs, offset);
381 }
382 }
383
384 /// The `iovecs` parameter is mutable because this function needs to mutate the fields in
385 /// order to handle partial writes from the underlying OS layer.
386 pub fn pwritevAll(self: File, iovecs: []os.iovec_const, offset: usize) PWriteError!void {
387 if (iovecs.len == 0) return;
388
389 var i: usize = 0;
390 var off: usize = 0;
391 while (true) {
392 var amt = try self.pwritev(iovecs[i..], offset + off);
393 off += amt;
394 while (amt >= iovecs[i].iov_len) {
395 amt -= iovecs[i].iov_len;
396 i += 1;
397 if (i >= iovecs.len) return;
398 }
399 iovecs[i].iov_base += amt;
400 iovecs[i].iov_len -= amt;
401 }
402 }
403
404 pub const WriteFileOptions = struct {
405 in_offset: u64 = 0,
406
407 /// `null` means the entire file. `0` means no bytes from the file.
408 /// When this is `null`, trailers must be sent in a separate writev() call
409 /// due to a flaw in the BSD sendfile API. Other operating systems, such as
410 /// Linux, already do this anyway due to API limitations.
411 /// If the size of the source file is known, passing the size here will save one syscall.
412 in_len: ?u64 = null,
413
414 headers_and_trailers: []os.iovec_const = &[0]os.iovec_const{},
415
416 /// The trailer count is inferred from `headers_and_trailers.len - header_count`
417 header_count: usize = 0,
418 };
419
420 pub const WriteFileError = os.SendFileError;
421
422 /// TODO integrate with async I/O
423 pub fn writeFileAll(self: File, in_file: File, args: WriteFileOptions) WriteFileError!void {
424 const count = blk: {
425 if (args.in_len) |l| {
426 if (l == 0) {
427 return self.writevAll(args.headers_and_trailers);
428 } else {
429 break :blk l;
430 }
431 } else {
432 break :blk 0;
433 }
434 };
435 const headers = args.headers_and_trailers[0..args.header_count];
436 const trailers = args.headers_and_trailers[args.header_count..];
437 const zero_iovec = &[0]os.iovec_const{};
438 // When reading the whole file, we cannot put the trailers in the sendfile() syscall,
439 // because we have no way to determine whether a partial write is past the end of the file or not.
440 const trls = if (count == 0) zero_iovec else trailers;
441 const offset = args.in_offset;
442 const out_fd = self.handle;
443 const in_fd = in_file.handle;
444 const flags = 0;
445 var amt: usize = 0;
446 hdrs: {
447 var i: usize = 0;
448 while (i < headers.len) {
449 amt = try os.sendfile(out_fd, in_fd, offset, count, headers[i..], trls, flags);
450 while (amt >= headers[i].iov_len) {
451 amt -= headers[i].iov_len;
452 i += 1;
453 if (i >= headers.len) break :hdrs;
454 }
455 headers[i].iov_base += amt;
456 headers[i].iov_len -= amt;
457 }
458 }
459 if (count == 0) {
460 var off: u64 = amt;
461 while (true) {
462 amt = try os.sendfile(out_fd, in_fd, offset + off, 0, zero_iovec, zero_iovec, flags);
463 if (amt == 0) break;
464 off += amt;
465 }
466 } else {
467 var off: u64 = amt;
468 while (off < count) {
469 amt = try os.sendfile(out_fd, in_fd, offset + off, count - off, zero_iovec, trailers, flags);
470 off += amt;
471 }
472 amt = @intCast(usize, off - count);
473 }
474 var i: usize = 0;
475 while (i < trailers.len) {
476 while (amt >= headers[i].iov_len) {
477 amt -= trailers[i].iov_len;
478 i += 1;
479 if (i >= trailers.len) return;
480 }
481 trailers[i].iov_base += amt;
482 trailers[i].iov_len -= amt;
483 amt = try os.writev(self.handle, trailers[i..]);
286 }484 }
287 return os.pwritev(self.handle, iovecs);
288 }485 }
289486
290 pub fn inStream(file: File) InStream {487 pub fn inStream(file: File) InStream {
...@@ -335,7 +532,7 @@ pub const File = struct {...@@ -335,7 +532,7 @@ pub const File = struct {
335 pub const Error = WriteError;532 pub const Error = WriteError;
336 pub const Stream = io.OutStream(Error);533 pub const Stream = io.OutStream(Error);
337534
338 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!void {535 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!usize {
339 const self = @fieldParentPtr(OutStream, "stream", out_stream);536 const self = @fieldParentPtr(OutStream, "stream", out_stream);
340 return self.file.write(bytes);537 return self.file.write(bytes);
341 }538 }
lib/std/fs/watch.zig+2-3
...@@ -618,11 +618,10 @@ test "write a file, watch it, write it again" {...@@ -618,11 +618,10 @@ test "write a file, watch it, write it again" {
618 // TODO re-enable this test618 // TODO re-enable this test
619 if (true) return error.SkipZigTest;619 if (true) return error.SkipZigTest;
620620
621 const allocator = std.heap.page_allocator;621 try fs.cwd().makePath(test_tmp_dir);
622
623 try os.makePath(allocator, test_tmp_dir);
624 defer os.deleteTree(test_tmp_dir) catch {};622 defer os.deleteTree(test_tmp_dir) catch {};
625623
624 const allocator = std.heap.page_allocator;
626 return testFsWatch(&allocator);625 return testFsWatch(&allocator);
627}626}
628627
lib/std/io.zig+25-17
...@@ -437,10 +437,11 @@ pub fn BitInStream(endian: builtin.Endian, comptime Error: type) type {...@@ -437,10 +437,11 @@ pub fn BitInStream(endian: builtin.Endian, comptime Error: type) type {
437 };437 };
438}438}
439439
440/// This is a simple OutStream that writes to a fixed buffer, and returns an error440/// This is a simple OutStream that writes to a fixed buffer. If the returned number
441/// when it runs out of space.441/// of bytes written is less than requested, the buffer is full.
442/// Returns error.OutOfMemory when no bytes would be written.
442pub const SliceOutStream = struct {443pub const SliceOutStream = struct {
443 pub const Error = error{OutOfSpace};444 pub const Error = error{OutOfMemory};
444 pub const Stream = OutStream(Error);445 pub const Stream = OutStream(Error);
445446
446 stream: Stream,447 stream: Stream,
...@@ -464,9 +465,11 @@ pub const SliceOutStream = struct {...@@ -464,9 +465,11 @@ pub const SliceOutStream = struct {
464 self.pos = 0;465 self.pos = 0;
465 }466 }
466467
467 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!void {468 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!usize {
468 const self = @fieldParentPtr(SliceOutStream, "stream", out_stream);469 const self = @fieldParentPtr(SliceOutStream, "stream", out_stream);
469470
471 if (bytes.len == 0) return 0;
472
470 assert(self.pos <= self.slice.len);473 assert(self.pos <= self.slice.len);
471474
472 const n = if (self.pos + bytes.len <= self.slice.len)475 const n = if (self.pos + bytes.len <= self.slice.len)
...@@ -477,9 +480,9 @@ pub const SliceOutStream = struct {...@@ -477,9 +480,9 @@ pub const SliceOutStream = struct {
477 std.mem.copy(u8, self.slice[self.pos .. self.pos + n], bytes[0..n]);480 std.mem.copy(u8, self.slice[self.pos .. self.pos + n], bytes[0..n]);
478 self.pos += n;481 self.pos += n;
479482
480 if (n < bytes.len) {483 if (n == 0) return error.OutOfMemory;
481 return Error.OutOfSpace;484
482 }485 return n;
483 }486 }
484};487};
485488
...@@ -508,7 +511,9 @@ pub const NullOutStream = struct {...@@ -508,7 +511,9 @@ pub const NullOutStream = struct {
508 };511 };
509 }512 }
510513
511 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!void {}514 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!usize {
515 return bytes.len;
516 }
512};517};
513518
514test "io.NullOutStream" {519test "io.NullOutStream" {
...@@ -536,10 +541,11 @@ pub fn CountingOutStream(comptime OutStreamError: type) type {...@@ -536,10 +541,11 @@ pub fn CountingOutStream(comptime OutStreamError: type) type {
536 };541 };
537 }542 }
538543
539 fn writeFn(out_stream: *Stream, bytes: []const u8) OutStreamError!void {544 fn writeFn(out_stream: *Stream, bytes: []const u8) OutStreamError!usize {
540 const self = @fieldParentPtr(Self, "stream", out_stream);545 const self = @fieldParentPtr(Self, "stream", out_stream);
541 try self.child_stream.write(bytes);546 try self.child_stream.write(bytes);
542 self.bytes_written += bytes.len;547 self.bytes_written += bytes.len;
548 return bytes.len;
543 }549 }
544 };550 };
545}551}
...@@ -588,13 +594,14 @@ pub fn BufferedOutStreamCustom(comptime buffer_size: usize, comptime OutStreamEr...@@ -588,13 +594,14 @@ pub fn BufferedOutStreamCustom(comptime buffer_size: usize, comptime OutStreamEr
588 }594 }
589 }595 }
590596
591 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!void {597 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!usize {
592 const self = @fieldParentPtr(Self, "stream", out_stream);598 const self = @fieldParentPtr(Self, "stream", out_stream);
593 if (bytes.len >= self.fifo.writableLength()) {599 if (bytes.len >= self.fifo.writableLength()) {
594 try self.flush();600 try self.flush();
595 return self.unbuffered_out_stream.write(bytes);601 return self.unbuffered_out_stream.writeOnce(bytes);
596 }602 }
597 self.fifo.writeAssumeCapacity(bytes);603 self.fifo.writeAssumeCapacity(bytes);
604 return bytes.len;
598 }605 }
599 };606 };
600}607}
...@@ -614,9 +621,10 @@ pub const BufferOutStream = struct {...@@ -614,9 +621,10 @@ pub const BufferOutStream = struct {
614 };621 };
615 }622 }
616623
617 fn writeFn(out_stream: *Stream, bytes: []const u8) !void {624 fn writeFn(out_stream: *Stream, bytes: []const u8) !usize {
618 const self = @fieldParentPtr(BufferOutStream, "stream", out_stream);625 const self = @fieldParentPtr(BufferOutStream, "stream", out_stream);
619 return self.buffer.append(bytes);626 try self.buffer.append(bytes);
627 return bytes.len;
620 }628 }
621};629};
622630
...@@ -734,17 +742,17 @@ pub fn BitOutStream(endian: builtin.Endian, comptime Error: type) type {...@@ -734,17 +742,17 @@ pub fn BitOutStream(endian: builtin.Endian, comptime Error: type) type {
734 self.bit_count = 0;742 self.bit_count = 0;
735 }743 }
736744
737 pub fn write(self_stream: *Stream, buffer: []const u8) Error!void {745 pub fn write(self_stream: *Stream, buffer: []const u8) Error!usize {
738 var self = @fieldParentPtr(Self, "stream", self_stream);746 var self = @fieldParentPtr(Self, "stream", self_stream);
739747
740 //@NOTE: I'm not sure this is a good idea, maybe flushBits should be forced748 // TODO: I'm not sure this is a good idea, maybe flushBits should be forced
741 if (self.bit_count > 0) {749 if (self.bit_count > 0) {
742 for (buffer) |b, i|750 for (buffer) |b, i|
743 try self.writeBits(b, u8_bit_count);751 try self.writeBits(b, u8_bit_count);
744 return;752 return buffer.len;
745 }753 }
746754
747 return self.out_stream.write(buffer);755 return self.out_stream.writeOnce(buffer);
748 }756 }
749 };757 };
750}758}
lib/std/io/c_out_stream.zig+2-2
...@@ -20,10 +20,10 @@ pub const COutStream = struct {...@@ -20,10 +20,10 @@ pub const COutStream = struct {
20 };20 };
21 }21 }
2222
23 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!void {23 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!usize {
24 const self = @fieldParentPtr(COutStream, "stream", out_stream);24 const self = @fieldParentPtr(COutStream, "stream", out_stream);
25 const amt_written = std.c.fwrite(bytes.ptr, 1, bytes.len, self.c_file);25 const amt_written = std.c.fwrite(bytes.ptr, 1, bytes.len, self.c_file);
26 if (amt_written == bytes.len) return;26 if (amt_written >= 0) return amt_written;
27 switch (std.c._errno().*) {27 switch (std.c._errno().*) {
28 0 => unreachable,28 0 => unreachable,
29 os.EINVAL => unreachable,29 os.EINVAL => unreachable,
lib/std/io/out_stream.zig+10-3
...@@ -14,13 +14,13 @@ pub fn OutStream(comptime WriteError: type) type {...@@ -14,13 +14,13 @@ pub fn OutStream(comptime WriteError: type) type {
14 const Self = @This();14 const Self = @This();
15 pub const Error = WriteError;15 pub const Error = WriteError;
16 pub const WriteFn = if (std.io.is_async)16 pub const WriteFn = if (std.io.is_async)
17 async fn (self: *Self, bytes: []const u8) Error!void17 async fn (self: *Self, bytes: []const u8) Error!usize
18 else18 else
19 fn (self: *Self, bytes: []const u8) Error!void;19 fn (self: *Self, bytes: []const u8) Error!usize;
2020
21 writeFn: WriteFn,21 writeFn: WriteFn,
2222
23 pub fn write(self: *Self, bytes: []const u8) Error!void {23 pub fn writeOnce(self: *Self, bytes: []const u8) Error!usize {
24 if (std.io.is_async) {24 if (std.io.is_async) {
25 // Let's not be writing 0xaa in safe modes for upwards of 4 MiB for every stream write.25 // Let's not be writing 0xaa in safe modes for upwards of 4 MiB for every stream write.
26 @setRuntimeSafety(false);26 @setRuntimeSafety(false);
...@@ -31,6 +31,13 @@ pub fn OutStream(comptime WriteError: type) type {...@@ -31,6 +31,13 @@ pub fn OutStream(comptime WriteError: type) type {
31 }31 }
32 }32 }
3333
34 pub fn write(self: *Self, bytes: []const u8) Error!void {
35 var index: usize = 0;
36 while (index != bytes.len) {
37 index += try self.writeOnce(bytes[index..]);
38 }
39 }
40
34 pub fn print(self: *Self, comptime format: []const u8, args: var) Error!void {41 pub fn print(self: *Self, comptime format: []const u8, args: var) Error!void {
35 return std.fmt.format(self, Error, write, format, args);42 return std.fmt.format(self, Error, write, format, args);
36 }43 }
lib/std/io/test.zig+3-3
...@@ -134,13 +134,13 @@ test "SliceOutStream" {...@@ -134,13 +134,13 @@ test "SliceOutStream" {
134 try ss.stream.write("world");134 try ss.stream.write("world");
135 expect(mem.eql(u8, ss.getWritten(), "Helloworld"));135 expect(mem.eql(u8, ss.getWritten(), "Helloworld"));
136136
137 expectError(error.OutOfSpace, ss.stream.write("!"));137 expectError(error.OutOfMemory, ss.stream.write("!"));
138 expect(mem.eql(u8, ss.getWritten(), "Helloworld"));138 expect(mem.eql(u8, ss.getWritten(), "Helloworld"));
139139
140 ss.reset();140 ss.reset();
141 expect(ss.getWritten().len == 0);141 expect(ss.getWritten().len == 0);
142142
143 expectError(error.OutOfSpace, ss.stream.write("Hello world!"));143 expectError(error.OutOfMemory, ss.stream.write("Hello world!"));
144 expect(mem.eql(u8, ss.getWritten(), "Hello worl"));144 expect(mem.eql(u8, ss.getWritten(), "Hello worl"));
145}145}
146146
...@@ -613,7 +613,7 @@ test "File seek ops" {...@@ -613,7 +613,7 @@ test "File seek ops" {
613 fs.cwd().deleteFile(tmp_file_name) catch {};613 fs.cwd().deleteFile(tmp_file_name) catch {};
614 }614 }
615615
616 try file.write(&([_]u8{0x55} ** 8192));616 try file.writeAll(&([_]u8{0x55} ** 8192));
617617
618 // Seek to the end618 // Seek to the end
619 try file.seekFromEnd(0);619 try file.seekFromEnd(0);
lib/std/os.zig+571-183
...@@ -298,6 +298,11 @@ pub const ReadError = error{...@@ -298,6 +298,11 @@ pub const ReadError = error{
298/// buf.len. If 0 bytes were read, that means EOF.298/// buf.len. If 0 bytes were read, that means EOF.
299/// If the application has a global event loop enabled, EAGAIN is handled299/// If the application has a global event loop enabled, EAGAIN is handled
300/// via the event loop. Otherwise EAGAIN results in error.WouldBlock.300/// via the event loop. Otherwise EAGAIN results in error.WouldBlock.
301///
302/// Linux has a limit on how many bytes may be transferred in one `read` call, which is `0x7ffff000`
303/// on both 64-bit and 32-bit systems. This is due to using a signed C int as the return value, as
304/// well as stuffing the errno codes into the last `4096` values. This is noted on the `read` man page.
305/// For POSIX the limit is `math.maxInt(isize)`.
301pub fn read(fd: fd_t, buf: []u8) ReadError!usize {306pub fn read(fd: fd_t, buf: []u8) ReadError!usize {
302 if (builtin.os.tag == .windows) {307 if (builtin.os.tag == .windows) {
303 return windows.ReadFile(fd, buf, null);308 return windows.ReadFile(fd, buf, null);
...@@ -316,8 +321,15 @@ pub fn read(fd: fd_t, buf: []u8) ReadError!usize {...@@ -316,8 +321,15 @@ pub fn read(fd: fd_t, buf: []u8) ReadError!usize {
316 }321 }
317 }322 }
318323
324 // Prevents EINVAL.
325 const max_count = switch (std.Target.current.os.tag) {
326 .linux => 0x7ffff000,
327 else => math.maxInt(isize),
328 };
329 const adjusted_len = math.min(max_count, buf.len);
330
319 while (true) {331 while (true) {
320 const rc = system.read(fd, buf.ptr, buf.len);332 const rc = system.read(fd, buf.ptr, adjusted_len);
321 switch (errno(rc)) {333 switch (errno(rc)) {
322 0 => return @intCast(usize, rc),334 0 => return @intCast(usize, rc),
323 EINTR => continue,335 EINTR => continue,
...@@ -352,32 +364,18 @@ pub fn read(fd: fd_t, buf: []u8) ReadError!usize {...@@ -352,32 +364,18 @@ pub fn read(fd: fd_t, buf: []u8) ReadError!usize {
352/// * Windows364/// * Windows
353/// On these systems, the read races with concurrent writes to the same file descriptor.365/// On these systems, the read races with concurrent writes to the same file descriptor.
354pub fn readv(fd: fd_t, iov: []const iovec) ReadError!usize {366pub fn readv(fd: fd_t, iov: []const iovec) ReadError!usize {
355 if (builtin.os.tag == .windows) {367 if (std.Target.current.os.tag == .windows) {
356 // TODO batch these into parallel requests368 // TODO does Windows have a way to read an io vector?
357 var off: usize = 0;369 if (iov.len == 0) return @as(usize, 0);
358 var iov_i: usize = 0;370 const first = iov[0];
359 var inner_off: usize = 0;371 return read(fd, first.iov_base[0..first.iov_len]);
360 while (true) {
361 const v = iov[iov_i];
362 const amt_read = try read(fd, v.iov_base[inner_off .. v.iov_len - inner_off]);
363 off += amt_read;
364 inner_off += amt_read;
365 if (inner_off == v.len) {
366 iov_i += 1;
367 inner_off = 0;
368 if (iov_i == iov.len) {
369 return off;
370 }
371 }
372 if (amt_read == 0) return off; // EOF
373 } else unreachable; // TODO https://github.com/ziglang/zig/issues/707
374 }372 }
375373
376 while (true) {374 while (true) {
377 // TODO handle the case when iov_len is too large and get rid of this @intCast375 // TODO handle the case when iov_len is too large and get rid of this @intCast
378 const rc = system.readv(fd, iov.ptr, @intCast(u32, iov.len));376 const rc = system.readv(fd, iov.ptr, iov_count);
379 switch (errno(rc)) {377 switch (errno(rc)) {
380 0 => return @bitCast(usize, rc),378 0 => return @intCast(usize, rc),
381 EINTR => continue,379 EINTR => continue,
382 EINVAL => unreachable,380 EINVAL => unreachable,
383 EFAULT => unreachable,381 EFAULT => unreachable,
...@@ -397,6 +395,8 @@ pub fn readv(fd: fd_t, iov: []const iovec) ReadError!usize {...@@ -397,6 +395,8 @@ pub fn readv(fd: fd_t, iov: []const iovec) ReadError!usize {
397 }395 }
398}396}
399397
398pub const PReadError = ReadError || error{Unseekable};
399
400/// Number of bytes read is returned. Upon reading end-of-file, zero is returned.400/// Number of bytes read is returned. Upon reading end-of-file, zero is returned.
401///401///
402/// Retries when interrupted by a signal.402/// Retries when interrupted by a signal.
...@@ -405,7 +405,7 @@ pub fn readv(fd: fd_t, iov: []const iovec) ReadError!usize {...@@ -405,7 +405,7 @@ pub fn readv(fd: fd_t, iov: []const iovec) ReadError!usize {
405/// via the event loop. Otherwise EAGAIN results in `error.WouldBlock`.405/// via the event loop. Otherwise EAGAIN results in `error.WouldBlock`.
406/// On Windows, if the application has a global event loop enabled, I/O Completion Ports are406/// On Windows, if the application has a global event loop enabled, I/O Completion Ports are
407/// used to perform the I/O. `error.WouldBlock` is not possible on Windows.407/// used to perform the I/O. `error.WouldBlock` is not possible on Windows.
408pub fn pread(fd: fd_t, buf: []u8, offset: u64) ReadError!usize {408pub fn pread(fd: fd_t, buf: []u8, offset: u64) PReadError!usize {
409 if (builtin.os.tag == .windows) {409 if (builtin.os.tag == .windows) {
410 return windows.ReadFile(fd, buf, offset);410 return windows.ReadFile(fd, buf, offset);
411 }411 }
...@@ -429,6 +429,9 @@ pub fn pread(fd: fd_t, buf: []u8, offset: u64) ReadError!usize {...@@ -429,6 +429,9 @@ pub fn pread(fd: fd_t, buf: []u8, offset: u64) ReadError!usize {
429 ENOBUFS => return error.SystemResources,429 ENOBUFS => return error.SystemResources,
430 ENOMEM => return error.SystemResources,430 ENOMEM => return error.SystemResources,
431 ECONNRESET => return error.ConnectionResetByPeer,431 ECONNRESET => return error.ConnectionResetByPeer,
432 ENXIO => return error.Unseekable,
433 ESPIPE => return error.Unseekable,
434 EOVERFLOW => return error.Unseekable,
432 else => |err| return unexpectedErrno(err),435 else => |err| return unexpectedErrno(err),
433 }436 }
434 }437 }
...@@ -448,75 +451,23 @@ pub fn pread(fd: fd_t, buf: []u8, offset: u64) ReadError!usize {...@@ -448,75 +451,23 @@ pub fn pread(fd: fd_t, buf: []u8, offset: u64) ReadError!usize {
448/// * Darwin451/// * Darwin
449/// * Windows452/// * Windows
450/// On these systems, the read races with concurrent writes to the same file descriptor.453/// On these systems, the read races with concurrent writes to the same file descriptor.
451pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) ReadError!usize {454pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) PReadError!usize {
452 if (comptime std.Target.current.isDarwin()) {455 const have_pread_but_not_preadv = switch (std.Target.current.os.tag) {
453 // Darwin does not have preadv but it does have pread.456 .windows, .macosx, .ios, .watchos, .tvos => true,
454 var off: usize = 0;457 else => false,
455 var iov_i: usize = 0;458 };
456 var inner_off: usize = 0;459 if (have_pread_but_not_preadv) {
457 while (true) {460 // We could loop here; but proper usage of `preadv` must handle partial reads anyway.
458 const v = iov[iov_i];461 // So we simply read into the first vector only.
459 const rc = darwin.pread(fd, v.iov_base + inner_off, v.iov_len - inner_off, offset + off);462 if (iov.len == 0) return @as(usize, 0);
460 const err = darwin.getErrno(rc);463 const first = iov[0];
461 switch (err) {464 return pread(fd, first.iov_base[0..first.iov_len], offset);
462 0 => {
463 const amt_read = @bitCast(usize, rc);
464 off += amt_read;
465 inner_off += amt_read;
466 if (inner_off == v.iov_len) {
467 iov_i += 1;
468 inner_off = 0;
469 if (iov_i == iov.len) {
470 return off;
471 }
472 }
473 if (rc == 0) return off; // EOF
474 continue;
475 },
476 EINTR => continue,
477 EINVAL => unreachable,
478 EFAULT => unreachable,
479 ESPIPE => unreachable, // fd is not seekable
480 EAGAIN => if (std.event.Loop.instance) |loop| {
481 loop.waitUntilFdReadable(fd);
482 continue;
483 } else {
484 return error.WouldBlock;
485 },
486 EBADF => unreachable, // always a race condition
487 EIO => return error.InputOutput,
488 EISDIR => return error.IsDir,
489 ENOBUFS => return error.SystemResources,
490 ENOMEM => return error.SystemResources,
491 else => return unexpectedErrno(err),
492 }
493 }
494 }465 }
495466
496 if (builtin.os.tag == .windows) {467 const iov_count = math.cast(u31, iov.len) catch math.maxInt(u31);
497 // TODO batch these into parallel requests
498 var off: usize = 0;
499 var iov_i: usize = 0;
500 var inner_off: usize = 0;
501 while (true) {
502 const v = iov[iov_i];
503 const amt_read = try pread(fd, v.iov_base[inner_off .. v.iov_len - inner_off], offset + off);
504 off += amt_read;
505 inner_off += amt_read;
506 if (inner_off == v.len) {
507 iov_i += 1;
508 inner_off = 0;
509 if (iov_i == iov.len) {
510 return off;
511 }
512 }
513 if (amt_read == 0) return off; // EOF
514 } else unreachable; // TODO https://github.com/ziglang/zig/issues/707
515 }
516468
517 while (true) {469 while (true) {
518 // TODO handle the case when iov_len is too large and get rid of this @intCast470 const rc = system.preadv(fd, iov.ptr, iov_count, offset);
519 const rc = system.preadv(fd, iov.ptr, @intCast(u32, iov.len), offset);
520 switch (errno(rc)) {471 switch (errno(rc)) {
521 0 => return @bitCast(usize, rc),472 0 => return @bitCast(usize, rc),
522 EINTR => continue,473 EINTR => continue,
...@@ -533,6 +484,9 @@ pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) ReadError!usize {...@@ -533,6 +484,9 @@ pub fn preadv(fd: fd_t, iov: []const iovec, offset: u64) ReadError!usize {
533 EISDIR => return error.IsDir,484 EISDIR => return error.IsDir,
534 ENOBUFS => return error.SystemResources,485 ENOBUFS => return error.SystemResources,
535 ENOMEM => return error.SystemResources,486 ENOMEM => return error.SystemResources,
487 ENXIO => return error.Unseekable,
488 ESPIPE => return error.Unseekable,
489 EOVERFLOW => return error.Unseekable,
536 else => |err| return unexpectedErrno(err),490 else => |err| return unexpectedErrno(err),
537 }491 }
538 }492 }
...@@ -553,10 +507,28 @@ pub const WriteError = error{...@@ -553,10 +507,28 @@ pub const WriteError = error{
553 WouldBlock,507 WouldBlock,
554} || UnexpectedError;508} || UnexpectedError;
555509
556/// Write to a file descriptor. Keeps trying if it gets interrupted.510/// Write to a file descriptor.
557/// If the application has a global event loop enabled, EAGAIN is handled511/// Retries when interrupted by a signal.
558/// via the event loop. Otherwise EAGAIN results in error.WouldBlock.512/// Returns the number of bytes written. If nonzero bytes were supplied, this will be nonzero.
559pub fn write(fd: fd_t, bytes: []const u8) WriteError!void {513///
514/// Note that a successful write() may transfer fewer than count bytes. Such partial writes can
515/// occur for various reasons; for example, because there was insufficient space on the disk
516/// device to write all of the requested bytes, or because a blocked write() to a socket, pipe, or
517/// similar was interrupted by a signal handler after it had transferred some, but before it had
518/// transferred all of the requested bytes. In the event of a partial write, the caller can make
519/// another write() call to transfer the remaining bytes. The subsequent call will either
520/// transfer further bytes or may result in an error (e.g., if the disk is now full).
521///
522/// For POSIX systems, if the application has a global event loop enabled, EAGAIN is handled
523/// via the event loop. Otherwise EAGAIN results in `error.WouldBlock`.
524/// On Windows, if the application has a global event loop enabled, I/O Completion Ports are
525/// used to perform the I/O. `error.WouldBlock` is not possible on Windows.
526///
527/// Linux has a limit on how many bytes may be transferred in one `write` call, which is `0x7ffff000`
528/// on both 64-bit and 32-bit systems. This is due to using a signed C int as the return value, as
529/// well as stuffing the errno codes into the last `4096` values. This is noted on the `write` man page.
530/// The corresponding POSIX limit is `math.maxInt(isize)`.
531pub fn write(fd: fd_t, bytes: []const u8) WriteError!usize {
560 if (builtin.os.tag == .windows) {532 if (builtin.os.tag == .windows) {
561 return windows.WriteFile(fd, bytes, null);533 return windows.WriteFile(fd, bytes, null);
562 }534 }
...@@ -568,26 +540,21 @@ pub fn write(fd: fd_t, bytes: []const u8) WriteError!void {...@@ -568,26 +540,21 @@ pub fn write(fd: fd_t, bytes: []const u8) WriteError!void {
568 }};540 }};
569 var nwritten: usize = undefined;541 var nwritten: usize = undefined;
570 switch (wasi.fd_write(fd, &ciovs, ciovs.len, &nwritten)) {542 switch (wasi.fd_write(fd, &ciovs, ciovs.len, &nwritten)) {
571 0 => return,543 0 => return nwritten,
572 else => |err| return unexpectedErrno(err),544 else => |err| return unexpectedErrno(err),
573 }545 }
574 }546 }
575547
576 // Linux can return EINVAL when write amount is > 0x7ffff000548 const max_count = switch (std.Target.current.os.tag) {
577 // See https://github.com/ziglang/zig/pull/743#issuecomment-363165856549 .linux => 0x7ffff000,
578 // TODO audit this. Shawn Landden says that this is not actually true.550 else => math.maxInt(isize),
579 // if this logic should stay, move it to std.os.linux551 };
580 const max_bytes_len = 0x7ffff000;552 const adjusted_len = math.min(max_count, bytes.len);
581553
582 var index: usize = 0;554 while (true) {
583 while (index < bytes.len) {555 const rc = system.write(fd, bytes.ptr, adjusted_len);
584 const amt_to_write = math.min(bytes.len - index, @as(usize, max_bytes_len));
585 const rc = system.write(fd, bytes.ptr + index, amt_to_write);
586 switch (errno(rc)) {556 switch (errno(rc)) {
587 0 => {557 0 => return @intCast(usize, rc),
588 index += @intCast(usize, rc);
589 continue;
590 },
591 EINTR => continue,558 EINTR => continue,
592 EINVAL => unreachable,559 EINVAL => unreachable,
593 EFAULT => unreachable,560 EFAULT => unreachable,
...@@ -611,14 +578,36 @@ pub fn write(fd: fd_t, bytes: []const u8) WriteError!void {...@@ -611,14 +578,36 @@ pub fn write(fd: fd_t, bytes: []const u8) WriteError!void {
611}578}
612579
613/// Write multiple buffers to a file descriptor.580/// Write multiple buffers to a file descriptor.
614/// If the application has a global event loop enabled, EAGAIN is handled581/// Retries when interrupted by a signal.
615/// via the event loop. Otherwise EAGAIN results in error.WouldBlock.582/// Returns the number of bytes written. If nonzero bytes were supplied, this will be nonzero.
616pub fn writev(fd: fd_t, iov: []const iovec_const) WriteError!void {583///
584/// Note that a successful write() may transfer fewer bytes than supplied. Such partial writes can
585/// occur for various reasons; for example, because there was insufficient space on the disk
586/// device to write all of the requested bytes, or because a blocked write() to a socket, pipe, or
587/// similar was interrupted by a signal handler after it had transferred some, but before it had
588/// transferred all of the requested bytes. In the event of a partial write, the caller can make
589/// another write() call to transfer the remaining bytes. The subsequent call will either
590/// transfer further bytes or may result in an error (e.g., if the disk is now full).
591///
592/// For POSIX systems, if the application has a global event loop enabled, EAGAIN is handled
593/// via the event loop. Otherwise EAGAIN results in `error.WouldBlock`.
594/// On Windows, if the application has a global event loop enabled, I/O Completion Ports are
595/// used to perform the I/O. `error.WouldBlock` is not possible on Windows.
596///
597/// If `iov.len` is larger than will fit in a `u31`, a partial write will occur.
598pub fn writev(fd: fd_t, iov: []const iovec_const) WriteError!usize {
599 if (std.Target.current.os.tag == .windows) {
600 // TODO does Windows have a way to write an io vector?
601 if (iov.len == 0) return @as(usize, 0);
602 const first = iov[0];
603 return write(fd, first.iov_base[0..first.iov_len]);
604 }
605
606 const iov_count = math.cast(u31, iov.len) catch math.maxInt(u31);
617 while (true) {607 while (true) {
618 // TODO handle the case when iov_len is too large and get rid of this @intCast608 const rc = system.writev(fd, iov.ptr, iov_count);
619 const rc = system.writev(fd, iov.ptr, @intCast(u32, iov.len));
620 switch (errno(rc)) {609 switch (errno(rc)) {
621 0 => return,610 0 => return @intCast(usize, rc),
622 EINTR => continue,611 EINTR => continue,
623 EINVAL => unreachable,612 EINVAL => unreachable,
624 EFAULT => unreachable,613 EFAULT => unreachable,
...@@ -641,23 +630,45 @@ pub fn writev(fd: fd_t, iov: []const iovec_const) WriteError!void {...@@ -641,23 +630,45 @@ pub fn writev(fd: fd_t, iov: []const iovec_const) WriteError!void {
641 }630 }
642}631}
643632
633pub const PWriteError = WriteError || error{Unseekable};
634
644/// Write to a file descriptor, with a position offset.635/// Write to a file descriptor, with a position offset.
645///
646/// Retries when interrupted by a signal.636/// Retries when interrupted by a signal.
637/// Returns the number of bytes written. If nonzero bytes were supplied, this will be nonzero.
638///
639/// Note that a successful write() may transfer fewer bytes than supplied. Such partial writes can
640/// occur for various reasons; for example, because there was insufficient space on the disk
641/// device to write all of the requested bytes, or because a blocked write() to a socket, pipe, or
642/// similar was interrupted by a signal handler after it had transferred some, but before it had
643/// transferred all of the requested bytes. In the event of a partial write, the caller can make
644/// another write() call to transfer the remaining bytes. The subsequent call will either
645/// transfer further bytes or may result in an error (e.g., if the disk is now full).
647///646///
648/// For POSIX systems, if the application has a global event loop enabled, EAGAIN is handled647/// For POSIX systems, if the application has a global event loop enabled, EAGAIN is handled
649/// via the event loop. Otherwise EAGAIN results in `error.WouldBlock`.648/// via the event loop. Otherwise EAGAIN results in `error.WouldBlock`.
650/// On Windows, if the application has a global event loop enabled, I/O Completion Ports are649/// On Windows, if the application has a global event loop enabled, I/O Completion Ports are
651/// used to perform the I/O. `error.WouldBlock` is not possible on Windows.650/// used to perform the I/O. `error.WouldBlock` is not possible on Windows.
652pub fn pwrite(fd: fd_t, bytes: []const u8, offset: u64) WriteError!void {651///
652/// Linux has a limit on how many bytes may be transferred in one `pwrite` call, which is `0x7ffff000`
653/// on both 64-bit and 32-bit systems. This is due to using a signed C int as the return value, as
654/// well as stuffing the errno codes into the last `4096` values. This is noted on the `write` man page.
655/// The corresponding POSIX limit is `math.maxInt(isize)`.
656pub fn pwrite(fd: fd_t, bytes: []const u8, offset: u64) PWriteError!usize {
653 if (std.Target.current.os.tag == .windows) {657 if (std.Target.current.os.tag == .windows) {
654 return windows.WriteFile(fd, bytes, offset);658 return windows.WriteFile(fd, bytes, offset);
655 }659 }
656660
661 // Prevent EINVAL.
662 const max_count = switch (std.Target.current.os.tag) {
663 .linux => 0x7ffff000,
664 else => math.maxInt(isize),
665 };
666 const adjusted_len = math.min(max_count, bytes.len);
667
657 while (true) {668 while (true) {
658 const rc = system.pwrite(fd, bytes.ptr, bytes.len, offset);669 const rc = system.pwrite(fd, bytes.ptr, adjusted_len, offset);
659 switch (errno(rc)) {670 switch (errno(rc)) {
660 0 => return,671 0 => return @intCast(usize, rc),
661 EINTR => continue,672 EINTR => continue,
662 EINVAL => unreachable,673 EINVAL => unreachable,
663 EFAULT => unreachable,674 EFAULT => unreachable,
...@@ -675,84 +686,54 @@ pub fn pwrite(fd: fd_t, bytes: []const u8, offset: u64) WriteError!void {...@@ -675,84 +686,54 @@ pub fn pwrite(fd: fd_t, bytes: []const u8, offset: u64) WriteError!void {
675 ENOSPC => return error.NoSpaceLeft,686 ENOSPC => return error.NoSpaceLeft,
676 EPERM => return error.AccessDenied,687 EPERM => return error.AccessDenied,
677 EPIPE => return error.BrokenPipe,688 EPIPE => return error.BrokenPipe,
689 ENXIO => return error.Unseekable,
690 ESPIPE => return error.Unseekable,
691 EOVERFLOW => return error.Unseekable,
678 else => |err| return unexpectedErrno(err),692 else => |err| return unexpectedErrno(err),
679 }693 }
680 }694 }
681}695}
682696
683/// Write multiple buffers to a file descriptor, with a position offset.697/// Write multiple buffers to a file descriptor, with a position offset.
684///
685/// Retries when interrupted by a signal.698/// Retries when interrupted by a signal.
699/// Returns the number of bytes written. If nonzero bytes were supplied, this will be nonzero.
700///
701/// Note that a successful write() may transfer fewer than count bytes. Such partial writes can
702/// occur for various reasons; for example, because there was insufficient space on the disk
703/// device to write all of the requested bytes, or because a blocked write() to a socket, pipe, or
704/// similar was interrupted by a signal handler after it had transferred some, but before it had
705/// transferred all of the requested bytes. In the event of a partial write, the caller can make
706/// another write() call to transfer the remaining bytes. The subsequent call will either
707/// transfer further bytes or may result in an error (e.g., if the disk is now full).
686///708///
687/// If the application has a global event loop enabled, EAGAIN is handled709/// If the application has a global event loop enabled, EAGAIN is handled
688/// via the event loop. Otherwise EAGAIN results in `error.WouldBlock`.710/// via the event loop. Otherwise EAGAIN results in `error.WouldBlock`.
689///711///
690/// This operation is non-atomic on the following systems:712/// The following systems do not have this syscall, and will return partial writes if more than one
713/// vector is provided:
691/// * Darwin714/// * Darwin
692/// * Windows715/// * Windows
693/// On these systems, the write races with concurrent writes to the same file descriptor, and716///
694/// the file can be in a partially written state when an error occurs.717/// If `iov.len` is larger than will fit in a `u31`, a partial write will occur.
695pub fn pwritev(fd: fd_t, iov: []const iovec_const, offset: u64) WriteError!void {718pub fn pwritev(fd: fd_t, iov: []const iovec_const, offset: u64) PWriteError!usize {
696 if (comptime std.Target.current.isDarwin()) {719 const have_pwrite_but_not_pwritev = switch (std.Target.current.os.tag) {
697 // Darwin does not have pwritev but it does have pwrite.720 .windows, .macosx, .ios, .watchos, .tvos => true,
698 var off: usize = 0;721 else => false,
699 var iov_i: usize = 0;722 };
700 var inner_off: usize = 0;
701 while (true) {
702 const v = iov[iov_i];
703 const rc = darwin.pwrite(fd, v.iov_base + inner_off, v.iov_len - inner_off, offset + off);
704 const err = darwin.getErrno(rc);
705 switch (err) {
706 0 => {
707 const amt_written = @bitCast(usize, rc);
708 off += amt_written;
709 inner_off += amt_written;
710 if (inner_off == v.iov_len) {
711 iov_i += 1;
712 inner_off = 0;
713 if (iov_i == iov.len) {
714 return;
715 }
716 }
717 continue;
718 },
719 EINTR => continue,
720 ESPIPE => unreachable, // `fd` is not seekable.
721 EINVAL => unreachable,
722 EFAULT => unreachable,
723 EAGAIN => if (std.event.Loop.instance) |loop| {
724 loop.waitUntilFdWritable(fd);
725 continue;
726 } else {
727 return error.WouldBlock;
728 },
729 EBADF => unreachable, // Always a race condition.
730 EDESTADDRREQ => unreachable, // `connect` was never called.
731 EDQUOT => return error.DiskQuota,
732 EFBIG => return error.FileTooBig,
733 EIO => return error.InputOutput,
734 ENOSPC => return error.NoSpaceLeft,
735 EPERM => return error.AccessDenied,
736 EPIPE => return error.BrokenPipe,
737 else => return unexpectedErrno(err),
738 }
739 }
740 }
741723
742 if (std.Target.current.os.tag == .windows) {724 if (have_pwrite_but_not_pwritev) {
743 var off = offset;725 // We could loop here; but proper usage of `pwritev` must handle partial writes anyway.
744 for (iov) |item| {726 // So we simply write the first vector only.
745 try pwrite(fd, item.iov_base[0..item.iov_len], off);727 if (iov.len == 0) return @as(usize, 0);
746 off += buf.len;728 const first = iov[0];
747 }729 return pwrite(fd, first.iov_base[0..first.iov_len], offset);
748 return;
749 }730 }
750731
732 const iov_count = math.cast(u31, iov.len) catch math.maxInt(u31);
751 while (true) {733 while (true) {
752 // TODO handle the case when iov_len is too large and get rid of this @intCast734 const rc = system.pwritev(fd, iov.ptr, iov_count, offset);
753 const rc = system.pwritev(fd, iov.ptr, @intCast(u32, iov.len), offset);
754 switch (errno(rc)) {735 switch (errno(rc)) {
755 0 => return,736 0 => return @intCast(usize, rc),
756 EINTR => continue,737 EINTR => continue,
757 EINVAL => unreachable,738 EINVAL => unreachable,
758 EFAULT => unreachable,739 EFAULT => unreachable,
...@@ -770,6 +751,9 @@ pub fn pwritev(fd: fd_t, iov: []const iovec_const, offset: u64) WriteError!void...@@ -770,6 +751,9 @@ pub fn pwritev(fd: fd_t, iov: []const iovec_const, offset: u64) WriteError!void
770 ENOSPC => return error.NoSpaceLeft,751 ENOSPC => return error.NoSpaceLeft,
771 EPERM => return error.AccessDenied,752 EPERM => return error.AccessDenied,
772 EPIPE => return error.BrokenPipe,753 EPIPE => return error.BrokenPipe,
754 ENXIO => return error.Unseekable,
755 ESPIPE => return error.Unseekable,
756 EOVERFLOW => return error.Unseekable,
773 else => |err| return unexpectedErrno(err),757 else => |err| return unexpectedErrno(err),
774 }758 }
775 }759 }
...@@ -1371,7 +1355,6 @@ pub const UnlinkatError = UnlinkError || error{...@@ -1371,7 +1355,6 @@ pub const UnlinkatError = UnlinkError || error{
1371/// Delete a file name and possibly the file it refers to, based on an open directory handle.1355/// Delete a file name and possibly the file it refers to, based on an open directory handle.
1372/// Asserts that the path parameter has no null bytes.1356/// Asserts that the path parameter has no null bytes.
1373pub fn unlinkat(dirfd: fd_t, file_path: []const u8, flags: u32) UnlinkatError!void {1357pub fn unlinkat(dirfd: fd_t, file_path: []const u8, flags: u32) UnlinkatError!void {
1374 if (std.debug.runtime_safety) for (file_path) |byte| assert(byte != 0);
1375 if (builtin.os.tag == .windows) {1358 if (builtin.os.tag == .windows) {
1376 const file_path_w = try windows.sliceToPrefixedFileW(file_path);1359 const file_path_w = try windows.sliceToPrefixedFileW(file_path);
1377 return unlinkatW(dirfd, &file_path_w, flags);1360 return unlinkatW(dirfd, &file_path_w, flags);
...@@ -1556,25 +1539,69 @@ pub const MakeDirError = error{...@@ -1556,25 +1539,69 @@ pub const MakeDirError = error{
1556 ReadOnlyFileSystem,1539 ReadOnlyFileSystem,
1557 InvalidUtf8,1540 InvalidUtf8,
1558 BadPathName,1541 BadPathName,
1542 NoDevice,
1559} || UnexpectedError;1543} || UnexpectedError;
15601544
1545pub fn mkdirat(dir_fd: fd_t, sub_dir_path: []const u8, mode: u32) MakeDirError!void {
1546 if (builtin.os.tag == .windows) {
1547 const sub_dir_path_w = try windows.sliceToPrefixedFileW(sub_dir_path);
1548 return mkdiratW(dir_fd, &sub_dir_path_w, mode);
1549 } else {
1550 const sub_dir_path_c = try toPosixPath(sub_dir_path);
1551 return mkdiratC(dir_fd, &sub_dir_path_c, mode);
1552 }
1553}
1554
1555pub fn mkdiratC(dir_fd: fd_t, sub_dir_path: [*:0]const u8, mode: u32) MakeDirError!void {
1556 if (builtin.os.tag == .windows) {
1557 const sub_dir_path_w = try windows.cStrToPrefixedFileW(sub_dir_path);
1558 return mkdiratW(dir_fd, &sub_dir_path_w, mode);
1559 }
1560 switch (errno(system.mkdirat(dir_fd, sub_dir_path, mode))) {
1561 0 => return,
1562 EACCES => return error.AccessDenied,
1563 EBADF => unreachable,
1564 EPERM => return error.AccessDenied,
1565 EDQUOT => return error.DiskQuota,
1566 EEXIST => return error.PathAlreadyExists,
1567 EFAULT => unreachable,
1568 ELOOP => return error.SymLinkLoop,
1569 EMLINK => return error.LinkQuotaExceeded,
1570 ENAMETOOLONG => return error.NameTooLong,
1571 ENOENT => return error.FileNotFound,
1572 ENOMEM => return error.SystemResources,
1573 ENOSPC => return error.NoSpaceLeft,
1574 ENOTDIR => return error.NotDir,
1575 EROFS => return error.ReadOnlyFileSystem,
1576 else => |err| return unexpectedErrno(err),
1577 }
1578}
1579
1580pub fn mkdiratW(dir_fd: fd_t, sub_path_w: [*:0]const u16, mode: u32) MakeDirError!void {
1581 const sub_dir_handle = try windows.CreateDirectoryW(dir_fd, sub_path_w, null);
1582 windows.CloseHandle(sub_dir_handle);
1583}
1584
1561/// Create a directory.1585/// Create a directory.
1562/// `mode` is ignored on Windows.1586/// `mode` is ignored on Windows.
1563pub fn mkdir(dir_path: []const u8, mode: u32) MakeDirError!void {1587pub fn mkdir(dir_path: []const u8, mode: u32) MakeDirError!void {
1564 if (builtin.os.tag == .windows) {1588 if (builtin.os.tag == .windows) {
1565 const dir_path_w = try windows.sliceToPrefixedFileW(dir_path);1589 const sub_dir_handle = try windows.CreateDirectory(null, dir_path, null);
1566 return windows.CreateDirectoryW(&dir_path_w, null);1590 windows.CloseHandle(sub_dir_handle);
1591 return;
1567 } else {1592 } else {
1568 const dir_path_c = try toPosixPath(dir_path);1593 const dir_path_c = try toPosixPath(dir_path);
1569 return mkdirC(&dir_path_c, mode);1594 return mkdirZ(&dir_path_c, mode);
1570 }1595 }
1571}1596}
15721597
1573/// Same as `mkdir` but the parameter is a null-terminated UTF8-encoded string.1598/// Same as `mkdir` but the parameter is a null-terminated UTF8-encoded string.
1574pub fn mkdirC(dir_path: [*:0]const u8, mode: u32) MakeDirError!void {1599pub fn mkdirZ(dir_path: [*:0]const u8, mode: u32) MakeDirError!void {
1575 if (builtin.os.tag == .windows) {1600 if (builtin.os.tag == .windows) {
1576 const dir_path_w = try windows.cStrToPrefixedFileW(dir_path);1601 const dir_path_w = try windows.cStrToPrefixedFileW(dir_path);
1577 return windows.CreateDirectoryW(&dir_path_w, null);1602 const sub_dir_handle = try windows.CreateDirectoryW(null, &dir_path_w, null);
1603 windows.CloseHandle(sub_dir_handle);
1604 return;
1578 }1605 }
1579 switch (errno(system.mkdir(dir_path, mode))) {1606 switch (errno(system.mkdir(dir_path, mode))) {
1580 0 => return,1607 0 => return,
...@@ -1687,6 +1714,26 @@ pub fn chdirC(dir_path: [*:0]const u8) ChangeCurDirError!void {...@@ -1687,6 +1714,26 @@ pub fn chdirC(dir_path: [*:0]const u8) ChangeCurDirError!void {
1687 }1714 }
1688}1715}
16891716
1717pub const FchdirError = error{
1718 AccessDenied,
1719 NotDir,
1720 FileSystem,
1721} || UnexpectedError;
1722
1723pub fn fchdir(dirfd: fd_t) FchdirError!void {
1724 while (true) {
1725 switch (errno(system.fchdir(dirfd))) {
1726 0 => return,
1727 EACCES => return error.AccessDenied,
1728 EBADF => unreachable,
1729 ENOTDIR => return error.NotDir,
1730 EINTR => continue,
1731 EIO => return error.FileSystem,
1732 else => |err| return unexpectedErrno(err),
1733 }
1734 }
1735}
1736
1690pub const ReadLinkError = error{1737pub const ReadLinkError = error{
1691 AccessDenied,1738 AccessDenied,
1692 FileSystem,1739 FileSystem,
...@@ -2338,6 +2385,29 @@ pub fn fstat(fd: fd_t) FStatError!Stat {...@@ -2338,6 +2385,29 @@ pub fn fstat(fd: fd_t) FStatError!Stat {
2338 }2385 }
2339}2386}
23402387
2388const FStatAtError = FStatError || error{NameTooLong};
2389
2390pub fn fstatat(dirfd: fd_t, pathname: []const u8, flags: u32) FStatAtError![]Stat {
2391 const pathname_c = try toPosixPath(pathname);
2392 return fstatatC(dirfd, &pathname_c, flags);
2393}
2394
2395pub fn fstatatC(dirfd: fd_t, pathname: [*:0]const u8, flags: u32) FStatAtError!Stat {
2396 var stat: Stat = undefined;
2397 switch (errno(system.fstatat(dirfd, pathname, &stat, flags))) {
2398 0 => return stat,
2399 EINVAL => unreachable,
2400 EBADF => unreachable, // Always a race condition.
2401 ENOMEM => return error.SystemResources,
2402 EACCES => return error.AccessDenied,
2403 EFAULT => unreachable,
2404 ENAMETOOLONG => return error.NameTooLong,
2405 ENOENT => return error.FileNotFound,
2406 ENOTDIR => return error.FileNotFound,
2407 else => |err| return unexpectedErrno(err),
2408 }
2409}
2410
2341pub const KQueueError = error{2411pub const KQueueError = error{
2342 /// The per-process limit on the number of open file descriptors has been reached.2412 /// The per-process limit on the number of open file descriptors has been reached.
2343 ProcessFdQuotaExceeded,2413 ProcessFdQuotaExceeded,
...@@ -3185,6 +3255,7 @@ pub fn sched_getaffinity(pid: pid_t) SchedGetAffinityError!cpu_set_t {...@@ -3185,6 +3255,7 @@ pub fn sched_getaffinity(pid: pid_t) SchedGetAffinityError!cpu_set_t {
3185/// Used to convert a slice to a null terminated slice on the stack.3255/// Used to convert a slice to a null terminated slice on the stack.
3186/// TODO https://github.com/ziglang/zig/issues/2873256/// TODO https://github.com/ziglang/zig/issues/287
3187pub fn toPosixPath(file_path: []const u8) ![PATH_MAX - 1:0]u8 {3257pub fn toPosixPath(file_path: []const u8) ![PATH_MAX - 1:0]u8 {
3258 if (std.debug.runtime_safety) assert(std.mem.indexOfScalar(u8, file_path, 0) == null);
3188 var path_with_null: [PATH_MAX - 1:0]u8 = undefined;3259 var path_with_null: [PATH_MAX - 1:0]u8 = undefined;
3189 // >= rather than > to make room for the null byte3260 // >= rather than > to make room for the null byte
3190 if (file_path.len >= PATH_MAX) return error.NameTooLong;3261 if (file_path.len >= PATH_MAX) return error.NameTooLong;
...@@ -3389,7 +3460,6 @@ pub const SendError = error{...@@ -3389,7 +3460,6 @@ pub const SendError = error{
33893460
3390 /// The socket type requires that message be sent atomically, and the size of the message3461 /// The socket type requires that message be sent atomically, and the size of the message
3391 /// to be sent made this impossible. The message is not transmitted.3462 /// to be sent made this impossible. The message is not transmitted.
3392 ///
3393 MessageTooBig,3463 MessageTooBig,
33943464
3395 /// The output queue for a network interface was full. This generally indicates that the3465 /// The output queue for a network interface was full. This generally indicates that the
...@@ -3498,6 +3568,324 @@ pub fn send(...@@ -3498,6 +3568,324 @@ pub fn send(
3498 return sendto(sockfd, buf, flags, null, 0);3568 return sendto(sockfd, buf, flags, null, 0);
3499}3569}
35003570
3571pub const SendFileError = PReadError || WriteError || SendError;
3572
3573fn count_iovec_bytes(iovs: []const iovec_const) usize {
3574 var count: usize = 0;
3575 for (iovs) |iov| {
3576 count += iov.iov_len;
3577 }
3578 return count;
3579}
3580
3581/// Transfer data between file descriptors, with optional headers and trailers.
3582/// Returns the number of bytes written, which can be zero.
3583///
3584/// The `sendfile` call copies `in_len` bytes from one file descriptor to another. When possible,
3585/// this is done within the operating system kernel, which can provide better performance
3586/// characteristics than transferring data from kernel to user space and back, such as with
3587/// `read` and `write` calls. When `in_len` is `0`, it means to copy until the end of the input file has been
3588/// reached. Note, however, that partial writes are still possible in this case.
3589///
3590/// `in_fd` must be a file descriptor opened for reading, and `out_fd` must be a file descriptor
3591/// opened for writing. They may be any kind of file descriptor; however, if `in_fd` is not a regular
3592/// file system file, it may cause this function to fall back to calling `read` and `write`, in which case
3593/// atomicity guarantees no longer apply.
3594///
3595/// Copying begins reading at `in_offset`. The input file descriptor seek position is ignored and not updated.
3596/// If the output file descriptor has a seek position, it is updated as bytes are written. When
3597/// `in_offset` is past the end of the input file, it successfully reads 0 bytes.
3598///
3599/// `flags` has different meanings per operating system; refer to the respective man pages.
3600///
3601/// These systems support atomically sending everything, including headers and trailers:
3602/// * macOS
3603/// * FreeBSD
3604///
3605/// These systems support in-kernel data copying, but headers and trailers are not sent atomically:
3606/// * Linux
3607///
3608/// Other systems fall back to calling `read` / `write`.
3609///
3610/// Linux has a limit on how many bytes may be transferred in one `sendfile` call, which is `0x7ffff000`
3611/// on both 64-bit and 32-bit systems. This is due to using a signed C int as the return value, as
3612/// well as stuffing the errno codes into the last `4096` values. This is cited on the `sendfile` man page.
3613/// The corresponding POSIX limit on this is `math.maxInt(isize)`.
3614pub fn sendfile(
3615 out_fd: fd_t,
3616 in_fd: fd_t,
3617 in_offset: u64,
3618 in_len: u64,
3619 headers: []const iovec_const,
3620 trailers: []const iovec_const,
3621 flags: u32,
3622) SendFileError!usize {
3623 var header_done = false;
3624 var total_written: usize = 0;
3625
3626 // Prevents EOVERFLOW.
3627 const size_t = @Type(std.builtin.TypeInfo{
3628 .Int = .{
3629 .is_signed = false,
3630 .bits = @typeInfo(usize).Int.bits - 1,
3631 },
3632 });
3633 const max_count = switch (std.Target.current.os.tag) {
3634 .linux => 0x7ffff000,
3635 else => math.maxInt(size_t),
3636 };
3637
3638 switch (std.Target.current.os.tag) {
3639 .linux => sf: {
3640 // sendfile() first appeared in Linux 2.2, glibc 2.1.
3641 const call_sf = comptime if (builtin.link_libc)
3642 std.c.versionCheck(.{ .major = 2, .minor = 1 }).ok
3643 else
3644 std.Target.current.os.version_range.linux.range.max.order(.{ .major = 2, .minor = 2 }) != .lt;
3645 if (!call_sf) break :sf;
3646
3647 if (headers.len != 0) {
3648 const amt = try writev(out_fd, headers);
3649 total_written += amt;
3650 if (amt < count_iovec_bytes(headers)) return total_written;
3651 header_done = true;
3652 }
3653
3654 // Here we match BSD behavior, making a zero count value send as many bytes as possible.
3655 const adjusted_count = if (in_len == 0) max_count else math.min(in_len, @as(size_t, max_count));
3656
3657 while (true) {
3658 var offset: off_t = @bitCast(off_t, in_offset);
3659 const rc = system.sendfile(out_fd, in_fd, &offset, adjusted_count);
3660 switch (errno(rc)) {
3661 0 => {
3662 const amt = @bitCast(usize, rc);
3663 total_written += amt;
3664 if (in_len == 0 and amt == 0) {
3665 // We have detected EOF from `in_fd`.
3666 break;
3667 } else if (amt < in_len) {
3668 return total_written;
3669 } else {
3670 break;
3671 }
3672 },
3673
3674 EBADF => unreachable, // Always a race condition.
3675 EFAULT => unreachable, // Segmentation fault.
3676 EOVERFLOW => unreachable, // We avoid passing too large of a `count`.
3677 ENOTCONN => unreachable, // `out_fd` is an unconnected socket.
3678
3679 EINVAL, ENOSYS => {
3680 // EINVAL could be any of the following situations:
3681 // * Descriptor is not valid or locked
3682 // * an mmap(2)-like operation is not available for in_fd
3683 // * count is negative
3684 // * out_fd has the O_APPEND flag set
3685 // Because of the "mmap(2)-like operation" possibility, we fall back to doing read/write
3686 // manually, the same as ENOSYS.
3687 break :sf;
3688 },
3689 EAGAIN => if (std.event.Loop.instance) |loop| {
3690 loop.waitUntilFdWritable(out_fd);
3691 continue;
3692 } else {
3693 return error.WouldBlock;
3694 },
3695 EIO => return error.InputOutput,
3696 EPIPE => return error.BrokenPipe,
3697 ENOMEM => return error.SystemResources,
3698 ENXIO => return error.Unseekable,
3699 ESPIPE => return error.Unseekable,
3700 else => |err| {
3701 const discard = unexpectedErrno(err);
3702 break :sf;
3703 },
3704 }
3705 }
3706
3707 if (trailers.len != 0) {
3708 total_written += try writev(out_fd, trailers);
3709 }
3710
3711 return total_written;
3712 },
3713 .freebsd => sf: {
3714 var hdtr_data: std.c.sf_hdtr = undefined;
3715 var hdtr: ?*std.c.sf_hdtr = null;
3716 if (headers.len != 0 or trailers.len != 0) {
3717 // Here we carefully avoid `@intCast` by returning partial writes when
3718 // too many io vectors are provided.
3719 const hdr_cnt = math.cast(u31, headers.len) catch math.maxInt(u31);
3720 if (headers.len > hdr_cnt) return writev(out_fd, headers);
3721
3722 const trl_cnt = math.cast(u31, trailers.len) catch math.maxInt(u31);
3723
3724 hdtr_data = std.c.sf_hdtr{
3725 .headers = headers.ptr,
3726 .hdr_cnt = hdr_cnt,
3727 .trailers = trailers.ptr,
3728 .trl_cnt = trl_cnt,
3729 };
3730 hdtr = &hdtr_data;
3731 }
3732
3733 const adjusted_count = math.min(in_len, max_count);
3734
3735 while (true) {
3736 var sbytes: off_t = undefined;
3737 const err = errno(system.sendfile(out_fd, in_fd, in_offset, adjusted_count, hdtr, &sbytes, flags));
3738 const amt = @bitCast(usize, sbytes);
3739 switch (err) {
3740 0 => return amt,
3741
3742 EBADF => unreachable, // Always a race condition.
3743 EFAULT => unreachable, // Segmentation fault.
3744 ENOTCONN => unreachable, // `out_fd` is an unconnected socket.
3745
3746 EINVAL, EOPNOTSUPP, ENOTSOCK, ENOSYS => {
3747 // EINVAL could be any of the following situations:
3748 // * The fd argument is not a regular file.
3749 // * The s argument is not a SOCK_STREAM type socket.
3750 // * The offset argument is negative.
3751 // Because of some of these possibilities, we fall back to doing read/write
3752 // manually, the same as ENOSYS.
3753 break :sf;
3754 },
3755
3756 EINTR => if (amt != 0) return amt else continue,
3757
3758 EAGAIN => if (amt != 0) {
3759 return amt;
3760 } else if (std.event.Loop.instance) |loop| {
3761 loop.waitUntilFdWritable(out_fd);
3762 continue;
3763 } else {
3764 return error.WouldBlock;
3765 },
3766
3767 EBUSY => if (amt != 0) {
3768 return amt;
3769 } else if (std.event.Loop.instance) |loop| {
3770 loop.waitUntilFdReadable(in_fd);
3771 continue;
3772 } else {
3773 return error.WouldBlock;
3774 },
3775
3776 EIO => return error.InputOutput,
3777 ENOBUFS => return error.SystemResources,
3778 EPIPE => return error.BrokenPipe,
3779
3780 else => {
3781 const discard = unexpectedErrno(err);
3782 if (amt != 0) {
3783 return amt;
3784 } else {
3785 break :sf;
3786 }
3787 },
3788 }
3789 }
3790 },
3791 .macosx, .ios, .tvos, .watchos => sf: {
3792 var hdtr_data: std.c.sf_hdtr = undefined;
3793 var hdtr: ?*std.c.sf_hdtr = null;
3794 if (headers.len != 0 or trailers.len != 0) {
3795 // Here we carefully avoid `@intCast` by returning partial writes when
3796 // too many io vectors are provided.
3797 const hdr_cnt = math.cast(u31, headers.len) catch math.maxInt(u31);
3798 if (headers.len > hdr_cnt) return writev(out_fd, headers);
3799
3800 const trl_cnt = math.cast(u31, trailers.len) catch math.maxInt(u31);
3801
3802 hdtr_data = std.c.sf_hdtr{
3803 .headers = headers.ptr,
3804 .hdr_cnt = hdr_cnt,
3805 .trailers = trailers.ptr,
3806 .trl_cnt = trl_cnt,
3807 };
3808 hdtr = &hdtr_data;
3809 }
3810
3811 const adjusted_count = math.min(in_len, @as(u63, max_count));
3812
3813 while (true) {
3814 var sbytes: off_t = adjusted_count;
3815 const signed_offset = @bitCast(i64, in_offset);
3816 const err = errno(system.sendfile(out_fd, in_fd, signed_offset, &sbytes, hdtr, flags));
3817 const amt = @bitCast(usize, sbytes);
3818 switch (err) {
3819 0 => return amt,
3820
3821 EFAULT => unreachable, // Segmentation fault.
3822 EINVAL => unreachable,
3823 ENOTCONN => unreachable, // `out_fd` is an unconnected socket.
3824
3825 // On macOS version 10.14.6, I observed Darwin return EBADF when
3826 // using sendfile on a valid open file descriptor of a file
3827 // system file.
3828 ENOTSUP, ENOTSOCK, ENOSYS, EBADF => break :sf,
3829
3830 EINTR => if (amt != 0) return amt else continue,
3831
3832 EAGAIN => if (amt != 0) {
3833 return amt;
3834 } else if (std.event.Loop.instance) |loop| {
3835 loop.waitUntilFdWritable(out_fd);
3836 continue;
3837 } else {
3838 return error.WouldBlock;
3839 },
3840
3841 EIO => return error.InputOutput,
3842 EPIPE => return error.BrokenPipe,
3843
3844 else => {
3845 const discard = unexpectedErrno(err);
3846 if (amt != 0) {
3847 return amt;
3848 } else {
3849 break :sf;
3850 }
3851 },
3852 }
3853 }
3854 },
3855 else => {}, // fall back to read/write
3856 }
3857
3858 if (headers.len != 0 and !header_done) {
3859 const amt = try writev(out_fd, headers);
3860 total_written += amt;
3861 if (amt < count_iovec_bytes(headers)) return total_written;
3862 }
3863
3864 rw: {
3865 var buf: [8 * 4096]u8 = undefined;
3866 // Here we match BSD behavior, making a zero count value send as many bytes as possible.
3867 const adjusted_count = if (in_len == 0) buf.len else math.min(buf.len, in_len);
3868 const amt_read = try pread(in_fd, buf[0..adjusted_count], in_offset);
3869 if (amt_read == 0) {
3870 if (in_len == 0) {
3871 // We have detected EOF from `in_fd`.
3872 break :rw;
3873 } else {
3874 return total_written;
3875 }
3876 }
3877 const amt_written = try write(out_fd, buf[0..amt_read]);
3878 total_written += amt_written;
3879 if (amt_written < in_len or in_len == 0) return total_written;
3880 }
3881
3882 if (trailers.len != 0) {
3883 total_written += try writev(out_fd, trailers);
3884 }
3885
3886 return total_written;
3887}
3888
3501pub const PollError = error{3889pub const PollError = error{
3502 /// The kernel had no space to allocate file descriptor tables.3890 /// The kernel had no space to allocate file descriptor tables.
3503 SystemResources,3891 SystemResources,
lib/std/os/bits/darwin.zig+3
...@@ -926,6 +926,9 @@ pub const ESOCKTNOSUPPORT = 44;...@@ -926,6 +926,9 @@ pub const ESOCKTNOSUPPORT = 44;
926/// Operation not supported926/// Operation not supported
927pub const ENOTSUP = 45;927pub const ENOTSUP = 45;
928928
929/// Operation not supported. Alias of `ENOTSUP`.
930pub const EOPNOTSUPP = ENOTSUP;
931
929/// Protocol family not supported932/// Protocol family not supported
930pub const EPFNOSUPPORT = 46;933pub const EPFNOSUPPORT = 46;
931934
lib/std/os/bits/linux/arm64.zig+1
...@@ -82,6 +82,7 @@ pub const SYS_pread64 = 67;...@@ -82,6 +82,7 @@ pub const SYS_pread64 = 67;
82pub const SYS_pwrite64 = 68;82pub const SYS_pwrite64 = 68;
83pub const SYS_preadv = 69;83pub const SYS_preadv = 69;
84pub const SYS_pwritev = 70;84pub const SYS_pwritev = 70;
85pub const SYS_sendfile = 71;
85pub const SYS_pselect6 = 72;86pub const SYS_pselect6 = 72;
86pub const SYS_ppoll = 73;87pub const SYS_ppoll = 73;
87pub const SYS_signalfd4 = 74;88pub const SYS_signalfd4 = 74;
lib/std/os/linux.zig+58-4
...@@ -6,7 +6,7 @@...@@ -6,7 +6,7 @@
6// provide `rename` when only the `renameat` syscall exists.6// provide `rename` when only the `renameat` syscall exists.
7// * Does not support POSIX thread cancellation.7// * Does not support POSIX thread cancellation.
8const std = @import("../std.zig");8const std = @import("../std.zig");
9const builtin = @import("builtin");9const builtin = std.builtin;
10const assert = std.debug.assert;10const assert = std.debug.assert;
11const maxInt = std.math.maxInt;11const maxInt = std.math.maxInt;
12const elf = std.elf;12const elf = std.elf;
...@@ -39,6 +39,13 @@ pub fn getauxval(index: usize) usize {...@@ -39,6 +39,13 @@ pub fn getauxval(index: usize) usize {
39 return 0;39 return 0;
40}40}
4141
42// Some architectures require 64bit parameters for some syscalls to be passed in
43// even-aligned register pair
44const require_aligned_register_pair = //
45 std.Target.current.cpu.arch.isMIPS() or
46 std.Target.current.cpu.arch.isARM() or
47 std.Target.current.cpu.arch.isThumb();
48
42/// Get the errno from a syscall return value, or 0 for no error.49/// Get the errno from a syscall return value, or 0 for no error.
43pub fn getErrno(r: usize) u12 {50pub fn getErrno(r: usize) u12 {
44 const signed_r = @bitCast(isize, r);51 const signed_r = @bitCast(isize, r);
...@@ -69,6 +76,10 @@ pub fn chdir(path: [*:0]const u8) usize {...@@ -69,6 +76,10 @@ pub fn chdir(path: [*:0]const u8) usize {
69 return syscall1(SYS_chdir, @ptrToInt(path));76 return syscall1(SYS_chdir, @ptrToInt(path));
70}77}
7178
79pub fn fchdir(fd: fd_t) usize {
80 return syscall1(SYS_fchdir, @bitCast(usize, @as(isize, fd)));
81}
82
72pub fn chroot(path: [*:0]const u8) usize {83pub fn chroot(path: [*:0]const u8) usize {
73 return syscall1(SYS_chroot, @ptrToInt(path));84 return syscall1(SYS_chroot, @ptrToInt(path));
74}85}
...@@ -316,8 +327,31 @@ pub fn symlinkat(existing: [*:0]const u8, newfd: i32, newpath: [*:0]const u8) us...@@ -316,8 +327,31 @@ pub fn symlinkat(existing: [*:0]const u8, newfd: i32, newpath: [*:0]const u8) us
316 return syscall3(SYS_symlinkat, @ptrToInt(existing), @bitCast(usize, @as(isize, newfd)), @ptrToInt(newpath));327 return syscall3(SYS_symlinkat, @ptrToInt(existing), @bitCast(usize, @as(isize, newfd)), @ptrToInt(newpath));
317}328}
318329
319pub fn pread(fd: i32, buf: [*]u8, count: usize, offset: usize) usize {330pub fn pread(fd: i32, buf: [*]u8, count: usize, offset: u64) usize {
320 return syscall4(SYS_pread, @bitCast(usize, @as(isize, fd)), @ptrToInt(buf), count, offset);331 if (@hasDecl(@This(), "SYS_pread64")) {
332 if (require_aligned_register_pair) {
333 return syscall6(
334 SYS_pread64,
335 @bitCast(usize, @as(isize, fd)),
336 @ptrToInt(buf),
337 count,
338 0,
339 @truncate(usize, offset),
340 @truncate(usize, offset >> 32),
341 );
342 } else {
343 return syscall5(
344 SYS_pread64,
345 @bitCast(usize, @as(isize, fd)),
346 @ptrToInt(buf),
347 count,
348 @truncate(usize, offset),
349 @truncate(usize, offset >> 32),
350 );
351 }
352 } else {
353 return syscall4(SYS_pread, @bitCast(usize, @as(isize, fd)), @ptrToInt(buf), count, offset);
354 }
321}355}
322356
323pub fn access(path: [*:0]const u8, mode: u32) usize {357pub fn access(path: [*:0]const u8, mode: u32) usize {
...@@ -333,7 +367,7 @@ pub fn faccessat(dirfd: i32, path: [*:0]const u8, mode: u32, flags: u32) usize {...@@ -333,7 +367,7 @@ pub fn faccessat(dirfd: i32, path: [*:0]const u8, mode: u32, flags: u32) usize {
333}367}
334368
335pub fn pipe(fd: *[2]i32) usize {369pub fn pipe(fd: *[2]i32) usize {
336 if (builtin.arch == .mipsel) {370 if (comptime builtin.arch.isMIPS()) {
337 return syscall_pipe(fd);371 return syscall_pipe(fd);
338 } else if (@hasDecl(@This(), "SYS_pipe")) {372 } else if (@hasDecl(@This(), "SYS_pipe")) {
339 return syscall1(SYS_pipe, @ptrToInt(fd));373 return syscall1(SYS_pipe, @ptrToInt(fd));
...@@ -846,6 +880,26 @@ pub fn sendto(fd: i32, buf: [*]const u8, len: usize, flags: u32, addr: ?*const s...@@ -846,6 +880,26 @@ pub fn sendto(fd: i32, buf: [*]const u8, len: usize, flags: u32, addr: ?*const s
846 return syscall6(SYS_sendto, @bitCast(usize, @as(isize, fd)), @ptrToInt(buf), len, flags, @ptrToInt(addr), @intCast(usize, alen));880 return syscall6(SYS_sendto, @bitCast(usize, @as(isize, fd)), @ptrToInt(buf), len, flags, @ptrToInt(addr), @intCast(usize, alen));
847}881}
848882
883pub fn sendfile(outfd: i32, infd: i32, offset: ?*i64, count: usize) usize {
884 if (@hasDecl(@This(), "SYS_sendfile64")) {
885 return syscall4(
886 SYS_sendfile64,
887 @bitCast(usize, @as(isize, outfd)),
888 @bitCast(usize, @as(isize, infd)),
889 @ptrToInt(offset),
890 count,
891 );
892 } else {
893 return syscall4(
894 SYS_sendfile,
895 @bitCast(usize, @as(isize, outfd)),
896 @bitCast(usize, @as(isize, infd)),
897 @ptrToInt(offset),
898 count,
899 );
900 }
901}
902
849pub fn socketpair(domain: i32, socket_type: i32, protocol: i32, fd: [2]i32) usize {903pub fn socketpair(domain: i32, socket_type: i32, protocol: i32, fd: [2]i32) usize {
850 if (builtin.arch == .i386) {904 if (builtin.arch == .i386) {
851 return socketcall(SC_socketpair, &[4]usize{ @intCast(usize, domain), @intCast(usize, socket_type), @intCast(usize, protocol), @ptrToInt(&fd[0]) });905 return socketcall(SC_socketpair, &[4]usize{ @intCast(usize, domain), @intCast(usize, socket_type), @intCast(usize, protocol), @ptrToInt(&fd[0]) });
lib/std/os/test.zig+67-5
...@@ -16,7 +16,7 @@ const AtomicRmwOp = builtin.AtomicRmwOp;...@@ -16,7 +16,7 @@ const AtomicRmwOp = builtin.AtomicRmwOp;
16const AtomicOrder = builtin.AtomicOrder;16const AtomicOrder = builtin.AtomicOrder;
1717
18test "makePath, put some files in it, deleteTree" {18test "makePath, put some files in it, deleteTree" {
19 try fs.makePath(a, "os_test_tmp" ++ fs.path.sep_str ++ "b" ++ fs.path.sep_str ++ "c");19 try fs.cwd().makePath("os_test_tmp" ++ fs.path.sep_str ++ "b" ++ fs.path.sep_str ++ "c");
20 try io.writeFile("os_test_tmp" ++ fs.path.sep_str ++ "b" ++ fs.path.sep_str ++ "c" ++ fs.path.sep_str ++ "file.txt", "nonsense");20 try io.writeFile("os_test_tmp" ++ fs.path.sep_str ++ "b" ++ fs.path.sep_str ++ "c" ++ fs.path.sep_str ++ "file.txt", "nonsense");
21 try io.writeFile("os_test_tmp" ++ fs.path.sep_str ++ "b" ++ fs.path.sep_str ++ "file2.txt", "blah");21 try io.writeFile("os_test_tmp" ++ fs.path.sep_str ++ "b" ++ fs.path.sep_str ++ "file2.txt", "blah");
22 try fs.deleteTree("os_test_tmp");22 try fs.deleteTree("os_test_tmp");
...@@ -28,7 +28,7 @@ test "makePath, put some files in it, deleteTree" {...@@ -28,7 +28,7 @@ test "makePath, put some files in it, deleteTree" {
28}28}
2929
30test "access file" {30test "access file" {
31 try fs.makePath(a, "os_test_tmp");31 try fs.cwd().makePath("os_test_tmp");
32 if (fs.cwd().access("os_test_tmp" ++ fs.path.sep_str ++ "file.txt", .{})) |ok| {32 if (fs.cwd().access("os_test_tmp" ++ fs.path.sep_str ++ "file.txt", .{})) |ok| {
33 @panic("expected error");33 @panic("expected error");
34 } else |err| {34 } else |err| {
...@@ -44,6 +44,68 @@ fn testThreadIdFn(thread_id: *Thread.Id) void {...@@ -44,6 +44,68 @@ fn testThreadIdFn(thread_id: *Thread.Id) void {
44 thread_id.* = Thread.getCurrentId();44 thread_id.* = Thread.getCurrentId();
45}45}
4646
47test "sendfile" {
48 try fs.cwd().makePath("os_test_tmp");
49 defer fs.deleteTree("os_test_tmp") catch {};
50
51 var dir = try fs.cwd().openDirList("os_test_tmp");
52 defer dir.close();
53
54 const line1 = "line1\n";
55 const line2 = "second line\n";
56 var vecs = [_]os.iovec_const{
57 .{
58 .iov_base = line1,
59 .iov_len = line1.len,
60 },
61 .{
62 .iov_base = line2,
63 .iov_len = line2.len,
64 },
65 };
66
67 var src_file = try dir.createFileC("sendfile1.txt", .{ .read = true });
68 defer src_file.close();
69
70 try src_file.writevAll(&vecs);
71
72 var dest_file = try dir.createFileC("sendfile2.txt", .{ .read = true });
73 defer dest_file.close();
74
75 const header1 = "header1\n";
76 const header2 = "second header\n";
77 const trailer1 = "trailer1\n";
78 const trailer2 = "second trailer\n";
79 var hdtr = [_]os.iovec_const{
80 .{
81 .iov_base = header1,
82 .iov_len = header1.len,
83 },
84 .{
85 .iov_base = header2,
86 .iov_len = header2.len,
87 },
88 .{
89 .iov_base = trailer1,
90 .iov_len = trailer1.len,
91 },
92 .{
93 .iov_base = trailer2,
94 .iov_len = trailer2.len,
95 },
96 };
97
98 var written_buf: [header1.len + header2.len + 10 + trailer1.len + trailer2.len]u8 = undefined;
99 try dest_file.writeFileAll(src_file, .{
100 .in_offset = 1,
101 .in_len = 10,
102 .headers_and_trailers = &hdtr,
103 .header_count = 2,
104 });
105 try dest_file.preadAll(&written_buf, 0);
106 expect(mem.eql(u8, &written_buf, "header1\nsecond header\nine1\nsecontrailer1\nsecond trailer\n"));
107}
108
47test "std.Thread.getCurrentId" {109test "std.Thread.getCurrentId" {
48 if (builtin.single_threaded) return error.SkipZigTest;110 if (builtin.single_threaded) return error.SkipZigTest;
49111
...@@ -103,7 +165,7 @@ test "AtomicFile" {...@@ -103,7 +165,7 @@ test "AtomicFile" {
103 {165 {
104 var af = try fs.AtomicFile.init(test_out_file, File.default_mode);166 var af = try fs.AtomicFile.init(test_out_file, File.default_mode);
105 defer af.deinit();167 defer af.deinit();
106 try af.file.write(test_content);168 try af.file.writeAll(test_content);
107 try af.finish();169 try af.finish();
108 }170 }
109 const content = try io.readFileAlloc(testing.allocator, test_out_file);171 const content = try io.readFileAlloc(testing.allocator, test_out_file);
...@@ -226,7 +288,7 @@ test "pipe" {...@@ -226,7 +288,7 @@ test "pipe" {
226 return error.SkipZigTest;288 return error.SkipZigTest;
227289
228 var fds = try os.pipe();290 var fds = try os.pipe();
229 try os.write(fds[1], "hello");291 expect((try os.write(fds[1], "hello")) == 5);
230 var buf: [16]u8 = undefined;292 var buf: [16]u8 = undefined;
231 expect((try os.read(fds[0], buf[0..])) == 5);293 expect((try os.read(fds[0], buf[0..])) == 5);
232 testing.expectEqualSlices(u8, buf[0..5], "hello");294 testing.expectEqualSlices(u8, buf[0..5], "hello");
...@@ -248,7 +310,7 @@ test "memfd_create" {...@@ -248,7 +310,7 @@ test "memfd_create" {
248 else => |e| return e,310 else => |e| return e,
249 };311 };
250 defer std.os.close(fd);312 defer std.os.close(fd);
251 try std.os.write(fd, "test");313 expect((try std.os.write(fd, "test")) == 4);
252 try std.os.lseek_SET(fd, 0);314 try std.os.lseek_SET(fd, 0);
253315
254 var buf: [10]u8 = undefined;316 var buf: [10]u8 = undefined;
lib/std/os/windows.zig+69-16
...@@ -337,7 +337,7 @@ pub fn GetQueuedCompletionStatus(...@@ -337,7 +337,7 @@ pub fn GetQueuedCompletionStatus(
337}337}
338338
339pub fn CloseHandle(hObject: HANDLE) void {339pub fn CloseHandle(hObject: HANDLE) void {
340 assert(kernel32.CloseHandle(hObject) != 0);340 assert(ntdll.NtClose(hObject) == .SUCCESS);
341}341}
342342
343pub fn FindClose(hFindFile: HANDLE) void {343pub fn FindClose(hFindFile: HANDLE) void {
...@@ -424,7 +424,7 @@ pub const WriteFileError = error{...@@ -424,7 +424,7 @@ pub const WriteFileError = error{
424 Unexpected,424 Unexpected,
425};425};
426426
427pub fn WriteFile(handle: HANDLE, bytes: []const u8, offset: ?u64) WriteFileError!void {427pub fn WriteFile(handle: HANDLE, bytes: []const u8, offset: ?u64) WriteFileError!usize {
428 if (std.event.Loop.instance) |loop| {428 if (std.event.Loop.instance) |loop| {
429 // TODO support async WriteFile with no offset429 // TODO support async WriteFile with no offset
430 const off = offset.?;430 const off = offset.?;
...@@ -445,8 +445,8 @@ pub fn WriteFile(handle: HANDLE, bytes: []const u8, offset: ?u64) WriteFileError...@@ -445,8 +445,8 @@ pub fn WriteFile(handle: HANDLE, bytes: []const u8, offset: ?u64) WriteFileError
445 _ = CreateIoCompletionPort(fd, loop.os_data.io_port, undefined, undefined);445 _ = CreateIoCompletionPort(fd, loop.os_data.io_port, undefined, undefined);
446 loop.beginOneEvent();446 loop.beginOneEvent();
447 suspend {447 suspend {
448 // TODO replace this @intCast with a loop that writes all the bytes448 const adjusted_len = math.cast(windows.DWORD, bytes.len) catch maxInt(windows.DWORD);
449 _ = kernel32.WriteFile(fd, bytes.ptr, @intCast(windows.DWORD, bytes.len), null, &resume_node.base.overlapped);449 _ = kernel32.WriteFile(fd, bytes.ptr, adjusted_len, null, &resume_node.base.overlapped);
450 }450 }
451 var bytes_transferred: windows.DWORD = undefined;451 var bytes_transferred: windows.DWORD = undefined;
452 if (kernel32.GetOverlappedResult(fd, &resume_node.base.overlapped, &bytes_transferred, FALSE) == 0) {452 if (kernel32.GetOverlappedResult(fd, &resume_node.base.overlapped, &bytes_transferred, FALSE) == 0) {
...@@ -460,6 +460,7 @@ pub fn WriteFile(handle: HANDLE, bytes: []const u8, offset: ?u64) WriteFileError...@@ -460,6 +460,7 @@ pub fn WriteFile(handle: HANDLE, bytes: []const u8, offset: ?u64) WriteFileError
460 else => |err| return windows.unexpectedError(err),460 else => |err| return windows.unexpectedError(err),
461 }461 }
462 }462 }
463 return bytes_transferred;
463 } else {464 } else {
464 var bytes_written: DWORD = undefined;465 var bytes_written: DWORD = undefined;
465 var overlapped_data: OVERLAPPED = undefined;466 var overlapped_data: OVERLAPPED = undefined;
...@@ -473,18 +474,19 @@ pub fn WriteFile(handle: HANDLE, bytes: []const u8, offset: ?u64) WriteFileError...@@ -473,18 +474,19 @@ pub fn WriteFile(handle: HANDLE, bytes: []const u8, offset: ?u64) WriteFileError
473 };474 };
474 break :blk &overlapped_data;475 break :blk &overlapped_data;
475 } else null;476 } else null;
476 // TODO replace this @intCast with a loop that writes all the bytes477 const adjusted_len = math.cast(u32, bytes.len) catch maxInt(u32);
477 if (kernel32.WriteFile(handle, bytes.ptr, @intCast(u32, bytes.len), &bytes_written, overlapped) == 0) {478 if (kernel32.WriteFile(handle, bytes.ptr, adjusted_len, &bytes_written, overlapped) == 0) {
478 switch (kernel32.GetLastError()) {479 switch (kernel32.GetLastError()) {
479 .INVALID_USER_BUFFER => return error.SystemResources,480 .INVALID_USER_BUFFER => return error.SystemResources,
480 .NOT_ENOUGH_MEMORY => return error.SystemResources,481 .NOT_ENOUGH_MEMORY => return error.SystemResources,
481 .OPERATION_ABORTED => return error.OperationAborted,482 .OPERATION_ABORTED => return error.OperationAborted,
482 .NOT_ENOUGH_QUOTA => return error.SystemResources,483 .NOT_ENOUGH_QUOTA => return error.SystemResources,
483 .IO_PENDING => unreachable, // this function is for blocking files only484 .IO_PENDING => unreachable,
484 .BROKEN_PIPE => return error.BrokenPipe,485 .BROKEN_PIPE => return error.BrokenPipe,
485 else => |err| return unexpectedError(err),486 else => |err| return unexpectedError(err),
486 }487 }
487 }488 }
489 return bytes_written;
488 }490 }
489}491}
490492
...@@ -584,23 +586,74 @@ pub fn MoveFileExW(old_path: [*:0]const u16, new_path: [*:0]const u16, flags: DW...@@ -584,23 +586,74 @@ pub fn MoveFileExW(old_path: [*:0]const u16, new_path: [*:0]const u16, flags: DW
584}586}
585587
586pub const CreateDirectoryError = error{588pub const CreateDirectoryError = error{
589 NameTooLong,
587 PathAlreadyExists,590 PathAlreadyExists,
588 FileNotFound,591 FileNotFound,
592 NoDevice,
593 AccessDenied,
589 Unexpected,594 Unexpected,
590};595};
591596
592pub fn CreateDirectory(pathname: []const u8, attrs: ?*SECURITY_ATTRIBUTES) CreateDirectoryError!void {597/// Returns an open directory handle which the caller is responsible for closing with `CloseHandle`.
598pub fn CreateDirectory(dir: ?HANDLE, pathname: []const u8, sa: ?*SECURITY_ATTRIBUTES) CreateDirectoryError!HANDLE {
593 const pathname_w = try sliceToPrefixedFileW(pathname);599 const pathname_w = try sliceToPrefixedFileW(pathname);
594 return CreateDirectoryW(&pathname_w, attrs);600 return CreateDirectoryW(dir, &pathname_w, sa);
595}601}
596602
597pub fn CreateDirectoryW(pathname: [*:0]const u16, attrs: ?*SECURITY_ATTRIBUTES) CreateDirectoryError!void {603/// Same as `CreateDirectory` except takes a WTF-16 encoded path.
598 if (kernel32.CreateDirectoryW(pathname, attrs) == 0) {604pub fn CreateDirectoryW(
599 switch (kernel32.GetLastError()) {605 dir: ?HANDLE,
600 .ALREADY_EXISTS => return error.PathAlreadyExists,606 sub_path_w: [*:0]const u16,
601 .PATH_NOT_FOUND => return error.FileNotFound,607 sa: ?*SECURITY_ATTRIBUTES,
602 else => |err| return unexpectedError(err),608) CreateDirectoryError!HANDLE {
603 }609 const path_len_bytes = math.cast(u16, mem.toSliceConst(u16, sub_path_w).len * 2) catch |err| switch (err) {
610 error.Overflow => return error.NameTooLong,
611 };
612 var nt_name = UNICODE_STRING{
613 .Length = path_len_bytes,
614 .MaximumLength = path_len_bytes,
615 .Buffer = @intToPtr([*]u16, @ptrToInt(sub_path_w)),
616 };
617
618 if (sub_path_w[0] == '.' and sub_path_w[1] == 0) {
619 // Windows does not recognize this, but it does work with empty string.
620 nt_name.Length = 0;
621 }
622
623 var attr = OBJECT_ATTRIBUTES{
624 .Length = @sizeOf(OBJECT_ATTRIBUTES),
625 .RootDirectory = if (std.fs.path.isAbsoluteWindowsW(sub_path_w)) null else dir,
626 .Attributes = 0, // Note we do not use OBJ_CASE_INSENSITIVE here.
627 .ObjectName = &nt_name,
628 .SecurityDescriptor = if (sa) |ptr| ptr.lpSecurityDescriptor else null,
629 .SecurityQualityOfService = null,
630 };
631 var io: IO_STATUS_BLOCK = undefined;
632 var result_handle: HANDLE = undefined;
633 const rc = ntdll.NtCreateFile(
634 &result_handle,
635 GENERIC_READ | SYNCHRONIZE,
636 &attr,
637 &io,
638 null,
639 FILE_ATTRIBUTE_NORMAL,
640 FILE_SHARE_READ,
641 FILE_CREATE,
642 FILE_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT,
643 null,
644 0,
645 );
646 switch (rc) {
647 .SUCCESS => return result_handle,
648 .OBJECT_NAME_INVALID => unreachable,
649 .OBJECT_NAME_NOT_FOUND => return error.FileNotFound,
650 .OBJECT_PATH_NOT_FOUND => return error.FileNotFound,
651 .NO_MEDIA_IN_DEVICE => return error.NoDevice,
652 .INVALID_PARAMETER => unreachable,
653 .ACCESS_DENIED => return error.AccessDenied,
654 .OBJECT_PATH_SYNTAX_BAD => unreachable,
655 .OBJECT_NAME_COLLISION => return error.PathAlreadyExists,
656 else => return unexpectedStatus(rc),
604 }657 }
605}658}
606659
lib/std/special/docs/index.html+96-13
...@@ -2,6 +2,7 @@...@@ -2,6 +2,7 @@
2<html lang="en">2<html lang="en">
3 <head>3 <head>
4 <meta charset="utf-8">4 <meta charset="utf-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1">
5 <title>Documentation - Zig</title>6 <title>Documentation - Zig</title>
6 <link rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAgklEQVR4AWMYWuD7EllJIM4G4g4g5oIJ/odhOJ8wToOxSTXgNxDHoeiBMfA4+wGShjyYOCkG/IGqWQziEzYAoUAeiF9D5U+DxEg14DRU7jWIT5IBIOdCxf+A+CQZAAoopEB7QJwBCBwHiip8UYmRdrAlDpIMgApwQZNnNii5Dq0MBgCxxycBnwEd+wAAAABJRU5ErkJggg==">7 <link rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAgklEQVR4AWMYWuD7EllJIM4G4g4g5oIJ/odhOJ8wToOxSTXgNxDHoeiBMfA4+wGShjyYOCkG/IGqWQziEzYAoUAeiF9D5U+DxEg14DRU7jWIT5IBIOdCxf+A+CQZAAoopEB7QJwBCBwHiip8UYmRdrAlDpIMgApwQZNnNii5Dq0MBgCxxycBnwEd+wAAAABJRU5ErkJggg==">
7 <style>8 <style>
...@@ -25,6 +26,8 @@...@@ -25,6 +26,8 @@
25 --search-sh-color: rgba(0, 0, 0, 0.18);26 --search-sh-color: rgba(0, 0, 0, 0.18);
26 --help-sh-color: rgba(0, 0, 0, 0.75);27 --help-sh-color: rgba(0, 0, 0, 0.75);
27 }28 }
29
30 html, body { margin: 0; padding:0; height: 100%; }
2831
29 a {32 a {
30 text-decoration: none;33 text-decoration: none;
...@@ -69,6 +72,7 @@...@@ -69,6 +72,7 @@
69 max-width: 15vw;72 max-width: 15vw;
70 min-width: 9.5rem;73 min-width: 9.5rem;
71 overflow: auto;74 overflow: auto;
75 -webkit-overflow-scrolling: touch;
72 overflow-wrap: break-word;76 overflow-wrap: break-word;
73 flex-shrink: 0;77 flex-shrink: 0;
74 flex-grow: 0;78 flex-grow: 0;
...@@ -79,6 +83,7 @@...@@ -79,6 +83,7 @@
79 .flex-right {83 .flex-right {
80 display: flex;84 display: flex;
81 overflow: auto;85 overflow: auto;
86 -webkit-overflow-scrolling: touch;
82 flex-grow: 1;87 flex-grow: 1;
83 flex-shrink: 1;88 flex-shrink: 1;
84 89
...@@ -175,6 +180,8 @@...@@ -175,6 +180,8 @@
175 border-bottom-color: var(--tx-color);180 border-bottom-color: var(--tx-color);
176 outline: none;181 outline: none;
177 transition: border-bottom-color 0.35s, background 0.35s, box-shadow 0.35s;182 transition: border-bottom-color 0.35s, background 0.35s, box-shadow 0.35s;
183 border-radius: 0;
184 -webkit-appearance: none;
178 }185 }
179 186
180 .docs .search:focus {187 .docs .search:focus {
...@@ -258,12 +265,12 @@...@@ -258,12 +265,12 @@
258 font-weight: bold;265 font-weight: bold;
259 }266 }
260 267
261 #listFnExamples {268 .examples {
262 list-style-type: none;269 list-style-type: none;
263 margin: 0;270 margin: 0;
264 padding: 0;271 padding: 0;
265 }272 }
266 #listFnExamples li {273 .examples li {
267 padding: 0.5em 0;274 padding: 0.5em 0;
268 white-space: nowrap;275 white-space: nowrap;
269 overflow-x: auto;276 overflow-x: auto;
...@@ -435,6 +442,76 @@...@@ -435,6 +442,76 @@
435 }442 }
436 443
437 }444 }
445
446 @media only screen and (max-width: 750px) {
447 .canvas {
448 overflow: auto;
449 }
450 .flex-main {
451 flex-direction: column;
452 display: block;
453 }
454 .sidebar {
455 min-width: calc(100vw - 2.8rem);
456 padding-left: 1.4rem;
457 padding-right: 1.4rem;
458 }
459 .logo {
460 max-width: 6.5rem;
461 }
462 .flex-main > .flex-filler {
463 display: none;
464 }
465 .flex-main > .flex-right > .flex-filler {
466 display: none;
467 }
468 .flex-main > .flex-right > .wrap {
469 max-width: 100vw;
470 }
471 .flex-main > .flex-right > .wrap > .docs {
472 padding-right: 1.4rem;
473 background: transparent;
474 }
475 .packages {
476 display: flex;
477 flex-wrap: wrap;
478 }
479 .table-container table {
480 display: flex;
481 flex-direction: column;
482 }
483 .table-container tr {
484 display: flex;
485 flex-direction: column;
486 }
487 .examples {
488 overflow-x: scroll;
489 -webkit-overflow-scrolling: touch;
490 max-width: 100vw;
491 margin-left: -1.4rem;
492 margin-right: -1.4rem;
493 }
494 .examples li {
495 width: max-content;
496 padding-left: 1.4rem;
497 padding-right: 1.4rem;
498 }
499 .mobile-scroll-container {
500 overflow-x: scroll;
501 -webkit-overflow-scrolling: touch;
502 margin-left: -1.4rem;
503 margin-right: -1.4rem;
504 max-width: 100vw;
505 }
506 .mobile-scroll-container > .scroll-item {
507 margin-left: 1.4rem;
508 margin-right: 1.4rem;
509 box-sizing: border-box;
510 width: max-content;
511 display: inline-block;
512 min-width: calc(100% - 2.8rem);
513 }
514 }
438 </style>515 </style>
439 </head>516 </head>
440 <body class="canvas">517 <body class="canvas">
...@@ -471,7 +548,7 @@...@@ -471,7 +548,7 @@
471 <p id="status">Loading...</p>548 <p id="status">Loading...</p>
472 <div id="sectNav" class="hidden"><ul id="listNav"></ul></div>549 <div id="sectNav" class="hidden"><ul id="listNav"></ul></div>
473 <div id="fnProto" class="hidden">550 <div id="fnProto" class="hidden">
474 <pre id="fnProtoCode"></pre>551 <div class="mobile-scroll-container"><pre id="fnProtoCode" class="scroll-item"></pre></div>
475 </div>552 </div>
476 <h1 id="hdrName" class="hidden"></h1>553 <h1 id="hdrName" class="hidden"></h1>
477 <div id="fnNoExamples" class="hidden">554 <div id="fnNoExamples" class="hidden">
...@@ -518,21 +595,27 @@...@@ -518,21 +595,27 @@
518 </div>595 </div>
519 <div id="sectGlobalVars" class="hidden">596 <div id="sectGlobalVars" class="hidden">
520 <h2>Global Variables</h2>597 <h2>Global Variables</h2>
521 <table>598 <div class="table-container">
522 <tbody id="listGlobalVars"></tbody>599 <table>
523 </table>600 <tbody id="listGlobalVars"></tbody>
601 </table>
602 </div>
524 </div>603 </div>
525 <div id="sectFns" class="hidden">604 <div id="sectFns" class="hidden">
526 <h2>Functions</h2>605 <h2>Functions</h2>
527 <table>606 <div class="table-container">
528 <tbody id="listFns"></tbody>607 <table>
529 </table>608 <tbody id="listFns"></tbody>
609 </table>
610 </div>
530 </div>611 </div>
531 <div id="sectValues" class="hidden">612 <div id="sectValues" class="hidden">
532 <h2>Values</h2>613 <h2>Values</h2>
533 <table>614 <div class="table-container">
534 <tbody id="listValues"></tbody>615 <table>
535 </table>616 <tbody id="listValues"></tbody>
617 </table>
618 </div>
536 </div>619 </div>
537 <div id="sectErrSets" class="hidden">620 <div id="sectErrSets" class="hidden">
538 <h2>Error Sets</h2>621 <h2>Error Sets</h2>
...@@ -540,7 +623,7 @@...@@ -540,7 +623,7 @@
540 </div>623 </div>
541 <div id="fnExamples" class="hidden">624 <div id="fnExamples" class="hidden">
542 <h2>Examples</h2>625 <h2>Examples</h2>
543 <ul id="listFnExamples"></ul>626 <ul id="listFnExamples" class="examples"></ul>
544 </div>627 </div>
545 </section>628 </section>
546 </div>629 </div>
lib/std/special/docs/main.js+2-2
...@@ -1086,7 +1086,7 @@...@@ -1086,7 +1086,7 @@
1086 var fieldNode = zigAnalysis.astNodes[containerNode.fields[i]];1086 var fieldNode = zigAnalysis.astNodes[containerNode.fields[i]];
1087 var divDom = domListFields.children[i];1087 var divDom = domListFields.children[i];
10881088
1089 var html = '<pre>' + escapeHtml(fieldNode.name);1089 var html = '<div class="mobile-scroll-container"><pre class="scroll-item">' + escapeHtml(fieldNode.name);
10901090
1091 if (container.kind === typeKinds.Enum) {1091 if (container.kind === typeKinds.Enum) {
1092 html += ' = <span class="tok-number">' + field + '</span>';1092 html += ' = <span class="tok-number">' + field + '</span>';
...@@ -1099,7 +1099,7 @@...@@ -1099,7 +1099,7 @@
1099 }1099 }
1100 }1100 }
11011101
1102 html += ',</pre>';1102 html += ',</pre></div>';
11031103
1104 var docs = fieldNode.docs;1104 var docs = fieldNode.docs;
1105 if (docs != null) {1105 if (docs != null) {
lib/std/target.zig+6-1
...@@ -146,7 +146,6 @@ pub const Target = struct {...@@ -146,7 +146,6 @@ pub const Target = struct {
146 .freestanding,146 .freestanding,
147 .ananas,147 .ananas,
148 .cloudabi,148 .cloudabi,
149 .dragonfly,
150 .fuchsia,149 .fuchsia,
151 .kfreebsd,150 .kfreebsd,
152 .lv2,151 .lv2,
...@@ -215,6 +214,12 @@ pub const Target = struct {...@@ -215,6 +214,12 @@ pub const Target = struct {
215 .max = .{ .major = 6, .minor = 6 },214 .max = .{ .major = 6, .minor = 6 },
216 },215 },
217 },216 },
217 .dragonfly => return .{
218 .semver = .{
219 .min = .{ .major = 5, .minor = 8 },
220 .max = .{ .major = 5, .minor = 8 },
221 },
222 },
218223
219 .linux => return .{224 .linux => return .{
220 .linux = .{225 .linux = .{
lib/std/zig/cross_target.zig+12-10
...@@ -102,7 +102,6 @@ pub const CrossTarget = struct {...@@ -102,7 +102,6 @@ pub const CrossTarget = struct {
102 .freestanding,102 .freestanding,
103 .ananas,103 .ananas,
104 .cloudabi,104 .cloudabi,
105 .dragonfly,
106 .fuchsia,105 .fuchsia,
107 .kfreebsd,106 .kfreebsd,
108 .lv2,107 .lv2,
...@@ -135,10 +134,11 @@ pub const CrossTarget = struct {...@@ -135,10 +134,11 @@ pub const CrossTarget = struct {
135 .freebsd,134 .freebsd,
136 .macosx,135 .macosx,
137 .ios,136 .ios,
138 .netbsd,
139 .openbsd,
140 .tvos,137 .tvos,
141 .watchos,138 .watchos,
139 .netbsd,
140 .openbsd,
141 .dragonfly,
142 => {142 => {
143 self.os_version_min = .{ .semver = os.version_range.semver.min };143 self.os_version_min = .{ .semver = os.version_range.semver.min };
144 self.os_version_max = .{ .semver = os.version_range.semver.max };144 self.os_version_max = .{ .semver = os.version_range.semver.max };
...@@ -355,8 +355,10 @@ pub const CrossTarget = struct {...@@ -355,8 +355,10 @@ pub const CrossTarget = struct {
355 }355 }
356356
357 pub fn getCpuModel(self: CrossTarget) *const Target.Cpu.Model {357 pub fn getCpuModel(self: CrossTarget) *const Target.Cpu.Model {
358 if (self.cpu_model) |cpu_model| return cpu_model;358 return switch (self.cpu_model) {
359 return self.getCpu().model;359 .explicit => |cpu_model| cpu_model,
360 else => self.getCpu().model,
361 };
360 }362 }
361363
362 pub fn getCpuFeatures(self: CrossTarget) Target.Cpu.Feature.Set {364 pub fn getCpuFeatures(self: CrossTarget) Target.Cpu.Feature.Set {
...@@ -645,7 +647,7 @@ pub const CrossTarget = struct {...@@ -645,7 +647,7 @@ pub const CrossTarget = struct {
645 self.glibc_version = SemVer{ .major = major, .minor = minor, .patch = patch };647 self.glibc_version = SemVer{ .major = major, .minor = minor, .patch = patch };
646 }648 }
647649
648 pub fn getObjectFormat(self: CrossTarget) ObjectFormat {650 pub fn getObjectFormat(self: CrossTarget) Target.ObjectFormat {
649 return Target.getObjectFormatSimple(self.getOsTag(), self.getCpuArch());651 return Target.getObjectFormatSimple(self.getOsTag(), self.getCpuArch());
650 }652 }
651653
...@@ -675,9 +677,7 @@ pub const CrossTarget = struct {...@@ -675,9 +677,7 @@ pub const CrossTarget = struct {
675 .freestanding,677 .freestanding,
676 .ananas,678 .ananas,
677 .cloudabi,679 .cloudabi,
678 .dragonfly,
679 .fuchsia,680 .fuchsia,
680 .ios,
681 .kfreebsd,681 .kfreebsd,
682 .lv2,682 .lv2,
683 .solaris,683 .solaris,
...@@ -692,8 +692,6 @@ pub const CrossTarget = struct {...@@ -692,8 +692,6 @@ pub const CrossTarget = struct {
692 .amdhsa,692 .amdhsa,
693 .ps4,693 .ps4,
694 .elfiamcu,694 .elfiamcu,
695 .tvos,
696 .watchos,
697 .mesa3d,695 .mesa3d,
698 .contiki,696 .contiki,
699 .amdpal,697 .amdpal,
...@@ -707,9 +705,13 @@ pub const CrossTarget = struct {...@@ -707,9 +705,13 @@ pub const CrossTarget = struct {
707705
708 .freebsd,706 .freebsd,
709 .macosx,707 .macosx,
708 .ios,
709 .tvos,
710 .watchos,
710 .netbsd,711 .netbsd,
711 .openbsd,712 .openbsd,
712 .linux,713 .linux,
714 .dragonfly,
713 => {715 => {
714 var range_it = mem.separate(version_text, "...");716 var range_it = mem.separate(version_text, "...");
715717
lib/std/zig/render.zig+5-4
...@@ -29,7 +29,7 @@ pub fn render(allocator: *mem.Allocator, stream: var, tree: *ast.Tree) (@TypeOf(...@@ -29,7 +29,7 @@ pub fn render(allocator: *mem.Allocator, stream: var, tree: *ast.Tree) (@TypeOf(
29 source_index: usize,29 source_index: usize,
30 source: []const u8,30 source: []const u8,
3131
32 fn write(iface_stream: *Stream, bytes: []const u8) StreamError!void {32 fn write(iface_stream: *Stream, bytes: []const u8) StreamError!usize {
33 const self = @fieldParentPtr(MyStream, "stream", iface_stream);33 const self = @fieldParentPtr(MyStream, "stream", iface_stream);
3434
35 if (!self.anything_changed_ptr.*) {35 if (!self.anything_changed_ptr.*) {
...@@ -45,7 +45,7 @@ pub fn render(allocator: *mem.Allocator, stream: var, tree: *ast.Tree) (@TypeOf(...@@ -45,7 +45,7 @@ pub fn render(allocator: *mem.Allocator, stream: var, tree: *ast.Tree) (@TypeOf(
45 }45 }
46 }46 }
4747
48 try self.child_stream.write(bytes);48 return self.child_stream.writeOnce(bytes);
49 }49 }
50 };50 };
51 var my_stream = MyStream{51 var my_stream = MyStream{
...@@ -2443,14 +2443,15 @@ const FindByteOutStream = struct {...@@ -2443,14 +2443,15 @@ const FindByteOutStream = struct {
2443 };2443 };
2444 }2444 }
24452445
2446 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!void {2446 fn writeFn(out_stream: *Stream, bytes: []const u8) Error!usize {
2447 const self = @fieldParentPtr(Self, "stream", out_stream);2447 const self = @fieldParentPtr(Self, "stream", out_stream);
2448 if (self.byte_found) return;2448 if (self.byte_found) return bytes.len;
2449 self.byte_found = blk: {2449 self.byte_found = blk: {
2450 for (bytes) |b|2450 for (bytes) |b|
2451 if (b == self.byte) break :blk true;2451 if (b == self.byte) break :blk true;
2452 break :blk false;2452 break :blk false;
2453 };2453 };
2454 return bytes.len;
2454 }2455 }
2455};2456};
24562457
lib/std/zig/system.zig+1
...@@ -796,6 +796,7 @@ pub const NativeTargetInfo = struct {...@@ -796,6 +796,7 @@ pub const NativeTargetInfo = struct {
796 error.SystemResources => return error.SystemResources,796 error.SystemResources => return error.SystemResources,
797 error.IsDir => return error.UnableToReadElfFile,797 error.IsDir => return error.UnableToReadElfFile,
798 error.BrokenPipe => return error.UnableToReadElfFile,798 error.BrokenPipe => return error.UnableToReadElfFile,
799 error.Unseekable => return error.UnableToReadElfFile,
799 error.ConnectionResetByPeer => return error.UnableToReadElfFile,800 error.ConnectionResetByPeer => return error.UnableToReadElfFile,
800 error.Unexpected => return error.Unexpected,801 error.Unexpected => return error.Unexpected,
801 error.InputOutput => return error.FileSystem,802 error.InputOutput => return error.FileSystem,
src-self-hosted/compilation.zig+1-1
...@@ -1176,7 +1176,7 @@ pub const Compilation = struct {...@@ -1176,7 +1176,7 @@ pub const Compilation = struct {
1176 defer self.gpa().free(zig_dir_path);1176 defer self.gpa().free(zig_dir_path);
11771177
1178 const tmp_dir = try fs.path.join(self.arena(), &[_][]const u8{ zig_dir_path, comp_dir_name[0..] });1178 const tmp_dir = try fs.path.join(self.arena(), &[_][]const u8{ zig_dir_path, comp_dir_name[0..] });
1179 try fs.makePath(self.gpa(), tmp_dir);1179 try fs.cwd().makePath(tmp_dir);
1180 return tmp_dir;1180 return tmp_dir;
1181 }1181 }
11821182
src-self-hosted/introspect.zig+21-2
...@@ -8,13 +8,32 @@ const warn = std.debug.warn;...@@ -8,13 +8,32 @@ const warn = std.debug.warn;
88
9/// Caller must free result9/// Caller must free result
10pub fn testZigInstallPrefix(allocator: *mem.Allocator, test_path: []const u8) ![]u8 {10pub fn testZigInstallPrefix(allocator: *mem.Allocator, test_path: []const u8) ![]u8 {
11 const test_zig_dir = try fs.path.join(allocator, &[_][]const u8{ test_path, "lib", "zig" });11 {
12 const test_zig_dir = try fs.path.join(allocator, &[_][]const u8{ test_path, "lib", "zig" });
13 errdefer allocator.free(test_zig_dir);
14
15 const test_index_file = try fs.path.join(allocator, &[_][]const u8{ test_zig_dir, "std", "std.zig" });
16 defer allocator.free(test_index_file);
17
18 if (fs.cwd().openFile(test_index_file, .{})) |file| {
19 file.close();
20 return test_zig_dir;
21 } else |err| switch (err) {
22 error.FileNotFound => {
23 allocator.free(test_zig_dir);
24 },
25 else => |e| return e,
26 }
27 }
28
29 // Also try without "zig"
30 const test_zig_dir = try fs.path.join(allocator, &[_][]const u8{ test_path, "lib" });
12 errdefer allocator.free(test_zig_dir);31 errdefer allocator.free(test_zig_dir);
1332
14 const test_index_file = try fs.path.join(allocator, &[_][]const u8{ test_zig_dir, "std", "std.zig" });33 const test_index_file = try fs.path.join(allocator, &[_][]const u8{ test_zig_dir, "std", "std.zig" });
15 defer allocator.free(test_index_file);34 defer allocator.free(test_index_file);
1635
17 var file = try fs.cwd().openRead(test_index_file);36 const file = try fs.cwd().openFile(test_index_file, .{});
18 file.close();37 file.close();
1938
20 return test_zig_dir;39 return test_zig_dir;
src-self-hosted/print_targets.zig+35-46
...@@ -4,6 +4,9 @@ const io = std.io;...@@ -4,6 +4,9 @@ const io = std.io;
4const mem = std.mem;4const mem = std.mem;
5const Allocator = mem.Allocator;5const Allocator = mem.Allocator;
6const Target = std.Target;6const Target = std.Target;
7const assert = std.debug.assert;
8
9const introspect = @import("introspect.zig");
710
8// TODO this is hard-coded until self-hosted gains this information canonically11// TODO this is hard-coded until self-hosted gains this information canonically
9const available_libcs = [_][]const u8{12const available_libcs = [_][]const u8{
...@@ -55,57 +58,40 @@ const available_libcs = [_][]const u8{...@@ -55,57 +58,40 @@ const available_libcs = [_][]const u8{
55 "x86_64-windows-gnu",58 "x86_64-windows-gnu",
56};59};
5760
58// TODO this is hard-coded until self-hosted gains this information canonically
59const available_glibcs = [_][]const u8{
60 "2.0",
61 "2.1",
62 "2.1.1",
63 "2.1.2",
64 "2.1.3",
65 "2.2",
66 "2.2.1",
67 "2.2.2",
68 "2.2.3",
69 "2.2.4",
70 "2.2.5",
71 "2.2.6",
72 "2.3",
73 "2.3.2",
74 "2.3.3",
75 "2.3.4",
76 "2.4",
77 "2.5",
78 "2.6",
79 "2.7",
80 "2.8",
81 "2.9",
82 "2.10",
83 "2.11",
84 "2.12",
85 "2.13",
86 "2.14",
87 "2.15",
88 "2.16",
89 "2.17",
90 "2.18",
91 "2.19",
92 "2.22",
93 "2.23",
94 "2.24",
95 "2.25",
96 "2.26",
97 "2.27",
98 "2.28",
99 "2.29",
100 "2.30",
101};
102
103pub fn cmdTargets(61pub fn cmdTargets(
104 allocator: *Allocator,62 allocator: *Allocator,
105 args: []const []const u8,63 args: []const []const u8,
106 stdout: *io.OutStream(fs.File.WriteError),64 stdout: *io.OutStream(fs.File.WriteError),
107 native_target: Target,65 native_target: Target,
108) !void {66) !void {
67 const available_glibcs = blk: {
68 const zig_lib_dir = introspect.resolveZigLibDir(allocator) catch |err| {
69 std.debug.warn("unable to find zig installation directory: {}\n", .{@errorName(err)});
70 std.process.exit(1);
71 };
72 defer allocator.free(zig_lib_dir);
73
74 var dir = try std.fs.cwd().openDirList(zig_lib_dir);
75 defer dir.close();
76
77 const vers_txt = try dir.readFileAlloc(allocator, "libc/glibc/vers.txt", 10 * 1024);
78 defer allocator.free(vers_txt);
79
80 var list = std.ArrayList(std.builtin.Version).init(allocator);
81 defer list.deinit();
82
83 var it = mem.tokenize(vers_txt, "\r\n");
84 while (it.next()) |line| {
85 const prefix = "GLIBC_";
86 assert(mem.startsWith(u8, line, prefix));
87 const adjusted_line = line[prefix.len..];
88 const ver = try std.builtin.Version.parse(adjusted_line);
89 try list.append(ver);
90 }
91 break :blk list.toOwnedSlice();
92 };
93 defer allocator.free(available_glibcs);
94
109 const BOS = io.BufferedOutStream(fs.File.WriteError);95 const BOS = io.BufferedOutStream(fs.File.WriteError);
110 var bos = BOS.init(stdout);96 var bos = BOS.init(stdout);
111 var jws = std.json.WriteStream(BOS.Stream, 6).init(&bos.stream);97 var jws = std.json.WriteStream(BOS.Stream, 6).init(&bos.stream);
...@@ -150,7 +136,10 @@ pub fn cmdTargets(...@@ -150,7 +136,10 @@ pub fn cmdTargets(
150 try jws.beginArray();136 try jws.beginArray();
151 for (available_glibcs) |glibc| {137 for (available_glibcs) |glibc| {
152 try jws.arrayElem();138 try jws.arrayElem();
153 try jws.emitString(glibc);139
140 const tmp = try std.fmt.allocPrint(allocator, "{}", .{glibc});
141 defer allocator.free(tmp);
142 try jws.emitString(tmp);
154 }143 }
155 try jws.endArray();144 try jws.endArray();
156145
src-self-hosted/test.zig+3-3
...@@ -56,7 +56,7 @@ pub const TestContext = struct {...@@ -56,7 +56,7 @@ pub const TestContext = struct {
56 self.zig_lib_dir = try introspect.resolveZigLibDir(allocator);56 self.zig_lib_dir = try introspect.resolveZigLibDir(allocator);
57 errdefer allocator.free(self.zig_lib_dir);57 errdefer allocator.free(self.zig_lib_dir);
5858
59 try std.fs.makePath(allocator, tmp_dir_name);59 try std.fs.cwd().makePath(tmp_dir_name);
60 errdefer std.fs.deleteTree(tmp_dir_name) catch {};60 errdefer std.fs.deleteTree(tmp_dir_name) catch {};
61 }61 }
6262
...@@ -85,7 +85,7 @@ pub const TestContext = struct {...@@ -85,7 +85,7 @@ pub const TestContext = struct {
85 const file1_path = try std.fs.path.join(allocator, [_][]const u8{ tmp_dir_name, file_index, file1 });85 const file1_path = try std.fs.path.join(allocator, [_][]const u8{ tmp_dir_name, file_index, file1 });
8686
87 if (std.fs.path.dirname(file1_path)) |dirname| {87 if (std.fs.path.dirname(file1_path)) |dirname| {
88 try std.fs.makePath(allocator, dirname);88 try std.fs.cwd().makePath(dirname);
89 }89 }
9090
91 // TODO async I/O91 // TODO async I/O
...@@ -119,7 +119,7 @@ pub const TestContext = struct {...@@ -119,7 +119,7 @@ pub const TestContext = struct {
119119
120 const output_file = try std.fmt.allocPrint(allocator, "{}-out{}", .{ file1_path, (Target{ .Native = {} }).exeFileExt() });120 const output_file = try std.fmt.allocPrint(allocator, "{}-out{}", .{ file1_path, (Target{ .Native = {} }).exeFileExt() });
121 if (std.fs.path.dirname(file1_path)) |dirname| {121 if (std.fs.path.dirname(file1_path)) |dirname| {
122 try std.fs.makePath(allocator, dirname);122 try std.fs.cwd().makePath(dirname);
123 }123 }
124124
125 // TODO async I/O125 // TODO async I/O
src/codegen.cpp+59-51
...@@ -10386,6 +10386,61 @@ static void resolve_out_paths(CodeGen *g) {...@@ -10386,6 +10386,61 @@ static void resolve_out_paths(CodeGen *g) {
10386 }10386 }
10387}10387}
1038810388
10389static void output_type_information(CodeGen *g) {
10390 if (g->enable_dump_analysis) {
10391 const char *analysis_json_filename = buf_ptr(buf_sprintf("%s" OS_SEP "%s-analysis.json",
10392 buf_ptr(g->output_dir), buf_ptr(g->root_out_name)));
10393 FILE *f = fopen(analysis_json_filename, "wb");
10394 if (f == nullptr) {
10395 fprintf(stderr, "Unable to open '%s': %s\n", analysis_json_filename, strerror(errno));
10396 exit(1);
10397 }
10398 zig_print_analysis_dump(g, f, " ", "\n");
10399 if (fclose(f) != 0) {
10400 fprintf(stderr, "Unable to write '%s': %s\n", analysis_json_filename, strerror(errno));
10401 exit(1);
10402 }
10403 }
10404 if (g->enable_doc_generation) {
10405 Error err;
10406 Buf *doc_dir_path = buf_sprintf("%s" OS_SEP "docs", buf_ptr(g->output_dir));
10407 if ((err = os_make_path(doc_dir_path))) {
10408 fprintf(stderr, "Unable to create directory %s: %s\n", buf_ptr(doc_dir_path), err_str(err));
10409 exit(1);
10410 }
10411 Buf *index_html_src_path = buf_sprintf("%s" OS_SEP "special" OS_SEP "docs" OS_SEP "index.html",
10412 buf_ptr(g->zig_std_dir));
10413 Buf *index_html_dest_path = buf_sprintf("%s" OS_SEP "index.html", buf_ptr(doc_dir_path));
10414 Buf *main_js_src_path = buf_sprintf("%s" OS_SEP "special" OS_SEP "docs" OS_SEP "main.js",
10415 buf_ptr(g->zig_std_dir));
10416 Buf *main_js_dest_path = buf_sprintf("%s" OS_SEP "main.js", buf_ptr(doc_dir_path));
10417
10418 if ((err = os_copy_file(index_html_src_path, index_html_dest_path))) {
10419 fprintf(stderr, "Unable to copy %s to %s: %s\n", buf_ptr(index_html_src_path),
10420 buf_ptr(index_html_dest_path), err_str(err));
10421 exit(1);
10422 }
10423 if ((err = os_copy_file(main_js_src_path, main_js_dest_path))) {
10424 fprintf(stderr, "Unable to copy %s to %s: %s\n", buf_ptr(main_js_src_path),
10425 buf_ptr(main_js_dest_path), err_str(err));
10426 exit(1);
10427 }
10428 const char *data_js_filename = buf_ptr(buf_sprintf("%s" OS_SEP "data.js", buf_ptr(doc_dir_path)));
10429 FILE *f = fopen(data_js_filename, "wb");
10430 if (f == nullptr) {
10431 fprintf(stderr, "Unable to open '%s': %s\n", data_js_filename, strerror(errno));
10432 exit(1);
10433 }
10434 fprintf(f, "zigAnalysis=");
10435 zig_print_analysis_dump(g, f, "", "");
10436 fprintf(f, ";");
10437 if (fclose(f) != 0) {
10438 fprintf(stderr, "Unable to write '%s': %s\n", data_js_filename, strerror(errno));
10439 exit(1);
10440 }
10441 }
10442}
10443
10389void codegen_build_and_link(CodeGen *g) {10444void codegen_build_and_link(CodeGen *g) {
10390 Error err;10445 Error err;
10391 assert(g->out_type != OutTypeUnknown);10446 assert(g->out_type != OutTypeUnknown);
...@@ -10460,6 +10515,10 @@ void codegen_build_and_link(CodeGen *g) {...@@ -10460,6 +10515,10 @@ void codegen_build_and_link(CodeGen *g) {
10460 }10515 }
10461 resolve_out_paths(g);10516 resolve_out_paths(g);
1046210517
10518 if (g->enable_dump_analysis || g->enable_doc_generation) {
10519 output_type_information(g);
10520 }
10521
10463 if (need_llvm_module(g)) {10522 if (need_llvm_module(g)) {
10464 codegen_add_time_event(g, "Code Generation");10523 codegen_add_time_event(g, "Code Generation");
10465 {10524 {
...@@ -10487,57 +10546,6 @@ void codegen_build_and_link(CodeGen *g) {...@@ -10487,57 +10546,6 @@ void codegen_build_and_link(CodeGen *g) {
10487 gen_h_file(g);10546 gen_h_file(g);
10488 }10547 }
10489 }10548 }
10490 if (g->enable_dump_analysis) {
10491 const char *analysis_json_filename = buf_ptr(buf_sprintf("%s" OS_SEP "%s-analysis.json",
10492 buf_ptr(g->output_dir), buf_ptr(g->root_out_name)));
10493 FILE *f = fopen(analysis_json_filename, "wb");
10494 if (f == nullptr) {
10495 fprintf(stderr, "Unable to open '%s': %s\n", analysis_json_filename, strerror(errno));
10496 exit(1);
10497 }
10498 zig_print_analysis_dump(g, f, " ", "\n");
10499 if (fclose(f) != 0) {
10500 fprintf(stderr, "Unable to write '%s': %s\n", analysis_json_filename, strerror(errno));
10501 exit(1);
10502 }
10503 }
10504 if (g->enable_doc_generation) {
10505 Buf *doc_dir_path = buf_sprintf("%s" OS_SEP "docs", buf_ptr(g->output_dir));
10506 if ((err = os_make_path(doc_dir_path))) {
10507 fprintf(stderr, "Unable to create directory %s: %s\n", buf_ptr(doc_dir_path), err_str(err));
10508 exit(1);
10509 }
10510 Buf *index_html_src_path = buf_sprintf("%s" OS_SEP "special" OS_SEP "docs" OS_SEP "index.html",
10511 buf_ptr(g->zig_std_dir));
10512 Buf *index_html_dest_path = buf_sprintf("%s" OS_SEP "index.html", buf_ptr(doc_dir_path));
10513 Buf *main_js_src_path = buf_sprintf("%s" OS_SEP "special" OS_SEP "docs" OS_SEP "main.js",
10514 buf_ptr(g->zig_std_dir));
10515 Buf *main_js_dest_path = buf_sprintf("%s" OS_SEP "main.js", buf_ptr(doc_dir_path));
10516
10517 if ((err = os_copy_file(index_html_src_path, index_html_dest_path))) {
10518 fprintf(stderr, "Unable to copy %s to %s: %s\n", buf_ptr(index_html_src_path),
10519 buf_ptr(index_html_dest_path), err_str(err));
10520 exit(1);
10521 }
10522 if ((err = os_copy_file(main_js_src_path, main_js_dest_path))) {
10523 fprintf(stderr, "Unable to copy %s to %s: %s\n", buf_ptr(main_js_src_path),
10524 buf_ptr(main_js_dest_path), err_str(err));
10525 exit(1);
10526 }
10527 const char *data_js_filename = buf_ptr(buf_sprintf("%s" OS_SEP "data.js", buf_ptr(doc_dir_path)));
10528 FILE *f = fopen(data_js_filename, "wb");
10529 if (f == nullptr) {
10530 fprintf(stderr, "Unable to open '%s': %s\n", data_js_filename, strerror(errno));
10531 exit(1);
10532 }
10533 fprintf(f, "zigAnalysis=");
10534 zig_print_analysis_dump(g, f, "", "");
10535 fprintf(f, ";");
10536 if (fclose(f) != 0) {
10537 fprintf(stderr, "Unable to write '%s': %s\n", data_js_filename, strerror(errno));
10538 exit(1);
10539 }
10540 }
1054110549
10542 // If we're outputting assembly or llvm IR we skip linking.10550 // If we're outputting assembly or llvm IR we skip linking.
10543 // If we're making a library or executable we must link.10551 // If we're making a library or executable we must link.
test/cli.zig+1-1
...@@ -37,7 +37,7 @@ pub fn main() !void {...@@ -37,7 +37,7 @@ pub fn main() !void {
37 };37 };
38 for (test_fns) |testFn| {38 for (test_fns) |testFn| {
39 try fs.deleteTree(dir_path);39 try fs.deleteTree(dir_path);
40 try fs.makeDir(dir_path);40 try fs.cwd().makeDir(dir_path);
41 try testFn(zig_exe, dir_path);41 try testFn(zig_exe, dir_path);
42 }42 }
43}43}
test/standalone/cat/main.zig+2-1
...@@ -42,6 +42,7 @@ fn usage(exe: []const u8) !void {...@@ -42,6 +42,7 @@ fn usage(exe: []const u8) !void {
42 return error.Invalid;42 return error.Invalid;
43}43}
4444
45// TODO use copy_file_range
45fn cat_file(stdout: fs.File, file: fs.File) !void {46fn cat_file(stdout: fs.File, file: fs.File) !void {
46 var buf: [1024 * 4]u8 = undefined;47 var buf: [1024 * 4]u8 = undefined;
4748
...@@ -55,7 +56,7 @@ fn cat_file(stdout: fs.File, file: fs.File) !void {...@@ -55,7 +56,7 @@ fn cat_file(stdout: fs.File, file: fs.File) !void {
55 break;56 break;
56 }57 }
5758
58 stdout.write(buf[0..bytes_read]) catch |err| {59 stdout.writeAll(buf[0..bytes_read]) catch |err| {
59 warn("Unable to write to stdout: {}\n", .{@errorName(err)});60 warn("Unable to write to stdout: {}\n", .{@errorName(err)});
60 return err;61 return err;
61 };62 };
test/standalone/hello_world/hello.zig+1-4
...@@ -1,8 +1,5 @@...@@ -1,8 +1,5 @@
1const std = @import("std");1const std = @import("std");
22
3pub fn main() !void {3pub fn main() !void {
4 const stdout_file = std.io.getStdOut();4 try std.io.getStdOut().writeAll("Hello, World!\n");
5 // If this program encounters pipe failure when printing to stdout, exit
6 // with an error.
7 try stdout_file.write("Hello, world!\n");
8}5}
tools/process_headers.zig+20-19
...@@ -11,10 +11,9 @@...@@ -11,10 +11,9 @@
11// You'll then have to manually update Zig source repo with these new files.11// You'll then have to manually update Zig source repo with these new files.
1212
13const std = @import("std");13const std = @import("std");
14const builtin = @import("builtin");14const Arch = std.Target.Cpu.Arch;
15const Arch = builtin.Arch;15const Abi = std.Target.Abi;
16const Abi = builtin.Abi;16const OsTag = std.Target.Os.Tag;
17const Os = builtin.Os;
18const assert = std.debug.assert;17const assert = std.debug.assert;
1918
20const LibCTarget = struct {19const LibCTarget = struct {
...@@ -29,12 +28,12 @@ const MultiArch = union(enum) {...@@ -29,12 +28,12 @@ const MultiArch = union(enum) {
29 mips,28 mips,
30 mips64,29 mips64,
31 powerpc64,30 powerpc64,
32 specific: @TagType(Arch),31 specific: Arch,
3332
34 fn eql(a: MultiArch, b: MultiArch) bool {33 fn eql(a: MultiArch, b: MultiArch) bool {
35 if (@enumToInt(a) != @enumToInt(b))34 if (@enumToInt(a) != @enumToInt(b))
36 return false;35 return false;
37 if (@TagType(MultiArch)(a) != .specific)36 if (a != .specific)
38 return true;37 return true;
39 return a.specific == b.specific;38 return a.specific == b.specific;
40 }39 }
...@@ -221,7 +220,7 @@ const musl_targets = [_]LibCTarget{...@@ -221,7 +220,7 @@ const musl_targets = [_]LibCTarget{
221220
222const DestTarget = struct {221const DestTarget = struct {
223 arch: MultiArch,222 arch: MultiArch,
224 os: Os,223 os: OsTag,
225 abi: Abi,224 abi: Abi,
226225
227 fn hash(a: DestTarget) u32 {226 fn hash(a: DestTarget) u32 {
...@@ -305,8 +304,8 @@ pub fn main() !void {...@@ -305,8 +304,8 @@ pub fn main() !void {
305 // TODO compiler crashed when I wrote this the canonical way304 // TODO compiler crashed when I wrote this the canonical way
306 var libc_targets: []const LibCTarget = undefined;305 var libc_targets: []const LibCTarget = undefined;
307 switch (vendor) {306 switch (vendor) {
308 .musl => libc_targets = musl_targets,307 .musl => libc_targets = &musl_targets,
309 .glibc => libc_targets = glibc_targets,308 .glibc => libc_targets = &glibc_targets,
310 }309 }
311310
312 var path_table = PathTable.init(allocator);311 var path_table = PathTable.init(allocator);
...@@ -340,15 +339,17 @@ pub fn main() !void {...@@ -340,15 +339,17 @@ pub fn main() !void {
340 try dir_stack.append(target_include_dir);339 try dir_stack.append(target_include_dir);
341340
342 while (dir_stack.popOrNull()) |full_dir_name| {341 while (dir_stack.popOrNull()) |full_dir_name| {
343 var dir = std.fs.Dir.cwd().openDirList(full_dir_name) catch |err| switch (err) {342 var dir = std.fs.cwd().openDirList(full_dir_name) catch |err| switch (err) {
344 error.FileNotFound => continue :search,343 error.FileNotFound => continue :search,
345 error.AccessDenied => continue :search,344 error.AccessDenied => continue :search,
346 else => return err,345 else => return err,
347 };346 };
348 defer dir.close();347 defer dir.close();
349348
350 while (try dir.next()) |entry| {349 var dir_it = dir.iterate();
351 const full_path = try std.fs.path.join(allocator, [_][]const u8{ full_dir_name, entry.name });350
351 while (try dir_it.next()) |entry| {
352 const full_path = try std.fs.path.join(allocator, &[_][]const u8{ full_dir_name, entry.name });
352 switch (entry.kind) {353 switch (entry.kind) {
353 .Directory => try dir_stack.append(full_path),354 .Directory => try dir_stack.append(full_path),
354 .File => {355 .File => {
...@@ -396,8 +397,8 @@ pub fn main() !void {...@@ -396,8 +397,8 @@ pub fn main() !void {
396 std.debug.warn("warning: libc target not found: {}\n", .{libc_target.name});397 std.debug.warn("warning: libc target not found: {}\n", .{libc_target.name});
397 }398 }
398 }399 }
399 std.debug.warn("summary: {Bi:2} could be reduced to {Bi:2}\n", .{total_bytes, total_bytes - max_bytes_saved});400 std.debug.warn("summary: {Bi:2} could be reduced to {Bi:2}\n", .{ total_bytes, total_bytes - max_bytes_saved });
400 try std.fs.makePath(allocator, out_dir);401 try std.fs.cwd().makePath(out_dir);
401402
402 var missed_opportunity_bytes: usize = 0;403 var missed_opportunity_bytes: usize = 0;
403 // iterate path_table. for each path, put all the hashes into a list. sort by hit_count.404 // iterate path_table. for each path, put all the hashes into a list. sort by hit_count.
...@@ -417,15 +418,15 @@ pub fn main() !void {...@@ -417,15 +418,15 @@ pub fn main() !void {
417 var best_contents = contents_list.popOrNull().?;418 var best_contents = contents_list.popOrNull().?;
418 if (best_contents.hit_count > 1) {419 if (best_contents.hit_count > 1) {
419 // worth it to make it generic420 // worth it to make it generic
420 const full_path = try std.fs.path.join(allocator, [_][]const u8{ out_dir, generic_name, path_kv.key });421 const full_path = try std.fs.path.join(allocator, &[_][]const u8{ out_dir, generic_name, path_kv.key });
421 try std.fs.makePath(allocator, std.fs.path.dirname(full_path).?);422 try std.fs.cwd().makePath(std.fs.path.dirname(full_path).?);
422 try std.io.writeFile(full_path, best_contents.bytes);423 try std.io.writeFile(full_path, best_contents.bytes);
423 best_contents.is_generic = true;424 best_contents.is_generic = true;
424 while (contents_list.popOrNull()) |contender| {425 while (contents_list.popOrNull()) |contender| {
425 if (contender.hit_count > 1) {426 if (contender.hit_count > 1) {
426 const this_missed_bytes = contender.hit_count * contender.bytes.len;427 const this_missed_bytes = contender.hit_count * contender.bytes.len;
427 missed_opportunity_bytes += this_missed_bytes;428 missed_opportunity_bytes += this_missed_bytes;
428 std.debug.warn("Missed opportunity ({Bi:2}): {}\n", .{this_missed_bytes, path_kv.key});429 std.debug.warn("Missed opportunity ({Bi:2}): {}\n", .{ this_missed_bytes, path_kv.key });
429 } else break;430 } else break;
430 }431 }
431 }432 }
...@@ -444,8 +445,8 @@ pub fn main() !void {...@@ -444,8 +445,8 @@ pub fn main() !void {
444 @tagName(dest_target.os),445 @tagName(dest_target.os),
445 @tagName(dest_target.abi),446 @tagName(dest_target.abi),
446 });447 });
447 const full_path = try std.fs.path.join(allocator, [_][]const u8{ out_dir, out_subpath, path_kv.key });448 const full_path = try std.fs.path.join(allocator, &[_][]const u8{ out_dir, out_subpath, path_kv.key });
448 try std.fs.makePath(allocator, std.fs.path.dirname(full_path).?);449 try std.fs.cwd().makePath(std.fs.path.dirname(full_path).?);
449 try std.io.writeFile(full_path, contents.bytes);450 try std.io.writeFile(full_path, contents.bytes);
450 }451 }
451 }452 }
tools/update_glibc.zig+38-35
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1const std = @import("std");1const std = @import("std");
2const builtin = @import("builtin");
3const fs = std.fs;2const fs = std.fs;
4const fmt = std.fmt;3const fmt = std.fmt;
5const assert = std.debug.assert;4const assert = std.debug.assert;
...@@ -11,8 +10,8 @@ const AbiList = struct {...@@ -11,8 +10,8 @@ const AbiList = struct {
11 path: []const u8,10 path: []const u8,
12};11};
13const ZigTarget = struct {12const ZigTarget = struct {
14 arch: @TagType(builtin.Arch),13 arch: std.Target.Cpu.Arch,
15 abi: builtin.Abi,14 abi: std.Target.Abi,
16};15};
1716
18const lib_names = [_][]const u8{17const lib_names = [_][]const u8{
...@@ -27,18 +26,18 @@ const lib_names = [_][]const u8{...@@ -27,18 +26,18 @@ const lib_names = [_][]const u8{
27// n64/n32 are hardcoded elsewhere, based on .gnuabi64/.gnuabin3226// n64/n32 are hardcoded elsewhere, based on .gnuabi64/.gnuabin32
28const abi_lists = [_]AbiList{27const abi_lists = [_]AbiList{
29 AbiList{28 AbiList{
30 .targets = [_]ZigTarget{29 .targets = &[_]ZigTarget{
31 ZigTarget{ .arch = .aarch64, .abi = .gnu },30 ZigTarget{ .arch = .aarch64, .abi = .gnu },
32 ZigTarget{ .arch = .aarch64_be, .abi = .gnu },31 ZigTarget{ .arch = .aarch64_be, .abi = .gnu },
33 },32 },
34 .path = "aarch64",33 .path = "aarch64",
35 },34 },
36 AbiList{35 AbiList{
37 .targets = [_]ZigTarget{ZigTarget{ .arch = .s390x, .abi = .gnu }},36 .targets = &[_]ZigTarget{ZigTarget{ .arch = .s390x, .abi = .gnu }},
38 .path = "s390/s390-64",37 .path = "s390/s390-64",
39 },38 },
40 AbiList{39 AbiList{
41 .targets = [_]ZigTarget{40 .targets = &[_]ZigTarget{
42 ZigTarget{ .arch = .arm, .abi = .gnueabi },41 ZigTarget{ .arch = .arm, .abi = .gnueabi },
43 ZigTarget{ .arch = .armeb, .abi = .gnueabi },42 ZigTarget{ .arch = .armeb, .abi = .gnueabi },
44 ZigTarget{ .arch = .arm, .abi = .gnueabihf },43 ZigTarget{ .arch = .arm, .abi = .gnueabihf },
...@@ -47,66 +46,66 @@ const abi_lists = [_]AbiList{...@@ -47,66 +46,66 @@ const abi_lists = [_]AbiList{
47 .path = "arm",46 .path = "arm",
48 },47 },
49 AbiList{48 AbiList{
50 .targets = [_]ZigTarget{49 .targets = &[_]ZigTarget{
51 ZigTarget{ .arch = .sparc, .abi = .gnu },50 ZigTarget{ .arch = .sparc, .abi = .gnu },
52 ZigTarget{ .arch = .sparcel, .abi = .gnu },51 ZigTarget{ .arch = .sparcel, .abi = .gnu },
53 },52 },
54 .path = "sparc/sparc32",53 .path = "sparc/sparc32",
55 },54 },
56 AbiList{55 AbiList{
57 .targets = [_]ZigTarget{ZigTarget{ .arch = .sparcv9, .abi = .gnu }},56 .targets = &[_]ZigTarget{ZigTarget{ .arch = .sparcv9, .abi = .gnu }},
58 .path = "sparc/sparc64",57 .path = "sparc/sparc64",
59 },58 },
60 AbiList{59 AbiList{
61 .targets = [_]ZigTarget{60 .targets = &[_]ZigTarget{
62 ZigTarget{ .arch = .mips64el, .abi = .gnuabi64 },61 ZigTarget{ .arch = .mips64el, .abi = .gnuabi64 },
63 ZigTarget{ .arch = .mips64, .abi = .gnuabi64 },62 ZigTarget{ .arch = .mips64, .abi = .gnuabi64 },
64 },63 },
65 .path = "mips/mips64",64 .path = "mips/mips64",
66 },65 },
67 AbiList{66 AbiList{
68 .targets = [_]ZigTarget{67 .targets = &[_]ZigTarget{
69 ZigTarget{ .arch = .mips64el, .abi = .gnuabin32 },68 ZigTarget{ .arch = .mips64el, .abi = .gnuabin32 },
70 ZigTarget{ .arch = .mips64, .abi = .gnuabin32 },69 ZigTarget{ .arch = .mips64, .abi = .gnuabin32 },
71 },70 },
72 .path = "mips/mips64",71 .path = "mips/mips64",
73 },72 },
74 AbiList{73 AbiList{
75 .targets = [_]ZigTarget{74 .targets = &[_]ZigTarget{
76 ZigTarget{ .arch = .mipsel, .abi = .gnueabihf },75 ZigTarget{ .arch = .mipsel, .abi = .gnueabihf },
77 ZigTarget{ .arch = .mips, .abi = .gnueabihf },76 ZigTarget{ .arch = .mips, .abi = .gnueabihf },
78 },77 },
79 .path = "mips/mips32",78 .path = "mips/mips32",
80 },79 },
81 AbiList{80 AbiList{
82 .targets = [_]ZigTarget{81 .targets = &[_]ZigTarget{
83 ZigTarget{ .arch = .mipsel, .abi = .gnueabi },82 ZigTarget{ .arch = .mipsel, .abi = .gnueabi },
84 ZigTarget{ .arch = .mips, .abi = .gnueabi },83 ZigTarget{ .arch = .mips, .abi = .gnueabi },
85 },84 },
86 .path = "mips/mips32",85 .path = "mips/mips32",
87 },86 },
88 AbiList{87 AbiList{
89 .targets = [_]ZigTarget{ZigTarget{ .arch = .x86_64, .abi = .gnu }},88 .targets = &[_]ZigTarget{ZigTarget{ .arch = .x86_64, .abi = .gnu }},
90 .path = "x86_64/64",89 .path = "x86_64/64",
91 },90 },
92 AbiList{91 AbiList{
93 .targets = [_]ZigTarget{ZigTarget{ .arch = .x86_64, .abi = .gnux32 }},92 .targets = &[_]ZigTarget{ZigTarget{ .arch = .x86_64, .abi = .gnux32 }},
94 .path = "x86_64/x32",93 .path = "x86_64/x32",
95 },94 },
96 AbiList{95 AbiList{
97 .targets = [_]ZigTarget{ZigTarget{ .arch = .i386, .abi = .gnu }},96 .targets = &[_]ZigTarget{ZigTarget{ .arch = .i386, .abi = .gnu }},
98 .path = "i386",97 .path = "i386",
99 },98 },
100 AbiList{99 AbiList{
101 .targets = [_]ZigTarget{ZigTarget{ .arch = .powerpc64le, .abi = .gnu }},100 .targets = &[_]ZigTarget{ZigTarget{ .arch = .powerpc64le, .abi = .gnu }},
102 .path = "powerpc/powerpc64/le",101 .path = "powerpc/powerpc64/le",
103 },102 },
104 AbiList{103 AbiList{
105 .targets = [_]ZigTarget{ZigTarget{ .arch = .powerpc64, .abi = .gnu }},104 .targets = &[_]ZigTarget{ZigTarget{ .arch = .powerpc64, .abi = .gnu }},
106 .path = "powerpc/powerpc64/be",105 .path = "powerpc/powerpc64/be",
107 },106 },
108 AbiList{107 AbiList{
109 .targets = [_]ZigTarget{108 .targets = &[_]ZigTarget{
110 ZigTarget{ .arch = .powerpc, .abi = .gnueabi },109 ZigTarget{ .arch = .powerpc, .abi = .gnueabi },
111 ZigTarget{ .arch = .powerpc, .abi = .gnueabihf },110 ZigTarget{ .arch = .powerpc, .abi = .gnueabihf },
112 },111 },
...@@ -137,8 +136,8 @@ pub fn main() !void {...@@ -137,8 +136,8 @@ pub fn main() !void {
137 const in_glibc_dir = args[1]; // path to the unzipped tarball of glibc, e.g. ~/downloads/glibc-2.25136 const in_glibc_dir = args[1]; // path to the unzipped tarball of glibc, e.g. ~/downloads/glibc-2.25
138 const zig_src_dir = args[2]; // path to the source checkout of zig, lib dir, e.g. ~/zig-src/lib137 const zig_src_dir = args[2]; // path to the source checkout of zig, lib dir, e.g. ~/zig-src/lib
139138
140 const prefix = try fs.path.join(allocator, [_][]const u8{ in_glibc_dir, "sysdeps", "unix", "sysv", "linux" });139 const prefix = try fs.path.join(allocator, &[_][]const u8{ in_glibc_dir, "sysdeps", "unix", "sysv", "linux" });
141 const glibc_out_dir = try fs.path.join(allocator, [_][]const u8{ zig_src_dir, "libc", "glibc" });140 const glibc_out_dir = try fs.path.join(allocator, &[_][]const u8{ zig_src_dir, "libc", "glibc" });
142141
143 var global_fn_set = std.StringHashMap(Function).init(allocator);142 var global_fn_set = std.StringHashMap(Function).init(allocator);
144 var global_ver_set = std.StringHashMap(usize).init(allocator);143 var global_ver_set = std.StringHashMap(usize).init(allocator);
...@@ -158,26 +157,30 @@ pub fn main() !void {...@@ -158,26 +157,30 @@ pub fn main() !void {
158 const basename = try fmt.allocPrint(allocator, "lib{}.abilist", .{lib_name});157 const basename = try fmt.allocPrint(allocator, "lib{}.abilist", .{lib_name});
159 const abi_list_filename = blk: {158 const abi_list_filename = blk: {
160 if (abi_list.targets[0].abi == .gnuabi64 and std.mem.eql(u8, lib_name, "c")) {159 if (abi_list.targets[0].abi == .gnuabi64 and std.mem.eql(u8, lib_name, "c")) {
161 break :blk try fs.path.join(allocator, [_][]const u8{ prefix, abi_list.path, "n64", basename });160 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, "n64", basename });
162 } else if (abi_list.targets[0].abi == .gnuabin32 and std.mem.eql(u8, lib_name, "c")) {161 } else if (abi_list.targets[0].abi == .gnuabin32 and std.mem.eql(u8, lib_name, "c")) {
163 break :blk try fs.path.join(allocator, [_][]const u8{ prefix, abi_list.path, "n32", basename });162 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, "n32", basename });
164 } else if (abi_list.targets[0].arch != .arm and163 } else if (abi_list.targets[0].arch != .arm and
165 abi_list.targets[0].abi == .gnueabihf and164 abi_list.targets[0].abi == .gnueabihf and
166 (std.mem.eql(u8, lib_name, "c") or165 (std.mem.eql(u8, lib_name, "c") or
167 (std.mem.eql(u8, lib_name, "m") and abi_list.targets[0].arch == .powerpc)))166 (std.mem.eql(u8, lib_name, "m") and abi_list.targets[0].arch == .powerpc)))
168 {167 {
169 break :blk try fs.path.join(allocator, [_][]const u8{ prefix, abi_list.path, "fpu", basename });168 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, "fpu", basename });
170 } else if (abi_list.targets[0].arch != .arm and169 } else if (abi_list.targets[0].arch != .arm and
171 abi_list.targets[0].abi == .gnueabi and170 abi_list.targets[0].abi == .gnueabi and
172 (std.mem.eql(u8, lib_name, "c") or171 (std.mem.eql(u8, lib_name, "c") or
173 (std.mem.eql(u8, lib_name, "m") and abi_list.targets[0].arch == .powerpc)))172 (std.mem.eql(u8, lib_name, "m") and abi_list.targets[0].arch == .powerpc)))
174 {173 {
175 break :blk try fs.path.join(allocator, [_][]const u8{ prefix, abi_list.path, "nofpu", basename });174 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, "nofpu", basename });
175 } else if (abi_list.targets[0].arch == .arm) {
176 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, "le", basename });
177 } else if (abi_list.targets[0].arch == .armeb) {
178 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, "be", basename });
176 }179 }
177 break :blk try fs.path.join(allocator, [_][]const u8{ prefix, abi_list.path, basename });180 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, basename });
178 };181 };
179 const contents = std.io.readFileAlloc(allocator, abi_list_filename) catch |err| {182 const contents = std.io.readFileAlloc(allocator, abi_list_filename) catch |err| {
180 std.debug.warn("unable to open {}: {}\n", .{abi_list_filename, err});183 std.debug.warn("unable to open {}: {}\n", .{ abi_list_filename, err });
181 std.process.exit(1);184 std.process.exit(1);
182 };185 };
183 var lines_it = std.mem.tokenize(contents, "\n");186 var lines_it = std.mem.tokenize(contents, "\n");
...@@ -228,8 +231,8 @@ pub fn main() !void {...@@ -228,8 +231,8 @@ pub fn main() !void {
228 break :blk list.toSliceConst();231 break :blk list.toSliceConst();
229 };232 };
230 {233 {
231 const vers_txt_path = try fs.path.join(allocator, [_][]const u8{ glibc_out_dir, "vers.txt" });234 const vers_txt_path = try fs.path.join(allocator, &[_][]const u8{ glibc_out_dir, "vers.txt" });
232 const vers_txt_file = try fs.File.openWrite(vers_txt_path);235 const vers_txt_file = try fs.cwd().createFile(vers_txt_path, .{});
233 defer vers_txt_file.close();236 defer vers_txt_file.close();
234 var buffered = std.io.BufferedOutStream(fs.File.WriteError).init(&vers_txt_file.outStream().stream);237 var buffered = std.io.BufferedOutStream(fs.File.WriteError).init(&vers_txt_file.outStream().stream);
235 const vers_txt = &buffered.stream;238 const vers_txt = &buffered.stream;
...@@ -240,15 +243,15 @@ pub fn main() !void {...@@ -240,15 +243,15 @@ pub fn main() !void {
240 try buffered.flush();243 try buffered.flush();
241 }244 }
242 {245 {
243 const fns_txt_path = try fs.path.join(allocator, [_][]const u8{ glibc_out_dir, "fns.txt" });246 const fns_txt_path = try fs.path.join(allocator, &[_][]const u8{ glibc_out_dir, "fns.txt" });
244 const fns_txt_file = try fs.File.openWrite(fns_txt_path);247 const fns_txt_file = try fs.cwd().createFile(fns_txt_path, .{});
245 defer fns_txt_file.close();248 defer fns_txt_file.close();
246 var buffered = std.io.BufferedOutStream(fs.File.WriteError).init(&fns_txt_file.outStream().stream);249 var buffered = std.io.BufferedOutStream(fs.File.WriteError).init(&fns_txt_file.outStream().stream);
247 const fns_txt = &buffered.stream;250 const fns_txt = &buffered.stream;
248 for (global_fn_list) |name, i| {251 for (global_fn_list) |name, i| {
249 const kv = global_fn_set.get(name).?;252 const kv = global_fn_set.get(name).?;
250 kv.value.index = i;253 kv.value.index = i;
251 try fns_txt.print("{} {}\n", .{name, kv.value.lib});254 try fns_txt.print("{} {}\n", .{ name, kv.value.lib });
252 }255 }
253 try buffered.flush();256 try buffered.flush();
254 }257 }
...@@ -271,8 +274,8 @@ pub fn main() !void {...@@ -271,8 +274,8 @@ pub fn main() !void {
271 }274 }
272275
273 {276 {
274 const abilist_txt_path = try fs.path.join(allocator, [_][]const u8{ glibc_out_dir, "abi.txt" });277 const abilist_txt_path = try fs.path.join(allocator, &[_][]const u8{ glibc_out_dir, "abi.txt" });
275 const abilist_txt_file = try fs.File.openWrite(abilist_txt_path);278 const abilist_txt_file = try fs.cwd().createFile(abilist_txt_path, .{});
276 defer abilist_txt_file.close();279 defer abilist_txt_file.close();
277 var buffered = std.io.BufferedOutStream(fs.File.WriteError).init(&abilist_txt_file.outStream().stream);280 var buffered = std.io.BufferedOutStream(fs.File.WriteError).init(&abilist_txt_file.outStream().stream);
278 const abilist_txt = &buffered.stream;281 const abilist_txt = &buffered.stream;
...@@ -282,7 +285,7 @@ pub fn main() !void {...@@ -282,7 +285,7 @@ pub fn main() !void {
282 const fn_vers_list = &target_functions.get(@ptrToInt(abi_list)).?.value.fn_vers_list;285 const fn_vers_list = &target_functions.get(@ptrToInt(abi_list)).?.value.fn_vers_list;
283 for (abi_list.targets) |target, it_i| {286 for (abi_list.targets) |target, it_i| {
284 if (it_i != 0) try abilist_txt.writeByte(' ');287 if (it_i != 0) try abilist_txt.writeByte(' ');
285 try abilist_txt.print("{}-linux-{}", .{@tagName(target.arch), @tagName(target.abi)});288 try abilist_txt.print("{}-linux-{}", .{ @tagName(target.arch), @tagName(target.abi) });
286 }289 }
287 try abilist_txt.writeByte('\n');290 try abilist_txt.writeByte('\n');
288 // next, each line implicitly corresponds to a function291 // next, each line implicitly corresponds to a function
...@@ -304,7 +307,7 @@ pub fn main() !void {...@@ -304,7 +307,7 @@ pub fn main() !void {
304}307}
305308
306pub fn strCmpLessThan(a: []const u8, b: []const u8) bool {309pub fn strCmpLessThan(a: []const u8, b: []const u8) bool {
307 return std.mem.compare(u8, a, b) == .LessThan;310 return std.mem.order(u8, a, b) == .lt;
308}311}
309312
310pub fn versionLessThan(a: []const u8, b: []const u8) bool {313pub fn versionLessThan(a: []const u8, b: []const u8) bool {