| author | |
| committer | |
| log | fda75f53fa19ed561a8fc0d7d5ed0e6a26ee3b1d |
| tree | ffb6ffb6bf9a92a01c13a232dcdee9211f4be6c1 |
| parent | 3beef5a94f0bb15e39dff7c817c6c98f2b87010e |
| signature |
This also turns off non-debug modes for the bss linker tests for
Wasm. This is done as it's not required to guarantee to zero out
the bss section for non-debug modes.3 files changed, 43 insertions(+), 1 deletions(-)
test/link.zig+6-1| ... | @@ -34,7 +34,7 @@ fn addWasmCases(cases: *tests.StandaloneContext) void { | ... | @@ -34,7 +34,7 @@ fn addWasmCases(cases: *tests.StandaloneContext) void { |
| 34 | }); | 34 | }); |
| 35 | 35 | ||
| 36 | cases.addBuildFile("test/link/wasm/bss/build.zig", .{ | 36 | cases.addBuildFile("test/link/wasm/bss/build.zig", .{ |
| 37 | .build_modes = true, | 37 | .build_modes = false, |
| 38 | .requires_stage2 = true, | 38 | .requires_stage2 = true, |
| 39 | }); | 39 | }); |
| 40 | 40 | ||
| ... | @@ -44,6 +44,11 @@ fn addWasmCases(cases: *tests.StandaloneContext) void { | ... | @@ -44,6 +44,11 @@ fn addWasmCases(cases: *tests.StandaloneContext) void { |
| 44 | .use_emulation = true, | 44 | .use_emulation = true, |
| 45 | }); | 45 | }); |
| 46 | 46 | ||
| 47 | cases.addBuildFile("test/link/wasm/producers/build.zig", .{ | ||
| 48 | .build_modes = true, | ||
| 49 | .requires_stage2 = true, | ||
| 50 | }); | ||
| 51 | |||
| 47 | cases.addBuildFile("test/link/wasm/segments/build.zig", .{ | 52 | cases.addBuildFile("test/link/wasm/segments/build.zig", .{ |
| 48 | .build_modes = true, | 53 | .build_modes = true, |
| 49 | .requires_stage2 = true, | 54 | .requires_stage2 = true, |
test/link/wasm/producers/build.zig created+36| ... | @@ -0,0 +1,36 @@ | ||
| 1 | const std = @import("std"); | ||
| 2 | const builtin = @import("builtin"); | ||
| 3 | const Builder = std.build.Builder; | ||
| 4 | |||
| 5 | pub fn build(b: *Builder) void { | ||
| 6 | const mode = b.standardReleaseOptions(); | ||
| 7 | |||
| 8 | const test_step = b.step("test", "Test"); | ||
| 9 | test_step.dependOn(b.getInstallStep()); | ||
| 10 | |||
| 11 | const lib = b.addSharedLibrary("lib", "lib.zig", .unversioned); | ||
| 12 | lib.setBuildMode(mode); | ||
| 13 | lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding }); | ||
| 14 | lib.use_llvm = false; | ||
| 15 | lib.use_stage1 = false; | ||
| 16 | lib.use_lld = false; | ||
| 17 | lib.install(); | ||
| 18 | |||
| 19 | const zig_version = builtin.zig_version; | ||
| 20 | var version_buf: [100]u8 = undefined; | ||
| 21 | const version_fmt = std.fmt.bufPrint(&version_buf, "version {}", .{zig_version}) catch unreachable; | ||
| 22 | |||
| 23 | const check_lib = lib.checkObject(.wasm); | ||
| 24 | check_lib.checkStart("name producers"); | ||
| 25 | check_lib.checkNext("fields 2"); | ||
| 26 | check_lib.checkNext("field_name language"); | ||
| 27 | check_lib.checkNext("values 1"); | ||
| 28 | check_lib.checkNext("value_name Zig"); | ||
| 29 | check_lib.checkNext(version_fmt); | ||
| 30 | check_lib.checkNext("field_name processed-by"); | ||
| 31 | check_lib.checkNext("values 1"); | ||
| 32 | check_lib.checkNext("value_name Zig"); | ||
| 33 | check_lib.checkNext(version_fmt); | ||
| 34 | |||
| 35 | test_step.dependOn(&check_lib.step); | ||
| 36 | } | ||
test/link/wasm/producers/lib.zig created+1| ... | @@ -0,0 +1 @@ | ||
| 1 | export fn foo() void {} | ||