diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-12-08 14:13:37 +0100 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2022-12-09 09:24:25 +0100 |
| commit | 9ade4f6d8c410eea63ad71569b5cf7813337659d (patch) | |
| tree | d33bd6170d88cce565577b1df3ecfbbf94913246 /src/link/Dwarf.zig | |
| parent | d7e42014caadeb726d19243995365a573b6a9d06 (diff) | |
| download | zig-9ade4f6d8c410eea63ad71569b5cf7813337659d.tar.gz zig-9ade4f6d8c410eea63ad71569b5cf7813337659d.zip | |
elf: hint linker when file range copy is not necessary
Diffstat (limited to 'src/link/Dwarf.zig')
| -rw-r--r-- | src/link/Dwarf.zig | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/link/Dwarf.zig b/src/link/Dwarf.zig index 569daf577e..e804871c67 100644 --- a/src/link/Dwarf.zig +++ b/src/link/Dwarf.zig @@ -1151,7 +1151,7 @@ pub fn commitDeclState( .elf => { const elf_file = self.bin_file.cast(File.Elf).?; const shdr_index = elf_file.debug_line_section_index.?; - try elf_file.growNonAllocSection(shdr_index, needed_size, 1); + try elf_file.growNonAllocSection(shdr_index, needed_size, 1, true); const debug_line_sect = elf_file.sections.items[shdr_index]; const file_pos = debug_line_sect.sh_offset + src_fn.off; try pwriteDbgLineNops( @@ -1398,7 +1398,7 @@ fn writeDeclDebugInfo(self: *Dwarf, atom: *Atom, dbg_info_buf: []const u8) !void .elf => { const elf_file = self.bin_file.cast(File.Elf).?; const shdr_index = elf_file.debug_info_section_index.?; - try elf_file.growNonAllocSection(shdr_index, needed_size, 1); + try elf_file.growNonAllocSection(shdr_index, needed_size, 1, true); const debug_info_sect = elf_file.sections.items[shdr_index]; const file_pos = debug_info_sect.sh_offset + atom.off; try pwriteDbgInfoNops( @@ -1689,7 +1689,7 @@ pub fn writeDbgAbbrev(self: *Dwarf) !void { .elf => { const elf_file = self.bin_file.cast(File.Elf).?; const shdr_index = elf_file.debug_abbrev_section_index.?; - try elf_file.growNonAllocSection(shdr_index, needed_size, 1); + try elf_file.growNonAllocSection(shdr_index, needed_size, 1, false); const debug_abbrev_sect = elf_file.sections.items[shdr_index]; const file_pos = debug_abbrev_sect.sh_offset + abbrev_offset; try elf_file.base.file.?.pwriteAll(&abbrev_buf, file_pos); @@ -2126,7 +2126,7 @@ pub fn writeDbgAranges(self: *Dwarf, addr: u64, size: u64) !void { .elf => { const elf_file = self.bin_file.cast(File.Elf).?; const shdr_index = elf_file.debug_aranges_section_index.?; - try elf_file.growNonAllocSection(shdr_index, needed_size, 16); + try elf_file.growNonAllocSection(shdr_index, needed_size, 16, false); const debug_aranges_sect = elf_file.sections.items[shdr_index]; const file_pos = debug_aranges_sect.sh_offset; try elf_file.base.file.?.pwriteAll(di_buf.items, file_pos); @@ -2289,7 +2289,7 @@ pub fn writeDbgLineHeader(self: *Dwarf, module: *Module) !void { const elf_file = self.bin_file.cast(File.Elf).?; const shdr_index = elf_file.debug_line_section_index.?; const needed_size = elf_file.sections.items[shdr_index].sh_size + delta; - try elf_file.growNonAllocSection(shdr_index, needed_size, 1); + try elf_file.growNonAllocSection(shdr_index, needed_size, 1, true); const file_pos = elf_file.sections.items[shdr_index].sh_offset + src_fn.off; const amt = try elf_file.base.file.?.preadAll(buffer, file_pos); |
