From b1cf6d310323f2908ed401d1a6926d096ade530d Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Sun, 14 Jan 2024 17:19:18 +0100 Subject: [PATCH] macho: print all definitions of symbols when printing duplicates --- src/link/MachO.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 759e9b94de..21966d351c 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -3547,7 +3547,7 @@ fn reportDuplicates(self: *MachO, dupes: anytype) error{ HasDuplicates, OutOfMem const tracy = trace(@src()); defer tracy.end(); - const max_notes = 4; + const max_notes = 3; var has_dupes = false; var it = dupes.iterator(); @@ -3556,8 +3556,9 @@ fn reportDuplicates(self: *MachO, dupes: anytype) error{ HasDuplicates, OutOfMem const notes = entry.value_ptr.*; const nnotes = @min(notes.items.len, max_notes) + @intFromBool(notes.items.len > max_notes); - var err = try self.addErrorWithNotes(nnotes); + var err = try self.addErrorWithNotes(nnotes + 1); try err.addMsg(self, "duplicate symbol definition: {s}", .{sym.getName(self)}); + try err.addNote(self, "defined by {}", .{sym.getFile(self).?.fmtPath()}); var inote: usize = 0; while (inote < @min(notes.items.len, max_notes)) : (inote += 1) {