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

ml mludwig at adc-elektronik.de
Fri May 16 19:36:27 CEST 2008


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
-- 
View this message in context: http://www.nabble.com/relocation-truncated-to-fit%3A-R_ARM_PC24-against-symbol-tp17258465p17280314.html
Sent from the MicroControllers - Ethernut mailing list archive at Nabble.com.




More information about the En-Nut-Discussion mailing list