On 32 bit systems, sizeof macro doesn't always return (unsigned long), and the %zu formatter specifically handles size_t. Fix following error: tools/mgmt-tester.c: In function ‘read_50_controller_cap_complete’: tools/mgmt-tester.c:9124:58: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘unsigned int’ [-Werror=format=] 9124 | tester_warn("Controller capabilities malformed, size %lu != %u", | ~~^ | | | long unsigned int | %u 9125 | sizeof(rp->cap_len) + rp->cap_len, length); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int --- tools/mgmt-tester.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c index fe73a6d89..bb9fb0b9c 100644 --- a/tools/mgmt-tester.c +++ b/tools/mgmt-tester.c @@ -9121,7 +9121,7 @@ static void read_50_controller_cap_complete(uint8_t status, uint16_t length, } if (sizeof(rp->cap_len) + rp->cap_len != length) { - tester_warn("Controller capabilities malformed, size %lu != %u", + tester_warn("Controller capabilities malformed, size %zu != %u", sizeof(rp->cap_len) + rp->cap_len, length); tester_test_failed(); } -- 2.25.4