| ... | ... | @@ -15836,6 +15836,13 @@ static void add_link_lib_symbol(IrAnalyze *ira, Buf *lib_name, Buf *symbol_name, |
| 15836 | 15836 | ira->codegen->reported_bad_link_libc_error = true; |
| 15837 | 15837 | } |
| 15838 | 15838 | |
| 15839 | bool is_wasi = ira->codegen->zig_target->os == OsWASI; |
| 15840 | if (!is_wasi && buf_eql_str(lib_name, "wasi")) { |
| 15841 | ir_add_error_node(ira, source_node, |
| 15842 | buf_sprintf("linking against wasi libarry")); |
| 15843 | ira->codegen->reported_bad_link_libc_error = true; |
| 15844 | } |
| 15845 | |
| 15839 | 15846 | LinkLib *link_lib = add_link_lib(ira->codegen, lib_name); |
| 15840 | 15847 | for (size_t i = 0; i < link_lib->symbols.length; i += 1) { |
| 15841 | 15848 | Buf *existing_symbol_name = link_lib->symbols.at(i); |
| ... | ... | @@ -15844,7 +15851,7 @@ static void add_link_lib_symbol(IrAnalyze *ira, Buf *lib_name, Buf *symbol_name, |
| 15844 | 15851 | } |
| 15845 | 15852 | } |
| 15846 | 15853 | |
| 15847 | | if (!is_libc && !ira->codegen->have_pic && !ira->codegen->reported_bad_link_libc_error) { |
| 15854 | if (!is_libc && !ira->codegen->have_pic && !ira->codegen->reported_bad_link_libc_error && !is_wasi) { |
| 15848 | 15855 | ErrorMsg *msg = ir_add_error_node(ira, source_node, |
| 15849 | 15856 | buf_sprintf("dependency on dynamic library '%s' requires enabling Position Independent Code", |
| 15850 | 15857 | buf_ptr(lib_name))); |