From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31486 invoked by alias); 31 Jul 2002 12:05:33 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 31413 invoked from network); 31 Jul 2002 12:05:31 -0000 Received: from unknown (HELO executor.cambridge.redhat.com) (195.224.55.237) by sources.redhat.com with SMTP; 31 Jul 2002 12:05:31 -0000 Received: from north-pole.nickc.cambridge.redhat.com.redhat.com (vpn50-49.rdu.redhat.com [172.16.50.49]) by executor.cambridge.redhat.com (Postfix) with ESMTP id 411F0ABAF8; Wed, 31 Jul 2002 13:05:28 +0100 (BST) To: Adam Nemet Cc: Richard.Earnshaw@arm.com, binutils@sources.redhat.com Subject: Re: [PATCH, arm] Support for Thumb PLT entries with interwork References: <200207191450.PAA23400@cam-mail2.cambridge.arm.com> From: Nick Clifton Date: Wed, 31 Jul 2002 05:34:00 -0000 In-Reply-To: Message-ID: User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-07/txt/msg00792.txt.bz2 Hi Adam, > bfd/ChangeLog: > 2002-07-23 Adam Nemet > > * 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 > > * 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...