diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2015-07-06 07:57:06 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-07-15 00:03:19 (GMT) |
commit | 50e8a6bba0cf5939afe849ef792f88f09a755758 (patch) | |
tree | a7e39522c0b7c53540041e516640e49563034b5a | |
parent | df898678ab96b904b962743bb5388284c712b9fb (diff) | |
download | u-boot-50e8a6bba0cf5939afe849ef792f88f09a755758.tar.xz |
tools: ifdtool: Write correct offset on 32-bit machine
On 32-bit machine strtol() returns LONG_MAX which is 0x7fffffff,
which is wrong for u-boot.rom components like u-boot-x86-16bit.bin.
Change to use strtoll() so that it works on both 32-bit and 64-bit
machines.
Reported-by: Fei Wang <wangfei.jimei@gmail.com>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | tools/ifdtool.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/ifdtool.c b/tools/ifdtool.c index 1d61df1..df16616 100644 --- a/tools/ifdtool.c +++ b/tools/ifdtool.c @@ -987,7 +987,7 @@ int main(int argc, char *argv[]) print_usage(argv[0]); exit(EXIT_FAILURE); } - ifile->addr = strtol(optarg, NULL, 0); + ifile->addr = strtoll(optarg, NULL, 0); ifile->type = opt == 'f' ? IF_fdt : opt == 'U' ? IF_uboot : IF_normal; if (ifile->type == IF_fdt) |