diff options
-rw-r--r-- | include/llvm/Object/ELF.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/include/llvm/Object/ELF.h b/include/llvm/Object/ELF.h index 5409fc3..136fdf5 100644 --- a/include/llvm/Object/ELF.h +++ b/include/llvm/Object/ELF.h @@ -1260,18 +1260,16 @@ template<class ELFT> error_code ELFObjectFile<ELFT>::getSectionContents(DataRefImpl Sec, StringRef &Result) const { const Elf_Shdr *sec = reinterpret_cast<const Elf_Shdr *>(Sec.p); - return getSectionContents(sec, Result); + const char *start = (const char*)base() + sec->sh_offset; + Result = StringRef(start, sec->sh_size); + return object_error::success; } template<class ELFT> error_code ELFObjectFile<ELFT>::getSectionContents(const Elf_Shdr *Sec, StringRef &Result) const { - 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); - } + const char *start = (const char*)base() + Sec->sh_offset; + Result = StringRef(start, Sec->sh_size); return object_error::success; } |