authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-07 15:08:47-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-09-07 15:08:47-04:00
logd3cf040c900c14feec427f3835f247b6a4c616bb
tree37b4ec4a4409f96627a307d6432e0196ee5f6056
parent9a18db8a80c96d206297e865d203b2a7d8a803ba
parentb21ad07767822070903633476f74f167c1793758
signaturelock-open Commit is signed but in an unrecognized format.

Merge branch 'glibc-2.30'

closes #3098

94 files changed, 2005 insertions(+), 2036 deletions(-)

lib/libc/glibc/abi.txt+330
...@@ -514,6 +514,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -514,6 +514,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
5142951429
5152951529
5162951629
517
5172951829
518519
5192952029
...@@ -655,6 +656,18 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -655,6 +656,18 @@ aarch64-linux-gnu aarch64_be-linux-gnu
655656
656657
657658
659
660
661
662
663
664
665
666
667
668
669
670
658671
659672
660673
...@@ -1928,6 +1941,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -1928,6 +1941,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
192829194129
192929194229
193029194329
194440
193129194529
193229194629
193329194729
...@@ -2048,6 +2062,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -2048,6 +2062,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
204829206229
204929206329
205029206429
206540
205129206629
205229206729
205329206829
...@@ -2721,6 +2736,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -2721,6 +2736,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
272129273629
272229273729
272329273829
273940
272429274029
272529274129
272629274229
...@@ -2749,6 +2765,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -2749,6 +2765,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
274929276529
275029276629
275129276729
276840
275229276929
275329277029
275429277129
...@@ -2776,6 +2793,8 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -2776,6 +2793,8 @@ aarch64-linux-gnu aarch64_be-linux-gnu
277629279329
277729279429
277829279529
279640
279740
277929279829
278029279929
278129280029
...@@ -3002,6 +3021,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -3002,6 +3021,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
300229302129
300329302229
300429302329
302440
300529302529
300629302629
300729302729
...@@ -3370,6 +3390,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -3370,6 +3390,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
337037339037
337137339137
337229339229
339340
337338339438
337438339538
337538339638
...@@ -3443,6 +3464,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -3443,6 +3464,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
344329346429
344429346529
344529346629
346740
344629346829
344729346929
344829347029
...@@ -4218,6 +4240,7 @@ s390x-linux-gnu...@@ -4218,6 +4240,7 @@ s390x-linux-gnu
4218542405
4219542415
4220542425
4243
422127424427
42224245
422327424627
...@@ -4330,12 +4353,18 @@ s390x-linux-gnu...@@ -4330,12 +4353,18 @@ s390x-linux-gnu
433016435316
433116435416
433216435516
435640
435740
433316435816
433438435938
433538436038
433638436138
433716436216
433838436338
436440
436540
436640
436740
433916436816
434016436916
434116437016
...@@ -4356,6 +4385,8 @@ s390x-linux-gnu...@@ -4356,6 +4385,8 @@ s390x-linux-gnu
435616438516
435716438616
435816438716
438840
438940
435916439016
436016439116
436116439216
...@@ -4368,8 +4399,12 @@ s390x-linux-gnu...@@ -4368,8 +4399,12 @@ s390x-linux-gnu
436816439916
436916440016
437016440116
440240
440340
437116440416
437216440516
440640
440740
437316440816
437416440916
4375544105
...@@ -5632,6 +5667,7 @@ s390x-linux-gnu...@@ -5632,6 +5667,7 @@ s390x-linux-gnu
5632556675
5633556685
5634556695
567040
5635556715
5636556725
5637556735
...@@ -5752,6 +5788,7 @@ s390x-linux-gnu...@@ -5752,6 +5788,7 @@ s390x-linux-gnu
5752557885
5753557895
5754557905
579140
5755557925
5756557935
5757557945
...@@ -6425,6 +6462,7 @@ s390x-linux-gnu...@@ -6425,6 +6462,7 @@ s390x-linux-gnu
6425564625
6426564635
64275 1364645 13
646540
64285 1364665 13
64295 1364675 13
64305 1364685 13
...@@ -6453,6 +6491,7 @@ s390x-linux-gnu...@@ -6453,6 +6491,7 @@ s390x-linux-gnu
6453564915
6454564925
6455564935
649440
645624649524
645716649616
6458564975
...@@ -6480,6 +6519,8 @@ s390x-linux-gnu...@@ -6480,6 +6519,8 @@ s390x-linux-gnu
648016651916
6481565205
6482565215
652240
652340
6483565245
6484565255
6485565265
...@@ -6706,6 +6747,7 @@ s390x-linux-gnu...@@ -6706,6 +6747,7 @@ s390x-linux-gnu
6706567475
6707567485
6708567495
675040
6709567515
6710567525
6711567535
...@@ -7074,6 +7116,7 @@ s390x-linux-gnu...@@ -7074,6 +7116,7 @@ s390x-linux-gnu
707437711637
707537711737
70765 1671185 16
711940
707738712038
707838712138
707938712238
...@@ -7147,6 +7190,7 @@ s390x-linux-gnu...@@ -7147,6 +7190,7 @@ s390x-linux-gnu
7147571905
7148571915
7149571925
719340
7150571945
7151571955
7152571965
...@@ -7922,6 +7966,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -7922,6 +7966,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
792216796616
792316796716
792416796816
7969
792527797027
79267971
792727797227
...@@ -8063,6 +8108,18 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -8063,6 +8108,18 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
80638108
80648109
80658110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
80668123
80678124
80688125
...@@ -9336,6 +9393,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -9336,6 +9393,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
933616939316
933716939416
933816939516
939640
933916939716
934016939816
934116939916
...@@ -9456,6 +9514,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -9456,6 +9514,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
945616951416
945716951516
945816951616
951740
945916951816
946016951916
946116952016
...@@ -10129,6 +10188,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10129,6 +10188,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10129161018816
10130161018916
10131161019016
1019140
10132161019216
10133161019316
10134161019416
...@@ -10157,6 +10217,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10157,6 +10217,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10157161021716
10158161021816
10159161021916
1022040
10160241022124
10161161022216
10162161022316
...@@ -10184,6 +10245,8 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10184,6 +10245,8 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10184161024516
10185161024616
10186161024716
1024840
1024940
10187161025016
10188161025116
10189161025216
...@@ -10410,6 +10473,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10410,6 +10473,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10410161047316
10411161047416
10412161047516
1047640
10413161047716
10414161047816
10415161047916
...@@ -10778,6 +10842,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10778,6 +10842,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10778371084237
1077910843
10780161084416
1084540
10781381084638
10782381084738
10783381084838
...@@ -10851,6 +10916,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10851,6 +10916,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10851161091616
10852161091716
10853161091816
1091940
10854161092016
10855161092116
10856161092216
...@@ -11626,6 +11692,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -11626,6 +11692,7 @@ sparc-linux-gnu sparcel-linux-gnu
116261116921
116270116930
116280116940
116953
11629271169627
1163011697
11631271169827
...@@ -11738,12 +11805,18 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -11738,12 +11805,18 @@ sparc-linux-gnu sparcel-linux-gnu
11738161180516
11739161180616
11740161180716
1180840
1180940
11741161181016
11742381181138
11743381181238
11744381181338
11745161181416
11746381181538
1181640
1181740
1181840
1181940
11747161182016
11748161182116
11749161182216
...@@ -11764,6 +11837,8 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -11764,6 +11837,8 @@ sparc-linux-gnu sparcel-linux-gnu
11764161183716
11765161183816
11766161183916
1184040
1184140
11767161184216
11768161184316
11769161184416
...@@ -11776,8 +11851,12 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -11776,8 +11851,12 @@ sparc-linux-gnu sparcel-linux-gnu
11776161185116
11777161185216
11778161185316
1185440
1185540
11779161185616
11780161185716
1185840
1185940
11781161186016
11782161186116
117830118620
...@@ -13040,6 +13119,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13040,6 +13119,7 @@ sparc-linux-gnu sparcel-linux-gnu
130401131191
130411131201
130420131210
1312240
130430131230
130445131245
130450131250
...@@ -13160,6 +13240,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13160,6 +13240,7 @@ sparc-linux-gnu sparcel-linux-gnu
131600 3132400 3
131610132410
131620132420
1324340
131630132440
131640132450
131650132460
...@@ -13833,6 +13914,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13833,6 +13914,7 @@ sparc-linux-gnu sparcel-linux-gnu
138335139145
138340139150
138350 13139160 13
1391740
138360 13139180 13
138370 13139190 13
138380 13139200 13
...@@ -13861,6 +13943,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13861,6 +13943,7 @@ sparc-linux-gnu sparcel-linux-gnu
138610139430
138620139440
138630139450
1394640
13864241394724
13865161394816
138660139490
...@@ -13888,6 +13971,8 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13888,6 +13971,8 @@ sparc-linux-gnu sparcel-linux-gnu
13888161397116
138891139721
138900139730
1397440
1397540
138911139761
138921139771
138931139781
...@@ -14114,6 +14199,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -14114,6 +14199,7 @@ sparc-linux-gnu sparcel-linux-gnu
141140141990
141150142000
141160142010
1420240
141172142032
141180 1142040 1
141190 1142050 1
...@@ -14482,6 +14568,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -14482,6 +14568,7 @@ sparc-linux-gnu sparcel-linux-gnu
14482371456837
14483371456937
144841 16145701 16
1457140
14485381457238
14486381457338
14487381457438
...@@ -14555,6 +14642,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -14555,6 +14642,7 @@ sparc-linux-gnu sparcel-linux-gnu
145550146420
145560146430
145570146440
1464540
145580146460
145590146470
145600146480
...@@ -15330,6 +15418,7 @@ sparcv9-linux-gnu...@@ -15330,6 +15418,7 @@ sparcv9-linux-gnu
153305154185
153315154195
153325154205
15421
15333271542227
1533415423
15335271542427
...@@ -15471,6 +15560,18 @@ sparcv9-linux-gnu...@@ -15471,6 +15560,18 @@ sparcv9-linux-gnu
1547115560
1547215561
1547315562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
1547415575
1547515576
1547615577
...@@ -16744,6 +16845,7 @@ sparcv9-linux-gnu...@@ -16744,6 +16845,7 @@ sparcv9-linux-gnu
167445168455
167455168465
167465168475
1684840
167475168495
167485168505
167495168515
...@@ -16864,6 +16966,7 @@ sparcv9-linux-gnu...@@ -16864,6 +16966,7 @@ sparcv9-linux-gnu
168645169665
168655169675
168665169685
1696940
168675169705
168685169715
168695169725
...@@ -17537,6 +17640,7 @@ sparcv9-linux-gnu...@@ -17537,6 +17640,7 @@ sparcv9-linux-gnu
175375176405
175385176415
175395 13176425 13
1764340
175405 13176445 13
175415 13176455 13
175425 13176465 13
...@@ -17565,6 +17669,7 @@ sparcv9-linux-gnu...@@ -17565,6 +17669,7 @@ sparcv9-linux-gnu
175655176695
175665176705
175675176715
1767240
17568241767324
17569161767416
175705176755
...@@ -17592,6 +17697,8 @@ sparcv9-linux-gnu...@@ -17592,6 +17697,8 @@ sparcv9-linux-gnu
17592161769716
175935176985
175945176995
1770040
1770140
175955177025
175965177035
175975177045
...@@ -17818,6 +17925,7 @@ sparcv9-linux-gnu...@@ -17818,6 +17925,7 @@ sparcv9-linux-gnu
178185179255
178195179265
178205179275
1792840
178215179295
178225179305
178235179315
...@@ -18186,6 +18294,7 @@ sparcv9-linux-gnu...@@ -18186,6 +18294,7 @@ sparcv9-linux-gnu
18186371829437
18187371829537
181885182965
1829740
18189381829838
18190381829938
18191381830038
...@@ -18259,6 +18368,7 @@ sparcv9-linux-gnu...@@ -18259,6 +18368,7 @@ sparcv9-linux-gnu
182595183685
182605183695
182615183705
1837140
182625183725
182635183735
182645183745
...@@ -19034,6 +19144,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -19034,6 +19144,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
190345191445
190350191450
190360191460
19147
19037271914827
1903819149
19039271915027
...@@ -19175,6 +19286,18 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -19175,6 +19286,18 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
1917519286
1917619287
1917719288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
1917819301
1917919302
1918019303
...@@ -20448,6 +20571,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -20448,6 +20571,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
204485205715
204495205725
204500205730
2057440
204510205750
204525205765
204530205770
...@@ -20568,6 +20692,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -20568,6 +20692,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
205680 5206920 5
205690206930
205700206940
2069540
205710206960
205720206970
205730206980
...@@ -21241,6 +21366,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21241,6 +21366,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
212415213665
212420213670
212430 13213680 13
2136940
212440 13213700 13
212450 13213710 13
212460 13213720 13
...@@ -21269,6 +21395,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21269,6 +21395,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
212690213950
212700213960
212710213970
2139840
21272242139924
21273162140016
212740214010
...@@ -21296,6 +21423,8 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21296,6 +21423,8 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
21296162142316
212975214245
212980214250
2142640
2142740
212995214285
213005214295
213015214305
...@@ -21522,6 +21651,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21522,6 +21651,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
215220216510
215230216520
215240216530
2165440
215255216555
215260 5216560 5
215270 5216570 5
...@@ -21890,6 +22020,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21890,6 +22020,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
21890372202037
21891372202137
218925220225
2202340
21893382202438
21894382202538
21895382202638
...@@ -21963,6 +22094,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21963,6 +22094,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
219630220940
219640220950
219650220960
2209740
219660220980
219670220990
219680221000
...@@ -22738,6 +22870,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -22738,6 +22870,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
227385228705
227390228710
227400228720
22873
22741272287427
2274222875
22743272287627
...@@ -22879,6 +23012,18 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -22879,6 +23012,18 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
2287923012
2288023013
2288123014
23015
23016
23017
23018
23019
23020
23021
23022
23023
23024
23025
23026
2288223027
2288323028
2288423029
...@@ -24152,6 +24297,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -24152,6 +24297,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
241525242975
241535242985
241540242990
2430040
241550243010
241565243025
241570243030
...@@ -24272,6 +24418,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -24272,6 +24418,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
242720 5244180 5
242730244190
242740244200
2442140
242750244220
242760244230
242770244240
...@@ -24945,6 +25092,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -24945,6 +25092,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
249455250925
249460250930
249470 13250940 13
2509540
249480 13250960 13
249490 13250970 13
249500 13250980 13
...@@ -24973,6 +25121,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -24973,6 +25121,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
249730251210
249740251220
249750251230
2512440
24976242512524
24977162512616
249780251270
...@@ -25000,6 +25149,8 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -25000,6 +25149,8 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
25000162514916
250015251505
250020251510
2515240
2515340
250035251545
250045251555
250055251565
...@@ -25226,6 +25377,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -25226,6 +25377,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
252260253770
252270253780
252280253790
2538040
252295253815
252300 5253820 5
252310 5253830 5
...@@ -25594,6 +25746,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -25594,6 +25746,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
25594372574637
25595372574737
255965257485
2574940
25597382575038
25598382575138
25599382575238
...@@ -25667,6 +25820,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -25667,6 +25820,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
256670258200
256680258210
256690258220
2582340
256700258240
256710258250
256720258260
...@@ -26442,6 +26596,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -26442,6 +26596,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
264425265965
264430265970
264440265980
26599
26445272660027
2644626601
26447272660227
...@@ -26583,6 +26738,18 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -26583,6 +26738,18 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
2658326738
2658426739
2658526740
26741
26742
26743
26744
26745
26746
26747
26748
26749
26750
26751
26752
2658626753
2658726754
2658826755
...@@ -27856,6 +28023,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -27856,6 +28023,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
278565280235
278575280245
278580280250
2802640
278590280270
278605280285
278610280290
...@@ -27976,6 +28144,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -27976,6 +28144,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
279760 5281440 5
279770281450
279780281460
2814740
279790281480
279800281490
279810281500
...@@ -28649,6 +28818,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -28649,6 +28818,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
286495288185
286500288190
286510 13288200 13
2882140
286520 13288220 13
286530 13288230 13
286540 13288240 13
...@@ -28677,6 +28847,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -28677,6 +28847,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
286770288470
286780288480
286790288490
2885040
28680242885124
28681162885216
286820288530
...@@ -28704,6 +28875,8 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -28704,6 +28875,8 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
28704162887516
287055288765
287060288770
2887840
2887940
287075288805
287085288815
287095288825
...@@ -28930,6 +29103,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -28930,6 +29103,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
289300291030
289310291040
289320291050
2910640
289335291075
289340 5291080 5
289350 5291090 5
...@@ -29298,6 +29472,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -29298,6 +29472,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
29298372947237
2929929473
293005294745
2947540
29301382947638
29302382947738
29303382947838
...@@ -29371,6 +29546,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -29371,6 +29546,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
293710295460
293720295470
293730295480
2954940
293740295500
293750295510
293760295520
...@@ -30146,6 +30322,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -30146,6 +30322,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
301465303225
301470303230
301480303240
30325
30149273032627
3015030327
30151273032827
...@@ -30287,6 +30464,18 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -30287,6 +30464,18 @@ mipsel-linux-gnueabi mips-linux-gnueabi
3028730464
3028830465
3028930466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
3029030479
3029130480
3029230481
...@@ -31560,6 +31749,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -31560,6 +31749,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
315605317495
315615317505
315620317510
3175240
315630317530
315645317545
315650317550
...@@ -31680,6 +31870,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -31680,6 +31870,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
316800 5318700 5
316810318710
316820318720
3187340
316830318740
316840318750
316850318760
...@@ -32353,6 +32544,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -32353,6 +32544,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
323535325445
323540325450
323550 13325460 13
3254740
323560 13325480 13
323570 13325490 13
323580 13325500 13
...@@ -32381,6 +32573,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -32381,6 +32573,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
323810325730
323820325740
323830325750
3257640
32384243257724
32385163257816
323860325790
...@@ -32408,6 +32601,8 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -32408,6 +32601,8 @@ mipsel-linux-gnueabi mips-linux-gnueabi
32408163260116
324095326025
324100326030
3260440
3260540
324115326065
324125326075
324135326085
...@@ -32634,6 +32829,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -32634,6 +32829,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
326340328290
326350328300
326360328310
3283240
326375328335
326380 5328340 5
326390 5328350 5
...@@ -33002,6 +33198,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -33002,6 +33198,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
33002373319837
3300333199
330045332005
3320140
33005383320238
33006383320338
33007383320438
...@@ -33075,6 +33272,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -33075,6 +33272,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
330750332720
330760332730
330770332740
3327540
330780332760
330790332770
330800332780
...@@ -33850,6 +34048,7 @@ x86_64-linux-gnu...@@ -33850,6 +34048,7 @@ x86_64-linux-gnu
33850103404810
33851103404910
33852103405010
34051
33853273405227
33854363405336
33855273405427
...@@ -33991,6 +34190,18 @@ x86_64-linux-gnu...@@ -33991,6 +34190,18 @@ x86_64-linux-gnu
3399134190
3399234191
3399334192
34193
34194
34195
34196
34197
34198
34199
34200
34201
34202
34203
34204
3399434205
3399534206
3399634207
...@@ -35264,6 +35475,7 @@ x86_64-linux-gnu...@@ -35264,6 +35475,7 @@ x86_64-linux-gnu
35264103547510
35265103547610
35266103547710
3547840
35267103547910
35268103548010
35269103548110
...@@ -35384,6 +35596,7 @@ x86_64-linux-gnu...@@ -35384,6 +35596,7 @@ x86_64-linux-gnu
35384103559610
35385103559710
35386103559810
3559940
35387103560010
35388103560110
35389103560210
...@@ -36057,6 +36270,7 @@ x86_64-linux-gnu...@@ -36057,6 +36270,7 @@ x86_64-linux-gnu
36057103627010
36058103627110
3605910 133627210 13
3627340
3606010 133627410 13
3606110 133627510 13
3606210 133627610 13
...@@ -36085,6 +36299,7 @@ x86_64-linux-gnu...@@ -36085,6 +36299,7 @@ x86_64-linux-gnu
36085103629910
36086103630010
36087103630110
3630240
36088243630324
36089163630416
36090103630510
...@@ -36112,6 +36327,8 @@ x86_64-linux-gnu...@@ -36112,6 +36327,8 @@ x86_64-linux-gnu
36112163632716
36113103632810
36114103632910
3633040
3633140
36115103633210
36116103633310
36117103633410
...@@ -36338,6 +36555,7 @@ x86_64-linux-gnu...@@ -36338,6 +36555,7 @@ x86_64-linux-gnu
36338103655510
36339103655610
36340103655710
3655840
36341103655910
36342103656010
36343103656110
...@@ -36706,6 +36924,7 @@ x86_64-linux-gnu...@@ -36706,6 +36924,7 @@ x86_64-linux-gnu
36706373692437
36707373692537
36708103692610
3692740
36709383692838
36710383692938
36711383693038
...@@ -36779,6 +36998,7 @@ x86_64-linux-gnu...@@ -36779,6 +36998,7 @@ x86_64-linux-gnu
36779103699810
36780103699910
36781103700010
3700140
36782103700210
36783103700310
36784103700410
...@@ -37554,6 +37774,7 @@ x86_64-linux-gnux32...@@ -37554,6 +37774,7 @@ x86_64-linux-gnux32
37554283777428
37555283777528
37556283777628
37777
37557283777828
37558363777936
37559283778028
...@@ -37695,6 +37916,18 @@ x86_64-linux-gnux32...@@ -37695,6 +37916,18 @@ x86_64-linux-gnux32
3769537916
3769637917
3769737918
37919
37920
37921
37922
37923
37924
37925
37926
37927
37928
37929
37930
3769837931
3769937932
3770037933
...@@ -38968,6 +39201,7 @@ x86_64-linux-gnux32...@@ -38968,6 +39201,7 @@ x86_64-linux-gnux32
38968283920128
38969283920228
38970283920328
3920440
38971283920528
38972283920628
38973283920728
...@@ -39088,6 +39322,7 @@ x86_64-linux-gnux32...@@ -39088,6 +39322,7 @@ x86_64-linux-gnux32
39088283932228
39089283932328
39090283932428
3932540
39091283932628
39092283932728
39093283932828
...@@ -39761,6 +39996,7 @@ x86_64-linux-gnux32...@@ -39761,6 +39996,7 @@ x86_64-linux-gnux32
39761283999628
39762283999728
39763283999828
3999940
39764284000028
39765284000128
39766284000228
...@@ -39789,6 +40025,7 @@ x86_64-linux-gnux32...@@ -39789,6 +40025,7 @@ x86_64-linux-gnux32
39789284002528
39790284002628
39791284002728
4002840
39792284002928
39793284003028
39794284003128
...@@ -39816,6 +40053,8 @@ x86_64-linux-gnux32...@@ -39816,6 +40053,8 @@ x86_64-linux-gnux32
39816284005328
39817284005428
39818284005528
4005640
4005740
39819284005828
39820284005928
39821284006028
...@@ -40042,6 +40281,7 @@ x86_64-linux-gnux32...@@ -40042,6 +40281,7 @@ x86_64-linux-gnux32
40042284028128
40043284028228
40044284028328
4028440
40045284028528
40046284028628
40047284028728
...@@ -40410,6 +40650,7 @@ x86_64-linux-gnux32...@@ -40410,6 +40650,7 @@ x86_64-linux-gnux32
40410374065037
40411374065137
40412284065228
4065340
40413384065438
40414384065538
40415384065638
...@@ -40483,6 +40724,7 @@ x86_64-linux-gnux32...@@ -40483,6 +40724,7 @@ x86_64-linux-gnux32
40483284072428
40484284072528
40485284072628
4072740
40486284072828
40487284072928
40488284073028
...@@ -41258,6 +41500,7 @@ i386-linux-gnu...@@ -41258,6 +41500,7 @@ i386-linux-gnu
412581415001
412590415010
412600415020
415033
41261274150427
41262364150536
41263274150627
...@@ -41399,6 +41642,18 @@ i386-linux-gnu...@@ -41399,6 +41642,18 @@ i386-linux-gnu
4139941642
4140041643
4140141644
41645
41646
41647
41648
41649
41650
41651
41652
41653
41654
41655
41656
4140241657
4140341658
4140441659
...@@ -42672,6 +42927,7 @@ i386-linux-gnu...@@ -42672,6 +42927,7 @@ i386-linux-gnu
426721429271
426731429281
426740429290
4293040
426750429310
426765429325
426770429330
...@@ -42792,6 +43048,7 @@ i386-linux-gnu...@@ -42792,6 +43048,7 @@ i386-linux-gnu
427920 3430480 3
427930430490
427940430500
4305140
427950430520
427960430530
427970430540
...@@ -43465,6 +43722,7 @@ i386-linux-gnu...@@ -43465,6 +43722,7 @@ i386-linux-gnu
434655437225
434660437230
434670 13437240 13
4372540
434680 13437260 13
434690 13437270 13
434700 13437280 13
...@@ -43493,6 +43751,7 @@ i386-linux-gnu...@@ -43493,6 +43751,7 @@ i386-linux-gnu
434930437510
434940437520
434950437530
4375440
43496244375524
43497164375616
434980437570
...@@ -43520,6 +43779,8 @@ i386-linux-gnu...@@ -43520,6 +43779,8 @@ i386-linux-gnu
43520164377916
435211437801
435220437810
4378240
4378340
435231437841
435241437851
435251437861
...@@ -43746,6 +44007,7 @@ i386-linux-gnu...@@ -43746,6 +44007,7 @@ i386-linux-gnu
437460440070
437470440080
437480440090
4401040
437492440112
437500 1440120 1
437510 1440130 1
...@@ -44114,6 +44376,7 @@ i386-linux-gnu...@@ -44114,6 +44376,7 @@ i386-linux-gnu
44114374437637
44115374437737
441161443781
4437940
44117384438038
44118384438138
44119384438238
...@@ -44187,6 +44450,7 @@ i386-linux-gnu...@@ -44187,6 +44450,7 @@ i386-linux-gnu
441870444500
441880444510
441890444520
4445340
441900444540
441910444550
441920444560
...@@ -44962,6 +45226,7 @@ powerpc64le-linux-gnu...@@ -44962,6 +45226,7 @@ powerpc64le-linux-gnu
44962294522629
44963294522729
44964294522829
45229
44965294523029
44966364523136
44967294523229
...@@ -45074,12 +45339,18 @@ powerpc64le-linux-gnu...@@ -45074,12 +45339,18 @@ powerpc64le-linux-gnu
45074294533929
45075294534029
45076294534129
4534240
4534340
45077294534429
45078384534538
45079384534638
45080384534738
45081294534829
45082384534938
4535040
4535140
4535240
4535340
45083294535429
45084294535529
45085294535629
...@@ -45100,6 +45371,8 @@ powerpc64le-linux-gnu...@@ -45100,6 +45371,8 @@ powerpc64le-linux-gnu
45100294537129
45101294537229
45102294537329
4537440
4537540
45103294537629
45104294537729
45105294537829
...@@ -45112,8 +45385,12 @@ powerpc64le-linux-gnu...@@ -45112,8 +45385,12 @@ powerpc64le-linux-gnu
45112294538529
45113294538629
45114294538729
4538840
4538940
45115294539029
45116294539129
4539240
4539340
45117294539429
45118294539529
45119294539629
...@@ -46376,6 +46653,7 @@ powerpc64le-linux-gnu...@@ -46376,6 +46653,7 @@ powerpc64le-linux-gnu
46376294665329
46377294665429
46378294665529
4665640
46379294665729
46380294665829
46381294665929
...@@ -46496,6 +46774,7 @@ powerpc64le-linux-gnu...@@ -46496,6 +46774,7 @@ powerpc64le-linux-gnu
46496294677429
46497294677529
46498294677629
4677740
46499294677829
46500294677929
46501294678029
...@@ -47169,6 +47448,7 @@ powerpc64le-linux-gnu...@@ -47169,6 +47448,7 @@ powerpc64le-linux-gnu
47169294744829
47170294744929
47171294745029
4745140
47172294745229
47173294745329
47174294745429
...@@ -47197,6 +47477,7 @@ powerpc64le-linux-gnu...@@ -47197,6 +47477,7 @@ powerpc64le-linux-gnu
47197294747729
47198294747829
47199294747929
4748040
47200294748129
47201294748229
47202294748329
...@@ -47224,6 +47505,8 @@ powerpc64le-linux-gnu...@@ -47224,6 +47505,8 @@ powerpc64le-linux-gnu
47224294750529
47225294750629
47226294750729
4750840
4750940
47227294751029
47228294751129
47229294751229
...@@ -47450,6 +47733,7 @@ powerpc64le-linux-gnu...@@ -47450,6 +47733,7 @@ powerpc64le-linux-gnu
47450294773329
47451294773429
47452294773529
4773640
47453294773729
47454294773829
47455294773929
...@@ -47818,6 +48102,7 @@ powerpc64le-linux-gnu...@@ -47818,6 +48102,7 @@ powerpc64le-linux-gnu
47818374810237
47819374810337
47820294810429
4810540
47821384810638
47822384810738
47823384810838
...@@ -47891,6 +48176,7 @@ powerpc64le-linux-gnu...@@ -47891,6 +48176,7 @@ powerpc64le-linux-gnu
47891294817629
47892294817729
47893294817829
4817940
47894294818029
47895294818129
47896294818229
...@@ -48666,6 +48952,7 @@ powerpc64-linux-gnu...@@ -48666,6 +48952,7 @@ powerpc64-linux-gnu
48666124895212
48667124895312
48668124895412
48955
48669274895627
4867048957
48671274895827
...@@ -48778,12 +49065,18 @@ powerpc64-linux-gnu...@@ -48778,12 +49065,18 @@ powerpc64-linux-gnu
48778164906516
48779164906616
48780164906716
4906840
4906940
48781164907016
48782384907138
48783384907238
48784384907338
48785164907416
48786384907538
4907640
4907740
4907840
4907940
48787164908016
48788164908116
48789164908216
...@@ -48804,6 +49097,8 @@ powerpc64-linux-gnu...@@ -48804,6 +49097,8 @@ powerpc64-linux-gnu
48804164909716
48805164909816
48806164909916
4910040
4910140
48807164910216
48808164910316
48809164910416
...@@ -48816,8 +49111,12 @@ powerpc64-linux-gnu...@@ -48816,8 +49111,12 @@ powerpc64-linux-gnu
48816164911116
48817164911216
48818164911316
4911440
4911540
48819164911616
48820164911716
4911840
4911940
48821164912016
48822164912116
48823124912212
...@@ -50080,6 +50379,7 @@ powerpc64-linux-gnu...@@ -50080,6 +50379,7 @@ powerpc64-linux-gnu
50080125037912
50081125038012
50082125038112
5038240
50083125038312
50084125038412
50085125038512
...@@ -50200,6 +50500,7 @@ powerpc64-linux-gnu...@@ -50200,6 +50500,7 @@ powerpc64-linux-gnu
50200125050012
50201125050112
50202125050212
5050340
50203125050412
50204125050512
50205125050612
...@@ -50873,6 +51174,7 @@ powerpc64-linux-gnu...@@ -50873,6 +51174,7 @@ powerpc64-linux-gnu
50873125117412
50874125117512
5087512 135117612 13
5117740
5087612 135117812 13
5087712 135117912 13
5087812 135118012 13
...@@ -50901,6 +51203,7 @@ powerpc64-linux-gnu...@@ -50901,6 +51203,7 @@ powerpc64-linux-gnu
50901125120312
50902125120412
50903125120512
5120640
50904245120724
50905165120816
50906125120912
...@@ -50928,6 +51231,8 @@ powerpc64-linux-gnu...@@ -50928,6 +51231,8 @@ powerpc64-linux-gnu
50928165123116
50929125123212
50930125123312
5123440
5123540
50931125123612
50932125123712
50933125123812
...@@ -51154,6 +51459,7 @@ powerpc64-linux-gnu...@@ -51154,6 +51459,7 @@ powerpc64-linux-gnu
51154125145912
51155125146012
51156125146112
5146240
51157125146312
51158125146412
51159125146512
...@@ -51522,6 +51828,7 @@ powerpc64-linux-gnu...@@ -51522,6 +51828,7 @@ powerpc64-linux-gnu
51522375182837
5152351829
5152412 165183012 16
5183140
51525385183238
51526385183338
51527385183438
...@@ -51595,6 +51902,7 @@ powerpc64-linux-gnu...@@ -51595,6 +51902,7 @@ powerpc64-linux-gnu
51595125190212
51596125190312
51597125190412
5190540
51598125190612
51599125190712
51600125190812
...@@ -52370,6 +52678,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -52370,6 +52678,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
523701526781
523710526790
523720526800
526813
52373275268227
5237452683
52375275268427
...@@ -52482,12 +52791,18 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -52482,12 +52791,18 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
52482165279116
52483165279216
52484165279316
5279440
5279540
52485165279616
52486385279738
52487385279838
52488385279938
52489165280016
52490385280138
5280240
5280340
5280440
5280540
52491165280616
52492165280716
52493165280816
...@@ -52508,6 +52823,8 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -52508,6 +52823,8 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
52508165282316
52509165282416
52510165282516
5282640
5282740
52511165282816
52512165282916
52513165283016
...@@ -52520,8 +52837,12 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -52520,8 +52837,12 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
52520165283716
52521165283816
52522165283916
5284040
5284140
52523165284216
52524165284316
5284440
5284540
52525165284616
52526165284716
525270528480
...@@ -53784,6 +54105,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -53784,6 +54105,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
537841541051
537851541061
537860541070
5410840
537870541090
537885541105
537890541110
...@@ -53904,6 +54226,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -53904,6 +54226,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
539040 3542260 3
539050542270
539060542280
5422940
539070542300
539080542310
539090542320
...@@ -54577,6 +54900,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -54577,6 +54900,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
545775549005
545780549010
545790 13549020 13
5490340
545800 13549040 13
545810 13549050 13
545820 13549060 13
...@@ -54605,6 +54929,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -54605,6 +54929,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
546050549290
546060549300
546070549310
5493240
54608245493324
54609165493416
546100549350
...@@ -54632,6 +54957,8 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -54632,6 +54957,8 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
54632165495716
546331549581
546340549590
5496040
5496140
546351549621
546361549631
546371549641
...@@ -54858,6 +55185,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -54858,6 +55185,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
548580551850
548590551860
548600551870
5518840
548612551892
548620 1551900 1
548630 1551910 1
...@@ -55226,6 +55554,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -55226,6 +55554,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
55226375555437
5522755555
552281 16555561 16
5555740
55229385555838
55230385555938
55231385556038
...@@ -55299,6 +55628,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -55299,6 +55628,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
552990556280
553000556290
553010556300
5563140
553020556320
553030556330
553040556340
lib/libc/glibc/fns.txt+22
...@@ -513,6 +513,7 @@ __libc_realloc c...@@ -513,6 +513,7 @@ __libc_realloc c
513__libc_sa_len c513__libc_sa_len c
514__libc_start_main c514__libc_start_main c
515__libc_valloc c515__libc_valloc c
516__libpthread_version_placeholder pthread
516__log10_finite m517__log10_finite m
517__log10f128_finite m518__log10f128_finite m
518__log10f_finite m519__log10f_finite m
...@@ -625,12 +626,18 @@ __nldbl___vswprintf_chk c...@@ -625,12 +626,18 @@ __nldbl___vswprintf_chk c
625__nldbl___vsyslog_chk c626__nldbl___vsyslog_chk c
626__nldbl___vwprintf_chk c627__nldbl___vwprintf_chk c
627__nldbl___wprintf_chk c628__nldbl___wprintf_chk c
629__nldbl_argp_error c
630__nldbl_argp_failure c
628__nldbl_asprintf c631__nldbl_asprintf c
629__nldbl_daddl m632__nldbl_daddl m
630__nldbl_ddivl m633__nldbl_ddivl m
631__nldbl_dmull m634__nldbl_dmull m
632__nldbl_dprintf c635__nldbl_dprintf c
633__nldbl_dsubl m636__nldbl_dsubl m
637__nldbl_err c
638__nldbl_error c
639__nldbl_error_at_line c
640__nldbl_errx c
634__nldbl_fprintf c641__nldbl_fprintf c
635__nldbl_fscanf c642__nldbl_fscanf c
636__nldbl_fwprintf c643__nldbl_fwprintf c
...@@ -651,6 +658,8 @@ __nldbl_swscanf c...@@ -651,6 +658,8 @@ __nldbl_swscanf c
651__nldbl_syslog c658__nldbl_syslog c
652__nldbl_vasprintf c659__nldbl_vasprintf c
653__nldbl_vdprintf c660__nldbl_vdprintf c
661__nldbl_verr c
662__nldbl_verrx c
654__nldbl_vfprintf c663__nldbl_vfprintf c
655__nldbl_vfscanf c664__nldbl_vfscanf c
656__nldbl_vfwprintf c665__nldbl_vfwprintf c
...@@ -663,8 +672,12 @@ __nldbl_vsscanf c...@@ -663,8 +672,12 @@ __nldbl_vsscanf c
663__nldbl_vswprintf c672__nldbl_vswprintf c
664__nldbl_vswscanf c673__nldbl_vswscanf c
665__nldbl_vsyslog c674__nldbl_vsyslog c
675__nldbl_vwarn c
676__nldbl_vwarnx c
666__nldbl_vwprintf c677__nldbl_vwprintf c
667__nldbl_vwscanf c678__nldbl_vwscanf c
679__nldbl_warn c
680__nldbl_warnx c
668__nldbl_wprintf c681__nldbl_wprintf c
669__nldbl_wscanf c682__nldbl_wscanf c
670__nss_configure_lookup c683__nss_configure_lookup c
...@@ -1927,6 +1940,7 @@ getdate c...@@ -1927,6 +1940,7 @@ getdate c
1927getdate_err c1940getdate_err c
1928getdate_r c1941getdate_r c
1929getdelim c1942getdelim c
1943getdents64 c
1930getdirentries c1944getdirentries c
1931getdirentries64 c1945getdirentries64 c
1932getdomainname c1946getdomainname c
...@@ -2047,6 +2061,7 @@ getspnam c...@@ -2047,6 +2061,7 @@ getspnam c
2047getspnam_r c2061getspnam_r c
2048getsubopt c2062getsubopt c
2049gettext c2063gettext c
2064gettid c
2050gettimeofday c2065gettimeofday c
2051getttyent c2066getttyent c
2052getttynam c2067getttynam c
...@@ -2720,6 +2735,7 @@ pthread_barrierattr_init pthread...@@ -2720,6 +2735,7 @@ pthread_barrierattr_init pthread
2720pthread_barrierattr_setpshared pthread2735pthread_barrierattr_setpshared pthread
2721pthread_cancel pthread2736pthread_cancel pthread
2722pthread_cond_broadcast c2737pthread_cond_broadcast c
2738pthread_cond_clockwait pthread
2723pthread_cond_destroy c2739pthread_cond_destroy c
2724pthread_cond_init c2740pthread_cond_init c
2725pthread_cond_signal c2741pthread_cond_signal c
...@@ -2748,6 +2764,7 @@ pthread_key_create pthread...@@ -2748,6 +2764,7 @@ pthread_key_create pthread
2748pthread_key_delete pthread2764pthread_key_delete pthread
2749pthread_kill pthread2765pthread_kill pthread
2750pthread_kill_other_threads_np pthread2766pthread_kill_other_threads_np pthread
2767pthread_mutex_clocklock pthread
2751pthread_mutex_consistent pthread2768pthread_mutex_consistent pthread
2752pthread_mutex_consistent_np pthread2769pthread_mutex_consistent_np pthread
2753pthread_mutex_destroy c2770pthread_mutex_destroy c
...@@ -2775,6 +2792,8 @@ pthread_mutexattr_setrobust pthread...@@ -2775,6 +2792,8 @@ pthread_mutexattr_setrobust pthread
2775pthread_mutexattr_setrobust_np pthread2792pthread_mutexattr_setrobust_np pthread
2776pthread_mutexattr_settype pthread2793pthread_mutexattr_settype pthread
2777pthread_once pthread2794pthread_once pthread
2795pthread_rwlock_clockrdlock pthread
2796pthread_rwlock_clockwrlock pthread
2778pthread_rwlock_destroy pthread2797pthread_rwlock_destroy pthread
2779pthread_rwlock_init pthread2798pthread_rwlock_init pthread
2780pthread_rwlock_rdlock pthread2799pthread_rwlock_rdlock pthread
...@@ -3001,6 +3020,7 @@ seed48 c...@@ -3001,6 +3020,7 @@ seed48 c
3001seed48_r c3020seed48_r c
3002seekdir c3021seekdir c
3003select c3022select c
3023sem_clockwait pthread
3004sem_close pthread3024sem_close pthread
3005sem_destroy pthread3025sem_destroy pthread
3006sem_getvalue pthread3026sem_getvalue pthread
...@@ -3369,6 +3389,7 @@ tgammaf32x m...@@ -3369,6 +3389,7 @@ tgammaf32x m
3369tgammaf64 m3389tgammaf64 m
3370tgammaf64x m3390tgammaf64x m
3371tgammal m3391tgammal m
3392tgkill c
3372thrd_create pthread3393thrd_create pthread
3373thrd_current c3394thrd_current c
3374thrd_detach pthread3395thrd_detach pthread
...@@ -3442,6 +3463,7 @@ ttyname c...@@ -3442,6 +3463,7 @@ ttyname c
3442ttyname_r c3463ttyname_r c
3443ttyslot c3464ttyslot c
3444twalk c3465twalk c
3466twalk_r c
3445tzname c3467tzname c
3446tzset c3468tzset c
3447ualarm c3469ualarm c
lib/libc/glibc/vers.txt+1
...@@ -38,3 +38,4 @@ GLIBC_2.26...@@ -38,3 +38,4 @@ GLIBC_2.26
38GLIBC_2.2738GLIBC_2.27
39GLIBC_2.2839GLIBC_2.28
40GLIBC_2.2940GLIBC_2.29
41GLIBC_2.30
lib/libc/include/aarch64-linux-gnu/bits/hwcap.h+4-1
...@@ -50,4 +50,7 @@...@@ -50,4 +50,7 @@
50#define HWCAP_USCAT (1 << 25)50#define HWCAP_USCAT (1 << 25)
51#define HWCAP_ILRCPC (1 << 26)51#define HWCAP_ILRCPC (1 << 26)
52#define HWCAP_FLAGM (1 << 27)52#define HWCAP_FLAGM (1 << 27)
53#define HWCAP_SSBS (1 << 28)
\ No newline at end of file
53#define HWCAP_SSBS (1 << 28)
54#define HWCAP_SB (1 << 29)
55#define HWCAP_PACA (1 << 30)
56#define HWCAP_PACG (1UL << 31)
\ No newline at end of file
lib/libc/include/aarch64-linux-gnu/gnu/stubs-lp64.h-6
...@@ -13,15 +13,9 @@...@@ -13,15 +13,9 @@
13#define __stub___compat_query_module13#define __stub___compat_query_module
14#define __stub___compat_uselib14#define __stub___compat_uselib
15#define __stub_chflags15#define __stub_chflags
16#define __stub_fattach
17#define __stub_fchflags16#define __stub_fchflags
18#define __stub_fdetach
19#define __stub_getmsg
20#define __stub_getpmsg
21#define __stub_gtty17#define __stub_gtty
22#define __stub_lchmod18#define __stub_lchmod
23#define __stub_putmsg
24#define __stub_putpmsg
25#define __stub_revoke19#define __stub_revoke
26#define __stub_setlogin20#define __stub_setlogin
27#define __stub_sigreturn21#define __stub_sigreturn
lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h+4-1
...@@ -50,4 +50,7 @@...@@ -50,4 +50,7 @@
50#define HWCAP_USCAT (1 << 25)50#define HWCAP_USCAT (1 << 25)
51#define HWCAP_ILRCPC (1 << 26)51#define HWCAP_ILRCPC (1 << 26)
52#define HWCAP_FLAGM (1 << 27)52#define HWCAP_FLAGM (1 << 27)
53#define HWCAP_SSBS (1 << 28)
\ No newline at end of file
53#define HWCAP_SSBS (1 << 28)
54#define HWCAP_SB (1 << 29)
55#define HWCAP_PACA (1 << 30)
56#define HWCAP_PACG (1UL << 31)
\ No newline at end of file
lib/libc/include/aarch64_be-linux-gnu/gnu/stubs-lp64_be.h-6
...@@ -13,15 +13,9 @@...@@ -13,15 +13,9 @@
13#define __stub___compat_query_module13#define __stub___compat_query_module
14#define __stub___compat_uselib14#define __stub___compat_uselib
15#define __stub_chflags15#define __stub_chflags
16#define __stub_fattach
17#define __stub_fchflags16#define __stub_fchflags
18#define __stub_fdetach
19#define __stub_getmsg
20#define __stub_getpmsg
21#define __stub_gtty17#define __stub_gtty
22#define __stub_lchmod18#define __stub_lchmod
23#define __stub_putmsg
24#define __stub_putpmsg
25#define __stub_revoke19#define __stub_revoke
26#define __stub_setlogin20#define __stub_setlogin
27#define __stub_sigreturn21#define __stub_sigreturn
lib/libc/include/generic-glibc/bits/dirent_ext.h created+33
...@@ -0,0 +1,33 @@
1/* System-specific extensions of <dirent.h>. Linux version.
2 Copyright (C) 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 _DIRENT_H
20# error "Never include <bits/dirent_ext.h> directly; use <dirent.h> instead."
21#endif
22
23__BEGIN_DECLS
24
25#ifdef __USE_GNU
26/* Read from the directory descriptor FD into LENGTH bytes at BUFFER.
27 Return the number of bytes read on success (0 for end of
28 directory), and -1 for failure. */
29extern __ssize_t getdents64 (int __fd, void *__buffer, size_t __length)
30 __THROW __nonnull ((2));
31#endif
32
33__END_DECLS
\ No newline at end of file
lib/libc/include/generic-glibc/bits/fcntl-linux.h+2
...@@ -284,6 +284,8 @@ struct f_owner_ex...@@ -284,6 +284,8 @@ struct f_owner_ex
284# define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */284# define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */
285# define F_SEAL_GROW 0x0004 /* Prevent file from growing. */285# define F_SEAL_GROW 0x0004 /* Prevent file from growing. */
286# define F_SEAL_WRITE 0x0008 /* Prevent writes. */286# define F_SEAL_WRITE 0x0008 /* Prevent writes. */
287# define F_SEAL_FUTURE_WRITE 0x0010 /* Prevent future writes while
288 mapped. */
287#endif289#endif
288290
289#ifdef __USE_GNU291#ifdef __USE_GNU
lib/libc/include/generic-glibc/bits/in.h+1
...@@ -192,6 +192,7 @@ struct in_pktinfo...@@ -192,6 +192,7 @@ struct in_pktinfo
192#define IPV6_JOIN_ANYCAST 27192#define IPV6_JOIN_ANYCAST 27
193#define IPV6_LEAVE_ANYCAST 28193#define IPV6_LEAVE_ANYCAST 28
194#define IPV6_MULTICAST_ALL 29194#define IPV6_MULTICAST_ALL 29
195#define IPV6_ROUTER_ALERT_ISOLATE 30
195#define IPV6_IPSEC_POLICY 34196#define IPV6_IPSEC_POLICY 34
196#define IPV6_XFRM_POLICY 35197#define IPV6_XFRM_POLICY 35
197#define IPV6_HDRINCL 36198#define IPV6_HDRINCL 36
lib/libc/include/generic-glibc/bits/math-vector-fortran.h deleted-19
...@@ -1,19 +0,0 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 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! No SIMD math functions are available for this platform.
\ No newline at end of file
lib/libc/include/generic-glibc/bits/signal_ext.h created+31
...@@ -0,0 +1,31 @@
1/* System-specific extensions of <signal.h>, Linux version.
2 Copyright (C) 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 _SIGNAL_H
20# error "Never include <bits/signal_ext.h> directly; use <signal.h> instead."
21#endif
22
23#ifdef __USE_GNU
24
25/* Send SIGNAL to the thread TID in the thread group (process)
26 identified by TGID. This function behaves like kill, but also
27 fails with ESRCH if the specified TID does not belong to the
28 specified thread group. */
29extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal);
30
31#endif /* __USE_GNU */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 18
33#define SO_RCVTIMEO 20
34#define SO_REUSEADDR 2
35#define SO_SNDBUF 7
36#define SO_SNDLOWAT 19
37#define SO_SNDTIMEO 21
38#define SO_TYPE 3
\ No newline at end of file
lib/libc/include/generic-glibc/bits/socket.h+6-92
...@@ -349,98 +349,12 @@ struct ucred...@@ -349,98 +349,12 @@ struct ucred
349};349};
350#endif350#endif
351351
352/* Ugly workaround for unclean kernel headers. */352#ifdef __USE_MISC
353#ifndef __USE_MISC353# include <bits/types/time_t.h>
354# ifndef FIOGETOWN354# include <asm/socket.h>
355# define __SYS_SOCKET_H_undef_FIOGETOWN355#else
356# endif356# define SO_DEBUG 1
357# ifndef FIOSETOWN357# include <bits/socket-constants.h>
358# define __SYS_SOCKET_H_undef_FIOSETOWN
359# endif
360# ifndef SIOCATMARK
361# define __SYS_SOCKET_H_undef_SIOCATMARK
362# endif
363# ifndef SIOCGPGRP
364# define __SYS_SOCKET_H_undef_SIOCGPGRP
365# endif
366# ifndef SIOCGSTAMP
367# define __SYS_SOCKET_H_undef_SIOCGSTAMP
368# endif
369# ifndef SIOCGSTAMPNS
370# define __SYS_SOCKET_H_undef_SIOCGSTAMPNS
371# endif
372# ifndef SIOCSPGRP
373# define __SYS_SOCKET_H_undef_SIOCSPGRP
374# endif
375#endif
376#ifndef IOCSIZE_MASK
377# define __SYS_SOCKET_H_undef_IOCSIZE_MASK
378#endif
379#ifndef IOCSIZE_SHIFT
380# define __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
381#endif
382#ifndef IOC_IN
383# define __SYS_SOCKET_H_undef_IOC_IN
384#endif
385#ifndef IOC_INOUT
386# define __SYS_SOCKET_H_undef_IOC_INOUT
387#endif
388#ifndef IOC_OUT
389# define __SYS_SOCKET_H_undef_IOC_OUT
390#endif
391
392/* Get socket manipulation related informations from kernel headers. */
393#include <asm/socket.h>
394
395#ifndef __USE_MISC
396# ifdef __SYS_SOCKET_H_undef_FIOGETOWN
397# undef __SYS_SOCKET_H_undef_FIOGETOWN
398# undef FIOGETOWN
399# endif
400# ifdef __SYS_SOCKET_H_undef_FIOSETOWN
401# undef __SYS_SOCKET_H_undef_FIOSETOWN
402# undef FIOSETOWN
403# endif
404# ifdef __SYS_SOCKET_H_undef_SIOCATMARK
405# undef __SYS_SOCKET_H_undef_SIOCATMARK
406# undef SIOCATMARK
407# endif
408# ifdef __SYS_SOCKET_H_undef_SIOCGPGRP
409# undef __SYS_SOCKET_H_undef_SIOCGPGRP
410# undef SIOCGPGRP
411# endif
412# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMP
413# undef __SYS_SOCKET_H_undef_SIOCGSTAMP
414# undef SIOCGSTAMP
415# endif
416# ifdef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
417# undef __SYS_SOCKET_H_undef_SIOCGSTAMPNS
418# undef SIOCGSTAMPNS
419# endif
420# ifdef __SYS_SOCKET_H_undef_SIOCSPGRP
421# undef __SYS_SOCKET_H_undef_SIOCSPGRP
422# undef SIOCSPGRP
423# endif
424#endif
425#ifdef __SYS_SOCKET_H_undef_IOCSIZE_MASK
426# undef __SYS_SOCKET_H_undef_IOCSIZE_MASK
427# undef IOCSIZE_MASK
428#endif
429#ifdef __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
430# undef __SYS_SOCKET_H_undef_IOCSIZE_SHIFT
431# undef IOCSIZE_SHIFT
432#endif
433#ifdef __SYS_SOCKET_H_undef_IOC_IN
434# undef __SYS_SOCKET_H_undef_IOC_IN
435# undef IOC_IN
436#endif
437#ifdef __SYS_SOCKET_H_undef_IOC_INOUT
438# undef __SYS_SOCKET_H_undef_IOC_INOUT
439# undef IOC_INOUT
440#endif
441#ifdef __SYS_SOCKET_H_undef_IOC_OUT
442# undef __SYS_SOCKET_H_undef_IOC_OUT
443# undef IOC_OUT
444#endif358#endif
445359
446/* Structure used to manipulate the SO_LINGER option. */360/* Structure used to manipulate the SO_LINGER option. */
lib/libc/include/generic-glibc/bits/statx-generic.h created+60
...@@ -0,0 +1,60 @@
1/* Generic statx-related definitions and declarations.
2 Copyright (C) 2018-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/* This interface is based on <linux/stat.h> in Linux. */
20
21#ifndef _SYS_STAT_H
22# error Never include <bits/statx-generic.h> directly, include <sys/stat.h> instead.
23#endif
24
25#include <bits/types/struct_statx_timestamp.h>
26#include <bits/types/struct_statx.h>
27
28#ifndef STATX_TYPE
29# define STATX_TYPE 0x0001U
30# define STATX_MODE 0x0002U
31# define STATX_NLINK 0x0004U
32# define STATX_UID 0x0008U
33# define STATX_GID 0x0010U
34# define STATX_ATIME 0x0020U
35# define STATX_MTIME 0x0040U
36# define STATX_CTIME 0x0080U
37# define STATX_INO 0x0100U
38# define STATX_SIZE 0x0200U
39# define STATX_BLOCKS 0x0400U
40# define STATX_BASIC_STATS 0x07ffU
41# define STATX_ALL 0x0fffU
42# define STATX_BTIME 0x0800U
43# define STATX__RESERVED 0x80000000U
44
45# define STATX_ATTR_COMPRESSED 0x0004
46# define STATX_ATTR_IMMUTABLE 0x0010
47# define STATX_ATTR_APPEND 0x0020
48# define STATX_ATTR_NODUMP 0x0040
49# define STATX_ATTR_ENCRYPTED 0x0800
50# define STATX_ATTR_AUTOMOUNT 0x1000
51#endif /* !STATX_TYPE */
52
53__BEGIN_DECLS
54
55/* Fill *BUF with information about PATH in DIRFD. */
56int statx (int __dirfd, const char *__restrict __path, int __flags,
57 unsigned int __mask, struct statx *__restrict __buf)
58 __THROW __nonnull ((2, 5));
59
60__END_DECLS
\ No newline at end of file
lib/libc/include/generic-glibc/bits/statx.h+13-67
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/* statx-related definitions and declarations.1/* statx-related definitions and declarations. Linux version.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.2 Copyright (C) 2018-2019 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.3 This file is part of the GNU C Library.
44
...@@ -19,73 +19,19 @@...@@ -19,73 +19,19 @@
19/* This interface is based on <linux/stat.h> in Linux. */19/* This interface is based on <linux/stat.h> in Linux. */
2020
21#ifndef _SYS_STAT_H21#ifndef _SYS_STAT_H
22# error Never include <bits/stat.x.h> directly, include <sys/stat.h> instead.22# error Never include <bits/statx.h> directly, include <sys/stat.h> instead.
23#endif23#endif
2424
25struct statx_timestamp25/* Use the Linux kernel header if available. */
26{
27 __int64_t tv_sec;
28 __uint32_t tv_nsec;
29 __int32_t __statx_timestamp_pad1[1];
30};
3126
32/* Warning: The kernel may add additional fields to this struct in the27/* Use "" to work around incorrect macro expansion of the
33 future. Only use this struct for calling the statx function, not28 __has_include argument (GCC PR 80005). */
34 for storing data. (Expansion will be controlled by the mask29#if __glibc_has_include ("linux/stat.h")
35 argument of the statx function.) */30# include "linux/stat.h"
36struct statx31# ifdef STATX_TYPE
37{32# define __statx_timestamp_defined 1
38 __uint32_t stx_mask;33# define __statx_defined 1
39 __uint32_t stx_blksize;34# endif
40 __uint64_t stx_attributes;35#endif
41 __uint32_t stx_nlink;
42 __uint32_t stx_uid;
43 __uint32_t stx_gid;
44 __uint16_t stx_mode;
45 __uint16_t __statx_pad1[1];
46 __uint64_t stx_ino;
47 __uint64_t stx_size;
48 __uint64_t stx_blocks;
49 __uint64_t stx_attributes_mask;
50 struct statx_timestamp stx_atime;
51 struct statx_timestamp stx_btime;
52 struct statx_timestamp stx_ctime;
53 struct statx_timestamp stx_mtime;
54 __uint32_t stx_rdev_major;
55 __uint32_t stx_rdev_minor;
56 __uint32_t stx_dev_major;
57 __uint32_t stx_dev_minor;
58 __uint64_t __statx_pad2[14];
59};
60
61#define STATX_TYPE 0x0001U
62#define STATX_MODE 0x0002U
63#define STATX_NLINK 0x0004U
64#define STATX_UID 0x0008U
65#define STATX_GID 0x0010U
66#define STATX_ATIME 0x0020U
67#define STATX_MTIME 0x0040U
68#define STATX_CTIME 0x0080U
69#define STATX_INO 0x0100U
70#define STATX_SIZE 0x0200U
71#define STATX_BLOCKS 0x0400U
72#define STATX_BASIC_STATS 0x07ffU
73#define STATX_ALL 0x0fffU
74#define STATX_BTIME 0x0800U
75#define STATX__RESERVED 0x80000000U
76
77#define STATX_ATTR_COMPRESSED 0x0004
78#define STATX_ATTR_IMMUTABLE 0x0010
79#define STATX_ATTR_APPEND 0x0020
80#define STATX_ATTR_NODUMP 0x0040
81#define STATX_ATTR_ENCRYPTED 0x0800
82#define STATX_ATTR_AUTOMOUNT 0x1000
83
84__BEGIN_DECLS
85
86/* Fill *BUF with information about PATH in DIRFD. */
87int statx (int __dirfd, const char *__restrict __path, int __flags,
88 unsigned int __mask, struct statx *__restrict __buf)
89 __THROW __nonnull ((2, 5));
9036
91__END_DECLS
\ No newline at end of file
37#include <bits/statx-generic.h>
\ No newline at end of file
lib/libc/include/generic-glibc/bits/stropts.h deleted-230
...@@ -1,230 +0,0 @@
1/* Copyright (C) 1998-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 _STROPTS_H
19# error "Never include <bits/stropts.h> directly; use <stropts.h> instead."
20#endif
21
22#ifndef _BITS_STROPTS_H
23#define _BITS_STROPTS_H 1
24
25#include <bits/types.h>
26
27/* Macros used as `request' argument to `ioctl'. */
28#define __SID ('S' << 8)
29
30#define I_NREAD (__SID | 1) /* Counts the number of data bytes in the data
31 block in the first message. */
32#define I_PUSH (__SID | 2) /* Push STREAMS module onto top of the current
33 STREAM, just below the STREAM head. */
34#define I_POP (__SID | 3) /* Remove STREAMS module from just below the
35 STREAM head. */
36#define I_LOOK (__SID | 4) /* Retrieve the name of the module just below
37 the STREAM head and place it in a character
38 string. */
39#define I_FLUSH (__SID | 5) /* Flush all input and/or output. */
40#define I_SRDOPT (__SID | 6) /* Sets the read mode. */
41#define I_GRDOPT (__SID | 7) /* Returns the current read mode setting. */
42#define I_STR (__SID | 8) /* Construct an internal STREAMS `ioctl'
43 message and send that message downstream. */
44#define I_SETSIG (__SID | 9) /* Inform the STREAM head that the process
45 wants the SIGPOLL signal issued. */
46#define I_GETSIG (__SID |10) /* Return the events for which the calling
47 process is currently registered to be sent
48 a SIGPOLL signal. */
49#define I_FIND (__SID |11) /* Compares the names of all modules currently
50 present in the STREAM to the name pointed to
51 by `arg'. */
52#define I_LINK (__SID |12) /* Connect two STREAMs. */
53#define I_UNLINK (__SID |13) /* Disconnects the two STREAMs. */
54#define I_PEEK (__SID |15) /* Allows a process to retrieve the information
55 in the first message on the STREAM head read
56 queue without taking the message off the
57 queue. */
58#define I_FDINSERT (__SID |16) /* Create a message from the specified
59 buffer(s), adds information about another
60 STREAM, and send the message downstream. */
61#define I_SENDFD (__SID |17) /* Requests the STREAM associated with `fildes'
62 to send a message, containing a file
63 pointer, to the STREAM head at the other end
64 of a STREAMS pipe. */
65#define I_RECVFD (__SID |14) /* Non-EFT definition. */
66#define I_SWROPT (__SID |19) /* Set the write mode. */
67#define I_GWROPT (__SID |20) /* Return the current write mode setting. */
68#define I_LIST (__SID |21) /* List all the module names on the STREAM, up
69 to and including the topmost driver name. */
70#define I_PLINK (__SID |22) /* Connect two STREAMs with a persistent
71 link. */
72#define I_PUNLINK (__SID |23) /* Disconnect the two STREAMs that were
73 connected with a persistent link. */
74#define I_FLUSHBAND (__SID |28) /* Flush only band specified. */
75#define I_CKBAND (__SID |29) /* Check if the message of a given priority
76 band exists on the STREAM head read
77 queue. */
78#define I_GETBAND (__SID |30) /* Return the priority band of the first
79 message on the STREAM head read queue. */
80#define I_ATMARK (__SID |31) /* See if the current message on the STREAM
81 head read queue is "marked" by some module
82 downstream. */
83#define I_SETCLTIME (__SID |32) /* Set the time the STREAM head will delay when
84 a STREAM is closing and there is data on
85 the write queues. */
86#define I_GETCLTIME (__SID |33) /* Get current value for closing timeout. */
87#define I_CANPUT (__SID |34) /* Check if a certain band is writable. */
88
89
90/* Used in `I_LOOK' request. */
91#define FMNAMESZ 8 /* compatibility w/UnixWare/Solaris. */
92
93/* Flush options. */
94#define FLUSHR 0x01 /* Flush read queues. */
95#define FLUSHW 0x02 /* Flush write queues. */
96#define FLUSHRW 0x03 /* Flush read and write queues. */
97#ifdef __USE_GNU
98# define FLUSHBAND 0x04 /* Flush only specified band. */
99#endif
100
101/* Possible arguments for `I_SETSIG'. */
102#define S_INPUT 0x0001 /* A message, other than a high-priority
103 message, has arrived. */
104#define S_HIPRI 0x0002 /* A high-priority message is present. */
105#define S_OUTPUT 0x0004 /* The write queue for normal data is no longer
106 full. */
107#define S_MSG 0x0008 /* A STREAMS signal message that contains the
108 SIGPOLL signal reaches the front of the
109 STREAM head read queue. */
110#define S_ERROR 0x0010 /* Notification of an error condition. */
111#define S_HANGUP 0x0020 /* Notification of a hangup. */
112#define S_RDNORM 0x0040 /* A normal message has arrived. */
113#define S_WRNORM S_OUTPUT
114#define S_RDBAND 0x0080 /* A message with a non-zero priority has
115 arrived. */
116#define S_WRBAND 0x0100 /* The write queue for a non-zero priority
117 band is no longer full. */
118#define S_BANDURG 0x0200 /* When used in conjunction with S_RDBAND,
119 SIGURG is generated instead of SIGPOLL when
120 a priority message reaches the front of the
121 STREAM head read queue. */
122
123/* Option for `I_PEEK'. */
124#define RS_HIPRI 0x01 /* Only look for high-priority messages. */
125
126/* Options for `I_SRDOPT'. */
127#define RNORM 0x0000 /* Byte-STREAM mode, the default. */
128#define RMSGD 0x0001 /* Message-discard mode. */
129#define RMSGN 0x0002 /* Message-nondiscard mode. */
130#define RPROTDAT 0x0004 /* Deliver the control part of a message as
131 data. */
132#define RPROTDIS 0x0008 /* Discard the control part of a message,
133 delivering any data part. */
134#define RPROTNORM 0x0010 /* Fail `read' with EBADMSG if a message
135 containing a control part is at the front
136 of the STREAM head read queue. */
137#ifdef __USE_GNU
138# define RPROTMASK 0x001C /* The RPROT bits */
139#endif
140
141/* Possible mode for `I_SWROPT'. */
142#define SNDZERO 0x001 /* Send a zero-length message downstream when a
143 `write' of 0 bytes occurs. */
144#ifdef __USE_GNU
145# define SNDPIPE 0x002 /* Send SIGPIPE on write and putmsg if
146 sd_werror is set. */
147#endif
148
149/* Arguments for `I_ATMARK'. */
150#define ANYMARK 0x01 /* Check if the message is marked. */
151#define LASTMARK 0x02 /* Check if the message is the last one marked
152 on the queue. */
153
154/* Argument for `I_UNLINK'. */
155#ifdef __USE_GNU
156# define MUXID_ALL (-1) /* Unlink all STREAMs linked to the STREAM
157 associated with `fildes'. */
158#endif
159
160
161/* Macros for `getmsg', `getpmsg', `putmsg' and `putpmsg'. */
162#define MSG_HIPRI 0x01 /* Send/receive high priority message. */
163#define MSG_ANY 0x02 /* Receive any message. */
164#define MSG_BAND 0x04 /* Receive message from specified band. */
165
166/* Values returned by getmsg and getpmsg */
167#define MORECTL 1 /* More control information is left in
168 message. */
169#define MOREDATA 2 /* More data is left in message. */
170
171
172/* Structure used for the I_FLUSHBAND ioctl on streams. */
173struct bandinfo
174 {
175 unsigned char bi_pri;
176 int bi_flag;
177 };
178
179struct strbuf
180 {
181 int maxlen; /* Maximum buffer length. */
182 int len; /* Length of data. */
183 char *buf; /* Pointer to buffer. */
184 };
185
186struct strpeek
187 {
188 struct strbuf ctlbuf;
189 struct strbuf databuf;
190 t_uscalar_t flags; /* UnixWare/Solaris compatibility. */
191 };
192
193struct strfdinsert
194 {
195 struct strbuf ctlbuf;
196 struct strbuf databuf;
197 t_uscalar_t flags; /* UnixWare/Solaris compatibility. */
198 int fildes;
199 int offset;
200 };
201
202struct strioctl
203 {
204 int ic_cmd;
205 int ic_timout;
206 int ic_len;
207 char *ic_dp;
208 };
209
210struct strrecvfd
211 {
212 int fd;
213 uid_t uid;
214 gid_t gid;
215 char __fill[8]; /* UnixWare/Solaris compatibility */
216 };
217
218
219struct str_mlist
220 {
221 char l_name[FMNAMESZ + 1];
222 };
223
224struct str_list
225 {
226 int sl_nmods;
227 struct str_mlist *sl_modlist;
228 };
229
230#endif /* bits/stropts.h */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/syscall.h+154-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 4.20. */2/* The system call list corresponds to kernel 5.2. */
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 2672648#define __GLIBC_LINUX_VERSION_CODE 328192
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
...@@ -115,6 +115,10 @@...@@ -115,6 +115,10 @@
115# define SYS_break __NR_break115# define SYS_break __NR_break
116#endif116#endif
117117
118#ifdef __NR_breakpoint
119# define SYS_breakpoint __NR_breakpoint
120#endif
121
118#ifdef __NR_brk122#ifdef __NR_brk
119# define SYS_brk __NR_brk123# define SYS_brk __NR_brk
120#endif124#endif
...@@ -159,22 +163,42 @@...@@ -159,22 +163,42 @@
159# define SYS_clock_adjtime __NR_clock_adjtime163# define SYS_clock_adjtime __NR_clock_adjtime
160#endif164#endif
161165
166#ifdef __NR_clock_adjtime64
167# define SYS_clock_adjtime64 __NR_clock_adjtime64
168#endif
169
162#ifdef __NR_clock_getres170#ifdef __NR_clock_getres
163# define SYS_clock_getres __NR_clock_getres171# define SYS_clock_getres __NR_clock_getres
164#endif172#endif
165173
174#ifdef __NR_clock_getres_time64
175# define SYS_clock_getres_time64 __NR_clock_getres_time64
176#endif
177
166#ifdef __NR_clock_gettime178#ifdef __NR_clock_gettime
167# define SYS_clock_gettime __NR_clock_gettime179# define SYS_clock_gettime __NR_clock_gettime
168#endif180#endif
169181
182#ifdef __NR_clock_gettime64
183# define SYS_clock_gettime64 __NR_clock_gettime64
184#endif
185
170#ifdef __NR_clock_nanosleep186#ifdef __NR_clock_nanosleep
171# define SYS_clock_nanosleep __NR_clock_nanosleep187# define SYS_clock_nanosleep __NR_clock_nanosleep
172#endif188#endif
173189
190#ifdef __NR_clock_nanosleep_time64
191# define SYS_clock_nanosleep_time64 __NR_clock_nanosleep_time64
192#endif
193
174#ifdef __NR_clock_settime194#ifdef __NR_clock_settime
175# define SYS_clock_settime __NR_clock_settime195# define SYS_clock_settime __NR_clock_settime
176#endif196#endif
177197
198#ifdef __NR_clock_settime64
199# define SYS_clock_settime64 __NR_clock_settime64
200#endif
201
178#ifdef __NR_clone202#ifdef __NR_clone
179# define SYS_clone __NR_clone203# define SYS_clone __NR_clone
180#endif204#endif
...@@ -367,6 +391,10 @@...@@ -367,6 +391,10 @@
367# define SYS_fork __NR_fork391# define SYS_fork __NR_fork
368#endif392#endif
369393
394#ifdef __NR_fp_udfiex_crtl
395# define SYS_fp_udfiex_crtl __NR_fp_udfiex_crtl
396#endif
397
370#ifdef __NR_free_hugepages398#ifdef __NR_free_hugepages
371# define SYS_free_hugepages __NR_free_hugepages399# define SYS_free_hugepages __NR_free_hugepages
372#endif400#endif
...@@ -375,10 +403,26 @@...@@ -375,10 +403,26 @@
375# define SYS_fremovexattr __NR_fremovexattr403# define SYS_fremovexattr __NR_fremovexattr
376#endif404#endif
377405
406#ifdef __NR_fsconfig
407# define SYS_fsconfig __NR_fsconfig
408#endif
409
378#ifdef __NR_fsetxattr410#ifdef __NR_fsetxattr
379# define SYS_fsetxattr __NR_fsetxattr411# define SYS_fsetxattr __NR_fsetxattr
380#endif412#endif
381413
414#ifdef __NR_fsmount
415# define SYS_fsmount __NR_fsmount
416#endif
417
418#ifdef __NR_fsopen
419# define SYS_fsopen __NR_fsopen
420#endif
421
422#ifdef __NR_fspick
423# define SYS_fspick __NR_fspick
424#endif
425
382#ifdef __NR_fstat426#ifdef __NR_fstat
383# define SYS_fstat __NR_fstat427# define SYS_fstat __NR_fstat
384#endif428#endif
...@@ -419,6 +463,10 @@...@@ -419,6 +463,10 @@
419# define SYS_futex __NR_futex463# define SYS_futex __NR_futex
420#endif464#endif
421465
466#ifdef __NR_futex_time64
467# define SYS_futex_time64 __NR_futex_time64
468#endif
469
422#ifdef __NR_futimesat470#ifdef __NR_futimesat
423# define SYS_futimesat __NR_futimesat471# define SYS_futimesat __NR_futimesat
424#endif472#endif
...@@ -439,6 +487,10 @@...@@ -439,6 +487,10 @@
439# define SYS_get_thread_area __NR_get_thread_area487# define SYS_get_thread_area __NR_get_thread_area
440#endif488#endif
441489
490#ifdef __NR_get_tls
491# define SYS_get_tls __NR_get_tls
492#endif
493
442#ifdef __NR_getcpu494#ifdef __NR_getcpu
443# define SYS_getcpu __NR_getcpu495# define SYS_getcpu __NR_getcpu
444#endif496#endif
...@@ -655,6 +707,10 @@...@@ -655,6 +707,10 @@
655# define SYS_io_pgetevents __NR_io_pgetevents707# define SYS_io_pgetevents __NR_io_pgetevents
656#endif708#endif
657709
710#ifdef __NR_io_pgetevents_time64
711# define SYS_io_pgetevents_time64 __NR_io_pgetevents_time64
712#endif
713
658#ifdef __NR_io_setup714#ifdef __NR_io_setup
659# define SYS_io_setup __NR_io_setup715# define SYS_io_setup __NR_io_setup
660#endif716#endif
...@@ -663,6 +719,18 @@...@@ -663,6 +719,18 @@
663# define SYS_io_submit __NR_io_submit719# define SYS_io_submit __NR_io_submit
664#endif720#endif
665721
722#ifdef __NR_io_uring_enter
723# define SYS_io_uring_enter __NR_io_uring_enter
724#endif
725
726#ifdef __NR_io_uring_register
727# define SYS_io_uring_register __NR_io_uring_register
728#endif
729
730#ifdef __NR_io_uring_setup
731# define SYS_io_uring_setup __NR_io_uring_setup
732#endif
733
666#ifdef __NR_ioctl734#ifdef __NR_ioctl
667# define SYS_ioctl __NR_ioctl735# define SYS_ioctl __NR_ioctl
668#endif736#endif
...@@ -847,6 +915,10 @@...@@ -847,6 +915,10 @@
847# define SYS_mount __NR_mount915# define SYS_mount __NR_mount
848#endif916#endif
849917
918#ifdef __NR_move_mount
919# define SYS_move_mount __NR_move_mount
920#endif
921
850#ifdef __NR_move_pages922#ifdef __NR_move_pages
851# define SYS_move_pages __NR_move_pages923# define SYS_move_pages __NR_move_pages
852#endif924#endif
...@@ -875,10 +947,18 @@...@@ -875,10 +947,18 @@
875# define SYS_mq_timedreceive __NR_mq_timedreceive947# define SYS_mq_timedreceive __NR_mq_timedreceive
876#endif948#endif
877949
950#ifdef __NR_mq_timedreceive_time64
951# define SYS_mq_timedreceive_time64 __NR_mq_timedreceive_time64
952#endif
953
878#ifdef __NR_mq_timedsend954#ifdef __NR_mq_timedsend
879# define SYS_mq_timedsend __NR_mq_timedsend955# define SYS_mq_timedsend __NR_mq_timedsend
880#endif956#endif
881957
958#ifdef __NR_mq_timedsend_time64
959# define SYS_mq_timedsend_time64 __NR_mq_timedsend_time64
960#endif
961
882#ifdef __NR_mq_unlink962#ifdef __NR_mq_unlink
883# define SYS_mq_unlink __NR_mq_unlink963# define SYS_mq_unlink __NR_mq_unlink
884#endif964#endif
...@@ -951,6 +1031,10 @@...@@ -951,6 +1031,10 @@
951# define SYS_old_adjtimex __NR_old_adjtimex1031# define SYS_old_adjtimex __NR_old_adjtimex
952#endif1032#endif
9531033
1034#ifdef __NR_old_getpagesize
1035# define SYS_old_getpagesize __NR_old_getpagesize
1036#endif
1037
954#ifdef __NR_oldfstat1038#ifdef __NR_oldfstat
955# define SYS_oldfstat __NR_oldfstat1039# define SYS_oldfstat __NR_oldfstat
956#endif1040#endif
...@@ -983,6 +1067,10 @@...@@ -983,6 +1067,10 @@
983# define SYS_open_by_handle_at __NR_open_by_handle_at1067# define SYS_open_by_handle_at __NR_open_by_handle_at
984#endif1068#endif
9851069
1070#ifdef __NR_open_tree
1071# define SYS_open_tree __NR_open_tree
1072#endif
1073
986#ifdef __NR_openat1074#ifdef __NR_openat
987# define SYS_openat __NR_openat1075# define SYS_openat __NR_openat
988#endif1076#endif
...@@ -1459,6 +1547,10 @@...@@ -1459,6 +1547,10 @@
1459# define SYS_personality __NR_personality1547# define SYS_personality __NR_personality
1460#endif1548#endif
14611549
1550#ifdef __NR_pidfd_send_signal
1551# define SYS_pidfd_send_signal __NR_pidfd_send_signal
1552#endif
1553
1462#ifdef __NR_pipe1554#ifdef __NR_pipe
1463# define SYS_pipe __NR_pipe1555# define SYS_pipe __NR_pipe
1464#endif1556#endif
...@@ -1491,6 +1583,10 @@...@@ -1491,6 +1583,10 @@
1491# define SYS_ppoll __NR_ppoll1583# define SYS_ppoll __NR_ppoll
1492#endif1584#endif
14931585
1586#ifdef __NR_ppoll_time64
1587# define SYS_ppoll_time64 __NR_ppoll_time64
1588#endif
1589
1494#ifdef __NR_prctl1590#ifdef __NR_prctl
1495# define SYS_prctl __NR_prctl1591# define SYS_prctl __NR_prctl
1496#endif1592#endif
...@@ -1531,6 +1627,10 @@...@@ -1531,6 +1627,10 @@
1531# define SYS_pselect6 __NR_pselect61627# define SYS_pselect6 __NR_pselect6
1532#endif1628#endif
15331629
1630#ifdef __NR_pselect6_time64
1631# define SYS_pselect6_time64 __NR_pselect6_time64
1632#endif
1633
1534#ifdef __NR_ptrace1634#ifdef __NR_ptrace
1535# define SYS_ptrace __NR_ptrace1635# define SYS_ptrace __NR_ptrace
1536#endif1636#endif
...@@ -1599,6 +1699,10 @@...@@ -1599,6 +1699,10 @@
1599# define SYS_recvmmsg __NR_recvmmsg1699# define SYS_recvmmsg __NR_recvmmsg
1600#endif1700#endif
16011701
1702#ifdef __NR_recvmmsg_time64
1703# define SYS_recvmmsg_time64 __NR_recvmmsg_time64
1704#endif
1705
1602#ifdef __NR_recvmsg1706#ifdef __NR_recvmsg
1603# define SYS_recvmsg __NR_recvmsg1707# define SYS_recvmsg __NR_recvmsg
1604#endif1708#endif
...@@ -1671,6 +1775,10 @@...@@ -1671,6 +1775,10 @@
1671# define SYS_rt_sigtimedwait __NR_rt_sigtimedwait1775# define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
1672#endif1776#endif
16731777
1778#ifdef __NR_rt_sigtimedwait_time64
1779# define SYS_rt_sigtimedwait_time64 __NR_rt_sigtimedwait_time64
1780#endif
1781
1674#ifdef __NR_rt_tgsigqueueinfo1782#ifdef __NR_rt_tgsigqueueinfo
1675# define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo1783# define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
1676#endif1784#endif
...@@ -1731,6 +1839,10 @@...@@ -1731,6 +1839,10 @@
1731# define SYS_sched_rr_get_interval __NR_sched_rr_get_interval1839# define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
1732#endif1840#endif
17331841
1842#ifdef __NR_sched_rr_get_interval_time64
1843# define SYS_sched_rr_get_interval_time64 __NR_sched_rr_get_interval_time64
1844#endif
1845
1734#ifdef __NR_sched_set_affinity1846#ifdef __NR_sched_set_affinity
1735# define SYS_sched_set_affinity __NR_sched_set_affinity1847# define SYS_sched_set_affinity __NR_sched_set_affinity
1736#endif1848#endif
...@@ -1783,6 +1895,10 @@...@@ -1783,6 +1895,10 @@
1783# define SYS_semtimedop __NR_semtimedop1895# define SYS_semtimedop __NR_semtimedop
1784#endif1896#endif
17851897
1898#ifdef __NR_semtimedop_time64
1899# define SYS_semtimedop_time64 __NR_semtimedop_time64
1900#endif
1901
1786#ifdef __NR_send1902#ifdef __NR_send
1787# define SYS_send __NR_send1903# define SYS_send __NR_send
1788#endif1904#endif
...@@ -1823,6 +1939,10 @@...@@ -1823,6 +1939,10 @@
1823# define SYS_set_tid_address __NR_set_tid_address1939# define SYS_set_tid_address __NR_set_tid_address
1824#endif1940#endif
18251941
1942#ifdef __NR_set_tls
1943# define SYS_set_tls __NR_set_tls
1944#endif
1945
1826#ifdef __NR_setdomainname1946#ifdef __NR_setdomainname
1827# define SYS_setdomainname __NR_setdomainname1947# define SYS_setdomainname __NR_setdomainname
1828#endif1948#endif
...@@ -2171,10 +2291,18 @@...@@ -2171,10 +2291,18 @@
2171# define SYS_timer_gettime __NR_timer_gettime2291# define SYS_timer_gettime __NR_timer_gettime
2172#endif2292#endif
21732293
2294#ifdef __NR_timer_gettime64
2295# define SYS_timer_gettime64 __NR_timer_gettime64
2296#endif
2297
2174#ifdef __NR_timer_settime2298#ifdef __NR_timer_settime
2175# define SYS_timer_settime __NR_timer_settime2299# define SYS_timer_settime __NR_timer_settime
2176#endif2300#endif
21772301
2302#ifdef __NR_timer_settime64
2303# define SYS_timer_settime64 __NR_timer_settime64
2304#endif
2305
2178#ifdef __NR_timerfd2306#ifdef __NR_timerfd
2179# define SYS_timerfd __NR_timerfd2307# define SYS_timerfd __NR_timerfd
2180#endif2308#endif
...@@ -2187,10 +2315,18 @@...@@ -2187,10 +2315,18 @@
2187# define SYS_timerfd_gettime __NR_timerfd_gettime2315# define SYS_timerfd_gettime __NR_timerfd_gettime
2188#endif2316#endif
21892317
2318#ifdef __NR_timerfd_gettime64
2319# define SYS_timerfd_gettime64 __NR_timerfd_gettime64
2320#endif
2321
2190#ifdef __NR_timerfd_settime2322#ifdef __NR_timerfd_settime
2191# define SYS_timerfd_settime __NR_timerfd_settime2323# define SYS_timerfd_settime __NR_timerfd_settime
2192#endif2324#endif
21932325
2326#ifdef __NR_timerfd_settime64
2327# define SYS_timerfd_settime64 __NR_timerfd_settime64
2328#endif
2329
2194#ifdef __NR_times2330#ifdef __NR_times
2195# define SYS_times __NR_times2331# define SYS_times __NR_times
2196#endif2332#endif
...@@ -2211,6 +2347,10 @@...@@ -2211,6 +2347,10 @@
2211# define SYS_tuxcall __NR_tuxcall2347# define SYS_tuxcall __NR_tuxcall
2212#endif2348#endif
22132349
2350#ifdef __NR_udftrap
2351# define SYS_udftrap __NR_udftrap
2352#endif
2353
2214#ifdef __NR_ugetrlimit2354#ifdef __NR_ugetrlimit
2215# define SYS_ugetrlimit __NR_ugetrlimit2355# define SYS_ugetrlimit __NR_ugetrlimit
2216#endif2356#endif
...@@ -2255,6 +2395,14 @@...@@ -2255,6 +2395,14 @@
2255# define SYS_userfaultfd __NR_userfaultfd2395# define SYS_userfaultfd __NR_userfaultfd
2256#endif2396#endif
22572397
2398#ifdef __NR_usr26
2399# define SYS_usr26 __NR_usr26
2400#endif
2401
2402#ifdef __NR_usr32
2403# define SYS_usr32 __NR_usr32
2404#endif
2405
2258#ifdef __NR_ustat2406#ifdef __NR_ustat
2259# define SYS_ustat __NR_ustat2407# define SYS_ustat __NR_ustat
2260#endif2408#endif
...@@ -2267,6 +2415,10 @@...@@ -2267,6 +2415,10 @@
2267# define SYS_utimensat __NR_utimensat2415# define SYS_utimensat __NR_utimensat
2268#endif2416#endif
22692417
2418#ifdef __NR_utimensat_time64
2419# define SYS_utimensat_time64 __NR_utimensat_time64
2420#endif
2421
2270#ifdef __NR_utimes2422#ifdef __NR_utimes
2271# define SYS_utimes __NR_utimes2423# define SYS_utimes __NR_utimes
2272#endif2424#endif
lib/libc/include/generic-glibc/bits/types.h+11-8
...@@ -87,7 +87,7 @@ __extension__ typedef unsigned long long int __uintmax_t;...@@ -87,7 +87,7 @@ __extension__ typedef unsigned long long int __uintmax_t;
87 32 -- "natural" 32-bit type (always int)87 32 -- "natural" 32-bit type (always int)
88 64 -- "natural" 64-bit type (long or long long)88 64 -- "natural" 64-bit type (long or long long)
89 LONG32 -- 32-bit type, traditionally long89 LONG32 -- 32-bit type, traditionally long
90 QUAD -- 64-bit type, always long long90 QUAD -- 64-bit type, traditionally long long
91 WORD -- natural type of __WORDSIZE bits (int or long)91 WORD -- natural type of __WORDSIZE bits (int or long)
92 LONGWORD -- type of __WORDSIZE bits, traditionally long92 LONGWORD -- type of __WORDSIZE bits, traditionally long
9393
...@@ -113,14 +113,14 @@ __extension__ typedef unsigned long long int __uintmax_t;...@@ -113,14 +113,14 @@ __extension__ typedef unsigned long long int __uintmax_t;
113#define __SLONGWORD_TYPE long int113#define __SLONGWORD_TYPE long int
114#define __ULONGWORD_TYPE unsigned long int114#define __ULONGWORD_TYPE unsigned long int
115#if __WORDSIZE == 32115#if __WORDSIZE == 32
116# define __SQUAD_TYPE __quad_t116# define __SQUAD_TYPE __int64_t
117# define __UQUAD_TYPE __u_quad_t117# define __UQUAD_TYPE __uint64_t
118# define __SWORD_TYPE int118# define __SWORD_TYPE int
119# define __UWORD_TYPE unsigned int119# define __UWORD_TYPE unsigned int
120# define __SLONG32_TYPE long int120# define __SLONG32_TYPE long int
121# define __ULONG32_TYPE unsigned long int121# define __ULONG32_TYPE unsigned long int
122# define __S64_TYPE __quad_t122# define __S64_TYPE __int64_t
123# define __U64_TYPE __u_quad_t123# define __U64_TYPE __uint64_t
124/* We want __extension__ before typedef's that use nonstandard base types124/* We want __extension__ before typedef's that use nonstandard base types
125 such as `long long' in C89 mode. */125 such as `long long' in C89 mode. */
126# define __STD_TYPE __extension__ typedef126# define __STD_TYPE __extension__ typedef
...@@ -213,10 +213,13 @@ __STD_TYPE __U32_TYPE __socklen_t;...@@ -213,10 +213,13 @@ __STD_TYPE __U32_TYPE __socklen_t;
213 It is not currently necessary for this to be machine-specific. */213 It is not currently necessary for this to be machine-specific. */
214typedef int __sig_atomic_t;214typedef int __sig_atomic_t;
215215
216#if __TIMESIZE == 64216/* Seconds since the Epoch, visible to user code when time_t is too
217 narrow only for consistency with the old way of widening too-narrow
218 types. User code should never use __time64_t. */
219#if __TIMESIZE == 64 && defined __LIBC
217# define __time64_t __time_t220# define __time64_t __time_t
218#else221#elif __TIMESIZE != 64
219__STD_TYPE __TIME64_T_TYPE __time64_t; /* Seconds since the Epoch. */222__STD_TYPE __TIME64_T_TYPE __time64_t;
220#endif223#endif
221224
222#undef __STD_TYPE225#undef __STD_TYPE
lib/libc/include/generic-glibc/bits/types/struct_statx.h created+55
...@@ -0,0 +1,55 @@
1/* Definition of the generic version of struct statx.
2 Copyright (C) 2018-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 _SYS_STAT_H
20# error Never include <bits/types/struct_statx.h> directly, include <sys/stat.h> instead.
21#endif
22
23#ifndef __statx_defined
24#define __statx_defined 1
25
26/* Warning: The kernel may add additional fields to this struct in the
27 future. Only use this struct for calling the statx function, not
28 for storing data. (Expansion will be controlled by the mask
29 argument of the statx function.) */
30struct statx
31{
32 __uint32_t stx_mask;
33 __uint32_t stx_blksize;
34 __uint64_t stx_attributes;
35 __uint32_t stx_nlink;
36 __uint32_t stx_uid;
37 __uint32_t stx_gid;
38 __uint16_t stx_mode;
39 __uint16_t __statx_pad1[1];
40 __uint64_t stx_ino;
41 __uint64_t stx_size;
42 __uint64_t stx_blocks;
43 __uint64_t stx_attributes_mask;
44 struct statx_timestamp stx_atime;
45 struct statx_timestamp stx_btime;
46 struct statx_timestamp stx_ctime;
47 struct statx_timestamp stx_mtime;
48 __uint32_t stx_rdev_major;
49 __uint32_t stx_rdev_minor;
50 __uint32_t stx_dev_major;
51 __uint32_t stx_dev_minor;
52 __uint64_t __statx_pad2[14];
53};
54
55#endif /* __statx_defined */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h created+33
...@@ -0,0 +1,33 @@
1/* Definition of the generic version of struct statx_timestamp.
2 Copyright (C) 2018-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 _SYS_STAT_H
20# error Never include <bits/types/struct_statx_timestamp.h> directly, include <sys/stat.h> instead.
21#endif
22
23#ifndef __statx_timestamp_defined
24#define __statx_timestamp_defined 1
25
26struct statx_timestamp
27{
28 __int64_t tv_sec;
29 __uint32_t tv_nsec;
30 __int32_t __statx_timestamp_pad1[1];
31};
32
33#endif /* __statx_timestamp_defined */
\ No newline at end of file
lib/libc/include/generic-glibc/bits/xtitypes.h deleted-33
...@@ -1,33 +0,0 @@
1/* bits/xtitypes.h -- Define some types used by <bits/stropts.h>. Generic.
2 Copyright (C) 2002-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 _STROPTS_H
20# error "Never include <bits/xtitypes.h> directly; use <stropts.h> instead."
21#endif
22
23#ifndef _BITS_XTITYPES_H
24#define _BITS_XTITYPES_H 1
25
26#include <bits/types.h>
27
28/* This type is used by some structs in <bits/stropts.h>. */
29typedef __SLONGWORD_TYPE __t_scalar_t;
30typedef __ULONGWORD_TYPE __t_uscalar_t;
31
32
33#endif /* bits/xtitypes.h */
\ No newline at end of file
lib/libc/include/generic-glibc/dirent.h+2
...@@ -401,4 +401,6 @@ extern int versionsort64 (const struct dirent64 **__e1,...@@ -401,4 +401,6 @@ extern int versionsort64 (const struct dirent64 **__e1,
401401
402__END_DECLS402__END_DECLS
403403
404#include <bits/dirent_ext.h>
405
404#endif /* dirent.h */406#endif /* dirent.h */
\ No newline at end of file
lib/libc/include/generic-glibc/dlfcn.h+12
...@@ -180,7 +180,19 @@ typedef struct...@@ -180,7 +180,19 @@ typedef struct
180{180{
181 size_t dls_size; /* Size in bytes of the whole buffer. */181 size_t dls_size; /* Size in bytes of the whole buffer. */
182 unsigned int dls_cnt; /* Number of elements in `dls_serpath'. */182 unsigned int dls_cnt; /* Number of elements in `dls_serpath'. */
183# if __GNUC_PREREQ (3, 0)
184 /* The zero-length array avoids an unwanted array subscript check by
185 the compiler, while the surrounding anonymous union preserves the
186 historic size of the type. At the time of writing, GNU C does
187 not support structs with flexible array members in unions. */
188 __extension__ union
189 {
190 Dl_serpath dls_serpath[0]; /* Actually longer, dls_cnt elements. */
191 Dl_serpath __dls_serpath_pad[1];
192 };
193# else
183 Dl_serpath dls_serpath[1]; /* Actually longer, dls_cnt elements. */194 Dl_serpath dls_serpath[1]; /* Actually longer, dls_cnt elements. */
195# endif
184} Dl_serinfo;196} Dl_serinfo;
185#endif /* __USE_GNU */197#endif /* __USE_GNU */
186198
lib/libc/include/generic-glibc/elf.h+30-2
...@@ -360,7 +360,7 @@ typedef struct...@@ -360,7 +360,7 @@ typedef struct
360#define EM_RISCV 243 /* RISC-V */360#define EM_RISCV 243 /* RISC-V */
361361
362#define EM_BPF 247 /* Linux BPF -- in-kernel virtual machine */362#define EM_BPF 247 /* Linux BPF -- in-kernel virtual machine */
363#define EM_CSKY 252 /* C_SKY */363#define EM_CSKY 252 /* C-SKY */
364364
365#define EM_NUM 253365#define EM_NUM 253
366366
...@@ -809,9 +809,16 @@ typedef struct...@@ -809,9 +809,16 @@ typedef struct
809#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */809#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */
810#define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension810#define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension
811 registers */811 registers */
812#define NT_ARM_PAC_MASK 0x406 /* ARM pointer authentication
813 code masks. */
814#define NT_ARM_PACA_KEYS 0x407 /* ARM pointer authentication
815 address keys. */
816#define NT_ARM_PACG_KEYS 0x408 /* ARM pointer authentication
817 generic key. */
812#define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note. */818#define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note. */
813#define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers. */819#define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers. */
814#define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode. */820#define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode. */
821#define NT_MIPS_MSA 0x802 /* MIPS SIMD registers. */
815822
816/* Legal values for the note segment descriptor types for object files. */823/* Legal values for the note segment descriptor types for object files. */
817824
...@@ -987,6 +994,9 @@ typedef struct...@@ -987,6 +994,9 @@ typedef struct
987#define DF_1_SINGLETON 0x02000000 /* Singleton symbols are used. */994#define DF_1_SINGLETON 0x02000000 /* Singleton symbols are used. */
988#define DF_1_STUB 0x04000000995#define DF_1_STUB 0x04000000
989#define DF_1_PIE 0x08000000996#define DF_1_PIE 0x08000000
997#define DF_1_KMOD 0x10000000
998#define DF_1_WEAKFILTER 0x20000000
999#define DF_1_NOCOMMON 0x40000000
9901000
991/* Flags for the feature selection in DT_FEATURE_1. */1001/* Flags for the feature selection in DT_FEATURE_1. */
992#define DTF_1_PARINIT 0x000000011002#define DTF_1_PARINIT 0x00000001
...@@ -2854,6 +2864,13 @@ enum...@@ -2854,6 +2864,13 @@ enum
2854#define R_AARCH64_TLSDESC 1031 /* TLS Descriptor. */2864#define R_AARCH64_TLSDESC 1031 /* TLS Descriptor. */
2855#define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */2865#define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */
28562866
2867/* AArch64 specific values for the Dyn d_tag field. */
2868#define DT_AARCH64_VARIANT_PCS (DT_LOPROC + 5)
2869#define DT_AARCH64_NUM 6
2870
2871/* AArch64 specific values for the st_other field. */
2872#define STO_AARCH64_VARIANT_PCS 0x80
2873
2857/* ARM relocs. */2874/* ARM relocs. */
28582875
2859#define R_ARM_NONE 0 /* No reloc */2876#define R_ARM_NONE 0 /* No reloc */
...@@ -3022,7 +3039,7 @@ enum...@@ -3022,7 +3039,7 @@ enum
3022/* Keep this the last entry. */3039/* Keep this the last entry. */
3023#define R_ARM_NUM 2563040#define R_ARM_NUM 256
30243041
3025/* csky */3042/* C-SKY */
3026#define R_CKCORE_NONE 0 /* no reloc */3043#define R_CKCORE_NONE 0 /* no reloc */
3027#define R_CKCORE_ADDR32 1 /* direct 32 bit (S + A) */3044#define R_CKCORE_ADDR32 1 /* direct 32 bit (S + A) */
3028#define R_CKCORE_PCRELIMM8BY4 2 /* disp ((S + A - P) >> 2) & 0xff */3045#define R_CKCORE_PCRELIMM8BY4 2 /* disp ((S + A - P) >> 2) & 0xff */
...@@ -3086,6 +3103,17 @@ enum...@@ -3086,6 +3103,17 @@ enum
3086#define R_CKCORE_TLS_DTPOFF32 573103#define R_CKCORE_TLS_DTPOFF32 57
3087#define R_CKCORE_TLS_TPOFF32 583104#define R_CKCORE_TLS_TPOFF32 58
30883105
3106/* C-SKY elf header definition. */
3107#define EF_CSKY_ABIMASK 0XF0000000
3108#define EF_CSKY_OTHER 0X0FFF0000
3109#define EF_CSKY_PROCESSOR 0X0000FFFF
3110
3111#define EF_CSKY_ABIV1 0X10000000
3112#define EF_CSKY_ABIV2 0X20000000
3113
3114/* C-SKY attributes section. */
3115#define SHT_CSKY_ATTRIBUTES (SHT_LOPROC + 1)
3116
3089/* IA-64 specific declarations. */3117/* IA-64 specific declarations. */
30903118
3091/* Processor specific flags for the Ehdr e_flags field. */3119/* Processor specific flags for the Ehdr e_flags field. */
lib/libc/include/generic-glibc/features.h+1-1
...@@ -439,7 +439,7 @@...@@ -439,7 +439,7 @@
439/* Major and minor version number of the GNU C library package. Use439/* Major and minor version number of the GNU C library package. Use
440 these macros to test for features in specific releases. */440 these macros to test for features in specific releases. */
441#define __GLIBC__ 2441#define __GLIBC__ 2
442#define __GLIBC_MINOR__ 29442#define __GLIBC_MINOR__ 30
443443
444#define __GLIBC_PREREQ(maj, min) \444#define __GLIBC_PREREQ(maj, min) \
445 ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))445 ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
lib/libc/include/generic-glibc/finclude/math-vector-fortran.h created+19
...@@ -0,0 +1,19 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 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! No SIMD math functions are available for this platform.
\ No newline at end of file
lib/libc/include/generic-glibc/gconv.h+2-9
...@@ -86,6 +86,8 @@ struct __gconv_step...@@ -86,6 +86,8 @@ struct __gconv_step
86 struct __gconv_loaded_object *__shlib_handle;86 struct __gconv_loaded_object *__shlib_handle;
87 const char *__modname;87 const char *__modname;
8888
89 /* For internal use by glibc. (Accesses to this member must occur
90 when the internal __gconv_lock mutex is acquired). */
89 int __counter;91 int __counter;
9092
91 char *__from_name;93 char *__from_name;
...@@ -142,13 +144,4 @@ typedef struct __gconv_info...@@ -142,13 +144,4 @@ typedef struct __gconv_info
142 __extension__ struct __gconv_step_data __data[0];144 __extension__ struct __gconv_step_data __data[0];
143} *__gconv_t;145} *__gconv_t;
144146
145/* Transliteration using the locale's data. */
146extern int __gconv_transliterate (struct __gconv_step *step,
147 struct __gconv_step_data *step_data,
148 const unsigned char *inbufstart,
149 const unsigned char **inbufp,
150 const unsigned char *inbufend,
151 unsigned char **outbufstart,
152 size_t *irreversible);
153
154#endif /* gconv.h */147#endif /* gconv.h */
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-32.h-2
...@@ -8,9 +8,7 @@...@@ -8,9 +8,7 @@
8#endif8#endif
99
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fattach
12#define __stub_fchflags11#define __stub_fchflags
13#define __stub_fdetach
14#define __stub_gtty12#define __stub_gtty
15#define __stub_lchmod13#define __stub_lchmod
16#define __stub_revoke14#define __stub_revoke
lib/libc/include/generic-glibc/gnu/stubs-64.h created+18
...@@ -0,0 +1,18 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub_chflags
11#define __stub_fchflags
12#define __stub_gtty
13#define __stub_lchmod
14#define __stub_revoke
15#define __stub_setlogin
16#define __stub_sigreturn
17#define __stub_sstk
18#define __stub_stty
\ No newline at end of file
lib/libc/include/generic-glibc/gnu/stubs-hard.h-6
...@@ -11,15 +11,9 @@...@@ -11,15 +11,9 @@
11#define __stub___compat_get_kernel_syms11#define __stub___compat_get_kernel_syms
12#define __stub___compat_query_module12#define __stub___compat_query_module
13#define __stub_chflags13#define __stub_chflags
14#define __stub_fattach
15#define __stub_fchflags14#define __stub_fchflags
16#define __stub_fdetach
17#define __stub_getmsg
18#define __stub_getpmsg
19#define __stub_gtty15#define __stub_gtty
20#define __stub_lchmod16#define __stub_lchmod
21#define __stub_putmsg
22#define __stub_putpmsg
23#define __stub_revoke17#define __stub_revoke
24#define __stub_setlogin18#define __stub_setlogin
25#define __stub_sigreturn19#define __stub_sigreturn
lib/libc/include/generic-glibc/gnu/stubs-n32_hard.h-2
...@@ -10,9 +10,7 @@...@@ -10,9 +10,7 @@
10#define __stub___compat_bdflush10#define __stub___compat_bdflush
11#define __stub___compat_uselib11#define __stub___compat_uselib
12#define __stub_chflags12#define __stub_chflags
13#define __stub_fattach
14#define __stub_fchflags13#define __stub_fchflags
15#define __stub_fdetach
16#define __stub_gtty14#define __stub_gtty
17#define __stub_lchmod15#define __stub_lchmod
18#define __stub_revoke16#define __stub_revoke
lib/libc/include/generic-glibc/gnu/stubs-n64_hard.h-2
...@@ -10,9 +10,7 @@...@@ -10,9 +10,7 @@
10#define __stub___compat_bdflush10#define __stub___compat_bdflush
11#define __stub___compat_uselib11#define __stub___compat_uselib
12#define __stub_chflags12#define __stub_chflags
13#define __stub_fattach
14#define __stub_fchflags13#define __stub_fchflags
15#define __stub_fdetach
16#define __stub_gtty14#define __stub_gtty
17#define __stub_lchmod15#define __stub_lchmod
18#define __stub_revoke16#define __stub_revoke
lib/libc/include/generic-glibc/gnu/stubs-o32_hard.h-2
...@@ -8,9 +8,7 @@...@@ -8,9 +8,7 @@
8#endif8#endif
99
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fattach
12#define __stub_fchflags11#define __stub_fchflags
13#define __stub_fdetach
14#define __stub_gtty12#define __stub_gtty
15#define __stub_lchmod13#define __stub_lchmod
16#define __stub_revoke14#define __stub_revoke
lib/libc/include/generic-glibc/gnu/stubs-soft.h-6
...@@ -11,15 +11,9 @@...@@ -11,15 +11,9 @@
11#define __stub___compat_get_kernel_syms11#define __stub___compat_get_kernel_syms
12#define __stub___compat_query_module12#define __stub___compat_query_module
13#define __stub_chflags13#define __stub_chflags
14#define __stub_fattach
15#define __stub_fchflags14#define __stub_fchflags
16#define __stub_fdetach
17#define __stub_getmsg
18#define __stub_getpmsg
19#define __stub_gtty15#define __stub_gtty
20#define __stub_lchmod16#define __stub_lchmod
21#define __stub_putmsg
22#define __stub_putpmsg
23#define __stub_revoke17#define __stub_revoke
24#define __stub_setlogin18#define __stub_setlogin
25#define __stub_sigreturn19#define __stub_sigreturn
lib/libc/include/generic-glibc/malloc.h+10-10
...@@ -35,11 +35,12 @@...@@ -35,11 +35,12 @@
35__BEGIN_DECLS35__BEGIN_DECLS
3636
37/* Allocate SIZE bytes of memory. */37/* Allocate SIZE bytes of memory. */
38extern void *malloc (size_t __size) __THROW __attribute_malloc__ __wur;38extern void *malloc (size_t __size) __THROW __attribute_malloc__
39 __attribute_alloc_size__ ((1)) __wur;
3940
40/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */41/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */
41extern void *calloc (size_t __nmemb, size_t __size)42extern void *calloc (size_t __nmemb, size_t __size)
42__THROW __attribute_malloc__ __wur;43__THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur;
4344
44/* Re-allocate the previously allocated block in __ptr, making the new45/* Re-allocate the previously allocated block in __ptr, making the new
45 block SIZE bytes long. */46 block SIZE bytes long. */
...@@ -47,7 +48,7 @@ __THROW __attribute_malloc__ __wur;...@@ -47,7 +48,7 @@ __THROW __attribute_malloc__ __wur;
47 the same pointer that was passed to it, aliasing needs to be allowed48 the same pointer that was passed to it, aliasing needs to be allowed
48 between objects pointed by the old and new pointers. */49 between objects pointed by the old and new pointers. */
49extern void *realloc (void *__ptr, size_t __size)50extern void *realloc (void *__ptr, size_t __size)
50__THROW __attribute_warn_unused_result__;51__THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2));
5152
52/* Re-allocate the previously allocated block in PTR, making the new53/* Re-allocate the previously allocated block in PTR, making the new
53 block large enough for NMEMB elements of SIZE bytes each. */54 block large enough for NMEMB elements of SIZE bytes each. */
...@@ -55,21 +56,23 @@ __THROW __attribute_warn_unused_result__;...@@ -55,21 +56,23 @@ __THROW __attribute_warn_unused_result__;
55 the same pointer that was passed to it, aliasing needs to be allowed56 the same pointer that was passed to it, aliasing needs to be allowed
56 between objects pointed by the old and new pointers. */57 between objects pointed by the old and new pointers. */
57extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)58extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
58__THROW __attribute_warn_unused_result__;59__THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2, 3));
5960
60/* Free a block allocated by `malloc', `realloc' or `calloc'. */61/* Free a block allocated by `malloc', `realloc' or `calloc'. */
61extern void free (void *__ptr) __THROW;62extern void free (void *__ptr) __THROW;
6263
63/* Allocate SIZE bytes allocated to ALIGNMENT bytes. */64/* Allocate SIZE bytes allocated to ALIGNMENT bytes. */
64extern void *memalign (size_t __alignment, size_t __size)65extern void *memalign (size_t __alignment, size_t __size)
65__THROW __attribute_malloc__ __wur;66__THROW __attribute_malloc__ __attribute_alloc_size__ ((2)) __wur;
6667
67/* Allocate SIZE bytes on a page boundary. */68/* Allocate SIZE bytes on a page boundary. */
68extern void *valloc (size_t __size) __THROW __attribute_malloc__ __wur;69extern void *valloc (size_t __size) __THROW __attribute_malloc__
70 __attribute_alloc_size__ ((1)) __wur;
6971
70/* Equivalent to valloc(minimum-page-that-holds(n)), that is, round up72/* Equivalent to valloc(minimum-page-that-holds(n)), that is, round up
71 __size to nearest pagesize. */73 __size to nearest pagesize. */
72extern void *pvalloc (size_t __size) __THROW __attribute_malloc__ __wur;74extern void *pvalloc (size_t __size) __THROW __attribute_malloc__
75 __attribute_alloc_size__ ((1)) __wur;
7376
74/* Underlying allocation function; successive calls should return77/* Underlying allocation function; successive calls should return
75 contiguous pieces of memory. */78 contiguous pieces of memory. */
...@@ -156,9 +159,6 @@ extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t __alignment,...@@ -156,9 +159,6 @@ extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t __alignment,
156__MALLOC_DEPRECATED;159__MALLOC_DEPRECATED;
157extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);160extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);
158161
159/* Activate a standard set of debugging hooks. */
160extern void __malloc_check_init (void) __THROW __MALLOC_DEPRECATED;
161
162162
163__END_DECLS163__END_DECLS
164#endif /* malloc.h */164#endif /* malloc.h */
\ No newline at end of file
lib/libc/include/generic-glibc/math.h+11-6
...@@ -874,7 +874,8 @@ enum...@@ -874,7 +874,8 @@ enum
874 the __SUPPORT_SNAN__ check may be skipped for those versions. */874 the __SUPPORT_SNAN__ check may be skipped for those versions. */
875875
876/* Return number of classification appropriate for X. */876/* Return number of classification appropriate for X. */
877# if __GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__ \877# if ((__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
878 || __glibc_clang_prereq (2,8)) \
878 && (!defined __OPTIMIZE_SIZE__ || defined __cplusplus)879 && (!defined __OPTIMIZE_SIZE__ || defined __cplusplus)
879 /* The check for __cplusplus allows the use of the builtin, even880 /* The check for __cplusplus allows the use of the builtin, even
880 when optimization for size is on. This is provided for881 when optimization for size is on. This is provided for
...@@ -889,7 +890,7 @@ enum...@@ -889,7 +890,7 @@ enum
889# endif890# endif
890891
891/* Return nonzero value if sign of X is negative. */892/* Return nonzero value if sign of X is negative. */
892# if __GNUC_PREREQ (6,0)893# if __GNUC_PREREQ (6,0) || __glibc_clang_prereq (3,3)
893# define signbit(x) __builtin_signbit (x)894# define signbit(x) __builtin_signbit (x)
894# elif defined __cplusplus895# elif defined __cplusplus
895 /* In C++ mode, __MATH_TG cannot be used, because it relies on896 /* In C++ mode, __MATH_TG cannot be used, because it relies on
...@@ -907,14 +908,16 @@ enum...@@ -907,14 +908,16 @@ enum
907# endif908# endif
908909
909/* Return nonzero value if X is not +-Inf or NaN. */910/* Return nonzero value if X is not +-Inf or NaN. */
910# if __GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__911# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
912 || __glibc_clang_prereq (2,8)
911# define isfinite(x) __builtin_isfinite (x)913# define isfinite(x) __builtin_isfinite (x)
912# else914# else
913# define isfinite(x) __MATH_TG ((x), __finite, (x))915# define isfinite(x) __MATH_TG ((x), __finite, (x))
914# endif916# endif
915917
916/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */918/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
917# if __GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__919# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
920 || __glibc_clang_prereq (2,8)
918# define isnormal(x) __builtin_isnormal (x)921# define isnormal(x) __builtin_isnormal (x)
919# else922# else
920# define isnormal(x) (fpclassify (x) == FP_NORMAL)923# define isnormal(x) (fpclassify (x) == FP_NORMAL)
...@@ -922,7 +925,8 @@ enum...@@ -922,7 +925,8 @@ enum
922925
923/* Return nonzero value if X is a NaN. We could use `fpclassify' but926/* Return nonzero value if X is a NaN. We could use `fpclassify' but
924 we already have this functions `__isnan' and it is faster. */927 we already have this functions `__isnan' and it is faster. */
925# if __GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__928# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
929 || __glibc_clang_prereq (2,8)
926# define isnan(x) __builtin_isnan (x)930# define isnan(x) __builtin_isnan (x)
927# else931# else
928# define isnan(x) __MATH_TG ((x), __isnan, (x))932# define isnan(x) __MATH_TG ((x), __isnan, (x))
...@@ -939,7 +943,8 @@ enum...@@ -939,7 +943,8 @@ enum
939# define isinf(x) \943# define isinf(x) \
940 (__builtin_types_compatible_p (__typeof (x), _Float128) \944 (__builtin_types_compatible_p (__typeof (x), _Float128) \
941 ? __isinff128 (x) : __builtin_isinf_sign (x))945 ? __isinff128 (x) : __builtin_isinf_sign (x))
942# elif __GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__946# elif (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
947 || __glibc_clang_prereq (3,7)
943# define isinf(x) __builtin_isinf_sign (x)948# define isinf(x) __builtin_isinf_sign (x)
944# else949# else
945# define isinf(x) __MATH_TG ((x), __isinf, (x))950# define isinf(x) __MATH_TG ((x), __isinf, (x))
lib/libc/include/generic-glibc/netinet/igmp.h+1
...@@ -86,6 +86,7 @@ struct igmp {...@@ -86,6 +86,7 @@ struct igmp {
8686
87#define IGMP_MTRACE_RESP 0x1e /* traceroute resp.(to sender)*/87#define IGMP_MTRACE_RESP 0x1e /* traceroute resp.(to sender)*/
88#define IGMP_MTRACE 0x1f /* mcast traceroute messages */88#define IGMP_MTRACE 0x1f /* mcast traceroute messages */
89#define IGMP_MRDISC_ADV 0x30 /* From RFC4286. */
8990
90#define IGMP_MAX_HOST_REPORT_DELAY 10 /* max delay for response to */91#define IGMP_MAX_HOST_REPORT_DELAY 10 /* max delay for response to */
91 /* query (in seconds) according */92 /* query (in seconds) according */
lib/libc/include/generic-glibc/netinet/in.h+1
...@@ -204,6 +204,7 @@ enum...@@ -204,6 +204,7 @@ enum
204#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) /* 224.0.0.0 */204#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) /* 224.0.0.0 */
205#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) /* 224.0.0.1 */205#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) /* 224.0.0.1 */
206#define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002) /* 224.0.0.2 */206#define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002) /* 224.0.0.2 */
207#define INADDR_ALLSNOOPERS_GROUP ((in_addr_t) 0xe000006a) /* 224.0.0.106 */
207#define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff) /* 224.0.0.255 */208#define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff) /* 224.0.0.255 */
208209
209#if !__USE_KERNEL_IPV6_DEFS210#if !__USE_KERNEL_IPV6_DEFS
lib/libc/include/generic-glibc/netinet/udp.h+1
...@@ -82,6 +82,7 @@ struct udphdr...@@ -82,6 +82,7 @@ struct udphdr
82#define UDP_NO_CHECK6_RX 102 /* Disable accepting checksum for UDP82#define UDP_NO_CHECK6_RX 102 /* Disable accepting checksum for UDP
83 over IPv6. */83 over IPv6. */
84#define UDP_SEGMENT 103 /* Set GSO segmentation size. */84#define UDP_SEGMENT 103 /* Set GSO segmentation size. */
85#define UDP_GRO 104 /* This socket can receive UDP GRO packets. */
8586
86/* UDP encapsulation types */87/* UDP encapsulation types */
87#define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */88#define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
lib/libc/include/generic-glibc/pthread.h+36
...@@ -770,6 +770,13 @@ extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,...@@ -770,6 +770,13 @@ extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
770 __abstime) __THROWNL __nonnull ((1, 2));770 __abstime) __THROWNL __nonnull ((1, 2));
771#endif771#endif
772772
773#ifdef __USE_GNU
774extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
775 clockid_t __clockid,
776 const struct timespec *__restrict
777 __abstime) __THROWNL __nonnull ((1, 3));
778#endif
779
773/* Unlock a mutex. */780/* Unlock a mutex. */
774extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)781extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
775 __THROWNL __nonnull ((1));782 __THROWNL __nonnull ((1));
...@@ -909,6 +916,13 @@ extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,...@@ -909,6 +916,13 @@ extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
909 __abstime) __THROWNL __nonnull ((1, 2));916 __abstime) __THROWNL __nonnull ((1, 2));
910# endif917# endif
911918
919# ifdef __USE_GNU
920extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
921 clockid_t __clockid,
922 const struct timespec *__restrict
923 __abstime) __THROWNL __nonnull ((1, 3));
924# endif
925
912/* Acquire write lock for RWLOCK. */926/* Acquire write lock for RWLOCK. */
913extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)927extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
914 __THROWNL __nonnull ((1));928 __THROWNL __nonnull ((1));
...@@ -924,6 +938,13 @@ extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,...@@ -924,6 +938,13 @@ extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
924 __abstime) __THROWNL __nonnull ((1, 2));938 __abstime) __THROWNL __nonnull ((1, 2));
925# endif939# endif
926940
941# ifdef __USE_GNU
942extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
943 clockid_t __clockid,
944 const struct timespec *__restrict
945 __abstime) __THROWNL __nonnull ((1, 3));
946# endif
947
927/* Unlock RWLOCK. */948/* Unlock RWLOCK. */
928extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)949extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
929 __THROWNL __nonnull ((1));950 __THROWNL __nonnull ((1));
...@@ -1003,6 +1024,21 @@ extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,...@@ -1003,6 +1024,21 @@ extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
1003 const struct timespec *__restrict __abstime)1024 const struct timespec *__restrict __abstime)
1004 __nonnull ((1, 2, 3));1025 __nonnull ((1, 2, 3));
10051026
1027# ifdef __USE_GNU
1028/* Wait for condition variable COND to be signaled or broadcast until
1029 ABSTIME measured by the specified clock. MUTEX is assumed to be
1030 locked before. CLOCK is the clock to use. ABSTIME is an absolute
1031 time specification against CLOCK's epoch.
1032
1033 This function is a cancellation point and therefore not marked with
1034 __THROW. */
1035extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
1036 pthread_mutex_t *__restrict __mutex,
1037 __clockid_t __clock_id,
1038 const struct timespec *__restrict __abstime)
1039 __nonnull ((1, 2, 4));
1040# endif
1041
1006/* Functions for handling condition variable attributes. */1042/* Functions for handling condition variable attributes. */
10071043
1008/* Initialize condition variable attribute ATTR. */1044/* Initialize condition variable attribute ATTR. */
lib/libc/include/generic-glibc/resolv.h-4
...@@ -115,11 +115,7 @@ struct res_sym {...@@ -115,11 +115,7 @@ struct res_sym {
115#define RES_DEFNAMES 0x00000080 /* use default domain name */115#define RES_DEFNAMES 0x00000080 /* use default domain name */
116#define RES_STAYOPEN 0x00000100 /* Keep TCP socket open */116#define RES_STAYOPEN 0x00000100 /* Keep TCP socket open */
117#define RES_DNSRCH 0x00000200 /* search up local domain tree */117#define RES_DNSRCH 0x00000200 /* search up local domain tree */
118#define RES_INSECURE1 0x00000400 /* type 1 security disabled */
119#define RES_INSECURE2 0x00000800 /* type 2 security disabled */
120#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */118#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */
121#define RES_USE_INET6 \
122 __glibc_macro_warning ("RES_USE_INET6 is deprecated") 0x00002000
123#define RES_ROTATE 0x00004000 /* rotate ns list after each query */119#define RES_ROTATE 0x00004000 /* rotate ns list after each query */
124#define RES_NOCHECKNAME \120#define RES_NOCHECKNAME \
125 __glibc_macro_warning ("RES_NOCHECKNAME is deprecated") 0x00008000121 __glibc_macro_warning ("RES_NOCHECKNAME is deprecated") 0x00008000
lib/libc/include/generic-glibc/search.h+7
...@@ -150,6 +150,13 @@ typedef void (*__action_fn_t) (const void *__nodep, VISIT __value,...@@ -150,6 +150,13 @@ typedef void (*__action_fn_t) (const void *__nodep, VISIT __value,
150extern void twalk (const void *__root, __action_fn_t __action);150extern void twalk (const void *__root, __action_fn_t __action);
151151
152#ifdef __USE_GNU152#ifdef __USE_GNU
153/* Like twalk, but pass down a closure parameter instead of the
154 level. */
155extern void twalk_r (const void *__root,
156 void (*) (const void *__nodep, VISIT __value,
157 void *__closure),
158 void *__closure);
159
153/* Callback type for function to free a tree node. If the keys are atomic160/* Callback type for function to free a tree node. If the keys are atomic
154 data this function should do nothing. */161 data this function should do nothing. */
155typedef void (*__free_fn_t) (void *__nodep);162typedef void (*__free_fn_t) (void *__nodep);
lib/libc/include/generic-glibc/semaphore.h+20-10
...@@ -33,24 +33,26 @@ __BEGIN_DECLS...@@ -33,24 +33,26 @@ __BEGIN_DECLS
33/* Initialize semaphore object SEM to VALUE. If PSHARED then share it33/* Initialize semaphore object SEM to VALUE. If PSHARED then share it
34 with other processes. */34 with other processes. */
35extern int sem_init (sem_t *__sem, int __pshared, unsigned int __value)35extern int sem_init (sem_t *__sem, int __pshared, unsigned int __value)
36 __THROW;36 __THROW __nonnull ((1));
37
37/* Free resources associated with semaphore object SEM. */38/* Free resources associated with semaphore object SEM. */
38extern int sem_destroy (sem_t *__sem) __THROW;39extern int sem_destroy (sem_t *__sem) __THROW __nonnull ((1));
3940
40/* Open a named semaphore NAME with open flags OFLAG. */41/* Open a named semaphore NAME with open flags OFLAG. */
41extern sem_t *sem_open (const char *__name, int __oflag, ...) __THROW;42extern sem_t *sem_open (const char *__name, int __oflag, ...)
43 __THROW __nonnull ((1));
4244
43/* Close descriptor for named semaphore SEM. */45/* Close descriptor for named semaphore SEM. */
44extern int sem_close (sem_t *__sem) __THROW;46extern int sem_close (sem_t *__sem) __THROW __nonnull ((1));
4547
46/* Remove named semaphore NAME. */48/* Remove named semaphore NAME. */
47extern int sem_unlink (const char *__name) __THROW;49extern int sem_unlink (const char *__name) __THROW __nonnull ((1));
4850
49/* Wait for SEM being posted.51/* Wait for SEM being posted.
5052
51 This function is a cancellation point and therefore not marked with53 This function is a cancellation point and therefore not marked with
52 __THROW. */54 __THROW. */
53extern int sem_wait (sem_t *__sem);55extern int sem_wait (sem_t *__sem) __nonnull ((1));
5456
55#ifdef __USE_XOPEN2K57#ifdef __USE_XOPEN2K
56/* Similar to `sem_wait' but wait only until ABSTIME.58/* Similar to `sem_wait' but wait only until ABSTIME.
...@@ -58,18 +60,26 @@ extern int sem_wait (sem_t *__sem);...@@ -58,18 +60,26 @@ extern int sem_wait (sem_t *__sem);
58 This function is a cancellation point and therefore not marked with60 This function is a cancellation point and therefore not marked with
59 __THROW. */61 __THROW. */
60extern int sem_timedwait (sem_t *__restrict __sem,62extern int sem_timedwait (sem_t *__restrict __sem,
61 const struct timespec *__restrict __abstime);63 const struct timespec *__restrict __abstime)
64 __nonnull ((1, 2));
65#endif
66
67#ifdef __USE_GNU
68extern int sem_clockwait (sem_t *__restrict __sem,
69 clockid_t clock,
70 const struct timespec *__restrict __abstime)
71 __nonnull ((1, 3));
62#endif72#endif
6373
64/* Test whether SEM is posted. */74/* Test whether SEM is posted. */
65extern int sem_trywait (sem_t *__sem) __THROWNL;75extern int sem_trywait (sem_t *__sem) __THROWNL __nonnull ((1));
6676
67/* Post SEM. */77/* Post SEM. */
68extern int sem_post (sem_t *__sem) __THROWNL;78extern int sem_post (sem_t *__sem) __THROWNL __nonnull ((1));
6979
70/* Get current value of SEM and store it in *SVAL. */80/* Get current value of SEM and store it in *SVAL. */
71extern int sem_getvalue (sem_t *__restrict __sem, int *__restrict __sval)81extern int sem_getvalue (sem_t *__restrict __sem, int *__restrict __sval)
72 __THROW;82 __THROW __nonnull ((1, 2));
7383
7484
75__END_DECLS85__END_DECLS
lib/libc/include/generic-glibc/signal.h+3
...@@ -370,6 +370,9 @@ extern int __libc_current_sigrtmax (void) __THROW;...@@ -370,6 +370,9 @@ extern int __libc_current_sigrtmax (void) __THROW;
370#define SIGRTMIN (__libc_current_sigrtmin ())370#define SIGRTMIN (__libc_current_sigrtmin ())
371#define SIGRTMAX (__libc_current_sigrtmax ())371#define SIGRTMAX (__libc_current_sigrtmax ())
372372
373/* System-specific extensions. */
374#include <bits/signal_ext.h>
375
373__END_DECLS376__END_DECLS
374377
375#endif /* not signal.h */378#endif /* not signal.h */
\ No newline at end of file
lib/libc/include/generic-glibc/stdlib.h+8-5
...@@ -536,10 +536,11 @@ extern int lcong48_r (unsigned short int __param[7],...@@ -536,10 +536,11 @@ extern int lcong48_r (unsigned short int __param[7],
536#endif /* Use misc or X/Open. */536#endif /* Use misc or X/Open. */
537537
538/* Allocate SIZE bytes of memory. */538/* Allocate SIZE bytes of memory. */
539extern void *malloc (size_t __size) __THROW __attribute_malloc__ __wur;539extern void *malloc (size_t __size) __THROW __attribute_malloc__
540 __attribute_alloc_size__ ((1)) __wur;
540/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */541/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */
541extern void *calloc (size_t __nmemb, size_t __size)542extern void *calloc (size_t __nmemb, size_t __size)
542 __THROW __attribute_malloc__ __wur;543 __THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur;
543544
544/* Re-allocate the previously allocated block545/* Re-allocate the previously allocated block
545 in PTR, making the new block SIZE bytes long. */546 in PTR, making the new block SIZE bytes long. */
...@@ -547,7 +548,7 @@ extern void *calloc (size_t __nmemb, size_t __size)...@@ -547,7 +548,7 @@ extern void *calloc (size_t __nmemb, size_t __size)
547 the same pointer that was passed to it, aliasing needs to be allowed548 the same pointer that was passed to it, aliasing needs to be allowed
548 between objects pointed by the old and new pointers. */549 between objects pointed by the old and new pointers. */
549extern void *realloc (void *__ptr, size_t __size)550extern void *realloc (void *__ptr, size_t __size)
550 __THROW __attribute_warn_unused_result__;551 __THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2));
551552
552#ifdef __USE_MISC553#ifdef __USE_MISC
553/* Re-allocate the previously allocated block in PTR, making the new554/* Re-allocate the previously allocated block in PTR, making the new
...@@ -556,7 +557,8 @@ extern void *realloc (void *__ptr, size_t __size)...@@ -556,7 +557,8 @@ extern void *realloc (void *__ptr, size_t __size)
556 the same pointer that was passed to it, aliasing needs to be allowed557 the same pointer that was passed to it, aliasing needs to be allowed
557 between objects pointed by the old and new pointers. */558 between objects pointed by the old and new pointers. */
558extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)559extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
559 __THROW __attribute_warn_unused_result__;560 __THROW __attribute_warn_unused_result__
561 __attribute_alloc_size__ ((2, 3));
560#endif562#endif
561563
562/* Free a block allocated by `malloc', `realloc' or `calloc'. */564/* Free a block allocated by `malloc', `realloc' or `calloc'. */
...@@ -569,7 +571,8 @@ extern void free (void *__ptr) __THROW;...@@ -569,7 +571,8 @@ extern void free (void *__ptr) __THROW;
569#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \571#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \
570 || defined __USE_MISC572 || defined __USE_MISC
571/* Allocate SIZE bytes on a page boundary. The storage cannot be freed. */573/* Allocate SIZE bytes on a page boundary. The storage cannot be freed. */
572extern void *valloc (size_t __size) __THROW __attribute_malloc__ __wur;574extern void *valloc (size_t __size) __THROW __attribute_malloc__
575 __attribute_alloc_size__ ((1)) __wur;
573#endif576#endif
574577
575#ifdef __USE_XOPEN2K578#ifdef __USE_XOPEN2K
lib/libc/include/generic-glibc/stropts.h deleted-92
...@@ -1,92 +0,0 @@
1/* Copyright (C) 1998-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 _STROPTS_H
19#define _STROPTS_H 1
20
21#include <features.h>
22#include <bits/types.h>
23#include <bits/xtitypes.h>
24
25#ifndef __gid_t_defined
26typedef __gid_t gid_t;
27# define __gid_t_defined
28#endif
29
30#ifndef __uid_t_defined
31typedef __uid_t uid_t;
32# define __uid_t_defined
33#endif
34
35typedef __t_scalar_t t_scalar_t;
36typedef __t_uscalar_t t_uscalar_t;
37
38/* Get system specific constants. */
39#include <bits/stropts.h>
40
41
42__BEGIN_DECLS
43
44/* Test whether FILDES is associated with a STREAM-based file. */
45extern int isastream (int __fildes) __THROW;
46
47/* Receive next message from a STREAMS file.
48
49 This function is a cancellation point and therefore not marked with
50 __THROW. */
51extern int getmsg (int __fildes, struct strbuf *__restrict __ctlptr,
52 struct strbuf *__restrict __dataptr,
53 int *__restrict __flagsp);
54
55/* Receive next message from a STREAMS file, with *FLAGSP allowing to
56 control which message.
57
58 This function is a cancellation point and therefore not marked with
59 __THROW. */
60extern int getpmsg (int __fildes, struct strbuf *__restrict __ctlptr,
61 struct strbuf *__restrict __dataptr,
62 int *__restrict __bandp, int *__restrict __flagsp);
63
64/* Perform the I/O control operation specified by REQUEST on FD.
65 One argument may follow; its presence and type depend on REQUEST.
66 Return value depends on REQUEST. Usually -1 indicates error. */
67extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
68
69/* Send a message on a STREAM.
70
71 This function is a cancellation point and therefore not marked with
72 __THROW. */
73extern int putmsg (int __fildes, const struct strbuf *__ctlptr,
74 const struct strbuf *__dataptr, int __flags);
75
76/* Send a message on a STREAM to the BAND.
77
78 This function is a cancellation point and therefore not marked with
79 __THROW. */
80extern int putpmsg (int __fildes, const struct strbuf *__ctlptr,
81 const struct strbuf *__dataptr, int __band, int __flags);
82
83/* Attach a STREAMS-based file descriptor FILDES to a file PATH in the
84 file system name space. */
85extern int fattach (int __fildes, const char *__path) __THROW;
86
87/* Detach a name PATH from a STREAMS-based file descriptor. */
88extern int fdetach (const char *__path) __THROW;
89
90__END_DECLS
91
92#endif /* stropts.h */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/cdefs.h+8
...@@ -412,6 +412,14 @@...@@ -412,6 +412,14 @@
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
415#if (!defined _Noreturn \423#if (!defined _Noreturn \
416 && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \424 && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
417 && !__GNUC_PREREQ (4,7))425 && !__GNUC_PREREQ (4,7))
lib/libc/include/generic-glibc/sys/ifunc.h created+42
...@@ -0,0 +1,42 @@
1/* Definitions used by AArch64 indirect function resolvers.
2 Copyright (C) 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 _SYS_IFUNC_H
20#define _SYS_IFUNC_H
21
22/* A second argument is passed to the ifunc resolver. */
23#define _IFUNC_ARG_HWCAP (1ULL << 62)
24
25/* The prototype of a gnu indirect function resolver on AArch64 is
26
27 ElfW(Addr) ifunc_resolver (uint64_t, const __ifunc_arg_t *);
28
29 the first argument should have the _IFUNC_ARG_HWCAP bit set and
30 the remaining bits should match the AT_HWCAP settings. */
31
32/* Second argument to an ifunc resolver. */
33struct __ifunc_arg_t
34{
35 unsigned long _size; /* Size of the struct, so it can grow. */
36 unsigned long _hwcap;
37 unsigned long _hwcap2;
38};
39
40typedef struct __ifunc_arg_t __ifunc_arg_t;
41
42#endif
\ No newline at end of file
lib/libc/include/generic-glibc/sys/io.h+151-15
...@@ -12,36 +12,172 @@...@@ -12,36 +12,172 @@
12 Lesser General Public License for more details.12 Lesser General Public License for more details.
1313
14 You should have received a copy of the GNU Lesser General Public14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */16 <http://www.gnu.org/licenses/>. */
1717
18#ifndef _SYS_IO_H18#ifndef _SYS_IO_H
19
20#define _SYS_IO_H 119#define _SYS_IO_H 1
20
21#include <features.h>21#include <features.h>
2222
23__BEGIN_DECLS23__BEGIN_DECLS
2424
25/* If TURN_ON is TRUE, request for permission to do direct i/o on the25/* If TURN_ON is TRUE, request for permission to do direct i/o on the
26 port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O26 port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
27 permission off for that range. This call requires root privileges. */27 permission off for that range. This call requires root privileges.
28
29 Portability note: not all Linux platforms support this call. Most
30 platforms based on the PC I/O architecture probably will, however.
31 E.g., Linux/Alpha for Alpha PCs supports this. */
28extern int ioperm (unsigned long int __from, unsigned long int __num,32extern int ioperm (unsigned long int __from, unsigned long int __num,
29 int __turn_on) __THROW;33 int __turn_on) __THROW;
3034
31/* Set the I/O privilege level to LEVEL. If LEVEL is nonzero,35/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to
32 permission to access any I/O port is granted. This call requires36 access any I/O port is granted. This call requires root
33 root privileges. */37 privileges. */
34extern int iopl (int __level) __THROW;38extern int iopl (int __level) __THROW;
3539
36/* The functions that actually perform reads and writes. */40#if defined __GNUC__ && __GNUC__ >= 2
37extern unsigned char inb (unsigned long int __port) __THROW;
38extern unsigned short int inw (unsigned long int __port) __THROW;
39extern unsigned long int inl (unsigned long int __port) __THROW;
4041
41extern void outb (unsigned char __value, unsigned long int __port) __THROW;42static __inline unsigned char
42extern void outw (unsigned short __value, unsigned long int __port) __THROW;43inb (unsigned short int __port)
43extern void outl (unsigned long __value, unsigned long int __port) __THROW;44{
45 unsigned char _v;
4446
45__END_DECLS47 __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port));
48 return _v;
49}
50
51static __inline unsigned char
52inb_p (unsigned short int __port)
53{
54 unsigned char _v;
55
56 __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
57 return _v;
58}
59
60static __inline unsigned short int
61inw (unsigned short int __port)
62{
63 unsigned short _v;
64
65 __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port));
66 return _v;
67}
68
69static __inline unsigned short int
70inw_p (unsigned short int __port)
71{
72 unsigned short int _v;
73
74 __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
75 return _v;
76}
77
78static __inline unsigned int
79inl (unsigned short int __port)
80{
81 unsigned int _v;
82
83 __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port));
84 return _v;
85}
86
87static __inline unsigned int
88inl_p (unsigned short int __port)
89{
90 unsigned int _v;
91 __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
92 return _v;
93}
94
95static __inline void
96outb (unsigned char __value, unsigned short int __port)
97{
98 __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
99}
46100
101static __inline void
102outb_p (unsigned char __value, unsigned short int __port)
103{
104 __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
105 "Nd" (__port));
106}
107
108static __inline void
109outw (unsigned short int __value, unsigned short int __port)
110{
111 __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port));
112
113}
114
115static __inline void
116outw_p (unsigned short int __value, unsigned short int __port)
117{
118 __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value),
119 "Nd" (__port));
120}
121
122static __inline void
123outl (unsigned int __value, unsigned short int __port)
124{
125 __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port));
126}
127
128static __inline void
129outl_p (unsigned int __value, unsigned short int __port)
130{
131 __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value),
132 "Nd" (__port));
133}
134
135static __inline void
136insb (unsigned short int __port, void *__addr, unsigned long int __count)
137{
138 __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count)
139 :"d" (__port), "0" (__addr), "1" (__count));
140}
141
142static __inline void
143insw (unsigned short int __port, void *__addr, unsigned long int __count)
144{
145 __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count)
146 :"d" (__port), "0" (__addr), "1" (__count));
147}
148
149static __inline void
150insl (unsigned short int __port, void *__addr, unsigned long int __count)
151{
152 __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count)
153 :"d" (__port), "0" (__addr), "1" (__count));
154}
155
156static __inline void
157outsb (unsigned short int __port, const void *__addr,
158 unsigned long int __count)
159{
160 __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count)
161 :"d" (__port), "0" (__addr), "1" (__count));
162}
163
164static __inline void
165outsw (unsigned short int __port, const void *__addr,
166 unsigned long int __count)
167{
168 __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count)
169 :"d" (__port), "0" (__addr), "1" (__count));
170}
171
172static __inline void
173outsl (unsigned short int __port, const void *__addr,
174 unsigned long int __count)
175{
176 __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count)
177 :"d" (__port), "0" (__addr), "1" (__count));
178}
179
180#endif /* GNU C */
181
182__END_DECLS
47#endif /* _SYS_IO_H */183#endif /* _SYS_IO_H */
\ No newline at end of file
lib/libc/include/generic-glibc/sys/stropts.h deleted-1
...@@ -1 +0,0 @@
1#include <stropts.h>
\ No newline at end of file
lib/libc/include/generic-glibc/sys/sysctl.h+4-1
...@@ -18,6 +18,8 @@...@@ -18,6 +18,8 @@
18#ifndef _SYS_SYSCTL_H18#ifndef _SYS_SYSCTL_H
19#define _SYS_SYSCTL_H 119#define _SYS_SYSCTL_H 1
2020
21#warning "The <sys/sysctl.h> header is deprecated and will be removed."
22
21#include <features.h>23#include <features.h>
22#define __need_size_t24#define __need_size_t
23#include <stddef.h>25#include <stddef.h>
...@@ -66,7 +68,8 @@ __BEGIN_DECLS...@@ -66,7 +68,8 @@ __BEGIN_DECLS
6668
67/* Read or write system parameters. */69/* Read or write system parameters. */
68extern int sysctl (int *__name, int __nlen, void *__oldval,70extern int sysctl (int *__name, int __nlen, void *__oldval,
69 size_t *__oldlenp, void *__newval, size_t __newlen) __THROW;71 size_t *__oldlenp, void *__newval, size_t __newlen) __THROW
72 __attribute_deprecated__;
7073
71__END_DECLS74__END_DECLS
7275
lib/libc/include/generic-glibc/sys/types.h+8-25
...@@ -154,37 +154,20 @@ typedef unsigned int uint;...@@ -154,37 +154,20 @@ typedef unsigned int uint;
154154
155#include <bits/stdint-intn.h>155#include <bits/stdint-intn.h>
156156
157#if !__GNUC_PREREQ (2, 7)
158
159/* These were defined by ISO C without the first `_'. */157/* These were defined by ISO C without the first `_'. */
160typedef unsigned char u_int8_t;158typedef __uint8_t u_int8_t;
161typedef unsigned short int u_int16_t;159typedef __uint16_t u_int16_t;
162typedef unsigned int u_int32_t;160typedef __uint32_t u_int32_t;
163# if __WORDSIZE == 64161typedef __uint64_t u_int64_t;
164typedef unsigned long int u_int64_t;
165# else
166__extension__ typedef unsigned long long int u_int64_t;
167# endif
168
169typedef int register_t;
170
171#else
172
173/* For GCC 2.7 and later, we can use specific type-size attributes. */
174# define __u_intN_t(N, MODE) \
175 typedef unsigned int u_int##N##_t __attribute__ ((__mode__ (MODE)))
176
177__u_intN_t (8, __QI__);
178__u_intN_t (16, __HI__);
179__u_intN_t (32, __SI__);
180__u_intN_t (64, __DI__);
181162
163#if __GNUC_PREREQ (2, 7)
182typedef int register_t __attribute__ ((__mode__ (__word__)));164typedef int register_t __attribute__ ((__mode__ (__word__)));
183165#else
166typedef int register_t;
167#endif
184168
185/* Some code from BIND tests this macro to see if the types above are169/* Some code from BIND tests this macro to see if the types above are
186 defined. */170 defined. */
187#endif
188#define __BIT_TYPES_DEFINED__ 1171#define __BIT_TYPES_DEFINED__ 1
189172
190173
lib/libc/include/i386-linux-gnu/bits/math-vector-fortran.h deleted-43
...@@ -1,43 +0,0 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
21!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
22!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
23!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
24!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
25!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
26!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
27!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
28!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
29!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
30!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
31
32!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
33!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
34!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
35!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
36!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
37!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
38!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
39!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
40!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
41!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
42!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
43!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
lib/libc/include/i386-linux-gnu/bits/xtitypes.h deleted-33
...@@ -1,33 +0,0 @@
1/* bits/xtitypes.h -- Define some types used by <bits/stropts.h>. x86-64.
2 Copyright (C) 2002-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 _STROPTS_H
20# error "Never include <bits/xtitypes.h> directly; use <stropts.h> instead."
21#endif
22
23#ifndef _BITS_XTITYPES_H
24#define _BITS_XTITYPES_H 1
25
26#include <bits/types.h>
27
28/* This type is used by some structs in <bits/stropts.h>. */
29typedef __SLONG32_TYPE __t_scalar_t;
30typedef __ULONG32_TYPE __t_uscalar_t;
31
32
33#endif /* bits/xtitypes.h */
\ No newline at end of file
lib/libc/include/i386-linux-gnu/finclude/math-vector-fortran.h created+43
...@@ -0,0 +1,43 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
21!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
22!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
23!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
24!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
25!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
26!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
27!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
28!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
29!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
30!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
31
32!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
33!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
34!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
35!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
36!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
37!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
38!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
39!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
40!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
41!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
42!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
43!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
lib/libc/include/i386-linux-gnu/sys/io.h deleted-183
...@@ -1,183 +0,0 @@
1/* Copyright (C) 1996-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_IO_H
19#define _SYS_IO_H 1
20
21#include <features.h>
22
23__BEGIN_DECLS
24
25/* If TURN_ON is TRUE, request for permission to do direct i/o on the
26 port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
27 permission off for that range. This call requires root privileges.
28
29 Portability note: not all Linux platforms support this call. Most
30 platforms based on the PC I/O architecture probably will, however.
31 E.g., Linux/Alpha for Alpha PCs supports this. */
32extern int ioperm (unsigned long int __from, unsigned long int __num,
33 int __turn_on) __THROW;
34
35/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to
36 access any I/O port is granted. This call requires root
37 privileges. */
38extern int iopl (int __level) __THROW;
39
40#if defined __GNUC__ && __GNUC__ >= 2
41
42static __inline unsigned char
43inb (unsigned short int __port)
44{
45 unsigned char _v;
46
47 __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port));
48 return _v;
49}
50
51static __inline unsigned char
52inb_p (unsigned short int __port)
53{
54 unsigned char _v;
55
56 __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
57 return _v;
58}
59
60static __inline unsigned short int
61inw (unsigned short int __port)
62{
63 unsigned short _v;
64
65 __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port));
66 return _v;
67}
68
69static __inline unsigned short int
70inw_p (unsigned short int __port)
71{
72 unsigned short int _v;
73
74 __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
75 return _v;
76}
77
78static __inline unsigned int
79inl (unsigned short int __port)
80{
81 unsigned int _v;
82
83 __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port));
84 return _v;
85}
86
87static __inline unsigned int
88inl_p (unsigned short int __port)
89{
90 unsigned int _v;
91 __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
92 return _v;
93}
94
95static __inline void
96outb (unsigned char __value, unsigned short int __port)
97{
98 __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
99}
100
101static __inline void
102outb_p (unsigned char __value, unsigned short int __port)
103{
104 __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
105 "Nd" (__port));
106}
107
108static __inline void
109outw (unsigned short int __value, unsigned short int __port)
110{
111 __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port));
112
113}
114
115static __inline void
116outw_p (unsigned short int __value, unsigned short int __port)
117{
118 __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value),
119 "Nd" (__port));
120}
121
122static __inline void
123outl (unsigned int __value, unsigned short int __port)
124{
125 __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port));
126}
127
128static __inline void
129outl_p (unsigned int __value, unsigned short int __port)
130{
131 __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value),
132 "Nd" (__port));
133}
134
135static __inline void
136insb (unsigned short int __port, void *__addr, unsigned long int __count)
137{
138 __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count)
139 :"d" (__port), "0" (__addr), "1" (__count));
140}
141
142static __inline void
143insw (unsigned short int __port, void *__addr, unsigned long int __count)
144{
145 __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count)
146 :"d" (__port), "0" (__addr), "1" (__count));
147}
148
149static __inline void
150insl (unsigned short int __port, void *__addr, unsigned long int __count)
151{
152 __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count)
153 :"d" (__port), "0" (__addr), "1" (__count));
154}
155
156static __inline void
157outsb (unsigned short int __port, const void *__addr,
158 unsigned long int __count)
159{
160 __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count)
161 :"d" (__port), "0" (__addr), "1" (__count));
162}
163
164static __inline void
165outsw (unsigned short int __port, const void *__addr,
166 unsigned long int __count)
167{
168 __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count)
169 :"d" (__port), "0" (__addr), "1" (__count));
170}
171
172static __inline void
173outsl (unsigned short int __port, const void *__addr,
174 unsigned long int __count)
175{
176 __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count)
177 :"d" (__port), "0" (__addr), "1" (__count));
178}
179
180#endif /* GNU C */
181
182__END_DECLS
183#endif /* _SYS_IO_H */
\ No newline at end of file
lib/libc/include/mips-linux-gnu/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_RCVTIMEO 4102
34#define SO_REUSEADDR 4
35#define SO_SNDBUF 4097
36#define SO_SNDLOWAT 4099
37#define SO_SNDTIMEO 4101
38#define SO_TYPE 4104
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_RCVTIMEO 4102
34#define SO_REUSEADDR 4
35#define SO_SNDBUF 4097
36#define SO_SNDLOWAT 4099
37#define SO_SNDTIMEO 4101
38#define SO_TYPE 4104
\ No newline at end of file
lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_RCVTIMEO 4102
34#define SO_REUSEADDR 4
35#define SO_SNDBUF 4097
36#define SO_SNDLOWAT 4099
37#define SO_SNDTIMEO 4101
38#define SO_TYPE 4104
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_RCVTIMEO 4102
34#define SO_REUSEADDR 4
35#define SO_SNDBUF 4097
36#define SO_SNDLOWAT 4099
37#define SO_SNDTIMEO 4101
38#define SO_TYPE 4104
\ No newline at end of file
lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_RCVTIMEO 4102
34#define SO_REUSEADDR 4
35#define SO_SNDBUF 4097
36#define SO_SNDLOWAT 4099
37#define SO_SNDTIMEO 4101
38#define SO_TYPE 4104
\ No newline at end of file
lib/libc/include/mipsel-linux-gnu/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for MIPS.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 4105
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 4100
33#define SO_RCVTIMEO 4102
34#define SO_REUSEADDR 4
35#define SO_SNDBUF 4097
36#define SO_SNDLOWAT 4099
37#define SO_SNDTIMEO 4101
38#define SO_TYPE 4104
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/bits/fenvinline.h+30-7
...@@ -18,13 +18,36 @@...@@ -18,13 +18,36 @@
1818
19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
2020
21/* Inline definition for fegetround. */21/* Inline definitions for fegetround. */
22# define __fegetround() \22# define __fegetround_ISA300() \
23 (__extension__ ({ int __fegetround_result; \23 (__extension__ ({ \
24 __asm__ __volatile__ \24 union { double __d; unsigned long long __ll; } __u; \
25 ("mcrfs 7,7 ; mfcr %0" \25 __asm__ __volatile__ ( \
26 : "=r"(__fegetround_result) : : "cr7"); \26 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
27 __fegetround_result & 3; }))27 : "=f" (__u.__d)); \
28 __u.__ll & 0x0000000000000003LL; \
29 }))
30
31# define __fegetround_ISA2() \
32 (__extension__ ({ \
33 int __fegetround_result; \
34 __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0" \
35 : "=r"(__fegetround_result) : : "cr7"); \
36 __fegetround_result & 3; \
37 }))
38
39# ifdef _ARCH_PWR9
40# define __fegetround() __fegetround_ISA300()
41# elif defined __BUILTIN_CPU_SUPPORTS__
42# define __fegetround() \
43 (__glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
44 ? __fegetround_ISA300() \
45 : __fegetround_ISA2() \
46 )
47# else
48# define __fegetround() __fegetround_ISA2()
49# endif
50
28# define fegetround() __fegetround ()51# define fegetround() __fegetround ()
2952
30# ifndef __NO_MATH_INLINES53# ifndef __NO_MATH_INLINES
lib/libc/include/powerpc-linux-gnu/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 16
33#define SO_RCVTIMEO 18
34#define SO_REUSEADDR 2
35#define SO_SNDBUF 7
36#define SO_SNDLOWAT 17
37#define SO_SNDTIMEO 19
38#define SO_TYPE 3
\ No newline at end of file
lib/libc/include/powerpc-linux-gnu/fpu_control.h+33-39
...@@ -19,6 +19,10 @@...@@ -19,6 +19,10 @@
19#ifndef _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
2121
22#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
23# error "SPE/e500 is no longer supported"
24#endif
25
22#ifdef _SOFT_FLOAT26#ifdef _SOFT_FLOAT
2327
24# define _FPU_RESERVED 0xffffffff28# define _FPU_RESERVED 0xffffffff
...@@ -28,41 +32,6 @@ typedef unsigned int fpu_control_t;...@@ -28,41 +32,6 @@ typedef unsigned int fpu_control_t;
28# define _FPU_SETCW(cw) (void) (cw)32# define _FPU_SETCW(cw) (void) (cw)
29extern fpu_control_t __fpu_control;33extern fpu_control_t __fpu_control;
3034
31#elif defined __NO_FPRS__ /* e500 */
32
33/* rounding control */
34# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
35# define _FPU_RC_DOWN 0x03
36# define _FPU_RC_UP 0x02
37# define _FPU_RC_ZERO 0x01
38
39/* masking of interrupts */
40# define _FPU_MASK_ZM 0x10 /* zero divide */
41# define _FPU_MASK_OM 0x04 /* overflow */
42# define _FPU_MASK_UM 0x08 /* underflow */
43# define _FPU_MASK_XM 0x40 /* inexact */
44# define _FPU_MASK_IM 0x20 /* invalid operation */
45
46# define _FPU_RESERVED 0x00c10080 /* These bits are reserved and not changed. */
47
48/* Correct IEEE semantics require traps to be enabled at the hardware
49 level; the kernel then does the emulation and determines whether
50 generation of signals from those traps was enabled using prctl. */
51# define _FPU_DEFAULT 0x0000003c /* Default value. */
52# define _FPU_IEEE _FPU_DEFAULT
53
54/* Type of the control word. */
55typedef unsigned int fpu_control_t;
56
57/* Macros for accessing the hardware control word. */
58# define _FPU_GETCW(cw) \
59 __asm__ volatile ("mfspefscr %0" : "=r" (cw))
60# define _FPU_SETCW(cw) \
61 __asm__ volatile ("mtspefscr %0" : : "r" (cw))
62
63/* Default control word set at startup. */
64extern fpu_control_t __fpu_control;
65
66#else /* PowerPC 6xx floating-point. */35#else /* PowerPC 6xx floating-point. */
6736
68/* rounding control */37/* rounding control */
...@@ -71,6 +40,8 @@ extern fpu_control_t __fpu_control;...@@ -71,6 +40,8 @@ extern fpu_control_t __fpu_control;
71# define _FPU_RC_UP 0x0240# define _FPU_RC_UP 0x02
72# define _FPU_RC_ZERO 0x0141# define _FPU_RC_ZERO 0x01
7342
43# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO)
44
74# define _FPU_MASK_NI 0x04 /* non-ieee mode */45# define _FPU_MASK_NI 0x04 /* non-ieee mode */
7546
76/* masking of interrupts */47/* masking of interrupts */
...@@ -96,20 +67,43 @@ typedef unsigned int fpu_control_t;...@@ -96,20 +67,43 @@ typedef unsigned int fpu_control_t;
96/* Macros for accessing the hardware control word. */67/* Macros for accessing the hardware control word. */
97# define _FPU_GETCW(cw) \68# define _FPU_GETCW(cw) \
98 ({union { double __d; unsigned long long __ll; } __u; \69 ({union { double __d; unsigned long long __ll; } __u; \
99 register double __fr; \70 __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \
100 __asm__ ("mffs %0" : "=f" (__fr)); \
101 __u.__d = __fr; \
102 (cw) = (fpu_control_t) __u.__ll; \71 (cw) = (fpu_control_t) __u.__ll; \
103 (fpu_control_t) __u.__ll; \72 (fpu_control_t) __u.__ll; \
104 })73 })
10574
75# define _FPU_GET_RC_ISA300() \
76 ({union { double __d; unsigned long long __ll; } __u; \
77 __asm__ __volatile__( \
78 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
79 : "=f" (__u.__d)); \
80 (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \
81 })
82
83# ifdef _ARCH_PWR9
84# define _FPU_GET_RC() _FPU_GET_RC_ISA300()
85# elif defined __BUILTIN_CPU_SUPPORTS__
86# define _FPU_GET_RC() \
87 ({fpu_control_t __rc; \
88 __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
89 ? _FPU_GET_RC_ISA300 () \
90 : _FPU_GETCW (__rc) & _FPU_MASK_RC; \
91 __rc; \
92 })
93# else
94# define _FPU_GET_RC() \
95 ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \
96 __rc; \
97 })
98# endif
99
106# define _FPU_SETCW(cw) \100# define _FPU_SETCW(cw) \
107 { union { double __d; unsigned long long __ll; } __u; \101 { union { double __d; unsigned long long __ll; } __u; \
108 register double __fr; \102 register double __fr; \
109 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \103 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \
110 __u.__ll |= (cw) & 0xffffffffLL; \104 __u.__ll |= (cw) & 0xffffffffLL; \
111 __fr = __u.__d; \105 __fr = __u.__d; \
112 __asm__ ("mtfsf 255,%0" : : "f" (__fr)); \106 __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \
113 }107 }
114108
115/* Default control word set at startup. */109/* Default control word set at startup. */
lib/libc/include/powerpc64-linux-gnu/bits/fenvinline.h+30-7
...@@ -18,13 +18,36 @@...@@ -18,13 +18,36 @@
1818
19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
2020
21/* Inline definition for fegetround. */21/* Inline definitions for fegetround. */
22# define __fegetround() \22# define __fegetround_ISA300() \
23 (__extension__ ({ int __fegetround_result; \23 (__extension__ ({ \
24 __asm__ __volatile__ \24 union { double __d; unsigned long long __ll; } __u; \
25 ("mcrfs 7,7 ; mfcr %0" \25 __asm__ __volatile__ ( \
26 : "=r"(__fegetround_result) : : "cr7"); \26 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
27 __fegetround_result & 3; }))27 : "=f" (__u.__d)); \
28 __u.__ll & 0x0000000000000003LL; \
29 }))
30
31# define __fegetround_ISA2() \
32 (__extension__ ({ \
33 int __fegetround_result; \
34 __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0" \
35 : "=r"(__fegetround_result) : : "cr7"); \
36 __fegetround_result & 3; \
37 }))
38
39# ifdef _ARCH_PWR9
40# define __fegetround() __fegetround_ISA300()
41# elif defined __BUILTIN_CPU_SUPPORTS__
42# define __fegetround() \
43 (__glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
44 ? __fegetround_ISA300() \
45 : __fegetround_ISA2() \
46 )
47# else
48# define __fegetround() __fegetround_ISA2()
49# endif
50
28# define fegetround() __fegetround ()51# define fegetround() __fegetround ()
2952
30# ifndef __NO_MATH_INLINES53# ifndef __NO_MATH_INLINES
lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 16
33#define SO_RCVTIMEO 18
34#define SO_REUSEADDR 2
35#define SO_SNDBUF 7
36#define SO_SNDLOWAT 17
37#define SO_SNDTIMEO 19
38#define SO_TYPE 3
\ No newline at end of file
lib/libc/include/powerpc64-linux-gnu/fpu_control.h+33-39
...@@ -19,6 +19,10 @@...@@ -19,6 +19,10 @@
19#ifndef _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
2121
22#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
23# error "SPE/e500 is no longer supported"
24#endif
25
22#ifdef _SOFT_FLOAT26#ifdef _SOFT_FLOAT
2327
24# define _FPU_RESERVED 0xffffffff28# define _FPU_RESERVED 0xffffffff
...@@ -28,41 +32,6 @@ typedef unsigned int fpu_control_t;...@@ -28,41 +32,6 @@ typedef unsigned int fpu_control_t;
28# define _FPU_SETCW(cw) (void) (cw)32# define _FPU_SETCW(cw) (void) (cw)
29extern fpu_control_t __fpu_control;33extern fpu_control_t __fpu_control;
3034
31#elif defined __NO_FPRS__ /* e500 */
32
33/* rounding control */
34# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
35# define _FPU_RC_DOWN 0x03
36# define _FPU_RC_UP 0x02
37# define _FPU_RC_ZERO 0x01
38
39/* masking of interrupts */
40# define _FPU_MASK_ZM 0x10 /* zero divide */
41# define _FPU_MASK_OM 0x04 /* overflow */
42# define _FPU_MASK_UM 0x08 /* underflow */
43# define _FPU_MASK_XM 0x40 /* inexact */
44# define _FPU_MASK_IM 0x20 /* invalid operation */
45
46# define _FPU_RESERVED 0x00c10080 /* These bits are reserved and not changed. */
47
48/* Correct IEEE semantics require traps to be enabled at the hardware
49 level; the kernel then does the emulation and determines whether
50 generation of signals from those traps was enabled using prctl. */
51# define _FPU_DEFAULT 0x0000003c /* Default value. */
52# define _FPU_IEEE _FPU_DEFAULT
53
54/* Type of the control word. */
55typedef unsigned int fpu_control_t;
56
57/* Macros for accessing the hardware control word. */
58# define _FPU_GETCW(cw) \
59 __asm__ volatile ("mfspefscr %0" : "=r" (cw))
60# define _FPU_SETCW(cw) \
61 __asm__ volatile ("mtspefscr %0" : : "r" (cw))
62
63/* Default control word set at startup. */
64extern fpu_control_t __fpu_control;
65
66#else /* PowerPC 6xx floating-point. */35#else /* PowerPC 6xx floating-point. */
6736
68/* rounding control */37/* rounding control */
...@@ -71,6 +40,8 @@ extern fpu_control_t __fpu_control;...@@ -71,6 +40,8 @@ extern fpu_control_t __fpu_control;
71# define _FPU_RC_UP 0x0240# define _FPU_RC_UP 0x02
72# define _FPU_RC_ZERO 0x0141# define _FPU_RC_ZERO 0x01
7342
43# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO)
44
74# define _FPU_MASK_NI 0x04 /* non-ieee mode */45# define _FPU_MASK_NI 0x04 /* non-ieee mode */
7546
76/* masking of interrupts */47/* masking of interrupts */
...@@ -96,20 +67,43 @@ typedef unsigned int fpu_control_t;...@@ -96,20 +67,43 @@ typedef unsigned int fpu_control_t;
96/* Macros for accessing the hardware control word. */67/* Macros for accessing the hardware control word. */
97# define _FPU_GETCW(cw) \68# define _FPU_GETCW(cw) \
98 ({union { double __d; unsigned long long __ll; } __u; \69 ({union { double __d; unsigned long long __ll; } __u; \
99 register double __fr; \70 __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \
100 __asm__ ("mffs %0" : "=f" (__fr)); \
101 __u.__d = __fr; \
102 (cw) = (fpu_control_t) __u.__ll; \71 (cw) = (fpu_control_t) __u.__ll; \
103 (fpu_control_t) __u.__ll; \72 (fpu_control_t) __u.__ll; \
104 })73 })
10574
75# define _FPU_GET_RC_ISA300() \
76 ({union { double __d; unsigned long long __ll; } __u; \
77 __asm__ __volatile__( \
78 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
79 : "=f" (__u.__d)); \
80 (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \
81 })
82
83# ifdef _ARCH_PWR9
84# define _FPU_GET_RC() _FPU_GET_RC_ISA300()
85# elif defined __BUILTIN_CPU_SUPPORTS__
86# define _FPU_GET_RC() \
87 ({fpu_control_t __rc; \
88 __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
89 ? _FPU_GET_RC_ISA300 () \
90 : _FPU_GETCW (__rc) & _FPU_MASK_RC; \
91 __rc; \
92 })
93# else
94# define _FPU_GET_RC() \
95 ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \
96 __rc; \
97 })
98# endif
99
106# define _FPU_SETCW(cw) \100# define _FPU_SETCW(cw) \
107 { union { double __d; unsigned long long __ll; } __u; \101 { union { double __d; unsigned long long __ll; } __u; \
108 register double __fr; \102 register double __fr; \
109 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \103 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \
110 __u.__ll |= (cw) & 0xffffffffLL; \104 __u.__ll |= (cw) & 0xffffffffLL; \
111 __fr = __u.__d; \105 __fr = __u.__d; \
112 __asm__ ("mtfsf 255,%0" : : "f" (__fr)); \106 __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \
113 }107 }
114108
115/* Default control word set at startup. */109/* Default control word set at startup. */
lib/libc/include/powerpc64-linux-gnu/gnu/stubs-64-v1.h-2
...@@ -8,9 +8,7 @@...@@ -8,9 +8,7 @@
8#endif8#endif
99
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fattach
12#define __stub_fchflags11#define __stub_fchflags
13#define __stub_fdetach
14#define __stub_gtty12#define __stub_gtty
15#define __stub_lchmod13#define __stub_lchmod
16#define __stub_revoke14#define __stub_revoke
lib/libc/include/powerpc64le-linux-gnu/bits/fenvinline.h+30-7
...@@ -18,13 +18,36 @@...@@ -18,13 +18,36 @@
1818
19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__19#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
2020
21/* Inline definition for fegetround. */21/* Inline definitions for fegetround. */
22# define __fegetround() \22# define __fegetround_ISA300() \
23 (__extension__ ({ int __fegetround_result; \23 (__extension__ ({ \
24 __asm__ __volatile__ \24 union { double __d; unsigned long long __ll; } __u; \
25 ("mcrfs 7,7 ; mfcr %0" \25 __asm__ __volatile__ ( \
26 : "=r"(__fegetround_result) : : "cr7"); \26 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
27 __fegetround_result & 3; }))27 : "=f" (__u.__d)); \
28 __u.__ll & 0x0000000000000003LL; \
29 }))
30
31# define __fegetround_ISA2() \
32 (__extension__ ({ \
33 int __fegetround_result; \
34 __asm__ __volatile__ ("mcrfs 7,7 ; mfcr %0" \
35 : "=r"(__fegetround_result) : : "cr7"); \
36 __fegetround_result & 3; \
37 }))
38
39# ifdef _ARCH_PWR9
40# define __fegetround() __fegetround_ISA300()
41# elif defined __BUILTIN_CPU_SUPPORTS__
42# define __fegetround() \
43 (__glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
44 ? __fegetround_ISA300() \
45 : __fegetround_ISA2() \
46 )
47# else
48# define __fegetround() __fegetround_ISA2()
49# endif
50
28# define fegetround() __fegetround ()51# define fegetround() __fegetround ()
2952
30# ifndef __NO_MATH_INLINES53# ifndef __NO_MATH_INLINES
lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for POWER.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 1
24#define SO_ACCEPTCONN 30
25#define SO_BROADCAST 6
26#define SO_DONTROUTE 5
27#define SO_ERROR 4
28#define SO_KEEPALIVE 9
29#define SO_LINGER 13
30#define SO_OOBINLINE 10
31#define SO_RCVBUF 8
32#define SO_RCVLOWAT 16
33#define SO_RCVTIMEO 18
34#define SO_REUSEADDR 2
35#define SO_SNDBUF 7
36#define SO_SNDLOWAT 17
37#define SO_SNDTIMEO 19
38#define SO_TYPE 3
\ No newline at end of file
lib/libc/include/powerpc64le-linux-gnu/fpu_control.h+33-39
...@@ -19,6 +19,10 @@...@@ -19,6 +19,10 @@
19#ifndef _FPU_CONTROL_H19#ifndef _FPU_CONTROL_H
20#define _FPU_CONTROL_H20#define _FPU_CONTROL_H
2121
22#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
23# error "SPE/e500 is no longer supported"
24#endif
25
22#ifdef _SOFT_FLOAT26#ifdef _SOFT_FLOAT
2327
24# define _FPU_RESERVED 0xffffffff28# define _FPU_RESERVED 0xffffffff
...@@ -28,41 +32,6 @@ typedef unsigned int fpu_control_t;...@@ -28,41 +32,6 @@ typedef unsigned int fpu_control_t;
28# define _FPU_SETCW(cw) (void) (cw)32# define _FPU_SETCW(cw) (void) (cw)
29extern fpu_control_t __fpu_control;33extern fpu_control_t __fpu_control;
3034
31#elif defined __NO_FPRS__ /* e500 */
32
33/* rounding control */
34# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
35# define _FPU_RC_DOWN 0x03
36# define _FPU_RC_UP 0x02
37# define _FPU_RC_ZERO 0x01
38
39/* masking of interrupts */
40# define _FPU_MASK_ZM 0x10 /* zero divide */
41# define _FPU_MASK_OM 0x04 /* overflow */
42# define _FPU_MASK_UM 0x08 /* underflow */
43# define _FPU_MASK_XM 0x40 /* inexact */
44# define _FPU_MASK_IM 0x20 /* invalid operation */
45
46# define _FPU_RESERVED 0x00c10080 /* These bits are reserved and not changed. */
47
48/* Correct IEEE semantics require traps to be enabled at the hardware
49 level; the kernel then does the emulation and determines whether
50 generation of signals from those traps was enabled using prctl. */
51# define _FPU_DEFAULT 0x0000003c /* Default value. */
52# define _FPU_IEEE _FPU_DEFAULT
53
54/* Type of the control word. */
55typedef unsigned int fpu_control_t;
56
57/* Macros for accessing the hardware control word. */
58# define _FPU_GETCW(cw) \
59 __asm__ volatile ("mfspefscr %0" : "=r" (cw))
60# define _FPU_SETCW(cw) \
61 __asm__ volatile ("mtspefscr %0" : : "r" (cw))
62
63/* Default control word set at startup. */
64extern fpu_control_t __fpu_control;
65
66#else /* PowerPC 6xx floating-point. */35#else /* PowerPC 6xx floating-point. */
6736
68/* rounding control */37/* rounding control */
...@@ -71,6 +40,8 @@ extern fpu_control_t __fpu_control;...@@ -71,6 +40,8 @@ extern fpu_control_t __fpu_control;
71# define _FPU_RC_UP 0x0240# define _FPU_RC_UP 0x02
72# define _FPU_RC_ZERO 0x0141# define _FPU_RC_ZERO 0x01
7342
43# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO)
44
74# define _FPU_MASK_NI 0x04 /* non-ieee mode */45# define _FPU_MASK_NI 0x04 /* non-ieee mode */
7546
76/* masking of interrupts */47/* masking of interrupts */
...@@ -96,20 +67,43 @@ typedef unsigned int fpu_control_t;...@@ -96,20 +67,43 @@ typedef unsigned int fpu_control_t;
96/* Macros for accessing the hardware control word. */67/* Macros for accessing the hardware control word. */
97# define _FPU_GETCW(cw) \68# define _FPU_GETCW(cw) \
98 ({union { double __d; unsigned long long __ll; } __u; \69 ({union { double __d; unsigned long long __ll; } __u; \
99 register double __fr; \70 __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \
100 __asm__ ("mffs %0" : "=f" (__fr)); \
101 __u.__d = __fr; \
102 (cw) = (fpu_control_t) __u.__ll; \71 (cw) = (fpu_control_t) __u.__ll; \
103 (fpu_control_t) __u.__ll; \72 (fpu_control_t) __u.__ll; \
104 })73 })
10574
75# define _FPU_GET_RC_ISA300() \
76 ({union { double __d; unsigned long long __ll; } __u; \
77 __asm__ __volatile__( \
78 ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \
79 : "=f" (__u.__d)); \
80 (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \
81 })
82
83# ifdef _ARCH_PWR9
84# define _FPU_GET_RC() _FPU_GET_RC_ISA300()
85# elif defined __BUILTIN_CPU_SUPPORTS__
86# define _FPU_GET_RC() \
87 ({fpu_control_t __rc; \
88 __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \
89 ? _FPU_GET_RC_ISA300 () \
90 : _FPU_GETCW (__rc) & _FPU_MASK_RC; \
91 __rc; \
92 })
93# else
94# define _FPU_GET_RC() \
95 ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \
96 __rc; \
97 })
98# endif
99
106# define _FPU_SETCW(cw) \100# define _FPU_SETCW(cw) \
107 { union { double __d; unsigned long long __ll; } __u; \101 { union { double __d; unsigned long long __ll; } __u; \
108 register double __fr; \102 register double __fr; \
109 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \103 __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \
110 __u.__ll |= (cw) & 0xffffffffLL; \104 __u.__ll |= (cw) & 0xffffffffLL; \
111 __fr = __u.__d; \105 __fr = __u.__d; \
112 __asm__ ("mtfsf 255,%0" : : "f" (__fr)); \106 __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \
113 }107 }
114108
115/* Default control word set at startup. */109/* Default control word set at startup. */
lib/libc/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h-2
...@@ -8,9 +8,7 @@...@@ -8,9 +8,7 @@
8#endif8#endif
99
10#define __stub_chflags10#define __stub_chflags
11#define __stub_fattach
12#define __stub_fchflags11#define __stub_fchflags
13#define __stub_fdetach
14#define __stub_gtty12#define __stub_gtty
15#define __stub_lchmod13#define __stub_lchmod
16#define __stub_revoke14#define __stub_revoke
lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64.h-6
...@@ -13,9 +13,7 @@...@@ -13,9 +13,7 @@
13#define __stub___compat_query_module13#define __stub___compat_query_module
14#define __stub___compat_uselib14#define __stub___compat_uselib
15#define __stub_chflags15#define __stub_chflags
16#define __stub_fattach
17#define __stub_fchflags16#define __stub_fchflags
18#define __stub_fdetach
19#define __stub_feclearexcept17#define __stub_feclearexcept
20#define __stub_fedisableexcept18#define __stub_fedisableexcept
21#define __stub_feenableexcept19#define __stub_feenableexcept
...@@ -33,12 +31,8 @@...@@ -33,12 +31,8 @@
33#define __stub_fesetround31#define __stub_fesetround
34#define __stub_fetestexcept32#define __stub_fetestexcept
35#define __stub_feupdateenv33#define __stub_feupdateenv
36#define __stub_getmsg
37#define __stub_getpmsg
38#define __stub_gtty34#define __stub_gtty
39#define __stub_lchmod35#define __stub_lchmod
40#define __stub_putmsg
41#define __stub_putpmsg
42#define __stub_revoke36#define __stub_revoke
43#define __stub_setlogin37#define __stub_setlogin
44#define __stub_sigreturn38#define __stub_sigreturn
lib/libc/include/s390x-linux-gnu/bits/hwcap.h+5-1
...@@ -38,4 +38,8 @@...@@ -38,4 +38,8 @@
38#define HWCAP_S390_VX 204838#define HWCAP_S390_VX 2048
39#define HWCAP_S390_VXD 409639#define HWCAP_S390_VXD 4096
40#define HWCAP_S390_VXE 819240#define HWCAP_S390_VXE 8192
41#define HWCAP_S390_GS 16384
\ No newline at end of file
41#define HWCAP_S390_GS 16384
42#define HWCAP_S390_VXRS_EXT2 32768
43#define HWCAP_S390_VXRS_PDE 65536
44#define HWCAP_S390_SORT 131072
45#define HWCAP_S390_DFLT 262144
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/bits/xtitypes.h deleted-33
...@@ -1,33 +0,0 @@
1/* bits/xtitypes.h -- Define some types used by <bits/stropts.h>. S390/S390x
2 Copyright (C) 2002-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 _STROPTS_H
20# error "Never include <bits/xtitypes.h> directly; use <stropts.h> instead."
21#endif
22
23#ifndef _BITS_XTITYPES_H
24#define _BITS_XTITYPES_H 1
25
26#include <bits/types.h>
27
28/* This type is used by some structs in <bits/stropts.h>. */
29typedef __S32_TYPE __t_scalar_t;
30typedef __U32_TYPE __t_uscalar_t;
31
32
33#endif /* bits/xtitypes.h */
\ No newline at end of file
lib/libc/include/s390x-linux-gnu/gnu/stubs-64.h deleted-24
...@@ -1,24 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub_chflags
11#define __stub_fattach
12#define __stub_fchflags
13#define __stub_fdetach
14#define __stub_getmsg
15#define __stub_gtty
16#define __stub_lchmod
17#define __stub_pkey_alloc
18#define __stub_pkey_free
19#define __stub_putmsg
20#define __stub_revoke
21#define __stub_setlogin
22#define __stub_sigreturn
23#define __stub_sstk
24#define __stub_stty
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for SPARC.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 32768
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 2048
33#define SO_RCVTIMEO 8192
34#define SO_REUSEADDR 4
35#define SO_SNDBUF 4097
36#define SO_SNDLOWAT 4096
37#define SO_SNDTIMEO 16384
38#define SO_TYPE 4104
\ No newline at end of file
lib/libc/include/sparc-linux-gnu/gnu/stubs-64.h deleted-26
...@@ -1,26 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub_chflags
11#define __stub_fattach
12#define __stub_fchflags
13#define __stub_fdetach
14#define __stub_getmsg
15#define __stub_getpmsg
16#define __stub_gtty
17#define __stub_lchmod
18#define __stub_pkey_alloc
19#define __stub_pkey_free
20#define __stub_putmsg
21#define __stub_putpmsg
22#define __stub_revoke
23#define __stub_setlogin
24#define __stub_sigreturn
25#define __stub_sstk
26#define __stub_stty
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/bits/socket-constants.h created+38
...@@ -0,0 +1,38 @@
1/* Socket constants which vary among Linux architectures. Version for SPARC.
2 Copyright (C) 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 _SYS_SOCKET_H
20# error "Never include <bits/socket-constants.h> directly; use <sys/socket.h> instead."
21#endif
22
23#define SOL_SOCKET 65535
24#define SO_ACCEPTCONN 32768
25#define SO_BROADCAST 32
26#define SO_DONTROUTE 16
27#define SO_ERROR 4103
28#define SO_KEEPALIVE 8
29#define SO_LINGER 128
30#define SO_OOBINLINE 256
31#define SO_RCVBUF 4098
32#define SO_RCVLOWAT 2048
33#define SO_RCVTIMEO 8192
34#define SO_REUSEADDR 4
35#define SO_SNDBUF 4097
36#define SO_SNDLOWAT 4096
37#define SO_SNDTIMEO 16384
38#define SO_TYPE 4104
\ No newline at end of file
lib/libc/include/sparcv9-linux-gnu/gnu/stubs-32.h deleted-26
...@@ -1,26 +0,0 @@
1/* This file is automatically generated.
2 It defines a symbol `__stub_FUNCTION' for each function
3 in the C library which is a stub, meaning it will fail
4 every time called, usually setting errno to ENOSYS. */
5
6#ifdef _LIBC
7 #error Applications may not define the macro _LIBC
8#endif
9
10#define __stub_chflags
11#define __stub_fattach
12#define __stub_fchflags
13#define __stub_fdetach
14#define __stub_getmsg
15#define __stub_getpmsg
16#define __stub_gtty
17#define __stub_lchmod
18#define __stub_pkey_alloc
19#define __stub_pkey_free
20#define __stub_putmsg
21#define __stub_putpmsg
22#define __stub_revoke
23#define __stub_setlogin
24#define __stub_sigreturn
25#define __stub_sstk
26#define __stub_stty
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/math-vector-fortran.h deleted-43
...@@ -1,43 +0,0 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
21!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
22!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
23!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
24!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
25!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
26!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
27!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
28!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
29!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
30!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
31
32!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
33!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
34!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
35!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
36!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
37!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
38!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
39!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
40!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
41!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
42!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
43!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/bits/xtitypes.h deleted-33
...@@ -1,33 +0,0 @@
1/* bits/xtitypes.h -- Define some types used by <bits/stropts.h>. x86-64.
2 Copyright (C) 2002-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 _STROPTS_H
20# error "Never include <bits/xtitypes.h> directly; use <stropts.h> instead."
21#endif
22
23#ifndef _BITS_XTITYPES_H
24#define _BITS_XTITYPES_H 1
25
26#include <bits/types.h>
27
28/* This type is used by some structs in <bits/stropts.h>. */
29typedef __SLONG32_TYPE __t_scalar_t;
30typedef __ULONG32_TYPE __t_uscalar_t;
31
32
33#endif /* bits/xtitypes.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h created+43
...@@ -0,0 +1,43 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
21!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
22!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
23!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
24!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
25!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
26!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
27!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
28!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
29!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
30!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
31
32!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
33!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
34!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
35!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
36!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
37!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
38!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
39!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
40!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
41!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
42!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
43!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h-4
...@@ -9,13 +9,9 @@...@@ -9,13 +9,9 @@
99
10#define __stub___compat_bdflush10#define __stub___compat_bdflush
11#define __stub_chflags11#define __stub_chflags
12#define __stub_fattach
13#define __stub_fchflags12#define __stub_fchflags
14#define __stub_fdetach
15#define __stub_getmsg
16#define __stub_gtty13#define __stub_gtty
17#define __stub_lchmod14#define __stub_lchmod
18#define __stub_putmsg
19#define __stub_revoke15#define __stub_revoke
20#define __stub_setlogin16#define __stub_setlogin
21#define __stub_sigreturn17#define __stub_sigreturn
lib/libc/include/x86_64-linux-gnu/sys/io.h deleted-183
...@@ -1,183 +0,0 @@
1/* Copyright (C) 1996-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_IO_H
19#define _SYS_IO_H 1
20
21#include <features.h>
22
23__BEGIN_DECLS
24
25/* If TURN_ON is TRUE, request for permission to do direct i/o on the
26 port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
27 permission off for that range. This call requires root privileges.
28
29 Portability note: not all Linux platforms support this call. Most
30 platforms based on the PC I/O architecture probably will, however.
31 E.g., Linux/Alpha for Alpha PCs supports this. */
32extern int ioperm (unsigned long int __from, unsigned long int __num,
33 int __turn_on) __THROW;
34
35/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to
36 access any I/O port is granted. This call requires root
37 privileges. */
38extern int iopl (int __level) __THROW;
39
40#if defined __GNUC__ && __GNUC__ >= 2
41
42static __inline unsigned char
43inb (unsigned short int __port)
44{
45 unsigned char _v;
46
47 __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port));
48 return _v;
49}
50
51static __inline unsigned char
52inb_p (unsigned short int __port)
53{
54 unsigned char _v;
55
56 __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
57 return _v;
58}
59
60static __inline unsigned short int
61inw (unsigned short int __port)
62{
63 unsigned short _v;
64
65 __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port));
66 return _v;
67}
68
69static __inline unsigned short int
70inw_p (unsigned short int __port)
71{
72 unsigned short int _v;
73
74 __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
75 return _v;
76}
77
78static __inline unsigned int
79inl (unsigned short int __port)
80{
81 unsigned int _v;
82
83 __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port));
84 return _v;
85}
86
87static __inline unsigned int
88inl_p (unsigned short int __port)
89{
90 unsigned int _v;
91 __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
92 return _v;
93}
94
95static __inline void
96outb (unsigned char __value, unsigned short int __port)
97{
98 __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
99}
100
101static __inline void
102outb_p (unsigned char __value, unsigned short int __port)
103{
104 __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
105 "Nd" (__port));
106}
107
108static __inline void
109outw (unsigned short int __value, unsigned short int __port)
110{
111 __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port));
112
113}
114
115static __inline void
116outw_p (unsigned short int __value, unsigned short int __port)
117{
118 __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value),
119 "Nd" (__port));
120}
121
122static __inline void
123outl (unsigned int __value, unsigned short int __port)
124{
125 __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port));
126}
127
128static __inline void
129outl_p (unsigned int __value, unsigned short int __port)
130{
131 __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value),
132 "Nd" (__port));
133}
134
135static __inline void
136insb (unsigned short int __port, void *__addr, unsigned long int __count)
137{
138 __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count)
139 :"d" (__port), "0" (__addr), "1" (__count));
140}
141
142static __inline void
143insw (unsigned short int __port, void *__addr, unsigned long int __count)
144{
145 __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count)
146 :"d" (__port), "0" (__addr), "1" (__count));
147}
148
149static __inline void
150insl (unsigned short int __port, void *__addr, unsigned long int __count)
151{
152 __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count)
153 :"d" (__port), "0" (__addr), "1" (__count));
154}
155
156static __inline void
157outsb (unsigned short int __port, const void *__addr,
158 unsigned long int __count)
159{
160 __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count)
161 :"d" (__port), "0" (__addr), "1" (__count));
162}
163
164static __inline void
165outsw (unsigned short int __port, const void *__addr,
166 unsigned long int __count)
167{
168 __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count)
169 :"d" (__port), "0" (__addr), "1" (__count));
170}
171
172static __inline void
173outsl (unsigned short int __port, const void *__addr,
174 unsigned long int __count)
175{
176 __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count)
177 :"d" (__port), "0" (__addr), "1" (__count));
178}
179
180#endif /* GNU C */
181
182__END_DECLS
183#endif /* _SYS_IO_H */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/math-vector-fortran.h deleted-43
...@@ -1,43 +0,0 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
21!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
22!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
23!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
24!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
25!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
26!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
27!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
28!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
29!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
30!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
31
32!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
33!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
34!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
35!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
36!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
37!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
38!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
39!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
40!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
41!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
42!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
43!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/bits/xtitypes.h deleted-33
...@@ -1,33 +0,0 @@
1/* bits/xtitypes.h -- Define some types used by <bits/stropts.h>. x86-64.
2 Copyright (C) 2002-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 _STROPTS_H
20# error "Never include <bits/xtitypes.h> directly; use <stropts.h> instead."
21#endif
22
23#ifndef _BITS_XTITYPES_H
24#define _BITS_XTITYPES_H 1
25
26#include <bits/types.h>
27
28/* This type is used by some structs in <bits/stropts.h>. */
29typedef __SLONG32_TYPE __t_scalar_t;
30typedef __ULONG32_TYPE __t_uscalar_t;
31
32
33#endif /* bits/xtitypes.h */
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h created+43
...@@ -0,0 +1,43 @@
1! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
2! Copyright (C) 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!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
20!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
21!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
22!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
23!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
24!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
25!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
26!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
27!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
28!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
29!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
30!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
31
32!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
33!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
34!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
35!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
36!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
37!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
38!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
39!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
40!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
41!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
42!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
43!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
\ No newline at end of file
lib/libc/include/x86_64-linux-gnux32/gnu/stubs-x32.h-4
...@@ -14,13 +14,9 @@...@@ -14,13 +14,9 @@
14#define __stub___compat_query_module14#define __stub___compat_query_module
15#define __stub___compat_uselib15#define __stub___compat_uselib
16#define __stub_chflags16#define __stub_chflags
17#define __stub_fattach
18#define __stub_fchflags17#define __stub_fchflags
19#define __stub_fdetach
20#define __stub_getmsg
21#define __stub_gtty18#define __stub_gtty
22#define __stub_lchmod19#define __stub_lchmod
23#define __stub_putmsg
24#define __stub_revoke20#define __stub_revoke
25#define __stub_setlogin21#define __stub_setlogin
26#define __stub_sigreturn22#define __stub_sigreturn
lib/libc/include/x86_64-linux-gnux32/sys/io.h deleted-183
...@@ -1,183 +0,0 @@
1/* Copyright (C) 1996-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_IO_H
19#define _SYS_IO_H 1
20
21#include <features.h>
22
23__BEGIN_DECLS
24
25/* If TURN_ON is TRUE, request for permission to do direct i/o on the
26 port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
27 permission off for that range. This call requires root privileges.
28
29 Portability note: not all Linux platforms support this call. Most
30 platforms based on the PC I/O architecture probably will, however.
31 E.g., Linux/Alpha for Alpha PCs supports this. */
32extern int ioperm (unsigned long int __from, unsigned long int __num,
33 int __turn_on) __THROW;
34
35/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to
36 access any I/O port is granted. This call requires root
37 privileges. */
38extern int iopl (int __level) __THROW;
39
40#if defined __GNUC__ && __GNUC__ >= 2
41
42static __inline unsigned char
43inb (unsigned short int __port)
44{
45 unsigned char _v;
46
47 __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port));
48 return _v;
49}
50
51static __inline unsigned char
52inb_p (unsigned short int __port)
53{
54 unsigned char _v;
55
56 __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
57 return _v;
58}
59
60static __inline unsigned short int
61inw (unsigned short int __port)
62{
63 unsigned short _v;
64
65 __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port));
66 return _v;
67}
68
69static __inline unsigned short int
70inw_p (unsigned short int __port)
71{
72 unsigned short int _v;
73
74 __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
75 return _v;
76}
77
78static __inline unsigned int
79inl (unsigned short int __port)
80{
81 unsigned int _v;
82
83 __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port));
84 return _v;
85}
86
87static __inline unsigned int
88inl_p (unsigned short int __port)
89{
90 unsigned int _v;
91 __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
92 return _v;
93}
94
95static __inline void
96outb (unsigned char __value, unsigned short int __port)
97{
98 __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
99}
100
101static __inline void
102outb_p (unsigned char __value, unsigned short int __port)
103{
104 __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
105 "Nd" (__port));
106}
107
108static __inline void
109outw (unsigned short int __value, unsigned short int __port)
110{
111 __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port));
112
113}
114
115static __inline void
116outw_p (unsigned short int __value, unsigned short int __port)
117{
118 __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value),
119 "Nd" (__port));
120}
121
122static __inline void
123outl (unsigned int __value, unsigned short int __port)
124{
125 __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port));
126}
127
128static __inline void
129outl_p (unsigned int __value, unsigned short int __port)
130{
131 __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value),
132 "Nd" (__port));
133}
134
135static __inline void
136insb (unsigned short int __port, void *__addr, unsigned long int __count)
137{
138 __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count)
139 :"d" (__port), "0" (__addr), "1" (__count));
140}
141
142static __inline void
143insw (unsigned short int __port, void *__addr, unsigned long int __count)
144{
145 __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count)
146 :"d" (__port), "0" (__addr), "1" (__count));
147}
148
149static __inline void
150insl (unsigned short int __port, void *__addr, unsigned long int __count)
151{
152 __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count)
153 :"d" (__port), "0" (__addr), "1" (__count));
154}
155
156static __inline void
157outsb (unsigned short int __port, const void *__addr,
158 unsigned long int __count)
159{
160 __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count)
161 :"d" (__port), "0" (__addr), "1" (__count));
162}
163
164static __inline void
165outsw (unsigned short int __port, const void *__addr,
166 unsigned long int __count)
167{
168 __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count)
169 :"d" (__port), "0" (__addr), "1" (__count));
170}
171
172static __inline void
173outsl (unsigned short int __port, const void *__addr,
174 unsigned long int __count)
175{
176 __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count)
177 :"d" (__port), "0" (__addr), "1" (__count));
178}
179
180#endif /* GNU C */
181
182__END_DECLS
183#endif /* _SYS_IO_H */
\ No newline at end of file
tools/process_headers.zig+70-326
...@@ -20,6 +20,7 @@ const assert = std.debug.assert;...@@ -20,6 +20,7 @@ const assert = std.debug.assert;
20const LibCTarget = struct {20const LibCTarget = struct {
21 name: []const u8,21 name: []const u8,
22 arch: MultiArch,22 arch: MultiArch,
23 abi: MultiAbi,
23};24};
2425
25const MultiArch = union(enum) {26const MultiArch = union(enum) {
...@@ -39,396 +40,129 @@ const MultiArch = union(enum) {...@@ -39,396 +40,129 @@ const MultiArch = union(enum) {
39 }40 }
40};41};
4142
43const MultiAbi = union(enum) {
44 musl,
45 specific: Abi,
46
47 fn eql(a: MultiAbi, b: MultiAbi) bool {
48 if (@enumToInt(a) != @enumToInt(b))
49 return false;
50 if (@TagType(MultiAbi)(a) != .specific)
51 return true;
52 return a.specific == b.specific;
53 }
54};
55
42const glibc_targets = [_]LibCTarget{56const glibc_targets = [_]LibCTarget{
43 LibCTarget{57 LibCTarget{
44 .name = "aarch64_be-linux-gnu",58 .name = "aarch64_be-linux-gnu",
45 .zig_arch = Arch.aarch64_be,59 .arch = MultiArch {.specific = Arch.aarch64_be},
46 .zig_abi = Abi.gnu,60 .abi = MultiAbi {.specific = Abi.gnu},
47 },61 },
48 LibCTarget{62 LibCTarget{
49 .name = "aarch64-linux-gnu",63 .name = "aarch64-linux-gnu",
50 .zig_arch = Arch.aarch64,64 .arch = MultiArch {.specific = Arch.aarch64},
51 .zig_abi = Abi.gnu,65 .abi = MultiAbi {.specific = Abi.gnu},
52 },
53 LibCTarget{
54 .name = "aarch64-linux-gnu-disable-multi-arch",
55 .zig_arch = Arch.aarch64,
56 .zig_abi = null,
57 },
58 LibCTarget{
59 .name = "alpha-linux-gnu",
60 .zig_arch = null,
61 .zig_abi = Abi.gnu,
62 },66 },
63 LibCTarget{67 LibCTarget{
64 .name = "armeb-linux-gnueabi",68 .name = "armeb-linux-gnueabi",
65 .zig_arch = Arch.armeb,69 .arch = MultiArch {.specific = Arch.armeb},
66 .zig_abi = Abi.gnueabi,70 .abi = MultiAbi {.specific = Abi.gnueabi},
67 },
68 LibCTarget{
69 .name = "armeb-linux-gnueabi-be8",
70 .zig_arch = Arch.armeb,
71 .zig_abi = null,
72 },71 },
73 LibCTarget{72 LibCTarget{
74 .name = "armeb-linux-gnueabihf",73 .name = "armeb-linux-gnueabihf",
75 .zig_arch = Arch.armeb,74 .arch = MultiArch {.specific = Arch.armeb},
76 .zig_abi = Abi.gnueabihf,75 .abi = MultiAbi {.specific = Abi.gnueabihf},
77 },
78 LibCTarget{
79 .name = "armeb-linux-gnueabihf-be8",
80 .zig_arch = Arch.armeb,
81 .zig_abi = null,
82 },76 },
83 LibCTarget{77 LibCTarget{
84 .name = "arm-linux-gnueabi",78 .name = "arm-linux-gnueabi",
85 .zig_arch = Arch.arm,79 .arch = MultiArch {.specific = Arch.arm},
86 .zig_abi = Abi.gnueabi,80 .abi = MultiAbi {.specific = Abi.gnueabi},
87 },81 },
88 LibCTarget{82 LibCTarget{
89 .name = "arm-linux-gnueabihf",83 .name = "arm-linux-gnueabihf",
90 .zig_arch = Arch.arm,84 .arch = MultiArch {.specific = Arch.arm},
91 .zig_abi = Abi.gnueabihf,85 .abi = MultiAbi {.specific = Abi.gnueabihf},
92 },
93 LibCTarget{
94 .name = "arm-linux-gnueabihf-v7a",
95 .zig_arch = Arch.arm,
96 .zig_abi = null,
97 },
98 LibCTarget{
99 .name = "arm-linux-gnueabihf-v7a-disable-multi-arch",
100 .zig_arch = null,
101 .zig_abi = null,
102 },
103 LibCTarget{
104 .name = "hppa-linux-gnu",
105 .zig_arch = null,
106 .zig_abi = Abi.gnu,
107 },
108 LibCTarget{
109 .name = "i486-linux-gnu",
110 .zig_arch = null,
111 .zig_abi = Abi.gnu,
112 },
113 LibCTarget{
114 .name = "i586-linux-gnu",
115 .zig_arch = null,
116 .zig_abi = Abi.gnu,
117 },
118 LibCTarget{
119 .name = "i686-gnu",
120 .zig_arch = Arch.i386,
121 .zig_abi = Abi.gnu,
122 },86 },
123 LibCTarget{87 LibCTarget{
124 .name = "i686-linux-gnu",88 .name = "i686-linux-gnu",
125 .zig_arch = Arch.i386,89 .arch = MultiArch {.specific = Arch.i386},
126 .zig_abi = Abi.gnu,90 .abi = MultiAbi {.specific = Abi.gnu},
127 },
128 LibCTarget{
129 .name = "i686-linux-gnu-disable-multi-arch",
130 .zig_arch = null,
131 .zig_abi = null,
132 },
133 LibCTarget{
134 .name = "i686-linux-gnu-enable-obsolete",
135 .zig_arch = Arch.i386,
136 .zig_abi = null,
137 },
138 LibCTarget{
139 .name = "i686-linux-gnu-static-pie",
140 .zig_arch = Arch.i386,
141 .zig_abi = null,
142 },
143 LibCTarget{
144 .name = "ia64-linux-gnu",
145 .zig_arch = null,
146 .zig_abi = null,
147 },
148 LibCTarget{
149 .name = "m68k-linux-gnu",
150 .zig_arch = null,
151 .zig_abi = null,
152 },
153 LibCTarget{
154 .name = "m68k-linux-gnu-coldfire",
155 .zig_arch = null,
156 .zig_abi = null,
157 },
158 LibCTarget{
159 .name = "m68k-linux-gnu-coldfire-soft",
160 .zig_arch = null,
161 .zig_abi = null,
162 },
163 LibCTarget{
164 .name = "microblazeel-linux-gnu",
165 .zig_arch = null,
166 .zig_abi = null,
167 },
168 LibCTarget{
169 .name = "microblaze-linux-gnu",
170 .zig_arch = null,
171 .zig_abi = null,
172 },91 },
173 LibCTarget{92 LibCTarget{
174 .name = "mips64el-linux-gnu-n32",93 .name = "mips64el-linux-gnu-n32",
175 .zig_arch = Arch.mips64el,94 .arch = MultiArch {.specific = Arch.mips64el},
176 .zig_abi = Abi.gnuabin32,95 .abi = MultiAbi {.specific = Abi.gnuabin32},
177 },
178 LibCTarget{
179 .name = "mips64el-linux-gnu-n32-nan2008",
180 .zig_arch = Arch.mips64el,
181 .zig_abi = null,
182 },
183 LibCTarget{
184 .name = "mips64el-linux-gnu-n32-nan2008-soft",
185 .zig_arch = Arch.mips64el,
186 .zig_abi = null,
187 },
188 LibCTarget{
189 .name = "mips64el-linux-gnu-n32-soft",
190 .zig_arch = Arch.mips64el,
191 .zig_abi = null,
192 },96 },
193 LibCTarget{97 LibCTarget{
194 .name = "mips64el-linux-gnu-n64",98 .name = "mips64el-linux-gnu-n64",
195 .zig_arch = Arch.mips64el,99 .arch = MultiArch {.specific = Arch.mips64el},
196 .zig_abi = Abi.gnuabi64,100 .abi = MultiAbi {.specific = Abi.gnuabi64},
197 },
198 LibCTarget{
199 .name = "mips64el-linux-gnu-n64-nan2008",
200 .zig_arch = Arch.mips64el,
201 .zig_abi = null,
202 },
203 LibCTarget{
204 .name = "mips64el-linux-gnu-n64-nan2008-soft",
205 .zig_arch = Arch.mips64el,
206 .zig_abi = null,
207 },
208 LibCTarget{
209 .name = "mips64el-linux-gnu-n64-soft",
210 .zig_arch = Arch.mips64el,
211 .zig_abi = null,
212 },101 },
213 LibCTarget{102 LibCTarget{
214 .name = "mips64-linux-gnu-n32",103 .name = "mips64-linux-gnu-n32",
215 .zig_arch = Arch.mips64,104 .arch = MultiArch {.specific = Arch.mips64},
216 .zig_abi = Abi.gnuabin32,105 .abi = MultiAbi {.specific = Abi.gnuabin32},
217 },
218 LibCTarget{
219 .name = "mips64-linux-gnu-n32-nan2008",
220 .zig_arch = Arch.mips64,
221 .zig_abi = null,
222 },
223 LibCTarget{
224 .name = "mips64-linux-gnu-n32-nan2008-soft",
225 .zig_arch = Arch.mips64,
226 .zig_abi = null,
227 },
228 LibCTarget{
229 .name = "mips64-linux-gnu-n32-soft",
230 .zig_arch = Arch.mips64,
231 .zig_abi = null,
232 },106 },
233 LibCTarget{107 LibCTarget{
234 .name = "mips64-linux-gnu-n64",108 .name = "mips64-linux-gnu-n64",
235 .zig_arch = Arch.mips64,109 .arch = MultiArch {.specific = Arch.mips64},
236 .zig_abi = Abi.gnuabi64,110 .abi = MultiAbi {.specific = Abi.gnuabi64},
237 },
238 LibCTarget{
239 .name = "mips64-linux-gnu-n64-nan2008",
240 .zig_arch = Arch.mips64,
241 .zig_abi = null,
242 },
243 LibCTarget{
244 .name = "mips64-linux-gnu-n64-nan2008-soft",
245 .zig_arch = Arch.mips64,
246 .zig_abi = null,
247 },
248 LibCTarget{
249 .name = "mips64-linux-gnu-n64-soft",
250 .zig_arch = Arch.mips64,
251 .zig_abi = null,
252 },111 },
253 LibCTarget{112 LibCTarget{
254 .name = "mipsel-linux-gnu",113 .name = "mipsel-linux-gnu",
255 .zig_arch = Arch.mipsel,114 .arch = MultiArch {.specific = Arch.mipsel},
256 .zig_abi = Abi.gnu,115 .abi = MultiAbi {.specific = Abi.gnu},
257 },
258 LibCTarget{
259 .name = "mipsel-linux-gnu-nan2008",
260 .zig_arch = Arch.mipsel,
261 .zig_abi = null,
262 },
263 LibCTarget{
264 .name = "mipsel-linux-gnu-nan2008-soft",
265 .zig_arch = Arch.mipsel,
266 .zig_abi = null,
267 },
268 LibCTarget{
269 .name = "mipsel-linux-gnu-soft",
270 .zig_arch = Arch.mipsel,
271 .zig_abi = null,
272 },116 },
273 LibCTarget{117 LibCTarget{
274 .name = "mips-linux-gnu",118 .name = "mips-linux-gnu",
275 .zig_arch = Arch.mips,119 .arch = MultiArch {.specific = Arch.mips},
276 .zig_abi = Abi.gnu,120 .abi = MultiAbi {.specific = Abi.gnu},
277 },
278 LibCTarget{
279 .name = "mips-linux-gnu-nan2008",
280 .zig_arch = Arch.mips,
281 .zig_abi = null,
282 },
283 LibCTarget{
284 .name = "mips-linux-gnu-nan2008-soft",
285 .zig_arch = Arch.mips,
286 .zig_abi = null,
287 },
288 LibCTarget{
289 .name = "mips-linux-gnu-soft",
290 .zig_arch = Arch.mips,
291 .zig_abi = null,
292 },121 },
293 LibCTarget{122 LibCTarget{
294 .name = "powerpc64le-linux-gnu",123 .name = "powerpc64le-linux-gnu",
295 .zig_arch = Arch.powerpc64le,124 .arch = MultiArch {.specific = Arch.powerpc64le},
296 .zig_abi = Abi.gnu,125 .abi = MultiAbi {.specific = Abi.gnu},
297 },126 },
298 LibCTarget{127 LibCTarget{
299 .name = "powerpc64-linux-gnu",128 .name = "powerpc64-linux-gnu",
300 .zig_arch = Arch.powerpc64,129 .arch = MultiArch {.specific = Arch.powerpc64},
301 .zig_abi = Abi.gnu,130 .abi = MultiAbi {.specific = Abi.gnu},
302 },131 },
303 LibCTarget{132 LibCTarget{
304 .name = "powerpc-linux-gnu",133 .name = "powerpc-linux-gnu",
305 .zig_arch = Arch.powerpc,134 .arch = MultiArch {.specific = Arch.powerpc},
306 .zig_abi = Abi.gnu,135 .abi = MultiAbi {.specific = Abi.gnu},
307 },
308 LibCTarget{
309 .name = "powerpc-linux-gnu-power4",
310 .zig_arch = Arch.powerpc,
311 .zig_abi = null,
312 },
313 LibCTarget{
314 .name = "powerpc-linux-gnu-soft",
315 .zig_arch = Arch.powerpc,
316 .zig_abi = null,
317 },
318 LibCTarget{
319 .name = "powerpc-linux-gnuspe",
320 .zig_arch = Arch.powerpc,
321 .zig_abi = null,
322 },
323 LibCTarget{
324 .name = "powerpc-linux-gnuspe-e500v1",
325 .zig_arch = Arch.powerpc,
326 .zig_abi = null,
327 },136 },
328 LibCTarget{137 LibCTarget{
329 .name = "riscv64-linux-gnu-rv64imac-lp64",138 .name = "riscv64-linux-gnu-rv64imac-lp64",
330 .zig_arch = Arch.riscv64,139 .arch = MultiArch {.specific = Arch.riscv64},
331 .zig_abi = Abi.gnu,140 .abi = MultiAbi {.specific = Abi.gnu},
332 },
333 LibCTarget{
334 .name = "riscv64-linux-gnu-rv64imafdc-lp64",
335 .zig_arch = Arch.riscv64,
336 .zig_abi = null,
337 },
338 LibCTarget{
339 .name = "riscv64-linux-gnu-rv64imafdc-lp64d",
340 .zig_arch = Arch.riscv64,
341 .zig_abi = null,
342 },
343 LibCTarget{
344 .name = "s390-linux-gnu",
345 .zig_arch = null,
346 .zig_abi = Abi.gnu,
347 },141 },
348 LibCTarget{142 LibCTarget{
349 .name = "s390x-linux-gnu",143 .name = "s390x-linux-gnu",
350 .zig_arch = Arch.s390x,144 .arch = MultiArch {.specific = Arch.s390x},
351 .zig_abi = Abi.gnu,145 .abi = MultiAbi {.specific = Abi.gnu},
352 },
353 LibCTarget{
354 .name = "sh3eb-linux-gnu",
355 .zig_arch = null,
356 .zig_abi = Abi.gnu,
357 },
358 LibCTarget{
359 .name = "sh3-linux-gnu",
360 .zig_arch = null,
361 .zig_abi = Abi.gnu,
362 },
363 LibCTarget{
364 .name = "sh4eb-linux-gnu",
365 .zig_arch = null,
366 .zig_abi = Abi.gnu,
367 },
368 LibCTarget{
369 .name = "sh4eb-linux-gnu-soft",
370 .zig_arch = null,
371 .zig_abi = null,
372 },
373 LibCTarget{
374 .name = "sh4-linux-gnu",
375 .zig_arch = null,
376 .zig_abi = Abi.gnu,
377 },
378 LibCTarget{
379 .name = "sh4-linux-gnu-soft",
380 .zig_arch = null,
381 .zig_abi = null,
382 },146 },
383 LibCTarget{147 LibCTarget{
384 .name = "sparc64-linux-gnu",148 .name = "sparc64-linux-gnu",
385 .zig_arch = Arch.sparc,149 .arch = MultiArch {.specific = Arch.sparc},
386 .zig_abi = Abi.gnu,150 .abi = MultiAbi {.specific = Abi.gnu},
387 },
388 LibCTarget{
389 .name = "sparc64-linux-gnu-disable-multi-arch",
390 .zig_arch = Arch.sparc,
391 .zig_abi = null,
392 },151 },
393 LibCTarget{152 LibCTarget{
394 .name = "sparcv9-linux-gnu",153 .name = "sparcv9-linux-gnu",
395 .zig_arch = Arch.sparcv9,154 .arch = MultiArch {.specific = Arch.sparcv9},
396 .zig_abi = Abi.gnu,155 .abi = MultiAbi {.specific = Abi.gnu},
397 },
398 LibCTarget{
399 .name = "sparcv9-linux-gnu-disable-multi-arch",
400 .zig_arch = Arch.sparcv9,
401 .zig_abi = null,
402 },156 },
403 LibCTarget{157 LibCTarget{
404 .name = "x86_64-linux-gnu",158 .name = "x86_64-linux-gnu",
405 .zig_arch = Arch.x86_64,159 .arch = MultiArch {.specific = Arch.x86_64},
406 .zig_abi = Abi.gnu,160 .abi = MultiAbi {.specific = Abi.gnu},
407 },
408 LibCTarget{
409 .name = "x86_64-linux-gnu-disable-multi-arch",
410 .zig_arch = Arch.x86_64,
411 .zig_abi = null,
412 },
413 LibCTarget{
414 .name = "x86_64-linux-gnu-enable-obsolete",
415 .zig_arch = Arch.x86_64,
416 .zig_abi = null,
417 },
418 LibCTarget{
419 .name = "x86_64-linux-gnu-static-pie",
420 .zig_arch = Arch.x86_64,
421 .zig_abi = null,
422 },161 },
423 LibCTarget{162 LibCTarget{
424 .name = "x86_64-linux-gnu-x32",163 .name = "x86_64-linux-gnu-x32",
425 .zig_arch = Arch.x86_64,164 .arch = MultiArch {.specific = Arch.x86_64},
426 .zig_abi = Abi.gnux32,165 .abi = MultiAbi {.specific = Abi.gnux32},
427 },
428 LibCTarget{
429 .name = "x86_64-linux-gnu-x32-static-pie",
430 .zig_arch = Arch.x86_64,
431 .zig_abi = null,
432 },166 },
433};167};
434168
...@@ -436,42 +170,52 @@ const musl_targets = [_]LibCTarget{...@@ -436,42 +170,52 @@ const musl_targets = [_]LibCTarget{
436 LibCTarget{170 LibCTarget{
437 .name = "aarch64",171 .name = "aarch64",
438 .arch = MultiArch.aarch64,172 .arch = MultiArch.aarch64,
173 .abi = MultiAbi.musl,
439 },174 },
440 LibCTarget{175 LibCTarget{
441 .name = "arm",176 .name = "arm",
442 .arch = MultiArch.arm,177 .arch = MultiArch.arm,
178 .abi = MultiAbi.musl,
443 },179 },
444 LibCTarget{180 LibCTarget{
445 .name = "i386",181 .name = "i386",
446 .arch = MultiArch{ .specific = .i386 },182 .arch = MultiArch{ .specific = .i386 },
183 .abi = MultiAbi.musl,
447 },184 },
448 LibCTarget{185 LibCTarget{
449 .name = "mips",186 .name = "mips",
450 .arch = MultiArch.mips,187 .arch = MultiArch.mips,
188 .abi = MultiAbi.musl,
451 },189 },
452 LibCTarget{190 LibCTarget{
453 .name = "mips64",191 .name = "mips64",
454 .arch = MultiArch.mips64,192 .arch = MultiArch.mips64,
193 .abi = MultiAbi.musl,
455 },194 },
456 LibCTarget{195 LibCTarget{
457 .name = "powerpc",196 .name = "powerpc",
458 .arch = MultiArch{ .specific = .powerpc },197 .arch = MultiArch{ .specific = .powerpc },
198 .abi = MultiAbi.musl,
459 },199 },
460 LibCTarget{200 LibCTarget{
461 .name = "powerpc64",201 .name = "powerpc64",
462 .arch = MultiArch.powerpc64,202 .arch = MultiArch.powerpc64,
203 .abi = MultiAbi.musl,
463 },204 },
464 LibCTarget{205 LibCTarget{
465 .name = "riscv64",206 .name = "riscv64",
466 .arch = MultiArch{ .specific = .riscv64 },207 .arch = MultiArch{ .specific = .riscv64 },
208 .abi = MultiAbi.musl,
467 },209 },
468 LibCTarget{210 LibCTarget{
469 .name = "s390x",211 .name = "s390x",
470 .arch = MultiArch{ .specific = .s390x },212 .arch = MultiArch{ .specific = .s390x },
213 .abi = MultiAbi.musl,
471 },214 },
472 LibCTarget{215 LibCTarget{
473 .name = "x86_64",216 .name = "x86_64",
474 .arch = MultiArch{ .specific = .x86_64 },217 .arch = MultiArch{ .specific = .x86_64 },
218 .abi = MultiAbi.musl,
475 },219 },
476};220};
477221
...@@ -562,7 +306,7 @@ pub fn main() !void {...@@ -562,7 +306,7 @@ pub fn main() !void {
562 var libc_targets: []const LibCTarget = undefined;306 var libc_targets: []const LibCTarget = undefined;
563 switch (vendor) {307 switch (vendor) {
564 .musl => libc_targets = musl_targets,308 .musl => libc_targets = musl_targets,
565 .glibc => @panic("TODO this regressed"), // glibc_targets,309 .glibc => libc_targets = glibc_targets,
566 }310 }
567311
568 var path_table = PathTable.init(allocator);312 var path_table = PathTable.init(allocator);
...@@ -577,7 +321,7 @@ pub fn main() !void {...@@ -577,7 +321,7 @@ pub fn main() !void {
577 .arch = libc_target.arch,321 .arch = libc_target.arch,
578 .abi = switch (vendor) {322 .abi = switch (vendor) {
579 .musl => .musl,323 .musl => .musl,
580 else => @panic("TODO this regressed"),324 .glibc => libc_target.abi.specific,
581 },325 },
582 .os = .linux,326 .os = .linux,
583 };327 };
tools/update_glibc.zig+1-1
...@@ -135,7 +135,7 @@ pub fn main() !void {...@@ -135,7 +135,7 @@ pub fn main() !void {
135 const allocator = &arena.allocator;135 const allocator = &arena.allocator;
136 const args = try std.process.argsAlloc(allocator);136 const args = try std.process.argsAlloc(allocator);
137 const in_glibc_dir = args[1]; // path to the unzipped tarball of glibc, e.g. ~/downloads/glibc-2.25137 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 zig138 const zig_src_dir = args[2]; // path to the source checkout of zig, lib dir, e.g. ~/zig-src/lib
139139
140 const prefix = try fs.path.join(allocator, [_][]const u8{ in_glibc_dir, "sysdeps", "unix", "sysv", "linux" });140 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" });141 const glibc_out_dir = try fs.path.join(allocator, [_][]const u8{ zig_src_dir, "libc", "glibc" });