diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-04-14 10:45:30 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-04-14 10:45:30 -0400 |
| commit | 63a970a548c1973a216d9cf5109138451a0d214a (patch) | |
| tree | 284bc38814d5ee31be03df1a15447c5d6fe20d45 /src/ir.cpp | |
| parent | 0f1d92e2cfda7ac633cc66fdf2b0e5e27cdf0f98 (diff) | |
| parent | 94e0871603add796e87ac53a3271cf5b9b3d6b0e (diff) | |
| download | zig-63a970a548c1973a216d9cf5109138451a0d214a.tar.gz zig-63a970a548c1973a216d9cf5109138451a0d214a.zip | |
Merge pull request #2268 from shritesh/wasi
wasm: preliminary WASI OS support
Diffstat (limited to 'src/ir.cpp')
| -rw-r--r-- | src/ir.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/ir.cpp b/src/ir.cpp index 3d4ab45dc9..db45496f3f 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -15828,6 +15828,13 @@ static void add_link_lib_symbol(IrAnalyze *ira, Buf *lib_name, Buf *symbol_name, ira->codegen->reported_bad_link_libc_error = true; } + bool is_wasi = buf_eql_str(lib_name, "wasi"); + if (is_wasi && ira->codegen->zig_target->os != OsWASI) { + ir_add_error_node(ira, source_node, + buf_sprintf("linking against wasi library")); + ira->codegen->reported_bad_link_libc_error = true; + } + LinkLib *link_lib = add_link_lib(ira->codegen, lib_name); for (size_t i = 0; i < link_lib->symbols.length; i += 1) { Buf *existing_symbol_name = link_lib->symbols.at(i); @@ -15836,7 +15843,7 @@ static void add_link_lib_symbol(IrAnalyze *ira, Buf *lib_name, Buf *symbol_name, } } - if (!is_libc && !ira->codegen->have_pic && !ira->codegen->reported_bad_link_libc_error) { + if (!is_libc && !is_wasi && !ira->codegen->have_pic && !ira->codegen->reported_bad_link_libc_error) { ErrorMsg *msg = ir_add_error_node(ira, source_node, buf_sprintf("dependency on dynamic library '%s' requires enabling Position Independent Code", buf_ptr(lib_name))); |
