aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSven Roederer <devel-sven@geroedel.de>2020-04-27 02:08:38 +0200
committerTom Rini <trini@konsulko.com>2020-05-01 11:34:01 -0400
commitfc21a88f801c41a535397a359b3b5bdc3ef8e79f (patch)
treecc7f25b578ce2fb13bf8bf73a1fae1ea95bd4f1a /tools
parent37f2755a00c1b3223780d88c7a82e2f6af26a18e (diff)
downloadu-boot-fc21a88f801c41a535397a359b3b5bdc3ef8e79f.zip
u-boot-fc21a88f801c41a535397a359b3b5bdc3ef8e79f.tar.gz
u-boot-fc21a88f801c41a535397a359b3b5bdc3ef8e79f.tar.bz2
tools/mkimage: fix handling long filenames
The cmdline for calling the dtc was cut-off when using long filenames (e.g. 245 bytes) for output-file and datafile of "-f" parameter. For FIT-images cmd[MKIMAGE_MAX_DTC_CMDLINE_LEN] is declared (hardcoded 512 bytes), and contains some static values, the path of a tmpfile and a datafile. tmpfile is max MKIMAGE_MAX_TMPFILE_LEN (256) and datafile might be also this size. Having two very long pathname results in a truncation os the executed shell command, as the truncated datafile path will not be found. Redefine MKIMAGE_MAX_DTC_CMDLINE_LEN to "2 * MKIMAGE_MAX_TMPFILE_LEN + 35 for the parameters. This likely applies to the "-d" parameter, too. Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
Diffstat (limited to 'tools')
-rw-r--r--tools/mkimage.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/mkimage.h b/tools/mkimage.h
index 0254af5..5b096a5 100644
--- a/tools/mkimage.h
+++ b/tools/mkimage.h
@@ -42,6 +42,6 @@ static inline ulong map_to_sysmem(void *ptr)
#define MKIMAGE_TMPFILE_SUFFIX ".tmp"
#define MKIMAGE_MAX_TMPFILE_LEN 256
#define MKIMAGE_DEFAULT_DTC_OPTIONS "-I dts -O dtb -p 500"
-#define MKIMAGE_MAX_DTC_CMDLINE_LEN 512
+#define MKIMAGE_MAX_DTC_CMDLINE_LEN 2 * MKIMAGE_MAX_TMPFILE_LEN + 35
#endif /* _MKIIMAGE_H_ */