aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-11-29 16:00:23 -0500
committerGitHub <noreply@github.com>2023-11-29 16:00:23 -0500
commitcd7ac56a5a8f79da30c56bed42c30affd9ba0a6d (patch)
tree1a436e38a88d25543527209a49e80adb49f4a44e /test
parent22d7c7d2953360afb29ed2c60185bb0bba32cc30 (diff)
parent4115f70cd3ac30027618a56976207c3bde378d85 (diff)
downloadzig-cd7ac56a5a8f79da30c56bed42c30affd9ba0a6d.tar.gz
zig-cd7ac56a5a8f79da30c56bed42c30affd9ba0a6d.zip
Merge pull request #18155 from Luukdegram/wasm-gc
wasm-linker: implement garbage-collection and performance improvements
Diffstat (limited to 'test')
-rw-r--r--test/link/wasm/bss/build.zig2
-rw-r--r--test/link/wasm/function-table/build.zig3
-rw-r--r--test/link/wasm/segments/build.zig1
-rw-r--r--test/link/wasm/stack_pointer/build.zig1
4 files changed, 7 insertions, 0 deletions
diff --git a/test/link/wasm/bss/build.zig b/test/link/wasm/bss/build.zig
index 1bc059acde..faf8202cd9 100644
--- a/test/link/wasm/bss/build.zig
+++ b/test/link/wasm/bss/build.zig
@@ -26,6 +26,7 @@ fn add(b: *std.Build, test_step: *std.Build.Step, optimize_mode: std.builtin.Opt
lib.strip = false;
// to make sure the bss segment is emitted, we must import memory
lib.import_memory = true;
+ lib.link_gc_sections = false;
const check_lib = lib.checkObject();
@@ -73,6 +74,7 @@ fn add(b: *std.Build, test_step: *std.Build.Step, optimize_mode: std.builtin.Opt
lib.strip = false;
// to make sure the bss segment is emitted, we must import memory
lib.import_memory = true;
+ lib.link_gc_sections = false;
const check_lib = lib.checkObject();
check_lib.checkStart();
diff --git a/test/link/wasm/function-table/build.zig b/test/link/wasm/function-table/build.zig
index 906a255642..acf7043476 100644
--- a/test/link/wasm/function-table/build.zig
+++ b/test/link/wasm/function-table/build.zig
@@ -23,6 +23,7 @@ fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.Optimize
import_table.use_llvm = false;
import_table.use_lld = false;
import_table.import_table = true;
+ import_table.link_gc_sections = false;
const export_table = b.addExecutable(.{
.name = "export_table",
@@ -34,6 +35,7 @@ fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.Optimize
export_table.use_llvm = false;
export_table.use_lld = false;
export_table.export_table = true;
+ export_table.link_gc_sections = false;
const regular_table = b.addExecutable(.{
.name = "regular_table",
@@ -44,6 +46,7 @@ fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.Optimize
regular_table.entry = .disabled;
regular_table.use_llvm = false;
regular_table.use_lld = false;
+ regular_table.link_gc_sections = false; // Ensure function table is not empty
const check_import = import_table.checkObject();
const check_export = export_table.checkObject();
diff --git a/test/link/wasm/segments/build.zig b/test/link/wasm/segments/build.zig
index 21b954a902..64d25d3fae 100644
--- a/test/link/wasm/segments/build.zig
+++ b/test/link/wasm/segments/build.zig
@@ -23,6 +23,7 @@ fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.Optimize
lib.use_llvm = false;
lib.use_lld = false;
lib.strip = false;
+ lib.link_gc_sections = false; // so data is not garbage collected and we can verify data section
b.installArtifact(lib);
const check_lib = lib.checkObject();
diff --git a/test/link/wasm/stack_pointer/build.zig b/test/link/wasm/stack_pointer/build.zig
index 00ef54c052..da54c140ca 100644
--- a/test/link/wasm/stack_pointer/build.zig
+++ b/test/link/wasm/stack_pointer/build.zig
@@ -24,6 +24,7 @@ fn add(b: *std.Build, test_step: *std.Build.Step, optimize: std.builtin.Optimize
lib.use_lld = false;
lib.strip = false;
lib.stack_size = std.wasm.page_size * 2; // set an explicit stack size
+ lib.link_gc_sections = false;
b.installArtifact(lib);
const check_lib = lib.checkObject();