From c47de41e029df085b7d705ec41739e8d2de8059f Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Mon, 21 Jan 2013 06:46:11 +0000 Subject: [PATCH] [Object] .bss sections have no content. PR15005. llvm-svn: 173007 --- llvm/include/llvm/Object/ELF.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/llvm/include/llvm/Object/ELF.h b/llvm/include/llvm/Object/ELF.h index 136fdf5..5409fc3 100644 --- a/llvm/include/llvm/Object/ELF.h +++ b/llvm/include/llvm/Object/ELF.h @@ -1260,16 +1260,18 @@ template error_code ELFObjectFile::getSectionContents(DataRefImpl Sec, StringRef &Result) const { const Elf_Shdr *sec = reinterpret_cast(Sec.p); - const char *start = (const char*)base() + sec->sh_offset; - Result = StringRef(start, sec->sh_size); - return object_error::success; + return getSectionContents(sec, Result); } template error_code ELFObjectFile::getSectionContents(const Elf_Shdr *Sec, StringRef &Result) const { - const char *start = (const char*)base() + Sec->sh_offset; - Result = StringRef(start, Sec->sh_size); + if (Sec->sh_type == ELF::SHT_NOBITS) + Result = StringRef(); + else { + const char *start = (const char*)base() + Sec->sh_offset; + Result = StringRef(start, Sec->sh_size); + } return object_error::success; } -- 2.7.4