common: fix missing function pointer relocation in fixup_cmdtable()

The command auto-completion does not work on architectures relying
on CONFIG_NEEDS_MANUAL_RELOC like MIPS. Cause is the missing function
pointer fixup for cmd_tbl_t::complete function in fixup_cmdtable().

This patch adds the missing pointer fixup in case of CONFIG_AUTO_COMPLETE
is defined.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
This commit is contained in:
Daniel Schwierzeck 2011-10-13 06:07:39 +00:00 committed by Wolfgang Denk
parent 4fc823ddb4
commit fa28bd2eef

View File

@ -474,6 +474,12 @@ void fixup_cmdtable(cmd_tbl_t *cmdtp, int size)
addr = (ulong)(cmdtp->help) + gd->reloc_off;
cmdtp->help = (char *)addr;
}
#endif
#ifdef CONFIG_AUTO_COMPLETE
if (cmdtp->complete) {
addr = (ulong)(cmdtp->complete) + gd->reloc_off;
cmdtp->complete = (char *)addr;
}
#endif
cmdtp++;
}