diff options
Diffstat (limited to 'lld/ELF/Symbols.h')
-rw-r--r-- | lld/ELF/Symbols.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lld/ELF/Symbols.h b/lld/ELF/Symbols.h index 98533cf3cbe..07729a98963 100644 --- a/lld/ELF/Symbols.h +++ b/lld/ELF/Symbols.h @@ -177,6 +177,11 @@ template <class ELFT> class DefinedAbsolute : public Defined<ELFT> { public: static Elf_Sym IgnoreUndef; + // The content for _gp symbol for MIPS target. + // The symbol has to be added early to reserve a place in symbol tables. + // The value of the symbol is computed later by Writer. + static Elf_Sym MipsGp; + DefinedAbsolute(StringRef N, const Elf_Sym &Sym) : Defined<ELFT>(Base::DefinedAbsoluteKind, N, Sym) {} @@ -188,6 +193,9 @@ public: template <class ELFT> typename DefinedAbsolute<ELFT>::Elf_Sym DefinedAbsolute<ELFT>::IgnoreUndef; +template <class ELFT> +typename DefinedAbsolute<ELFT>::Elf_Sym DefinedAbsolute<ELFT>::MipsGp; + template <class ELFT> class DefinedCommon : public Defined<ELFT> { typedef ELFSymbolBody<ELFT> Base; typedef typename Base::Elf_Sym Elf_Sym; |