On 21.09.2023 10:30, Andrew Cooper wrote:
> On 21/09/2023 8:08 am, Jan Beulich wrote:
>> On 20.09.2023 12:50, GitLab wrote:
>>> Job #5127621916 ( https://gitlab.com/xen-project/xen/-/jobs/5127621916/raw )
>>>
>>> Stage: build
>>> Name: debian-stretch-gcc
>> This one failed with
>>
>> In file included from 
>> /builds/xen-project/xen/tools/qemu-xen-dir/include/qemu/timer.h:4:0,
>>                  from 
>> /builds/xen-project/xen/tools/qemu-xen-dir/include/qemu/timed-average.h:29,
>>                  from 
>> /builds/xen-project/xen/tools/qemu-xen-dir/include/block/accounting.h:28,
>>                  from 
>> /builds/xen-project/xen/tools/qemu-xen-dir/include/block/block_int.h:27,
>>                  from 
>> /builds/xen-project/xen/tools/qemu-xen-dir/block/file-posix.c:30:
>> /usr/include/linux/swab.h: In function '__swab':
>> /builds/xen-project/xen/tools/qemu-xen-dir/include/qemu/bitops.h:20:34: 
>> error: "sizeof" is not defined [-Werror=undef]
>>  #define BITS_PER_LONG           (sizeof (unsigned long) * BITS_PER_BYTE)
>>                                   ^
>> /builds/xen-project/xen/tools/qemu-xen-dir/include/qemu/bitops.h:20:41: 
>> error: missing binary operator before token "("
>>  #define BITS_PER_LONG           (sizeof (unsigned long) * BITS_PER_BYTE)
>>                                          ^
>> cc1: all warnings being treated as errors
>>
>> What? How can "sizeof" no be "defined"?
> 
> Because the expression is
> 
> #if (sizeof (unsigned long) * BITS_PER_BYTE) = 64
> 
> combined with -Werror=undef saying that it can't figure out out what
> sizeof is supposed to be here as a preprocessor token.

I still don't get it, I'm afraid. Qemu only #define-s BITS_PER_LONG this
way, while __BITS_PER_LONG is a plain constant. Yet it's the latter that
Linux'es swab.h uses in the #if (from its introduction in 5.6). Hence ...

> This needs a bump to qemu in order to fix, like we did on the newer
> branches.

... I can't see yet how doing so would help.

Jan

Reply via email to