| ... | @@ -796,9 +796,11 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void { | ... | @@ -796,9 +796,11 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void { |
| 796 | } | 796 | } |
| 797 | break :append; | 797 | break :append; |
| 798 | }, | 798 | }, |
| 799 | .object => |i| c: { | 799 | .object => |i| { |
| 800 | if (true) @panic("TODO apply data segment relocations"); | 800 | const ptr = i.ptr(wasm); |
| 801 | break :c i.ptr(wasm).payload; | 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; |
| 802 | }, | 804 | }, |
| 803 | inline .uav_exe, .uav_obj, .nav_exe, .nav_obj => |i| i.value(wasm).code, | 805 | inline .uav_exe, .uav_obj, .nav_exe, .nav_obj => |i| i.value(wasm).code, |
| 804 | }; | 806 | }; |