authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-01-05 20:33:13-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-01-15 15:11:36-08:00
loge6a5fe7c5566007d9299c75f41455fa48c64db40
tree806a3849edfd18aa9fc47faf0e85595831f10b8a
parent290d97bd099cde2d9d4daef11bb836bfb942a90a

wasm linker: apply object relocations to data segments


1 files changed, 5 insertions(+), 3 deletions(-)

src/link/Wasm/Flush.zig+5-3
......@@ -796,9 +796,11 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void {
796796 }
797797 break :append;
798798 },
799 .object => |i| c: {
800 if (true) @panic("TODO apply data segment relocations");
801 break :c i.ptr(wasm).payload;
799 .object => |i| {
800 const ptr = i.ptr(wasm);
801 try binary_bytes.appendSlice(gpa, ptr.payload.slice(wasm));
802 if (!is_obj) applyRelocs(binary_bytes.items[code_start..], ptr.offset, ptr.relocations(wasm), wasm);
803 break :append;
802804 },
803805 inline .uav_exe, .uav_obj, .nav_exe, .nav_obj => |i| i.value(wasm).code,
804806 };