Skip to content
Snippets Groups Projects
llvm4-lld-ELF-Symbols.patch 5.3 KiB
Newer Older
--- a/lldb/include/lldb/Utility/TaskPool.h
+++ b/lldb/include/lldb/Utility/TaskPool.h
@@ -33,6 +33,7 @@
 #include <queue>
 #include <thread>
 #include <vector>
+#include <functional>
 
 // Global TaskPool class for running tasks in parallel on a set of worker thread
 // created the first
# Fix lld templates: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230463
--- a/lld/ELF/LTO.cpp
+++ b/lld/ELF/LTO.cpp
@@ -158,7 +158,7 @@
   return Ret;
 }
 
-template void BitcodeCompiler::template add<ELF32LE>(BitcodeFile &);
-template void BitcodeCompiler::template add<ELF32BE>(BitcodeFile &);
-template void BitcodeCompiler::template add<ELF64LE>(BitcodeFile &);
-template void BitcodeCompiler::template add<ELF64BE>(BitcodeFile &);
+template void BitcodeCompiler::add<ELF32LE>(BitcodeFile &);
+template void BitcodeCompiler::add<ELF32BE>(BitcodeFile &);
+template void BitcodeCompiler::add<ELF64LE>(BitcodeFile &);
+template void BitcodeCompiler::add<ELF64BE>(BitcodeFile &);
--- a/lld/ELF/Symbols.cpp
+++ b/lld/ELF/Symbols.cpp
@@ -343,45 +343,45 @@
 template bool SymbolBody::hasThunk<ELF64LE>() const;
 template bool SymbolBody::hasThunk<ELF64BE>() const;
 
-template uint32_t SymbolBody::template getVA<ELF32LE>(uint32_t) const;
-template uint32_t SymbolBody::template getVA<ELF32BE>(uint32_t) const;
-template uint64_t SymbolBody::template getVA<ELF64LE>(uint64_t) const;
-template uint64_t SymbolBody::template getVA<ELF64BE>(uint64_t) const;
-
-template uint32_t SymbolBody::template getGotVA<ELF32LE>() const;
-template uint32_t SymbolBody::template getGotVA<ELF32BE>() const;
-template uint64_t SymbolBody::template getGotVA<ELF64LE>() const;
-template uint64_t SymbolBody::template getGotVA<ELF64BE>() const;
-
-template uint32_t SymbolBody::template getGotOffset<ELF32LE>() const;
-template uint32_t SymbolBody::template getGotOffset<ELF32BE>() const;
-template uint64_t SymbolBody::template getGotOffset<ELF64LE>() const;
-template uint64_t SymbolBody::template getGotOffset<ELF64BE>() const;
-
-template uint32_t SymbolBody::template getGotPltVA<ELF32LE>() const;
-template uint32_t SymbolBody::template getGotPltVA<ELF32BE>() const;
-template uint64_t SymbolBody::template getGotPltVA<ELF64LE>() const;
-template uint64_t SymbolBody::template getGotPltVA<ELF64BE>() const;
-
-template uint32_t SymbolBody::template getThunkVA<ELF32LE>() const;
-template uint32_t SymbolBody::template getThunkVA<ELF32BE>() const;
-template uint64_t SymbolBody::template getThunkVA<ELF64LE>() const;
-template uint64_t SymbolBody::template getThunkVA<ELF64BE>() const;
-
-template uint32_t SymbolBody::template getGotPltOffset<ELF32LE>() const;
-template uint32_t SymbolBody::template getGotPltOffset<ELF32BE>() const;
-template uint64_t SymbolBody::template getGotPltOffset<ELF64LE>() const;
-template uint64_t SymbolBody::template getGotPltOffset<ELF64BE>() const;
-
-template uint32_t SymbolBody::template getPltVA<ELF32LE>() const;
-template uint32_t SymbolBody::template getPltVA<ELF32BE>() const;
-template uint64_t SymbolBody::template getPltVA<ELF64LE>() const;
-template uint64_t SymbolBody::template getPltVA<ELF64BE>() const;
-
-template uint32_t SymbolBody::template getSize<ELF32LE>() const;
-template uint32_t SymbolBody::template getSize<ELF32BE>() const;
-template uint64_t SymbolBody::template getSize<ELF64LE>() const;
-template uint64_t SymbolBody::template getSize<ELF64BE>() const;
+template uint32_t SymbolBody::getVA<ELF32LE>(uint32_t) const;
+template uint32_t SymbolBody::getVA<ELF32BE>(uint32_t) const;
+template uint64_t SymbolBody::getVA<ELF64LE>(uint64_t) const;
+template uint64_t SymbolBody::getVA<ELF64BE>(uint64_t) const;
+
+template uint32_t SymbolBody::getGotVA<ELF32LE>() const;
+template uint32_t SymbolBody::getGotVA<ELF32BE>() const;
+template uint64_t SymbolBody::getGotVA<ELF64LE>() const;
+template uint64_t SymbolBody::getGotVA<ELF64BE>() const;
+
+template uint32_t SymbolBody::getGotOffset<ELF32LE>() const;
+template uint32_t SymbolBody::getGotOffset<ELF32BE>() const;
+template uint64_t SymbolBody::getGotOffset<ELF64LE>() const;
+template uint64_t SymbolBody::getGotOffset<ELF64BE>() const;
+
+template uint32_t SymbolBody::getGotPltVA<ELF32LE>() const;
+template uint32_t SymbolBody::getGotPltVA<ELF32BE>() const;
+template uint64_t SymbolBody::getGotPltVA<ELF64LE>() const;
+template uint64_t SymbolBody::getGotPltVA<ELF64BE>() const;
+
+template uint32_t SymbolBody::getThunkVA<ELF32LE>() const;
+template uint32_t SymbolBody::getThunkVA<ELF32BE>() const;
+template uint64_t SymbolBody::getThunkVA<ELF64LE>() const;
+template uint64_t SymbolBody::getThunkVA<ELF64BE>() const;
+
+template uint32_t SymbolBody::getGotPltOffset<ELF32LE>() const;
+template uint32_t SymbolBody::getGotPltOffset<ELF32BE>() const;
+template uint64_t SymbolBody::getGotPltOffset<ELF64LE>() const;
+template uint64_t SymbolBody::getGotPltOffset<ELF64BE>() const;
+
+template uint32_t SymbolBody::getPltVA<ELF32LE>() const;
+template uint32_t SymbolBody::getPltVA<ELF32BE>() const;
+template uint64_t SymbolBody::getPltVA<ELF64LE>() const;
+template uint64_t SymbolBody::getPltVA<ELF64BE>() const;
+
+template uint32_t SymbolBody::getSize<ELF32LE>() const;
+template uint32_t SymbolBody::getSize<ELF32BE>() const;
+template uint64_t SymbolBody::getSize<ELF64LE>() const;
+template uint64_t SymbolBody::getSize<ELF64BE>() const;
 
 template class elf::Undefined<ELF32LE>;
 template class elf::Undefined<ELF32BE>;