authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-12-08 20:20:28+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-12-08 20:20:54+01:00
log1e095024a7974f323032f517aeff595e64963301
tree401fd8366ec9a20e3009433d84dae979e70e9d0c
parent92117d9bef9f21f0d4840748606717574fd4f44a
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

compiler: Check for wasi-libc emulated libraries before libc libraries.

This will become useful when we update wasi-libc and get the emulated libdl.

1 files changed, 9 insertions(+), 6 deletions(-)

src/main.zig+9-6
......@@ -3824,6 +3824,14 @@ fn createModule(
38243824 for (create_module.cli_link_inputs.items) |cli_link_input| switch (cli_link_input) {
38253825 .name_query => |nq| {
38263826 const lib_name = nq.name;
3827
3828 if (target.os.tag == .wasi) {
3829 if (wasi_libc.getEmulatedLibCrtFile(lib_name)) |crt_file| {
3830 try create_module.wasi_emulated_libs.append(arena, crt_file);
3831 continue;
3832 }
3833 }
3834
38273835 if (std.zig.target.isLibCLibName(target, lib_name)) {
38283836 create_module.opts.link_libc = true;
38293837 continue;
......@@ -3832,6 +3840,7 @@ fn createModule(
38323840 create_module.opts.link_libcpp = true;
38333841 continue;
38343842 }
3843
38353844 switch (target_util.classifyCompilerRtLibName(lib_name)) {
38363845 .none => {},
38373846 .only_libunwind, .both => {
......@@ -3857,12 +3866,6 @@ fn createModule(
38573866 fatal("cannot use absolute path as a system library: {s}", .{lib_name});
38583867 }
38593868
3860 if (target.os.tag == .wasi) {
3861 if (wasi_libc.getEmulatedLibCrtFile(lib_name)) |crt_file| {
3862 try create_module.wasi_emulated_libs.append(arena, crt_file);
3863 continue;
3864 }
3865 }
38663869 unresolved_link_inputs.appendAssumeCapacity(cli_link_input);
38673870 any_name_queries_remaining = true;
38683871 },