On Mon, 22 Jan 2024 at 11:15, Kevin Wolf <[email protected]> wrote: > > Am 20.01.2024 um 18:21 hat Peter Maydell geschrieben: > > Got some compile failures on this one; looks like the compiler > > on our s390 box didn't like this: > > > > https://gitlab.com/qemu-project/qemu/-/jobs/5973441293 > > https://gitlab.com/qemu-project/qemu/-/jobs/5973441291 > > https://gitlab.com/qemu-project/qemu/-/jobs/5973441330 > > > > In file included from ../include/qemu/host-utils.h:33, > > from ../include/qemu/bitops.h:16, > > from ../include/qemu/timer.h:4, > > from ../include/block/aio.h:24, > > from ../include/block/aio-wait.h:28, > > from ../include/block/block-io.h:27, > > from ../block/blklogwrites.c:15: > > ../block/blklogwrites.c: In function ‘blk_log_writes_co_do_log’: > > ../include/qemu/bswap.h:148:36: error: left shift count >= width of > > type [-Werror=shift-count-overflow] > > 148 | ((((_x) & 0x00000000000000ffU) << 56) | \ > > | ^~ > > ../block/blklogwrites.c:409:27: note: in expansion of macro ‘const_le64’ > > 409 | .nr_entries = const_le64(0), > > | ^~~~~~~~~~ > > ../include/qemu/bswap.h:149:36: error: left shift count >= width of > > type [-Werror=shift-count-overflow] > > 149 | (((_x) & 0x000000000000ff00U) << 40) | \ > > | ^~ > > ../block/blklogwrites.c:409:27: note: in expansion of macro ‘const_le64’ > > 409 | .nr_entries = const_le64(0), > > | ^~~~~~~~~~ > > cc1: all warnings being treated as errors > > Looks like const_le64() introduced in commit 845d80a8 is buggy. I wonder > why we even added it when there is no user of it (this blklogwrites one > is the first one, so it exposes the error). > > Of course, 0 is just as good as const_le64(0), so I'll just change it to > that for now. But I suppose const_le64() should either be fixed (and > used by something) or removed.
Using ULL as the suffix on the constants in the macro should be sufficient to fix the problem, I suspect. -- PMM
