| ... | ... | @@ -412,7 +412,9 @@ pub fn flushModule(self: *DebugSymbols, allocator: *Allocator, options: link.Opt |
| 412 | 412 | const allocated_size = dwarf_segment.allocatedSize(debug_abbrev_sect.offset); |
| 413 | 413 | if (needed_size > allocated_size) { |
| 414 | 414 | debug_abbrev_sect.size = 0; // free the space |
| 415 | | debug_abbrev_sect.offset = @intCast(u32, dwarf_segment.findFreeSpace(needed_size, 1, null)); |
| 415 | const offset = dwarf_segment.findFreeSpace(needed_size, 1, null); |
| 416 | debug_abbrev_sect.offset = @intCast(u32, offset); |
| 417 | debug_abbrev_sect.addr = dwarf_segment.inner.vmaddr + offset - dwarf_segment.inner.fileoff; |
| 416 | 418 | } |
| 417 | 419 | debug_abbrev_sect.size = needed_size; |
| 418 | 420 | log.debug("__debug_abbrev start=0x{x} end=0x{x}", .{ |
| ... | ... | @@ -536,9 +538,9 @@ pub fn flushModule(self: *DebugSymbols, allocator: *Allocator, options: link.Opt |
| 536 | 538 | const allocated_size = dwarf_segment.allocatedSize(debug_aranges_sect.offset); |
| 537 | 539 | if (needed_size > allocated_size) { |
| 538 | 540 | debug_aranges_sect.size = 0; // free the space |
| 539 | | const offset = dwarf_segment.findFreeSpace(needed_size, 16, null); |
| 540 | | debug_aranges_sect.offset = @intCast(u32, offset); |
| 541 | | debug_aranges_sect.addr = dwarf_segment.inner.vmaddr + offset - dwarf_segment.inner.fileoff; |
| 541 | const new_offset = dwarf_segment.findFreeSpace(needed_size, 16, null); |
| 542 | debug_aranges_sect.addr = dwarf_segment.inner.vmaddr + new_offset - dwarf_segment.inner.fileoff; |
| 543 | debug_aranges_sect.offset = @intCast(u32, new_offset); |
| 542 | 544 | } |
| 543 | 545 | debug_aranges_sect.size = needed_size; |
| 544 | 546 | log.debug("__debug_aranges start=0x{x} end=0x{x}", .{ |