diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-12-15 11:25:54 +0100 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2022-12-16 18:05:58 +0100 |
| commit | 3af6a4e887bb3cd986a52ea94202a0079f442e9b (patch) | |
| tree | 113f2bfc12f5430409a6a4273b1ad39439db4313 | |
| parent | 6b99aab0eb25821d91c1708575cabdadc9079024 (diff) | |
| download | zig-3af6a4e887bb3cd986a52ea94202a0079f442e9b.tar.gz zig-3af6a4e887bb3cd986a52ea94202a0079f442e9b.zip | |
macho: generate stabs last to aid in deterministic uuid calculation
| -rw-r--r-- | src/link/MachO/zld.zig | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/link/MachO/zld.zig b/src/link/MachO/zld.zig index 022167e223..60d0f853ab 100644 --- a/src/link/MachO/zld.zig +++ b/src/link/MachO/zld.zig @@ -2556,12 +2556,6 @@ pub const Zld = struct { } } - if (!self.options.strip) { - for (self.objects.items) |object| { - try self.generateSymbolStabs(object, &locals); - } - } - var exports = std.ArrayList(macho.nlist_64).init(gpa); defer exports.deinit(); @@ -2592,6 +2586,14 @@ pub const Zld = struct { try imports_table.putNoClobber(global, new_index); } + // We generate stabs last in order to ensure that the strtab always has debug info + // strings trailing + if (!self.options.strip) { + for (self.objects.items) |object| { + try self.generateSymbolStabs(object, &locals); + } + } + const nlocals = @intCast(u32, locals.items.len); const nexports = @intCast(u32, exports.items.len); const nimports = @intCast(u32, imports.items.len); |
