mirror of
https://github.com/ziglang/zig.git
synced 2024-11-27 07:32:44 +00:00
c4f53d1ef6
The steps to repro this issue are: zig build-obj hello.zig -target x86_64-windows-msvc zig build-exe hello.obj -target x86_64-windows-msvc --subsystem console -lkernel32 -lntdll What was happening is that the main Compilation added a work item to produce kernel32.lib. Then it added a sub-Compilation to build zig's libc, which ended up calling a function with extern "kernel32", which caused the sub-Compilation to also try to produce kernel32.lib. The main Compilation and sub-Compilation do not coordinate about the set of import libraries that they will be trying to build, so this caused a deadlock. This commit solves the problem by disabling the extern "foo" feature from working when building compiler_rt or libc. Zig's linker code is now responsible for putting the appropriate import libs on the linker line, if any for compiler_rt and libc. Related: #5825
31 lines
1.6 KiB
Zig
31 lines
1.6 KiB
Zig
const std = @import("std");
|
|
const tests = @import("tests.zig");
|
|
|
|
pub fn addCases(cases: *tests.StandaloneContext) void {
|
|
cases.add("test/standalone/hello_world/hello.zig");
|
|
cases.addC("test/standalone/hello_world/hello_libc.zig");
|
|
cases.add("test/standalone/cat/main.zig");
|
|
cases.add("test/standalone/guess_number/main.zig");
|
|
cases.add("test/standalone/main_return_error/error_u8.zig");
|
|
cases.add("test/standalone/main_return_error/error_u8_non_zero.zig");
|
|
cases.addBuildFile("test/standalone/main_pkg_path/build.zig");
|
|
cases.addBuildFile("test/standalone/shared_library/build.zig");
|
|
cases.addBuildFile("test/standalone/mix_o_files/build.zig");
|
|
cases.addBuildFile("test/standalone/global_linkage/build.zig");
|
|
cases.addBuildFile("test/standalone/static_c_lib/build.zig");
|
|
cases.addBuildFile("test/standalone/issue_339/build.zig");
|
|
cases.addBuildFile("test/standalone/issue_794/build.zig");
|
|
cases.addBuildFile("test/standalone/issue_5825/build.zig");
|
|
cases.addBuildFile("test/standalone/pkg_import/build.zig");
|
|
cases.addBuildFile("test/standalone/use_alias/build.zig");
|
|
cases.addBuildFile("test/standalone/brace_expansion/build.zig");
|
|
cases.addBuildFile("test/standalone/empty_env/build.zig");
|
|
cases.addBuildFile("test/standalone/issue_7030/build.zig");
|
|
if (std.Target.current.os.tag != .wasi) {
|
|
cases.addBuildFile("test/standalone/load_dynamic_library/build.zig");
|
|
}
|
|
if (std.Target.current.cpu.arch == .x86_64) { // TODO add C ABI support for other architectures
|
|
cases.addBuildFile("test/stage1/c_abi/build.zig");
|
|
}
|
|
}
|