This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Tracing Android NDK's R_ARM_THM_CALL Truncate Problem
- From: lin zuojian <manjian2006 at gmail dot com>
- To: binutils at sourceware dot org
- Date: Fri, 28 Mar 2014 18:21:07 +0800
- Subject: Re: Tracing Android NDK's R_ARM_THM_CALL Truncate Problem
- Authentication-results: sourceware.org; auth=none
- References: <20140328094929 dot GA3768 at ubuntu> <20140328101802 dot GA26331 at ubuntu>
On Fri, Mar 28, 2014 at 06:18:02PM +0800, lin zuojian wrote:
> The following patch works,too.I make the modification referring to the
> source of gold.
> return ((thumb2
> ? Bits<25>::has_overflow32(branch_offset)
> : Bits<23>::has_overflow32(branch_offset))
> It says 25 is okay too.So I try it and it works out.
This source is in arm.cc, function
Arm_relocate_functions<big_endian>::thumb_branch_common,
at the end of this function.
>
> diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
> index 6a9e60f..0c19208 100644
> --- a/bfd/elf32-arm.c
> +++ b/bfd/elf32-arm.c
> @@ -226,7 +226,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
> HOWTO (R_ARM_THM_CALL, /* type */
> 1, /* rightshift */
> 2, /* size (0 = byte, 1 = short, 2 = long) */
> - 24, /* bitsize */
> + 25, /* bitsize */
> TRUE, /* pc_relative */
> 0, /* bitpos */
> complain_overflow_signed,/* complain_on_overflow */
>
>
> --
> Regards
> lin zuojian