[PATCH] D114841: [lld-macho] Fix duplicate symbols with relocatable objects
Keith Smiley via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 1 11:52:51 PST 2021
keith added inline comments.
================
Comment at: lld/MachO/Driver.cpp:322-324
case file_magic::macho_object:
- newFile = make<ObjFile>(mbref, getModTime(path), "");
+ newFile = loadedObjects[path] = make<ObjFile>(mbref, getModTime(path), "");
break;
----------------
oontvoo wrote:
> On a second thought, this is suspicious. Doesn't this mean `%lld foo.o foo.o ` wouldn't yield "duplicate symbols" error anymore?
Yea I mentioned this with a top level comment as well, it does break the related test. I need to find a better heuristic for skipping these, since we only want to do it for LC_LINKER_OPTION's / duplicate -framework commands etc (not sure if the latter is handled today or not, especially as it conflicts with -framework foo -weak_framework foo etc).
I was hoping to do this specifically in the LC_LINKER_OPTION logic to avoid changing things here, but the issue is the order of hitting those options vs the command line options depends on the order things are passed, so I couldn't rely on that.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114841/new/
https://reviews.llvm.org/D114841
More information about the llvm-commits
mailing list