Message ID | e77836236dfb6724aa95a8c2305a2d63762367be.1688570228.git.geert+renesas@glider.be (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [libdrm] amdgpu: Use %ll to format 64-bit integers | expand |
On Wed, Jul 5, 2023 at 5:17 PM Geert Uytterhoeven <geert+renesas@glider.be> wrote: > > On 32-bit: > > ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: > ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > ~~^ > %llx > num_buffers++, addr, domain, size); > ~~~~ > ../tests/amdgpu/amdgpu_stress.c:178:72: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > ~~^ > %llu > num_buffers++, addr, domain, size); > ~~~~ > ../tests/amdgpu/amdgpu_stress.c: In function ‘submit_ib’: > ../tests/amdgpu/amdgpu_stress.c:276:54: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > ~~^ > %llx > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > ~~~~~~~~~~~~~ > ../tests/amdgpu/amdgpu_stress.c:276:65: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > ~~^ > %llx > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > ~~~~~~~~~~~ > ../tests/amdgpu/amdgpu_stress.c:276:70: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 8 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > ~~^ > %llu > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > ~~~~~~ > ../tests/amdgpu/amdgpu_stress.c:276:85: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 9 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > ~~^ > %llu > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > ~~~~~~~~~~~~ > ../tests/amdgpu/amdgpu_stress.c: In function ‘parse_size’: > ../tests/amdgpu/amdgpu_stress.c:296:24: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 3 has type ‘uint64_t *’ {aka ‘long long unsigned int *’} [-Wformat=] > if (sscanf(optarg, "%li%1[kmgKMG]", &size, ext) < 1) { > ~~^ ~~~~~ > %lli > ../tests/amdgpu/amdgpu_stress.c: In function ‘main’: > ../tests/amdgpu/amdgpu_stress.c:378:45: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stderr, "Buffer size to small %lu\n", size); > ~~^ ~~~~ > %llu > > Fix this by using the proper "%ll" format specifier prefix. > > Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Scrap it, now it fails on 64-bit :-( > --- a/tests/amdgpu/amdgpu_stress.c > +++ b/tests/amdgpu/amdgpu_stress.c > @@ -175,7 +175,7 @@ int alloc_bo(uint32_t domain, uint64_t size) > > resources[num_buffers] = bo; > virtual[num_buffers] = addr; > - fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > + fprintf(stdout, "Allocated BO number %u at 0x%llx, domain 0x%x, size %llu\n", > num_buffers++, addr, domain, size); > return 0; > } > @@ -273,7 +273,7 @@ int submit_ib(uint32_t from, uint32_t to, uint64_t size, uint32_t count) > delta = stop.tv_nsec + stop.tv_sec * 1000000000UL; > delta -= start.tv_nsec + start.tv_sec * 1000000000UL; > > - fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > + fprintf(stdout, "Submitted %u IBs to copy from %u(%llx) to %u(%llx) %llu bytes took %llu usec\n", > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > return 0; > } > @@ -293,7 +293,7 @@ uint64_t parse_size(void) > char ext[2]; > > ext[0] = 0; > - if (sscanf(optarg, "%li%1[kmgKMG]", &size, ext) < 1) { > + if (sscanf(optarg, "%lli%1[kmgKMG]", &size, ext) < 1) { > fprintf(stderr, "Can't parse size arg: %s\n", optarg); > exit(EXIT_FAILURE); > } > @@ -375,7 +375,7 @@ int main(int argc, char **argv) > next_arg(argc, argv, "Missing buffer size"); > size = parse_size(); > if (size < getpagesize()) { > - fprintf(stderr, "Buffer size to small %lu\n", size); > + fprintf(stderr, "Buffer size to small %llu\n", size); > exit(EXIT_FAILURE); > } > r = alloc_bo(domain, size); Gr{oetje,eeting}s, Geert
diff --git a/tests/amdgpu/amdgpu_stress.c b/tests/amdgpu/amdgpu_stress.c index 5c5c88c5be985eb6..7182f9005703f1a4 100644 --- a/tests/amdgpu/amdgpu_stress.c +++ b/tests/amdgpu/amdgpu_stress.c @@ -175,7 +175,7 @@ int alloc_bo(uint32_t domain, uint64_t size) resources[num_buffers] = bo; virtual[num_buffers] = addr; - fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", + fprintf(stdout, "Allocated BO number %u at 0x%llx, domain 0x%x, size %llu\n", num_buffers++, addr, domain, size); return 0; } @@ -273,7 +273,7 @@ int submit_ib(uint32_t from, uint32_t to, uint64_t size, uint32_t count) delta = stop.tv_nsec + stop.tv_sec * 1000000000UL; delta -= start.tv_nsec + start.tv_sec * 1000000000UL; - fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", + fprintf(stdout, "Submitted %u IBs to copy from %u(%llx) to %u(%llx) %llu bytes took %llu usec\n", count, from, virtual[from], to, virtual[to], copied, delta / 1000); return 0; } @@ -293,7 +293,7 @@ uint64_t parse_size(void) char ext[2]; ext[0] = 0; - if (sscanf(optarg, "%li%1[kmgKMG]", &size, ext) < 1) { + if (sscanf(optarg, "%lli%1[kmgKMG]", &size, ext) < 1) { fprintf(stderr, "Can't parse size arg: %s\n", optarg); exit(EXIT_FAILURE); } @@ -375,7 +375,7 @@ int main(int argc, char **argv) next_arg(argc, argv, "Missing buffer size"); size = parse_size(); if (size < getpagesize()) { - fprintf(stderr, "Buffer size to small %lu\n", size); + fprintf(stderr, "Buffer size to small %llu\n", size); exit(EXIT_FAILURE); } r = alloc_bo(domain, size);
On 32-bit: ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", ~~^ %llx num_buffers++, addr, domain, size); ~~~~ ../tests/amdgpu/amdgpu_stress.c:178:72: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", ~~^ %llu num_buffers++, addr, domain, size); ~~~~ ../tests/amdgpu/amdgpu_stress.c: In function ‘submit_ib’: ../tests/amdgpu/amdgpu_stress.c:276:54: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", ~~^ %llx count, from, virtual[from], to, virtual[to], copied, delta / 1000); ~~~~~~~~~~~~~ ../tests/amdgpu/amdgpu_stress.c:276:65: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", ~~^ %llx count, from, virtual[from], to, virtual[to], copied, delta / 1000); ~~~~~~~~~~~ ../tests/amdgpu/amdgpu_stress.c:276:70: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 8 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", ~~^ %llu count, from, virtual[from], to, virtual[to], copied, delta / 1000); ~~~~~~ ../tests/amdgpu/amdgpu_stress.c:276:85: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 9 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", ~~^ %llu count, from, virtual[from], to, virtual[to], copied, delta / 1000); ~~~~~~~~~~~~ ../tests/amdgpu/amdgpu_stress.c: In function ‘parse_size’: ../tests/amdgpu/amdgpu_stress.c:296:24: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 3 has type ‘uint64_t *’ {aka ‘long long unsigned int *’} [-Wformat=] if (sscanf(optarg, "%li%1[kmgKMG]", &size, ext) < 1) { ~~^ ~~~~~ %lli ../tests/amdgpu/amdgpu_stress.c: In function ‘main’: ../tests/amdgpu/amdgpu_stress.c:378:45: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stderr, "Buffer size to small %lu\n", size); ~~^ ~~~~ %llu Fix this by using the proper "%ll" format specifier prefix. Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- tests/amdgpu/amdgpu_stress.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)