diff options
-rw-r--r-- | lld/ELF/Writer.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 68c1007185f..961f47d0f81 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -1013,6 +1013,11 @@ template <class ELFT> bool Writer<ELFT>::createSections() { for (OutputSectionBase<ELFT> *Sec : RegularSections) addStartStopSymbols(Sec); } + + // Add _DYNAMIC symbol. Unlike GNU gold, our _DYNAMIC symbol has no type. + // It should be okay as no one seems to care about the type. + // Even the author of gold doesn't remember why gold behaves that way. + // https://sourceware.org/ml/binutils/2002-03/msg00360.html if (isOutputDynamic()) Symtab.addSynthetic("_DYNAMIC", *Out<ELFT>::Dynamic, 0, STV_HIDDEN); |