summaryrefslogtreecommitdiff
path: root/lld/ELF/SymbolTable.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2017-09-08 18:16:59 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2017-09-08 18:16:59 +0000
commita953fd8dc1b40874b32326d4c442bc266a176ade (patch)
tree68ed9f9b7c89bd624fe9f8c740d70291327d4ad0 /lld/ELF/SymbolTable.h
parent370b7c96079d69f84eaebadceef1fecb0c9c819d (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.h2
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);