[all-commits] [llvm/llvm-project] 3eb2fc: [lld/mac] Partially implement -export_dynamic
Nico Weber via All-commits
all-commits at lists.llvm.org
Tue Jul 6 08:22:44 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3eb2fc4b505159cd34f1cfe4ec2359420e44b916
https://github.com/llvm/llvm-project/commit/3eb2fc4b505159cd34f1cfe4ec2359420e44b916
Author: Nico Weber <thakis at chromium.org>
Date: 2021-07-06 (Tue, 06 Jul 2021)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/LTO.cpp
M lld/MachO/MarkLive.cpp
M lld/MachO/Options.td
M lld/test/MachO/dead-strip.s
Log Message:
-----------
[lld/mac] Partially implement -export_dynamic
This implements the part of -export_dynamic that adds external
symbols as dead strip roots even for executables.
It does not yet implement the effect -export_dynamic has for LTO.
I tried just replacing `config->outputType != MH_EXECUTE` with
`(config->outputType != MH_EXECUTE || config->exportDynamic)` in
LTO.cpp, but then local symbols make it into the symbol table too,
which is too much (and also doesn't match ld64). So punt on this
for now until I understand it better.
(D91583 may or may not be related too).
Differential Revision: https://reviews.llvm.org/D105482
More information about the All-commits
mailing list