-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behavior
Milestone
Description
Extracted from #14647.
There are two problems here. One is #14908. The other looks like zig is failing to put the subarch into the llvm triple. This issue is to track the latter issue.
ld.lld: warning: Linking two modules of different target triples: '/home/andy/Downloads/zig/zig-cache/o/610cf441612621c1d4bea0844fb8daea/test.o' is 'arm-unknown-linux-musleabihf' whereas 'ld-temp.o' is 'armv6kz-unknown-linux-musleabihf'
Lines 1019 to 1066 in b4d58e9
| pub fn addCAbiTests(b: *std.Build, skip_non_native: bool, skip_release: bool) *Step { | |
| const step = b.step("test-c-abi", "Run the C ABI tests"); | |
| const optimize_modes: [2]OptimizeMode = .{ .Debug, .ReleaseFast }; | |
| for (optimize_modes) |optimize_mode| { | |
| if (optimize_mode != .Debug and skip_release) continue; | |
| for (c_abi_targets) |c_abi_target| { | |
| if (skip_non_native and !c_abi_target.isNative()) continue; | |
| if (c_abi_target.isWindows() and c_abi_target.getCpuArch() == .aarch64) { | |
| // https://github.com/ziglang/zig/issues/14908 | |
| continue; | |
| } | |
| const test_step = b.addTest(.{ | |
| .root_source_file = .{ .path = "test/c_abi/main.zig" }, | |
| .optimize = optimize_mode, | |
| .target = c_abi_target, | |
| }); | |
| if (c_abi_target.abi != null and c_abi_target.abi.?.isMusl()) { | |
| // TODO NativeTargetInfo insists on dynamically linking musl | |
| // for some reason? | |
| test_step.target_info.dynamic_linker.max_byte = null; | |
| } | |
| test_step.linkLibC(); | |
| test_step.addCSourceFile("test/c_abi/cfuncs.c", &.{"-std=c99"}); | |
| // test-c-abi should test both with LTO on and with LTO off. Only | |
| // some combinations are passing currently: | |
| // https://github.com/ziglang/zig/issues/14908 | |
| if (c_abi_target.isWindows()) { | |
| test_step.want_lto = false; | |
| } | |
| const triple_prefix = c_abi_target.zigTriple(b.allocator) catch @panic("OOM"); | |
| test_step.setName(b.fmt("test-c-abi-{s}-{s} ", .{ | |
| triple_prefix, @tagName(optimize_mode), | |
| })); | |
| const run = test_step.run(); | |
| run.skip_foreign_checks = true; | |
| step.dependOn(&run.step); | |
| } | |
| } | |
| return step; | |
| } |
Metadata
Metadata
Assignees
Labels
bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behavior