From: Daniel Schwierzeck Date: Mon, 7 Jan 2013 06:54:52 +0000 (+0000) Subject: bootm: relocate names of sub-command table for archs with CONFIG_NEEDS_MANUAL_RELOC X-Git-Tag: v2013.01-rc3~1 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=58bd77db9dc32847bc5a5f0b5d0f8f6e3780679a;p=oweals%2Fu-boot.git bootm: relocate names of sub-command table for archs with CONFIG_NEEDS_MANUAL_RELOC To make bootm sub-command feature working on archs with CONFIG_NEEDS_MANUAL_RELOC, the name pointers in the sub-command table need to be relocated. Signed-off-by: Daniel Schwierzeck --- diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index f7595c0311..1b8a8c1561 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -592,12 +592,18 @@ int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) #ifdef CONFIG_NEEDS_MANUAL_RELOC static int relocated = 0; - /* relocate boot function table */ if (!relocated) { int i; + + /* relocate boot function table */ for (i = 0; i < ARRAY_SIZE(boot_os); i++) if (boot_os[i] != NULL) boot_os[i] += gd->reloc_off; + + /* relocate names of sub-command table */ + for (i = 0; i < ARRAY_SIZE(cmd_bootm_sub); i++) + cmd_bootm_sub[i].name += gd->reloc_off; + relocated = 1; } #endif