On Tue, Aug 08, 2017 at 12:28:19PM +0100, Russell King - ARM Linux wrote:
On Wed, Jul 26, 2017 at 11:30:04AM +1000, David Gibson wrote:
quoted
On Tue, Jul 25, 2017 at 05:20:09PM +0100, Russell King wrote:
quoted
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=]
Fixes: 828d4cdd012c ("dtc: check.c fix compile error")
Signed-off-by: Russell King <redacted>
This (embarrassing) error is already fixed in upstream dtc.
It remains unfixed in 4.13-rc4. How do we get this fixed in the
kernel's dtc? From what I can see, sending a patch to fix stuff
doesn't work.
Um.. I don't know. I haven't been the person doing updates of the
kernel dtc to match upstream dtc for ages.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson