diff options
author | Bob Haarman <llvm@inglorion.net> | 2019-02-20 00:26:01 +0000 |
---|---|---|
committer | Bob Haarman <llvm@inglorion.net> | 2019-02-20 00:26:01 +0000 |
commit | 61e8735f17fd81aac20abb1775efbbbaea97893a (patch) | |
tree | 2ada958f774382708a6a02f6d317ba1197ad66cd /llvm/include | |
parent | 8e21c08593deb5d29c896c7ed02611307fe0c038 (diff) | |
download | bcm5719-llvm-61e8735f17fd81aac20abb1775efbbbaea97893a.tar.gz bcm5719-llvm-61e8735f17fd81aac20abb1775efbbbaea97893a.zip |
[lld-link] preserve @llvm.used symbols in LTO
Summary:
We translate @llvm.used to COFF by generating /include directives
in the .drectve section. However, in LTO links, this happens after
directives have already been processed, so the new directives do
not take effect. This change marks @llvm.used symbols as GCRoots
so that they are preserved as intended.
Fixes PR40733.
Reviewers: rnk, pcc, ruiu
Reviewed By: ruiu
Subscribers: mehdi_amini, steven_wu, dexonsmith, dang, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D58255
llvm-svn: 354410
Diffstat (limited to 'llvm/include')
-rw-r--r-- | llvm/include/llvm/LTO/LTO.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/include/llvm/LTO/LTO.h b/llvm/include/llvm/LTO/LTO.h index 1f9d764f068..ab4d874b55e 100644 --- a/llvm/include/llvm/LTO/LTO.h +++ b/llvm/include/llvm/LTO/LTO.h @@ -139,6 +139,7 @@ public: using irsymtab::Symbol::getCOFFWeakExternalFallback; using irsymtab::Symbol::getSectionName; using irsymtab::Symbol::isExecutable; + using irsymtab::Symbol::isUsed; }; /// A range over the symbols in this InputFile. |