From 3c70392210d3bd68943b3ebd09612fddfe52b082 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 18 Dec 2024 15:21:03 -0800 Subject: wasm linker: add __zig_error_name_table data when needed --- src/link/Wasm/Flush.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/link/Wasm/Flush.zig b/src/link/Wasm/Flush.zig index 7369d031c9..a488a6310d 100644 --- a/src/link/Wasm/Flush.zig +++ b/src/link/Wasm/Flush.zig @@ -134,7 +134,7 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void { // Merge and order the data segments. Depends on garbage collection so that // unused segments can be omitted. - try wasm.data_segments.ensureUnusedCapacity(gpa, wasm.object_data_segments.items.len); + try wasm.data_segments.ensureUnusedCapacity(gpa, wasm.object_data_segments.items.len + 1); for (wasm.object_data_segments.items, 0..) |*ds, i| { if (!ds.flags.alive) continue; const data_segment_index: Wasm.ObjectDataSegmentIndex = @enumFromInt(i); @@ -143,6 +143,9 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void { .object = data_segment_index, }), @as(u32, undefined)); } + if (wasm.error_name_table_ref_count > 0) { + wasm.data_segments.putAssumeCapacity(.__zig_error_name_table, @as(u32, undefined)); + } try wasm.functions.ensureUnusedCapacity(gpa, 3); -- cgit v1.2.3