This is the mail archive of the binutils@sourceware.org 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: Tracing Android NDK's R_ARM_THM_CALL Truncate Problem


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


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