diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2021-06-10 11:03:14 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2021-06-10 11:03:14 +0200 |
| commit | 03cda80a634d82e02e641fe04fa2abda4455966a (patch) | |
| tree | 43593edce0f5c9d4e76725908eccc0efaa8653c3 /src/link/MachO/Object.zig | |
| parent | 66ff56c58f3ef71f5cc3b8392632b3ec8abec43f (diff) | |
| download | zig-03cda80a634d82e02e641fe04fa2abda4455966a.tar.gz zig-03cda80a634d82e02e641fe04fa2abda4455966a.zip | |
zld: handle aliasing of tentative into regular global
Diffstat (limited to 'src/link/MachO/Object.zig')
| -rw-r--r-- | src/link/MachO/Object.zig | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/link/MachO/Object.zig b/src/link/MachO/Object.zig index 12ce918a36..4501d63fff 100644 --- a/src/link/MachO/Object.zig +++ b/src/link/MachO/Object.zig @@ -351,15 +351,15 @@ pub fn parseSymbols(self: *Object) !void { const sym_name = mem.spanZ(@ptrCast([*:0]const u8, strtab.ptr + sym.n_strx)); if (Symbol.isStab(sym)) { - log.err("stab {s} in {s}", .{ sym_name, self.name.? }); + log.err("unhandled symbol type: stab {s} in {s}", .{ sym_name, self.name.? }); return error.UnhandledSymbolType; } if (Symbol.isIndr(sym)) { - log.err("indirect symbol {s} in {s}", .{ sym_name, self.name.? }); + log.err("unhandled symbol type: indirect {s} in {s}", .{ sym_name, self.name.? }); return error.UnhandledSymbolType; } if (Symbol.isAbs(sym)) { - log.err("absolute symbol {s} in {s}", .{ sym_name, self.name.? }); + log.err("unhandled symbol type: absolute {s} in {s}", .{ sym_name, self.name.? }); return error.UnhandledSymbolType; } @@ -399,9 +399,7 @@ pub fn parseSymbols(self: *Object) !void { .alignment = (sym.n_desc >> 8) & 0x0f, .file = self, }; - - log.err("Common symbol {s} in {s}: {}", .{ sym_name, self.name.?, tentative }); - return error.UnhandledSymbolType; + break :symbol &tentative.base; } const undef = try self.allocator.create(Symbol.Unresolved); |
