RFC: Use .plt section sh_entsize instead of GET_PLT_ENTRY_SIZE
Maciej W. Rozycki
Mon Sep 16 18:52:00 GMT 2013
On Mon, 16 Sep 2013, H.J. Lu wrote:
> > MIPS PLT can now include multiple entries, of a different size each,
> > referring to the same GOT offset and the PLT entries are not sorted
> > (anymore) in the increasing GOT offset order (the difference is the MIPS
> > port passes the GOT offset in a register rather than on the stack, but
> > that's a minor implementation detail that does not affect the overall
> > design). Perhaps you could take a similar approach to solve your problem.
> I see
> _bfd_mips_elf_plt_sym_val (bfd_vma i, const asection *plt,
> const arelent *rel ATTRIBUTE_UNUSED)
> return (plt->vma
> + 4 * ARRAY_SIZE (mips_o32_exec_plt0_entry)
> + i * 4 * ARRAY_SIZE (mips_exec_plt_entry));
> How does it work with variable PLT entry sizes?
That's used for n64 and n32 binaries that at the moment do not support
mixed-size PLTs. This handler is used by _bfd_elf_get_synthetic_symtab,
o32 binaries use _bfd_mips_elf_get_synthetic_symtab instead.
More information about the Binutils