Commit 5823f19c5e
Changed files (2)
src
link
MachO
src/link/MachO/Object.zig
@@ -515,8 +515,9 @@ pub fn getSourceSymbol(self: Object, index: u32) ?macho.nlist_64 {
}
/// Caller owns memory.
-pub fn createReverseSymbolLookup(self: Object, gpa: Allocator) ![]u32 {
- const lookup = try gpa.alloc(u32, self.in_symtab.?.len);
+pub fn createReverseSymbolLookup(self: Object, arena: Allocator) ![]u32 {
+ const symtab = self.in_symtab orelse return &[0]u32{};
+ const lookup = try arena.alloc(u32, symtab.len);
for (self.source_symtab_lookup) |source_id, id| {
lookup[source_id] = @intCast(u32, id);
}
src/link/MachO/zld.zig
@@ -3486,6 +3486,7 @@ pub const Zld = struct {
scoped_log.debug("locals:", .{});
for (self.objects.items) |object, id| {
scoped_log.debug(" object({d}): {s}", .{ id, object.name });
+ if (object.in_symtab == null) continue;
for (object.symtab) |sym, sym_id| {
mem.set(u8, &buf, '_');
scoped_log.debug(" %{d}: {s} @{x} in sect({d}), {s}", .{
@@ -3641,7 +3642,7 @@ pub const Zld = struct {
sym.n_sect,
});
- if (atom.getFile() != null) {
+ if (atom.getFile() != null) {
var it = Atom.getInnerSymbolsIterator(self, atom_index);
while (it.next()) |sym_loc| {
const inner = self.getSymbol(sym_loc);