This is an archive of the discontinued LLVM Phabricator instance.

[lld-macho] Explicitly undefine literal exported symbols
ClosedPublic

Authored by gkm on May 7 2021, 9:37 PM.

Details

Reviewers
int3
Group Reviewers
Restricted Project
Commits
rG5be8502271ac: [lld-macho] Explicitly undefine literal exported symbols
Summary

Symbols explicitly exported via command-line options --exported_symbol SYM and --exported_symbols_list FILE must be defined. Before this fix, lazy symbols defined in archives would be left to languish. We now force them to be included in the linked output.

Diff Detail

Event Timeline

gkm created this revision.May 7 2021, 9:37 PM
Herald added a project: Restricted Project. · View Herald Transcript
gkm requested review of this revision.May 7 2021, 9:37 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 7 2021, 9:37 PM
int3 added a comment.May 7 2021, 10:02 PM

Thanks!

lld/test/MachO/export-options.s
3

to make sure we aren't adding to the same archive multiple times

45–72

I know this is existing code, but it seems kind of odd to me that the CHECK / RUN lines are below instead of above the test inputs

int3 accepted this revision.May 7 2021, 10:02 PM
This revision is now accepted and ready to land.May 7 2021, 10:02 PM
gkm updated this revision to Diff 343857.May 8 2021, 11:36 AM
gkm marked an inline comment as done.
  • revise according to review feedback, notably: reorg lld/test/MachO/export-options.s to move all split input files at the end.
This revision was landed with ongoing or failed builds.May 8 2021, 11:38 AM
This revision was automatically updated to reflect the committed changes.
gkm marked an inline comment as done.May 8 2021, 10:20 PM