diff --git a/lib/libc/glibc/abi.txt b/lib/libc/glibc/abi.txt index 13053a9417..4c822a7a44 100644 --- a/lib/libc/glibc/abi.txt +++ b/lib/libc/glibc/abi.txt @@ -1655,6 +1655,8 @@ aarch64-linux-gnu aarch64_be-linux-gnu 29 29 29 +29 +29 37 37 37 @@ -1772,6 +1774,8 @@ aarch64-linux-gnu aarch64_be-linux-gnu 29 29 29 +29 +29 37 37 37 @@ -1916,6 +1920,7 @@ aarch64-linux-gnu aarch64_be-linux-gnu 29 29 29 +29 37 37 37 @@ -3299,6 +3304,8 @@ aarch64-linux-gnu aarch64_be-linux-gnu 29 29 29 +29 +29 35 35 37 @@ -5614,6 +5621,8 @@ s390x-linux-gnu 5 5 5 +5 +5 37 37 37 @@ -5708,6 +5717,8 @@ s390x-linux-gnu 5 5 5 +5 +5 22 5 5 @@ -5875,6 +5886,7 @@ s390x-linux-gnu 5 5 5 +5 37 37 37 @@ -7257,6 +7269,8 @@ s390x-linux-gnu 5 5 5 +5 +5 26 35 35 @@ -9573,6 +9587,8 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf 16 16 16 +16 +16 37 37 @@ -9667,6 +9683,8 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf 16 16 16 +16 +16 22 16 16 @@ -9834,6 +9852,7 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf 16 16 16 +16 37 37 @@ -11216,6 +11235,8 @@ arm-linux-gnueabi armeb-linux-gnueabi arm-linux-gnueabihf armeb-linux-gnueabihf 16 16 16 +16 +16 26 35 35 @@ -13530,6 +13551,8 @@ sparc-linux-gnu sparcel-linux-gnu 0 1 0 +0 +0 1 1 37 @@ -13626,6 +13649,8 @@ sparc-linux-gnu sparcel-linux-gnu 0 0 0 +0 +0 22 0 0 @@ -13790,6 +13815,7 @@ sparc-linux-gnu sparcel-linux-gnu 0 0 0 +0 1 1 1 @@ -15175,6 +15201,8 @@ sparc-linux-gnu sparcel-linux-gnu 0 0 0 +0 +0 26 35 35 @@ -17489,6 +17517,8 @@ sparcv9-linux-gnu 5 5 5 +0 +0 5 5 37 @@ -17574,6 +17604,8 @@ sparcv9-linux-gnu 5 5 5 +0 +0 5 5 5 @@ -17746,6 +17778,7 @@ sparcv9-linux-gnu 5 5 38 +0 5 5 5 @@ -19127,6 +19160,8 @@ sparcv9-linux-gnu 15 5 5 +0 +0 5 5 5 @@ -21448,6 +21483,8 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64 0 5 0 +0 +0 5 5 37 @@ -21544,6 +21581,8 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64 0 0 0 +0 +0 22 0 0 @@ -21708,6 +21747,7 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64 0 0 0 +0 5 5 5 @@ -23093,6 +23133,8 @@ mips64el-linux-gnuabi64 mips64-linux-gnuabi64 0 0 0 +0 +0 26 35 35 @@ -25407,6 +25449,8 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32 0 5 0 +0 +0 5 5 37 @@ -25503,6 +25547,8 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32 0 0 0 +0 +0 22 0 0 @@ -25667,6 +25713,7 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32 0 0 0 +0 5 5 5 @@ -27052,6 +27099,8 @@ mips64el-linux-gnuabin32 mips64-linux-gnuabin32 0 0 0 +0 +0 26 35 35 @@ -29366,6 +29415,8 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf 0 5 0 +0 +0 5 5 @@ -29462,6 +29513,8 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf 0 0 0 +0 +0 22 0 0 @@ -29626,6 +29679,7 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf 0 0 0 +0 5 5 5 @@ -31011,6 +31065,8 @@ mipsel-linux-gnueabihf mips-linux-gnueabihf 0 0 0 +0 +0 26 35 35 @@ -33325,6 +33381,8 @@ mipsel-linux-gnueabi mips-linux-gnueabi 0 5 0 +0 +0 5 5 @@ -33421,6 +33479,8 @@ mipsel-linux-gnueabi mips-linux-gnueabi 0 0 0 +0 +0 22 0 0 @@ -33585,6 +33645,7 @@ mipsel-linux-gnueabi mips-linux-gnueabi 0 0 0 +0 5 5 5 @@ -34970,6 +35031,8 @@ mipsel-linux-gnueabi mips-linux-gnueabi 0 0 0 +0 +0 26 35 35 @@ -37286,6 +37349,8 @@ x86_64-linux-gnu 10 10 10 +10 +10 36 37 37 @@ -37380,6 +37445,8 @@ x86_64-linux-gnu 10 10 10 +10 +10 22 10 10 @@ -37547,6 +37614,7 @@ x86_64-linux-gnu 10 10 10 +10 36 37 37 @@ -38929,6 +38997,8 @@ x86_64-linux-gnu 10 10 10 +10 +10 26 35 35 @@ -41245,6 +41315,8 @@ x86_64-linux-gnux32 28 28 28 +28 +28 36 37 37 @@ -41362,6 +41434,8 @@ x86_64-linux-gnux32 28 28 28 +28 +28 36 37 37 @@ -41506,6 +41580,7 @@ x86_64-linux-gnux32 28 28 28 +28 36 37 37 @@ -42889,6 +42964,8 @@ x86_64-linux-gnux32 28 28 28 +28 +28 35 35 36 @@ -45202,6 +45279,8 @@ i386-linux-gnu 0 1 0 +0 +0 1 1 36 @@ -45298,6 +45377,8 @@ i386-linux-gnu 0 0 0 +0 +0 22 0 0 @@ -45462,6 +45543,7 @@ i386-linux-gnu 0 0 0 +0 1 1 1 @@ -46847,6 +46929,8 @@ i386-linux-gnu 0 0 0 +0 +0 26 35 35 @@ -49163,6 +49247,8 @@ powerpc64le-linux-gnu 29 29 29 +29 +29 36 37 37 @@ -49280,6 +49366,8 @@ powerpc64le-linux-gnu 29 29 29 +29 +29 36 37 37 @@ -49424,6 +49512,7 @@ powerpc64le-linux-gnu 29 29 29 +29 36 37 37 @@ -50807,6 +50896,8 @@ powerpc64le-linux-gnu 29 29 29 +29 +29 35 35 36 @@ -53122,6 +53213,8 @@ powerpc64-linux-gnu 12 12 12 +12 +12 37 37 @@ -53216,6 +53309,8 @@ powerpc64-linux-gnu 12 12 12 +12 +12 22 12 12 @@ -53383,6 +53478,7 @@ powerpc64-linux-gnu 12 12 12 +12 37 37 @@ -54765,6 +54861,8 @@ powerpc64-linux-gnu 12 12 12 +12 +12 26 35 35 @@ -57079,6 +57177,8 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf 0 1 0 +0 +0 1 1 @@ -57175,6 +57275,8 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf 0 0 0 +0 +0 22 0 0 @@ -57339,6 +57441,7 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf 0 0 0 +0 1 1 1 @@ -58724,6 +58827,8 @@ powerpc-linux-gnueabi powerpc-linux-gnueabihf 0 0 0 +0 +0 26 35 35 diff --git a/lib/libc/glibc/fns.txt b/lib/libc/glibc/fns.txt index 5d274d178e..23151f7431 100644 --- a/lib/libc/glibc/fns.txt +++ b/lib/libc/glibc/fns.txt @@ -1652,6 +1652,8 @@ creall m creat c creat64 c create_module c +crypt crypt +crypt_r crypt csin m csinf m csinf128 m @@ -1737,6 +1739,8 @@ eaccess c ecb_crypt c ecvt c ecvt_r c +encrypt crypt +encrypt_r crypt endaliasent c endfsent c endgrent c @@ -1909,6 +1913,7 @@ fclose c fcloseall c fcntl c fcntl64 c +fcrypt crypt fcvt c fcvt_r c fdatasync c @@ -3290,6 +3295,8 @@ sethostname c setipv4sourcefilter c setitimer c setjmp c +setkey crypt +setkey_r crypt setlinebuf c setlocale c setlogin c diff --git a/src/glibc.zig b/src/glibc.zig index 3d63f5d3de..6da397d4f5 100644 --- a/src/glibc.zig +++ b/src/glibc.zig @@ -48,6 +48,7 @@ pub const libs = [_]Lib{ .{ .name = "rt", .sover = 1 }, .{ .name = "ld", .sover = 2 }, .{ .name = "util", .sover = 1 }, + .{ .name = "crypt", .sover = 1 }, }; pub const LoadMetaDataError = error{ diff --git a/src/stage1/target.cpp b/src/stage1/target.cpp index 8f3895a81b..97f7a291d1 100644 --- a/src/stage1/target.cpp +++ b/src/stage1/target.cpp @@ -1146,8 +1146,6 @@ bool target_is_libc_lib_name(const ZigTarget *target, const char *name) { return true; if (equal(name, "dl")) return true; - if (equal(name, "util")) - return true; } if (target_os_is_darwin(target->os) && equal(name, "System")) diff --git a/src/target.zig b/src/target.zig index 34b6dc16a0..647237b680 100644 --- a/src/target.zig +++ b/src/target.zig @@ -324,8 +324,6 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool { return true; if (eqlIgnoreCase(ignore_case, name, "dl")) return true; - if (eqlIgnoreCase(ignore_case, name, "util")) - return true; } if (target.os.tag.isDarwin() and eqlIgnoreCase(ignore_case, name, "System")) diff --git a/tools/update_glibc.zig b/tools/update_glibc.zig index c0f61d6c65..8478cfb13b 100644 --- a/tools/update_glibc.zig +++ b/tools/update_glibc.zig @@ -22,6 +22,7 @@ const lib_names = [_][]const u8{ "rt", "ld", "util", + "crypt", }; // fpu/nofpu are hardcoded elsewhere, based on .gnueabi/.gnueabihf with an exception for .arm