[PATCH] D119506: [lld-macho] Set FinalDefinitionInLinkageUnit on most LTO externs

Jez Ng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 10 16:57:26 PST 2022


int3 requested review of this revision.
int3 added a subscriber: MaskRay.
int3 added a comment.

> But maybe we can still hide weak externs that also satisfy canBeOmittedFromSymbolTable()

Oh, we're actually doing that already. `isExternalWeakDef()` returns false if `privateExtern` is true, and the latter is false if `canBeOmittedFromSymbolTable()` is false.

Surprisingly, however, despite us marking `FinalDefinitionInLinkageUnit = false`, the LTO backend doesn't seem to add `dso_local` to these symbols. OTOH the ELF `internalize-exportdyn.ll` test shows that `dso_local` gets added for the equivalent inputs. (cc @MaskRay for the dso_local stuff)

Re-requesting review since I don't think any changes are needed for now


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D119506



More information about the llvm-commits mailing list