This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, arm] Support for Thumb PLT entries with interwork


Hi Adam,

> bfd/ChangeLog:
> 2002-07-23  Adam Nemet  <anemet@lnxw.com>
> 
> 	* elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
> 	(THUMB_PLT_ENTRY_SIZE): New macro.
> 	(PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
> 	(elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
> 	ARM_PLT_ENTRY_SIZE.
> 	(elf32_arm_plt_entry): Likewise.
> 	(elf_backend_plt_header_size): Likewise.
> 
> 	(elf32_thumb_plt0_entry): New global.
> 	(elf32_arm_finish_dynamic_sections): Use it.  Put Thumb entries
> 	into .plt.thumb.
> 	(elf32_thumb_plt_entry): New global.
> 	(elf32_arm_finish_dynamic_symbol): Use it.  Use .thumb.plt for
> 	Thumb entries.  Set the bottom bit of the corresponding GOT entry
> 	for a Thumb PLT entry.
> 
> 	(struct elf32_arm_plt_entry_info): New structure.
> 	(struct elf32_arm_link_hash_entry, plt_info): New member of this
> 	type.
> 	(elf32_arm_link_hash_newfunc): Initialize new member.
> 
> 	(elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
> 	relocations against the PLT.
> 	(elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
> 	first_rel_type if this is the first time we encounter the symbol.
> 	(elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
> 	Determine if relocation needs a PLT entry.  Set first_rel_type if
> 	this is the first time we encounter the symbol
> 	(elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
> 	functions as well.
> 	(elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
> 
> 	(elf32_arm_create_dynamic_sections): New function.  Create the
> 	.plt.thumb section.
> 	(elf_backend_create_dynamic_sections): Call it.
> 
> ld/ChangeLog:
> 2002-07-23  Adam Nemet  <anemet@lnxw.com>
> 
> 	* emulparams/armelf.sh (OTHER_PLT_SECTIONS): New variable.  Set it
> 	to .plt.thumb.
> 	* scripttempl/elf.sc: Comment it.  Use the same way as ${PLT} is
> 	used.

Approved and applied.

Cheers
        Nick

PS. Sorry about the delay...


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]