[U-Boot-Users] Coldfire: Problem with linking / CFG_MONITOR_BASE
w.wegner at astro-kom.de
w.wegner at astro-kom.de
Wed Aug 8 16:47:41 CEST 2007
Hi,
sorry for answering (or following up to) my own message.
The problem is related to the linker script and code size.
I can link U-Boot successfully when commenting out the special treatment for the
environment in the linker script:
/* . = DEFINED(env_offset) ? env_offset : .;*/
/* common/environment.o (.text)*/
The resulting image is, however, more than 2 times as big as the image configured for
starting from RAM, I did not yet figure out why.
(regular: around 100k, now: 238k)
Best regards,
Wolfgang
On 8 Aug 2007 at 15:33, w.wegner at astro-kom.de wrote:
> Dear List,
>
> I was trying to clean up my "new" mcf532x tree to prepare for sending patches, and switched
> back to CONFIG_MONITOR_IS_IN_RAM being undefined.
>
> Now, I get the following error during final linking:
>
> cpu/mcf532x/start.o(.text+0x452):start.S:163: relocation truncated to fit: R_68K_PC16
> against symbol `board_init_f' defined in .text section in lib_m68k/libm68k.a(board.o)
> cpu/mcf532x/start.o(.text+0x504):start.S:266: relocation truncated to fit: R_68K_PC16
> against symbol `int_handler' defined in .text section in lib_m68k/libm68k.a(interrupts.o)
> make: *** [u-boot] Error 1
>
> I could track it down that this is triggered by the setting of
> #ifdef CONFIG_MONITOR_IS_IN_RAM
> #define CFG_MONITOR_BASE 0x40020000
> #else
> #define CFG_MONITOR_BASE (CFG_FLASH_BASE + 0x400)
> #endif
> in my config.h, i.e. if I swap these two values, compilation fails in the other case.
>
> Can anybody give a hint what might be going wrong here?
>
> Thank you,
> Wolfgang
More information about the U-Boot
mailing list