[En-Nut-Discussion] re location truncated to fit: R_ARM_PC24 against symbol solved - so far

Alain M. alainm at pobox.com
Fri May 16 21:52:53 CEST 2008


Hi ML,

can you send please a description of that solution. It would be nice to 
be inserted in Nut and for other things too!

Thanks,
Alain

ml escreveu:
> Hi ,
> 
> the problem was that the compiler inserts small functions directly in the
> code instead of making a jump.
> (Maybe an optimizing thing)
> Bigger functions allways produce the error because in the generated lst file
> i can see that the compiler
> (tried some different versions gnuarm, yagarto) allways uses a bl
> instruction for calling the ramfunc.
> that´s not ok he must use a bx instruction which can jump so far. 
> -mlong-call  doesn´t solve this.
> somewhere in the deepth of the www i found a statement that gcc sometimes
> ignors such long-calls except the functions are placed in an extra unit. I
> do so and all compiles well. A little testapp runs in Rom and RAM.
> Now i must change my big application and find out how to debug in ROM with
> eclipse.
> Modern debugging with uart is not the way i like.
> 
> Martin



More information about the En-Nut-Discussion mailing list