aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-03-22 15:13:52 +0100
committerJakub Konka <kubkon@jakubkonka.com>2023-03-22 15:13:52 +0100
commit1eb4264b7aa9e9e2b8ec46a95b508dfa7a7ab0f7 (patch)
treed17ba527664b37c1546c8abdbc218e7fa4aa9e14 /src
parentc984201ddb10d2977290c6f1d6857e78573a2dff (diff)
downloadzig-1eb4264b7aa9e9e2b8ec46a95b508dfa7a7ab0f7.tar.gz
zig-1eb4264b7aa9e9e2b8ec46a95b508dfa7a7ab0f7.zip
macho+zld: make sure we populate source section index lookup if no undefs
Diffstat (limited to 'src')
-rw-r--r--src/link/MachO/Object.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/link/MachO/Object.zig b/src/link/MachO/Object.zig
index c6b86cce63..e407457e03 100644
--- a/src/link/MachO/Object.zig
+++ b/src/link/MachO/Object.zig
@@ -239,6 +239,12 @@ pub fn parse(self: *Object, allocator: Allocator, cpu_arch: std.Target.Cpu.Arch)
self.strtab_lookup[i] = @intCast(u32, sym_name_len);
}
+ // If there were no undefined symbols, make sure we populate the
+ // source section index lookup for the last scanned section.
+ if (section_index_lookup) |lookup| {
+ self.source_section_index_lookup[prev_sect_id - 1] = lookup;
+ }
+
// Parse __TEXT,__eh_frame header if one exists
self.eh_frame_sect_id = self.getSourceSectionIndexByName("__TEXT", "__eh_frame");