[PATCH] parameterize elf64-x86-64 PLT generation

H.J. Lu hjl.tools@gmail.com
Thu Mar 15 00:35:00 GMT 2012


On Wed, Mar 14, 2012 at 5:15 PM, Roland McGrath <mcgrathr@google.com> wrote:
> This changes the elf64-x86-64 backend to parameterize the details
> of PLT generation using the arch_data member of struct elf_backend_data.
> This is quite similar to what I did in elf32-i386, though here I put all
> the PLT stuff directly in the new struct elf_x86_64_backend_data rather
> than having it point to another struct of PLT-related parameters, since
> there is nothing else to put there.
>
> Once this goes in, I will have elf64-x86-64-nacl backend support that
> takes advantage of the flexibility to define its PLT details differently.
>
> Ok for trunk?
>
>
> Thanks,
> Roland
>
>
> bfd/
>        * elf64-x86-64.c (struct elf_x86_64_backend_data): New type.
>        (get_elf_x86_64_backend_data, GET_PLT_ENTRY_SIZE): New macros.
>        (elf_x86_64_arch_bed): New variable.
>        (elf_backend_arch_data): New macro.
>        (elf_x86_64_adjust_dynamic_symbol): Use GET_PLT_ENTRY_SIZE.
>        (elf_x86_64_allocate_dynrelocs): Likewise.
>        (elf_x86_64_relocate_section): Likewise.
>        (elf_x86_64_plt_sym_val): Likewise.
>        (elf_x86_64_finish_dynamic_symbol): Use elf_x86_64_backend_data
>        parameters for PLT details.
>        (elf_x86_64_finish_dynamic_sections): Likewise.
>

OK if there is no regression.

Thanks.

-- 
H.J.



More information about the Binutils mailing list