On Fri, 2010-07-30 at 08:00 +0200, Heiko Schocher wrote: > Hello Peter, > > Peter Tyser wrote: > >> +#if !defined(CONFIG_RELOC_FIXUP_WORKS) > >> +DECLARE_GLOBAL_DATA_PTR; > >> + > >> +void fixup_cmdtable(cmd_tbl_t *cmdtp, int size) > >> +{ > >> + int i; > >> + > >> + if (gd->reloc_off == 0) > >> + return; > >> + > >> + for (i = 0; i < size; i++) { > >> + ulong addr; > >> + > >> + addr = (ulong) (cmdtp->cmd) + gd->reloc_off; > >> + cmdtp->cmd = > >> + (int (*)(struct cmd_tbl_s *, int, int, char * const > >> []))addr; > >> + addr = (ulong)(cmdtp->name) + gd->reloc_off; > >> + cmdtp->name = (char *)addr; > >> + if (cmdtp->usage) { > >> + addr = (ulong)(cmdtp->usage) + gd->reloc_off; > >> + cmdtp->usage = (char *)addr; > >> + } > >> +#ifdef CONFIG_SYS_LONGHELP > >> + if (cmdtp->help) { > >> + addr = (ulong)(cmdtp->help) + gd->reloc_off; > >> + cmdtp->help = (char *)addr; > >> + } > >> +#endif > >> + cmdtp++; > >> + } > >> +} > > > > A number of other arches have this same logic in arch-specific code, eg > > arch/mips/lib/board.c. Could you also convert them to use the new > > fixup_cmdtable() in this patch? > > Ah, Ok, I can try it. This will then result, that this patch can go > direct to mainline, right?
Yes, I'd think this patch would be accepted regardless of the other ARM relocation changes as its a general improvement. > As I see in the code, this should be possible for the following > architectures: > > avr32 > m68k > mips I believe sparc should also be included. Best, Peter _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot