diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-08-30 14:29:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-30 14:29:41 +0200 |
| commit | 7ef0c9d298d5645b4b6d1ffdfd34c69c04423ed2 (patch) | |
| tree | 12b54077e1533b1abcb8d9a9cd1222b24478f5fc /src/Module.zig | |
| parent | b64e4c5bf28286091ff97245e61f08b897e3eb5e (diff) | |
| parent | e57fbe8069e672483b0c9ae1fa28c00812596306 (diff) | |
| download | zig-7ef0c9d298d5645b4b6d1ffdfd34c69c04423ed2.tar.gz zig-7ef0c9d298d5645b4b6d1ffdfd34c69c04423ed2.zip | |
Merge pull request #12677 from ziglang/coff-linker
coff: initial rewrite of the COFF/PE linker
Diffstat (limited to 'src/Module.zig')
| -rw-r--r-- | src/Module.zig | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/Module.zig b/src/Module.zig index a92849e127..66c36b939b 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -5259,9 +5259,9 @@ pub fn clearDecl( // TODO instead of a union, put this memory trailing Decl objects, // and allow it to be variably sized. decl.link = switch (mod.comp.bin_file.tag) { - .coff => .{ .coff = link.File.Coff.TextBlock.empty }, + .coff => .{ .coff = link.File.Coff.Atom.empty }, .elf => .{ .elf = link.File.Elf.TextBlock.empty }, - .macho => .{ .macho = link.File.MachO.TextBlock.empty }, + .macho => .{ .macho = link.File.MachO.Atom.empty }, .plan9 => .{ .plan9 = link.File.Plan9.DeclBlock.empty }, .c => .{ .c = {} }, .wasm => .{ .wasm = link.File.Wasm.DeclBlock.empty }, @@ -5391,6 +5391,9 @@ fn deleteDeclExports(mod: *Module, decl_index: Decl.Index) void { if (mod.comp.bin_file.cast(link.File.Wasm)) |wasm| { wasm.deleteExport(exp.link.wasm); } + if (mod.comp.bin_file.cast(link.File.Coff)) |coff| { + coff.deleteExport(exp.link.coff); + } if (mod.failed_exports.fetchSwapRemove(exp)) |failed_kv| { failed_kv.value.destroy(mod.gpa); } @@ -5680,9 +5683,9 @@ pub fn allocateNewDecl( .zir_decl_index = 0, .src_scope = src_scope, .link = switch (mod.comp.bin_file.tag) { - .coff => .{ .coff = link.File.Coff.TextBlock.empty }, + .coff => .{ .coff = link.File.Coff.Atom.empty }, .elf => .{ .elf = link.File.Elf.TextBlock.empty }, - .macho => .{ .macho = link.File.MachO.TextBlock.empty }, + .macho => .{ .macho = link.File.MachO.Atom.empty }, .plan9 => .{ .plan9 = link.File.Plan9.DeclBlock.empty }, .c => .{ .c = {} }, .wasm => .{ .wasm = link.File.Wasm.DeclBlock.empty }, |
