Commit d02838b71a

Andrew Kelley <andrew@ziglang.org>
2020-04-04 20:43:51
add libutil to zig's glibc support
1 parent dc7e8b2
Changed files (5)
lib/libc/glibc/abi.txt
@@ -1856,6 +1856,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+29
 37
 37
 37
@@ -2422,6 +2423,10 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+29
+29
+29
+29
 37
 37
 37
@@ -2625,6 +2630,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu
 29
 29
 29
+29
 
 
 
@@ -5572,6 +5578,7 @@ s390x-linux-gnu
 5
 5
 5
+5
 5 16
 5
 5
@@ -6151,7 +6158,11 @@ s390x-linux-gnu
 37
 37
 37
+5
+5
 5 16
+5
+5
 31 5
 5
 5
@@ -6361,6 +6372,7 @@ s390x-linux-gnu
 5
 5
 5
+5
 
 
 
@@ -9328,6 +9340,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
+16
 
 37
 37
@@ -9894,6 +9907,10 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
+16
+16
+16
+16
 
 37
 37
@@ -10108,6 +10125,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf
 16
 16
 16
+16
 21
 16
 37
@@ -13044,6 +13062,7 @@ sparc-linux-gnu sparcel-linux-gnu
 0 5
 0
 0
+0
 0 16
 0
 0
@@ -13623,10 +13642,14 @@ sparc-linux-gnu sparcel-linux-gnu
 37
 37
 37
+0
+0
 0 16
 0
 0
 0
+0
+0
 12
 1
 1
@@ -13833,6 +13856,7 @@ sparc-linux-gnu sparcel-linux-gnu
 0
 0
 0
+0
 
 
 
@@ -16779,6 +16803,7 @@ sparcv9-linux-gnu
 5
 5
 5
+0
 5
 5
 5
@@ -17359,7 +17384,11 @@ sparcv9-linux-gnu
 37
 37
 37
+0
+0
 5
+0
+0
 5
 5
 5
@@ -17565,6 +17594,7 @@ sparcv9-linux-gnu
 16
 5
 5
+0
 5
 5
 5
@@ -20520,6 +20550,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 0
+0
 5
 5
 5
@@ -21099,6 +21130,10 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 0
+0
+0
+0
+0
 12
 5
 5
@@ -21305,6 +21340,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64
 0
 0
 0
+0
 
 
 
@@ -24256,6 +24292,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 0
+0
 5
 5
 5
@@ -24835,6 +24872,10 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 0
+0
+0
+0
+0
 12
 5
 5
@@ -25041,6 +25082,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32
 0
 0
 0
+0
 
 
 
@@ -27992,6 +28034,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 0
+0
 5
 5
 5
@@ -28567,6 +28610,10 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 37
 37
 
+0
+0
+0
+0
 0
 0
 0
@@ -28777,6 +28824,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf
 0
 0
 0
+0
 
 
 
@@ -31728,6 +31776,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 0
+0
 5
 5
 5
@@ -32303,6 +32352,10 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 37
 37
 
+0
+0
+0
+0
 0
 0
 0
@@ -32513,6 +32566,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi
 0
 0
 0
+0
 
 
 
@@ -35473,6 +35527,7 @@ x86_64-linux-gnu
 10
 10
 10
+10
 12
 12
 12
@@ -36043,6 +36098,10 @@ x86_64-linux-gnu
 10
 10
 10
+10
+10
+10
+10
 12
 10
 10
@@ -36249,6 +36308,7 @@ x86_64-linux-gnu
 10
 10
 10
+10
 
 
 
@@ -39216,6 +39276,7 @@ x86_64-linux-gnux32
 28
 28
 28
+28
 36
 37
 37
@@ -39782,6 +39843,10 @@ x86_64-linux-gnux32
 28
 28
 28
+28
+28
+28
+28
 36
 37
 37
@@ -39985,6 +40050,7 @@ x86_64-linux-gnux32
 28
 28
 28
+28
 
 
 
@@ -42936,6 +43002,7 @@ i386-linux-gnu
 0
 0
 0
+0
 1
 5
 5
@@ -43515,6 +43582,10 @@ i386-linux-gnu
 0
 0
 0
+0
+0
+0
+0
 12
 1
 1
@@ -43721,6 +43792,7 @@ i386-linux-gnu
 0
 0
 0
+0
 
 
 
@@ -46688,6 +46760,7 @@ powerpc64le-linux-gnu
 29
 29
 29
+29
 36
 37
 37
@@ -47254,6 +47327,10 @@ powerpc64le-linux-gnu
 29
 29
 29
+29
+29
+29
+29
 36
 37
 37
@@ -47457,6 +47534,7 @@ powerpc64le-linux-gnu
 29
 29
 29
+29
 
 
 
@@ -50404,6 +50482,7 @@ powerpc64-linux-gnu
 12
 12
 12
+12
 12 16
 12
 12
@@ -50983,7 +51062,11 @@ powerpc64-linux-gnu
 37
 37
 
+12
+12
 12 16
+12
+12
 12 15
 12
 12
@@ -51193,6 +51276,7 @@ powerpc64-linux-gnu
 12
 12
 12
+12
 
 
 
@@ -54140,6 +54224,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0 5
 0
 0
+0
 0 16
 0
 0
@@ -54719,7 +54804,11 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 37
 37
 
+0
+0
 0 16
+0
+0
 0 15
 0
 0
@@ -54929,6 +55018,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf
 0
 0
 0
+0
 
 
 
lib/libc/glibc/fns.txt
@@ -1834,6 +1834,7 @@ fopen c
 fopen64 c
 fopencookie c
 fork c
+forkpty util
 fpathconf c
 fprintf c
 fputc c
@@ -2414,7 +2415,11 @@ logf32 m
 logf32x m
 logf64 m
 logf64x m
+login util
+login_tty util
 logl m
+logout util
+logwtmp util
 longjmp c
 lrand48 c
 lrand48_r c
@@ -2620,6 +2625,7 @@ openat c
 openat64 c
 opendir c
 openlog c
+openpty util
 optarg c
 opterr c
 optind c
src/glibc.cpp
@@ -17,6 +17,7 @@ static const ZigGLibCLib glibc_libs[] = {
     {"dl", 2},
     {"rt", 1},
     {"ld", 2},
+    {"util", 1},
 };
 
 Error glibc_load_metadata(ZigGLibCAbi **out_result, Buf *zig_lib_dir, bool verbose) {
src/target.cpp
@@ -1238,6 +1238,8 @@ bool target_is_libc_lib_name(const ZigTarget *target, const char *name) {
             return true;
         if (strcmp(name, "dl") == 0)
             return true;
+        if (strcmp(name, "util") == 0)
+            return true;
     }
 
     return false;
tools/update_glibc.zig
@@ -21,6 +21,7 @@ const lib_names = [_][]const u8{
     "pthread",
     "rt",
     "ld",
+    "util",
 };
 
 // fpu/nofpu are hardcoded elsewhere, based on .gnueabi/.gnueabihf with an exception for .arm
@@ -182,7 +183,8 @@ pub fn main() !void {
                 }
                 break :blk try fs.path.join(allocator, &[_][]const u8{ prefix, abi_list.path, basename });
             };
-            const contents = std.io.readFileAlloc(allocator, abi_list_filename) catch |err| {
+            const max_bytes = 10 * 1024 * 1024;
+            const contents = std.fs.cwd().readFileAlloc(allocator, abi_list_filename, max_bytes) catch |err| {
                 std.debug.warn("unable to open {}: {}\n", .{ abi_list_filename, err });
                 std.process.exit(1);
             };