This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: Relocation truncated to fit: R_ARM_PC24


On 24 April 2006 11:13, Dave Korn wrote:

> On 24 April 2006 10:33, Hanumesh R Shetty wrote:
> 
> 
>> gcc version 2.95.3 20010315 (release)(ColdFire patches
>> - 20010318 from http://fiddes.net/coldfire/)(uClinux
>> XIP and shared lib patches from
>> http://www.snapgear.com/)
> 
>> n_app.elf2flt(.text+0x18c): In function `_start':
>>> relocation truncated to fit: R_ARM_PC24 abort
>> collect2: ld returned 1 exit status
> 
>> even sfter using the -mlong-call option i failed. bcoz
>> the compiler not recognising this option. pls let me
>> know the alternate solution for this
> 
>   You spelt "-mlong-calls" wrong.


  Although looking at it in your .sh file it looks like you got it right
there.

  However it's way too late to try and add -mlong-calls at link time.  You
need to compile the code with it on in the first place.  -mlong-calls works by
loading the full 32-bit address into a register and jumping to it, instead of
trying to do a branch which has limited range, every time a function call is
needed.  If the code wasn't compiled that way the linker can't do anything
about it!

  You probably need to build a multilibbed compiler so that you can have a
-mlong-calls version of crt0.o, because otherwise the startup code isn't going
to be able to branch to your main() function if it's too far away.



    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


--
For unsubscribe information see http://sourceware.org/lists.html#faq


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