This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [GOLD] [PATCH] Changed R_ARM_ABS8; added R_ARM_ABS32_NOI, R_ARM_ABS16, R_ARM_ABS12, R_ARM_THM_ABS5, R_ARM_BASE_ABS relocations
- From: Ian Lance Taylor <iant at google dot com>
- To: Viktor Kutuzov <vkutuzov at accesssoftek dot com>
- Cc: <binutils at sourceware dot org>
- Date: Fri, 09 Oct 2009 15:57:10 -0700
- Subject: Re: [GOLD] [PATCH] Changed R_ARM_ABS8; added R_ARM_ABS32_NOI, R_ARM_ABS16, R_ARM_ABS12, R_ARM_THM_ABS5, R_ARM_BASE_ABS relocations
- References: <6AE1604EE3EC5F4296C096518C6B77EEE56FBF79@mail.accesssoftek.com> <6AE1604EE3EC5F4296C096518C6B77EEE56FBF7F@mail.accesssoftek.com> <6AE1604EE3EC5F4296C096518C6B77EEED7DBE12@mail.accesssoftek.com> <1EEBE2E58503495EBB5CE024A1F7F272@andreic6e7fe55>
Viktor Kutuzov <vkutuzov@accesssoftek.com> writes:
> Attached is a patch that changes the R_ARM_ABS8 a little (removed unused has_thumb_bit flag) and adds the few new relocations:
>
> R_ARM_ABS32_NOI
> R_ARM_ABS16
> R_ARM_ABS12
> R_ARM_THM_ABS5
> R_ARM_BASE_ABS
>
> Best regards,
> Viktor
>
> * gold/arm.cc: Changed R_ARM_ABS8 - removed unused has_thumb_bit flag;
> added R_ARM_ABS32_NOI, R_ARM_ABS16, R_ARM_ABS12, R_ARM_THM_ABS5,
> R_ARM_BASE_ABS relocations
Approved and applied with this ChangeLog entry. Note how each
function is called out individually in ChangeLog.
Ian
2009-10-09 Viktor Kutuzov <vkutuzov@accesssoftek.com>
* arm.cc (Target_arm::relocate::reloc_is_non_pic): Return true for
R_ARM_THM_ABS5, R_ARM_ABS8, R_ARM_ABS12, R_ARM_ABS16,
R_ARM_BASE_ABS.
(Arm_relocate_functions::abs8): Remove has_thumb_bit parameter.
(Arm_relocate_functions::thm_abs5): New function.
(Arm_relocate_functions::abs12): New function.
(Arm_relocate_functions::abs16): New function.
(Arm_relocate_functions::base_abs): New function.
(Scan::check_non_pic): Handle R_ARM_ABS32_NOI.
(Scan::local): Remove special handling of R_ARM_ABS8. Handle
R_ARM_ABS32_NOI, R_ARM_THM_ABS5, R_ARM_ABS12, R_ARM_ABS16, and
R_ARM_BASE_ABS.
(Scan::global): Likewise.
(Relocate::relocate): Handle R_ARM_ABS12, R_ARM_ABS16,
R_ARM_ABS32_NOI, R_ARM_THM_ABS5, and R_ARM_BASE_ABS.
(Relocatable_size_for_reloc::get_size_for_reloc): Handle
R_ARM_ABS16, R_ARM_THM_ABS5, R_ARM_ABS32_NOI, R_ARM_ABS12, and
R_ARM_BASE_ABS.