diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2017-09-08 18:16:59 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2017-09-08 18:16:59 +0000 |
commit | a953fd8dc1b40874b32326d4c442bc266a176ade (patch) | |
tree | 68ed9f9b7c89bd624fe9f8c740d70291327d4ad0 /lld/ELF/SymbolTable.h | |
parent | 370b7c96079d69f84eaebadceef1fecb0c9c819d (diff) |
If --dynamic-list is given, only those symbols are preemptible.
This allows combining --dynamic-list and version scripts too. The
version script controls which symbols are visible, and
--dynamic-list controls which of those are preemptible.
Unlike previous versions, undefined symbols are still considered
preemptible, which was the issue breaking the cfi tests.
This fixes pr34053.
Diffstat (limited to 'lld/ELF/SymbolTable.h')
-rw-r--r-- | lld/ELF/SymbolTable.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lld/ELF/SymbolTable.h b/lld/ELF/SymbolTable.h index 3127cd66690..6c094073e6c 100644 --- a/lld/ELF/SymbolTable.h +++ b/lld/ELF/SymbolTable.h @@ -90,6 +90,8 @@ public: void trace(StringRef Name); + void handleDynamicList(); + private: std::vector<SymbolBody *> findByVersion(SymbolVersion Ver); std::vector<SymbolBody *> findAllByVersion(SymbolVersion Ver); |