diff options
| -rw-r--r-- | lld/ELF/Driver.cpp | 3 | ||||
| -rw-r--r-- | lld/ELF/Target.cpp | 2 | ||||
| -rw-r--r-- | lld/ELF/Target.h | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index a58a7c4754e..f12806d91c6 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -294,7 +294,8 @@ void LinkerDriver::createFiles(opt::InputArgList &Args) { template <class ELFT> void LinkerDriver::link(opt::InputArgList &Args) { SymbolTable<ELFT> Symtab; - Target.reset(createTarget()); + std::unique_ptr<TargetInfo> TI(createTarget()); + Target = TI.get(); Script->finalize(); if (!Config->Shared) { diff --git a/lld/ELF/Target.cpp b/lld/ELF/Target.cpp index ff30b8a1724..444cbb3cbb1 100644 --- a/lld/ELF/Target.cpp +++ b/lld/ELF/Target.cpp @@ -33,7 +33,7 @@ using namespace llvm::ELF; namespace lld { namespace elf2 { -std::unique_ptr<TargetInfo> Target; +TargetInfo *Target; template <endianness E> static void add32(void *P, int32_t V) { write32<E>(P, read32<E>(P) + V); diff --git a/lld/ELF/Target.h b/lld/ELF/Target.h index d4658e139ec..c58fc672888 100644 --- a/lld/ELF/Target.h +++ b/lld/ELF/Target.h @@ -100,7 +100,7 @@ typename llvm::object::ELFFile<ELFT>::uintX_t getMipsGpAddr(); template <class ELFT> bool isGnuIFunc(const SymbolBody &S); -extern std::unique_ptr<TargetInfo> Target; +extern TargetInfo *Target; TargetInfo *createTarget(); } } |

