[PATCH] D124143: [lld-macho] Allow dead_strip to work with autohide symbols that cannot be exported

Vincent Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 21 10:30:13 PDT 2022


thevinster added inline comments.


================
Comment at: lld/MachO/MarkLive.cpp:234
         // explicitUndefineds code below would handle this automatically.
-        assert(!defined->privateExtern &&
-               "should have been rejected by driver");
         marker->addSym(defined);
         continue;
----------------
oontvoo wrote:
> thakis wrote:
> > Should we call addSym for privateExterns? That seems wrong (?)
> > Should we call addSym for privateExterns 
> 
> normally we shouldn't but if a symbol is both private extern and autohide, then i think it should be ok,
> 
> relatedly, stray comment should be deleted or moved?
I thought the comment was referring to the `addSym`, but I don't think it will be changed so I'm happy to remove it. 

> if a symbol is both private extern and autohide, then i think it should be ok,

This is what I found from testing as well. Happy to re-add the assert back and only skip it if it is both privateExtern and autohide. I think that's the one I'm fixing in my local builds.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124143/new/

https://reviews.llvm.org/D124143



More information about the llvm-commits mailing list