[llvm] r205456 - Add back an assert that was lost in the ELFObjectFile.h split.

Ed Maste emaste at freebsd.org
Fri Aug 15 12:20:44 PDT 2014


On 2 April 2014 16:00, Rafael Espindola <rafael.espindola at gmail.com> wrote:
> Author: rafael
> Date: Wed Apr  2 15:00:33 2014
> New Revision: 205456
>
> URL: http://llvm.org/viewvc/llvm-project?rev=205456&view=rev
> Log:
> Add back an assert that was lost in the ELFObjectFile.h split.

llvm-objdump asserts when this is restored:

feynman% bin/llvm-objdump -r a.out

a.out:  file format ELF64-x86-64

RELOCATION RECORDS FOR [.rela.plt]:
Assertion failed: (EF.getHeader()->e_type == ELF::ET_REL && "Only
relocatable object files have relocation offsets"), function
getRelocationOffset, file ../include/llvm/Object/ELFObjectFile.h, line
599.
Stack dump:
0.      Program arguments: bin/llvm-objdump -r a.out
zsh: abort (core dumped)  bin/llvm-objdump -r a.out

    frame #2: 0x0000000802644831
libc.so.7`__assert(func=<unavailable>, file=<unavailable>,
line=<unavailable>, failedexpr=<unavailable>) + 81 at assert.c:54
    frame #3: 0x000000000084c1cf
llvm-objdump`llvm::object::ELFObjectFile<llvm::object::ELFType<(this=0x000000080303b1c0,
Rel=DataRefImpl at 0x00007fffffffdac8, Result=0x00007fffffffdcb8)1,
2ul, true> >::getRelocationOffset(llvm::object::DataRefImpl, unsigned
long&) const + 111 at ELFObjectFile.h:598
    frame #4: 0x000000000042301f
llvm-objdump`llvm::object::RelocationRef::getOffset(this=0x00007fffffffdce0,
Result=0x00007fffffffdcb8) const + 47 at ObjectFile.h:485
    frame #5: 0x000000000041edad
llvm-objdump`PrintRelocations(Obj=0x000000080303b1c0) + 813 at
llvm-objdump.cpp:588
    frame #6: 0x0000000000419385
llvm-objdump`DumpObject(o=0x000000080303b1c0) + 309 at
llvm-objdump.cpp:848
    frame #7: 0x0000000000418d4b llvm-objdump`DumpInput(file=(Data =
"a.out", Length = 5)) + 843 at llvm-objdump.cpp:905



More information about the llvm-commits mailing list