dtc uses an incorrect format specifier for printing a uint64_t value.
uint64_t may be either 'unsigned long' or 'unsigned long long' depending
on the host architecture.
Fix this by using %llx and casting to unsigned long long, which ensures
that we always have a wide enough variable to print 64 bits of hex.
HOSTCC scripts/dtc/checks.o
scripts/dtc/checks.c: In function 'check_simple_bus_reg':
scripts/dtc/checks.c:876:2: warning: format '%zx' expects argument of type 'size_t', but argument 4 has type 'uint64_t' [-Wformat=]
snprintf(unit_addr, sizeof(unit_addr), "%zx", reg);
^
scripts/dtc/checks.c:876:2: warning: format '%zx' expects argument of type 'size_t', but argument 4 has type 'uint64_t' [-Wformat=]
Link: http://lkml.kernel.org/r/20170829222034.GJ20805@n2100.armlinux.org.uk
Fixes: 828d4cdd012c ("dtc: check.c fix compile error")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Shuah Khan <shuahkh@osg.samsung.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: Michal Marek <mmarek@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|---|---|---|
| .. | ||
| include-prefixes | ||
| libfdt | ||
| .gitignore | ||
| checks.c | ||
| data.c | ||
| dt_to_config | ||
| dtc-lexer.l | ||
| dtc-lexer.lex.c_shipped | ||
| dtc-parser.tab.c_shipped | ||
| dtc-parser.tab.h_shipped | ||
| dtc-parser.y | ||
| dtc.c | ||
| dtc.h | ||
| dtx_diff | ||
| fdtdump.c | ||
| fdtget.c | ||
| fdtput.c | ||
| flattree.c | ||
| fstree.c | ||
| livetree.c | ||
| Makefile | ||
| Makefile.dtc | ||
| srcpos.c | ||
| srcpos.h | ||
| treesource.c | ||
| update-dtc-source.sh | ||
| util.c | ||
| util.h | ||
| version_gen.h | ||