Commit 9735953ae2

Jakub Konka <kubkon@jakubkonka.com>
2022-12-08 15:41:44
wasm: implement moving debug_line program when header too big
1 parent 742aa94
Changed files (1)
src
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,
         }