
From: no one noone@example.com
Recent MIPS Linux kernels are using a 64-bit value for the load address (0xffffffff80010000) for the Creator CI20 board kernel. When this argument was passed to the mkimage program running on a 32-bit machine such as the Creator CI20 board the load address was incorrectly obtained from the first half of the argument, 0xffffffff by the strtoul. The mkimage should be able to tolerate the longer, 64-bit signed version of the arguments with the use of strtoull. --- tools/mkimage.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/mkimage.c b/tools/mkimage.c index 8f8b6df..b6c2958 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -129,7 +129,7 @@ int main(int argc, char **argv) case 'a': if (--argc <= 0) usage (); - params.addr = strtoul (*++argv, &ptr, 16); + params.addr = strtoull (*++argv, &ptr, 16); if (*ptr) { fprintf (stderr, "%s: invalid load address %s\n", @@ -146,7 +146,7 @@ int main(int argc, char **argv) case 'e': if (--argc <= 0) usage (); - params.ep = strtoul (*++argv, &ptr, 16); + params.ep = strtoull (*++argv, &ptr, 16); if (*ptr) { fprintf (stderr, "%s: invalid entry point %s\n",