[lld] r190753 - If .bss doesn't exist, set _end/end based on .data.

Joerg Sonnenberger joerg at bec.de
Sat Sep 14 06:59:49 PDT 2013


Author: joerg
Date: Sat Sep 14 08:59:49 2013
New Revision: 190753

URL: http://llvm.org/viewvc/llvm-project?rev=190753&view=rev
Log:
If .bss doesn't exist, set _end/end based on .data.

Modified:
    lld/trunk/lib/ReaderWriter/ELF/ExecutableWriter.h

Modified: lld/trunk/lib/ReaderWriter/ELF/ExecutableWriter.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ExecutableWriter.h?rev=190753&r1=190752&r2=190753&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ExecutableWriter.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ExecutableWriter.h Sat Sep 14 08:59:49 2013
@@ -129,6 +129,10 @@ template <class ELFT> void ExecutableWri
         bssSection->virtualAddr() + bssSection->memSize();
     (*underScoreEndAtomIter)->_virtualAddr = (*bssEndAtomIter)->_virtualAddr;
     (*endAtomIter)->_virtualAddr = (*bssEndAtomIter)->_virtualAddr;
+  } else if (auto dataSection = this->_layout->findOutputSection(".data")) {
+    (*underScoreEndAtomIter)->_virtualAddr =
+        dataSection->virtualAddr() + dataSection->memSize();
+    (*endAtomIter)->_virtualAddr = (*underScoreEndAtomIter)->_virtualAddr;
   }
 
   // Give a chance for the target to finalize its atom values





More information about the llvm-commits mailing list