authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-04-04 14:43:51-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-04-04 14:43:51-04:00
logd02838b71a0b0fd3495c1b714ab3c6da05441980
treefe5534c66a1da33d7ce6e6c331018d99906e419b
parentdc7e8b2fdcc35bc78abfe2413201ca6a74aa20d4
signaturelock-open Commit is signed but in an unrecognized format.

add libutil to zig's glibc support


5 files changed, 102 insertions(+), 1 deletions(-)

lib/libc/glibc/abi.txt+90
...@@ -1856,6 +1856,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -1856,6 +1856,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
185629185629
185729185729
185829185829
185929
185937186037
186037186137
186137186237
...@@ -2422,6 +2423,10 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -2422,6 +2423,10 @@ aarch64-linux-gnu aarch64_be-linux-gnu
242229242329
242329242429
242429242529
242629
242729
242829
242929
242537243037
242637243137
242737243237
...@@ -2625,6 +2630,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu...@@ -2625,6 +2630,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
262529263029
262629263129
262729263229
263329
26282634
26292635
26302636
...@@ -5572,6 +5578,7 @@ s390x-linux-gnu...@@ -5572,6 +5578,7 @@ s390x-linux-gnu
5572555785
5573555795
5574555805
55815
55755 1655825 16
5576555835
5577555845
...@@ -6151,7 +6158,11 @@ s390x-linux-gnu...@@ -6151,7 +6158,11 @@ s390x-linux-gnu
615137615837
615237615937
615337616037
61615
61625
61545 1661635 16
61645
61655
615531 5616631 5
6156561675
6157561685
...@@ -6361,6 +6372,7 @@ s390x-linux-gnu...@@ -6361,6 +6372,7 @@ s390x-linux-gnu
6361563725
6362563735
6363563745
63755
63646376
63656377
63666378
...@@ -9328,6 +9340,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -9328,6 +9340,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
932816934016
932916934116
933016934216
934316
93319344
933237934537
933337934637
...@@ -9894,6 +9907,10 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -9894,6 +9907,10 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
989416990716
989516990816
989616990916
991016
991116
991216
991316
98979914
989837991537
989937991637
...@@ -10108,6 +10125,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf...@@ -10108,6 +10125,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
10108161012516
10109161012616
10110161012716
1012816
10111211012921
10112161013016
10113371013137
...@@ -13044,6 +13062,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13044,6 +13062,7 @@ sparc-linux-gnu sparcel-linux-gnu
130440 5130620 5
130450130630
130460130640
130650
130470 16130660 16
130480130670
130490130680
...@@ -13623,10 +13642,14 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13623,10 +13642,14 @@ sparc-linux-gnu sparcel-linux-gnu
13623371364237
13624371364337
13625371364437
136450
136460
136260 16136470 16
136270136480
136280136490
136290136500
136510
136520
13630121365312
136311136541
136321136551
...@@ -13833,6 +13856,7 @@ sparc-linux-gnu sparcel-linux-gnu...@@ -13833,6 +13856,7 @@ sparc-linux-gnu sparcel-linux-gnu
138330138560
138340138570
138350138580
138590
1383613860
1383713861
1383813862
...@@ -16779,6 +16803,7 @@ sparcv9-linux-gnu...@@ -16779,6 +16803,7 @@ sparcv9-linux-gnu
167795168035
167805168045
167815168055
168060
167825168075
167835168085
167845168095
...@@ -17359,7 +17384,11 @@ sparcv9-linux-gnu...@@ -17359,7 +17384,11 @@ sparcv9-linux-gnu
17359371738437
17360371738537
17361371738637
173870
173880
173625173895
173900
173910
173635173925
173645173935
173655173945
...@@ -17565,6 +17594,7 @@ sparcv9-linux-gnu...@@ -17565,6 +17594,7 @@ sparcv9-linux-gnu
17565161759416
175665175955
175675175965
175970
175685175985
175695175995
175705176005
...@@ -20520,6 +20550,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -20520,6 +20550,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
205200205500
205210205510
205220205520
205530
205235205545
205245205555
205255205565
...@@ -21099,6 +21130,10 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21099,6 +21130,10 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
210990211300
211000211310
211010211320
211330
211340
211350
211360
21102122113712
211035211385
211045211395
...@@ -21305,6 +21340,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64...@@ -21305,6 +21340,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
213050213400
213060213410
213070213420
213430
2130821344
2130921345
2131021346
...@@ -24256,6 +24292,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -24256,6 +24292,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
242560242920
242570242930
242580242940
242950
242595242965
242605242975
242615242985
...@@ -24835,6 +24872,10 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -24835,6 +24872,10 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
248350248720
248360248730
248370248740
248750
248760
248770
248780
24838122487912
248395248805
248405248815
...@@ -25041,6 +25082,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32...@@ -25041,6 +25082,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
250410250820
250420250830
250430250840
250850
2504425086
2504525087
2504625088
...@@ -27992,6 +28034,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -27992,6 +28034,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
279920280340
279930280350
279940280360
280370
279955280385
279965280395
279975280405
...@@ -28567,6 +28610,10 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -28567,6 +28610,10 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
28567372861037
28568372861137
2856928612
286130
286140
286150
286160
285700286170
285710286180
285720286190
...@@ -28777,6 +28824,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf...@@ -28777,6 +28824,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
287770288240
287780288250
287790288260
288270
2878028828
2878128829
2878228830
...@@ -31728,6 +31776,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -31728,6 +31776,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
317280317760
317290317770
317300317780
317790
317315317805
317325317815
317335317825
...@@ -32303,6 +32352,10 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -32303,6 +32352,10 @@ mipsel-linux-gnueabi mips-linux-gnueabi
32303373235237
32304373235337
3230532354
323550
323560
323570
323580
323060323590
323070323600
323080323610
...@@ -32513,6 +32566,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi...@@ -32513,6 +32566,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
325130325660
325140325670
325150325680
325690
3251632570
3251732571
3251832572
...@@ -35473,6 +35527,7 @@ x86_64-linux-gnu...@@ -35473,6 +35527,7 @@ x86_64-linux-gnu
35473103552710
35474103552810
35475103552910
3553010
35476123553112
35477123553212
35478123553312
...@@ -36043,6 +36098,10 @@ x86_64-linux-gnu...@@ -36043,6 +36098,10 @@ x86_64-linux-gnu
36043103609810
36044103609910
36045103610010
3610110
3610210
3610310
3610410
36046123610512
36047103610610
36048103610710
...@@ -36249,6 +36308,7 @@ x86_64-linux-gnu...@@ -36249,6 +36308,7 @@ x86_64-linux-gnu
36249103630810
36250103630910
36251103631010
3631110
3625236312
3625336313
3625436314
...@@ -39216,6 +39276,7 @@ x86_64-linux-gnux32...@@ -39216,6 +39276,7 @@ x86_64-linux-gnux32
39216283927628
39217283927728
39218283927828
3927928
39219363928036
39220373928137
39221373928237
...@@ -39782,6 +39843,10 @@ x86_64-linux-gnux32...@@ -39782,6 +39843,10 @@ x86_64-linux-gnux32
39782283984328
39783283984428
39784283984528
3984628
3984728
3984828
3984928
39785363985036
39786373985137
39787373985237
...@@ -39985,6 +40050,7 @@ x86_64-linux-gnux32...@@ -39985,6 +40050,7 @@ x86_64-linux-gnux32
39985284005028
39986284005128
39987284005228
4005328
3998840054
3998940055
3999040056
...@@ -42936,6 +43002,7 @@ i386-linux-gnu...@@ -42936,6 +43002,7 @@ i386-linux-gnu
429360430020
429370430030
429380430040
430050
429391430061
429405430075
429415430085
...@@ -43515,6 +43582,10 @@ i386-linux-gnu...@@ -43515,6 +43582,10 @@ i386-linux-gnu
435150435820
435160435830
435170435840
435850
435860
435870
435880
43518124358912
435191435901
435201435911
...@@ -43721,6 +43792,7 @@ i386-linux-gnu...@@ -43721,6 +43792,7 @@ i386-linux-gnu
437210437920
437220437930
437230437940
437950
4372443796
4372543797
4372643798
...@@ -46688,6 +46760,7 @@ powerpc64le-linux-gnu...@@ -46688,6 +46760,7 @@ powerpc64le-linux-gnu
46688294676029
46689294676129
46690294676229
4676329
46691364676436
46692374676537
46693374676637
...@@ -47254,6 +47327,10 @@ powerpc64le-linux-gnu...@@ -47254,6 +47327,10 @@ powerpc64le-linux-gnu
47254294732729
47255294732829
47256294732929
4733029
4733129
4733229
4733329
47257364733436
47258374733537
47259374733637
...@@ -47457,6 +47534,7 @@ powerpc64le-linux-gnu...@@ -47457,6 +47534,7 @@ powerpc64le-linux-gnu
47457294753429
47458294753529
47459294753629
4753729
4746047538
4746147539
4746247540
...@@ -50404,6 +50482,7 @@ powerpc64-linux-gnu...@@ -50404,6 +50482,7 @@ powerpc64-linux-gnu
50404125048212
50405125048312
50406125048412
5048512
5040712 165048612 16
50408125048712
50409125048812
...@@ -50983,7 +51062,11 @@ powerpc64-linux-gnu...@@ -50983,7 +51062,11 @@ powerpc64-linux-gnu
50983375106237
50984375106337
5098551064
5106512
5106612
5098612 165106712 16
5106812
5106912
5098712 155107012 15
50988125107112
50989125107212
...@@ -51193,6 +51276,7 @@ powerpc64-linux-gnu...@@ -51193,6 +51276,7 @@ powerpc64-linux-gnu
51193125127612
51194125127712
51195125127812
5127912
5119651280
5119751281
5119851282
...@@ -54140,6 +54224,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -54140,6 +54224,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
541400 5542240 5
541410542250
541420542260
542270
541430 16542280 16
541440542290
541450542300
...@@ -54719,7 +54804,11 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -54719,7 +54804,11 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
54719375480437
54720375480537
5472154806
548070
548080
547220 16548090 16
548100
548110
547230 15548120 15
547240548130
547250548140
...@@ -54929,6 +55018,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf...@@ -54929,6 +55018,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
549290550180
549300550190
549310550200
550210
5493255022
5493355023
5493455024
lib/libc/glibc/fns.txt+6
...@@ -1834,6 +1834,7 @@ fopen c...@@ -1834,6 +1834,7 @@ fopen c
1834fopen64 c1834fopen64 c
1835fopencookie c1835fopencookie c
1836fork c1836fork c
1837forkpty util
1837fpathconf c1838fpathconf c
1838fprintf c1839fprintf c
1839fputc c1840fputc c
...@@ -2414,7 +2415,11 @@ logf32 m...@@ -2414,7 +2415,11 @@ logf32 m
2414logf32x m2415logf32x m
2415logf64 m2416logf64 m
2416logf64x m2417logf64x m
2418login util
2419login_tty util
2417logl m2420logl m
2421logout util
2422logwtmp util
2418longjmp c2423longjmp c
2419lrand48 c2424lrand48 c
2420lrand48_r c2425lrand48_r c
...@@ -2620,6 +2625,7 @@ openat c...@@ -2620,6 +2625,7 @@ openat c
2620openat64 c2625openat64 c
2621opendir c2626opendir c
2622openlog c2627openlog c
2628openpty util
2623optarg c2629optarg c
2624opterr c2630opterr c
2625optind c2631optind c
src/glibc.cpp+1
...@@ -17,6 +17,7 @@ static const ZigGLibCLib glibc_libs[] = {...@@ -17,6 +17,7 @@ static const ZigGLibCLib glibc_libs[] = {
17 {"dl", 2},17 {"dl", 2},
18 {"rt", 1},18 {"rt", 1},
19 {"ld", 2},19 {"ld", 2},
20 {"util", 1},
20};21};
2122
22Error glibc_load_metadata(ZigGLibCAbi **out_result, Buf *zig_lib_dir, bool verbose) {23Error glibc_load_metadata(ZigGLibCAbi **out_result, Buf *zig_lib_dir, bool verbose) {
src/target.cpp+2
...@@ -1238,6 +1238,8 @@ bool target_is_libc_lib_name(const ZigTarget *target, const char *name) {...@@ -1238,6 +1238,8 @@ bool target_is_libc_lib_name(const ZigTarget *target, const char *name) {
1238 return true;1238 return true;
1239 if (strcmp(name, "dl") == 0)1239 if (strcmp(name, "dl") == 0)
1240 return true;1240 return true;
1241 if (strcmp(name, "util") == 0)
1242 return true;
1241 }1243 }
12421244
1243 return false;1245 return false;
tools/update_glibc.zig+3-1
...@@ -21,6 +21,7 @@ const lib_names = [_][]const u8{...@@ -21,6 +21,7 @@ const lib_names = [_][]const u8{
21 "pthread",21 "pthread",
22 "rt",22 "rt",
23 "ld",23 "ld",
24 "util",
24};25};
2526
26// fpu/nofpu are hardcoded elsewhere, based on .gnueabi/.gnueabihf with an exception for .arm27// fpu/nofpu are hardcoded elsewhere, based on .gnueabi/.gnueabihf with an exception for .arm
...@@ -182,7 +183,8 @@ pub fn main() !void {...@@ -182,7 +183,8 @@ pub fn main() !void {
182 }183 }
183 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, basename });184 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, basename });
184 };185 };
185 const contents = std.io.readFileAlloc(allocator, abi_list_filename) catch |err| {186 const max_bytes = 10 * 1024 * 1024;
187 const contents = std.fs.cwd().readFileAlloc(allocator, abi_list_filename, max_bytes) catch |err| {
186 std.debug.warn("unable to open {}: {}\n", .{ abi_list_filename, err });188 std.debug.warn("unable to open {}: {}\n", .{ abi_list_filename, err });
187 std.process.exit(1);189 std.process.exit(1);
188 };190 };