aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-04-14 10:45:30 -0400
committerGitHub <noreply@github.com>2019-04-14 10:45:30 -0400
commit63a970a548c1973a216d9cf5109138451a0d214a (patch)
tree284bc38814d5ee31be03df1a15447c5d6fe20d45 /src/ir.cpp
parent0f1d92e2cfda7ac633cc66fdf2b0e5e27cdf0f98 (diff)
parent94e0871603add796e87ac53a3271cf5b9b3d6b0e (diff)
downloadzig-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.cpp9
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)));