From 9735953ae2ed04117181cf2cb6cde5cbfb8ca76a Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Thu, 8 Dec 2022 15:41:44 +0100 Subject: wasm: implement moving debug_line program when header too big --- src/link/Dwarf.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/link/Dwarf.zig b/src/link/Dwarf.zig index 7e0cbb0358..d02f994eb7 100644 --- a/src/link/Dwarf.zig +++ b/src/link/Dwarf.zig @@ -2309,7 +2309,13 @@ pub fn writeDbgLineHeader(self: *Dwarf, module: *Module) !void { try d_sym.file.pwriteAll(buffer, file_pos + delta); }, - .wasm => @panic("TODO grow section"), + .wasm => { + const wasm_file = self.bin_file.cast(File.Wasm).?; + const debug_line = &wasm_file.debug_line_atom.?.code; + mem.copy(u8, buffer, debug_line.items[src_fn.off..]); + try debug_line.resize(self.allocator, debug_line.items.len + delta); + mem.copy(u8, debug_line.items[src_fn.off + delta ..], buffer); + }, else => unreachable, } -- cgit v1.2.3