authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-12-08 15:41:44+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-12-09 09:24:25+01:00
log9735953ae2ed04117181cf2cb6cde5cbfb8ca76a
treedd226cf805eb7ddd407891b7f4220e5a628fbd2e
parent742aa942800e81b14ac1fc6d9a8b3cc33621e2b6

wasm: implement moving debug_line program when header too big


1 files changed, 7 insertions(+), 1 deletions(-)

src/link/Dwarf.zig+7-1
...@@ -2309,7 +2309,13 @@ pub fn writeDbgLineHeader(self: *Dwarf, module: *Module) !void {...@@ -2309,7 +2309,13 @@ pub fn writeDbgLineHeader(self: *Dwarf, module: *Module) !void {
23092309
2310 try d_sym.file.pwriteAll(buffer, file_pos + delta);2310 try d_sym.file.pwriteAll(buffer, file_pos + delta);
2311 },2311 },
2312 .wasm => @panic("TODO grow section"),2312 .wasm => {
2313 const wasm_file = self.bin_file.cast(File.Wasm).?;
2314 const debug_line = &wasm_file.debug_line_atom.?.code;
2315 mem.copy(u8, buffer, debug_line.items[src_fn.off..]);
2316 try debug_line.resize(self.allocator, debug_line.items.len + delta);
2317 mem.copy(u8, debug_line.items[src_fn.off + delta ..], buffer);
2318 },
2313 else => unreachable,2319 else => unreachable,
2314 }2320 }
23152321