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: Will Newton <will dot newton at linaro dot org>
- To: lin zuojian <manjian2006 at gmail dot com>
- Cc: amodra at gmail dot com, "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Fri, 28 Mar 2014 13:14:43 +0000
- Subject: Re: Tracing Android NDK's R_ARM_THM_CALL Truncate Problem
- Authentication-results: sourceware.org; auth=none
- References: <20140328094929 dot GA3768 at ubuntu> <CANu=Dmic6dcw+vxFL_y=EsuKkoGrDfKoje39bw6Pi4YJnAcXYg at mail dot gmail dot com> <20140328114853 dot GA2715 at lin-desktop> <20140328125952 dot GA4066 at lin-desktop> <20140328130926 dot GB4066 at lin-desktop>
On 28 March 2014 13:09, lin zuojian <manjian2006@gmail.com> wrote:
> Hi,
> I was completely misunderstood about this behavior.Here's what the
> source say:
> /* Default values. */
> /* Thumb branch range is +-4MB has to be used as the default
> maximum size (a given section can contain both ARM and Thumb
> code, so the worst case has to be taken into account).
>
> This value is 24K less than that, which allows for 2025
> 12-byte stubs. If we exceed that, then we will fail to link.
> The user will have to relink with an explicit group size
> option. */
>
> So this is cause by too many stubs in the same group,and I have to
> "relink with an explicit group size option".
>
> But will the linker do the math for me? Retry with the suitable
> parameter when fail for example.
Unfortunately no, the linker doesn't have the ability to do that at
the moment. From looking at the values used it seems like
stub_group_size could sensibly be decreased a bit, but it would be
interesting to know what the highest value that works for you is.
--
Will Newton
Toolchain Working Group, Linaro