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.