[llvm-commits] [llvm] r173007 - /llvm/trunk/include/llvm/Object/ELF.h
Michael Spencer
bigcheesegs at gmail.com
Sun Jan 20 23:57:33 PST 2013
On Sun, Jan 20, 2013 at 10:46 PM, Michael J. Spencer
<bigcheesegs at gmail.com> wrote:
> Author: mspencer
> Date: Mon Jan 21 00:46:11 2013
> New Revision: 173007
>
> URL: http://llvm.org/viewvc/llvm-project?rev=173007&view=rev
> Log:
> [Object] .bss sections have no content. PR15005.
>
> Modified:
> llvm/trunk/include/llvm/Object/ELF.h
>
> Modified: llvm/trunk/include/llvm/Object/ELF.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/ELF.h?rev=173007&r1=173006&r2=173007&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Object/ELF.h (original)
> +++ llvm/trunk/include/llvm/Object/ELF.h Mon Jan 21 00:46:11 2013
> @@ -1260,16 +1260,18 @@
> error_code ELFObjectFile<ELFT>::getSectionContents(DataRefImpl Sec,
> StringRef &Result) const {
> const Elf_Shdr *sec = reinterpret_cast<const Elf_Shdr *>(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<class ELFT>
> error_code ELFObjectFile<ELFT>::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;
> }
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
This broke some of the JIT tests. I'm working on figuring out why.
- Michael Spencer
More information about the llvm-commits
mailing list