Don't allocate space for SHT_NOBITS sections.

llvm-svn: 246480
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 31f6408..94b4265 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -63,6 +63,7 @@
   uintX_t getFlags() { return Header.sh_flags; }
   uintX_t getFileOff() { return Header.sh_offset; }
   uintX_t getAlign() { return Header.sh_addralign; }
+  uint32_t getType() { return Header.sh_type; }
 
   virtual void finalize() {}
   virtual void writeTo(uint8_t *Buf) = 0;
@@ -449,7 +450,8 @@
       VA += RoundUpToAlignment(Size, Align);
     }
     Sec->setFileOffset(FileOff);
-    FileOff += RoundUpToAlignment(Size, Align);
+    if (Sec->getType() != SHT_NOBITS)
+      FileOff += RoundUpToAlignment(Size, Align);
   }
 
   // Regular sections.