[U-Boot] Image.c get_table_entry_name

Peter Tyser ptyser at xes-inc.com
Fri Sep 5 19:00:51 CEST 2008


Hi Ed,

> The string pointers in uimage_{arch,os,type,comp}[] are not being
> relocated and still point to flash.
> If flash is erased (all f's), this causes bootm to trap on a bad
> pointer.
> 
> This is for powerpc (mpc8572ds).  How are they suppose to be relocated?
> 
> -EdS
> 
> => boot
> boot
> ## Booting kernel from Legacy Image at 01000000 ...
>    Image Name:   Linux-2.6.26-f8572-8572ds-00610-
>    Image Type:   Bad trap at PC: 3ffa7ae8, SR: 29200, vector=d00
> NIP: 3FFA7AE8 XER: 20000000 LR: 3FFA74F8 REGS: 3fe9d8b0 TRAP: 0d00 DAR:
> F0000000
> MSR: 00029200 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 00
> 
> GPR00: 000000FF 3FE9D9A0 3FE9DF70 F0000000 00000000 3FE9D9E0 EFFB8358
> EFFB8300 
> GPR08: 000000A0 EFFB849C 3FFD7FD5 00000002 00000001 10030BD0 3FFEAC00
> 00000000 
> GPR16: 3FFC28D0 3FFD782C 00000000 00000000 00000000 00000000 00000000
> 3FFD6168 
> GPR24: 3FE9D9A8 3FE9D9EC 00000000 FFFFFFFF EFFB849C 3FE9D9EC 3FFEADCC
> 3FE9D9E0 

Re-applying Grant's change that was backed out here:
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/33297 solved the
same issue (with other commands) for me when using gcc 4.2.2 for an
8572-based board.  eg:

- #define CONFIG_RELOC_FIXUP_WORKS in your board header
- remove *(.fixup) from your board's linker script
- add -mrelocatable to your compile flags

Best,
Peter



More information about the U-Boot mailing list