[PATCH] D14676: [RuntimeDyld] Don't allocate unnecessary stub buffer space

Sanjoy Das via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 16 12:49:21 PST 2015


sanjoy added a comment.

In http://reviews.llvm.org/D14676#289725, @maksfb wrote:

> Sanjoy, I'm not very familiar with all scenarios where stubs are used. Is it possible R_X86_64_PC32 relocation will need a stub?


I'm just going by reading the code (I'm not familiar with linkers in
general), but the relevant clause in
RuntimeDyldELF::processRelocationRef seems to be

  } else if (RelType == ELF::R_X86_64_PC32) {
    Value.Addend += support::ulittle32_t::ref(computePlaceholderAddress(SectionID, Offset));
    processSimpleRelocation(SectionID, Offset, RelType, Value);

and it does not seem to require stub space.  In fact, from reading the
code, pretty much the only relocation for x86_64/ELF that needs stub
space is ELF::R_X86_64_PLT32.

In any case, if I'm wrong, http://reviews.llvm.org/D14674 and http://reviews.llvm.org/D14675 should make it obvious an
obvious crash.


http://reviews.llvm.org/D14676





More information about the llvm-commits mailing list