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: =?big5?b?RG91ZyBLd2FuICjD9q62vHcp?= <dougkwan at google dot com>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: Viktor Kutuzov <vkutuzov at accesssoftek dot com>, binutils at sourceware dot org
- Date: Fri, 9 Oct 2009 16:33:44 -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> <mcrocog41mh.fsf@dhcp-172-17-9-151.mtv.corp.google.com>
Hi,
I saw code like:
Reltype x = This::arm_symbol_value(object, psymval, addend, false);
If there is no need for thumb bit adjustment, this can be simply written as
Reltype x = psymval->value(object, addend);
If fact, I plan to remove the arm_symbol_value in the interworking
patch. I would appreicate Viktor avoid calling arm_symbol_value in
the future if no adjustment is required.
Thanks
-Doug
2009/10/9 Ian Lance Taylor <iant@google.com>:
> 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.
>