[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/29] Tame a few "touch this, recompile the
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/29] Tame a few "touch this, recompile the world" headers |
Date: |
Thu, 08 Aug 2019 15:21:20 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Alex Bennée <address@hidden> writes:
> Markus Armbruster <address@hidden> writes:
>
>> We have quite a few "touch this, recompile the world" headers. My
>> "build everything" tree has some 6600 objects (not counting tests and
>> objects that don't depend on qemu/osdep.h). Touching any of 54
>> headers triggers a recompile of more than half of them.
>>
>> This series reduces them to 46.
>
> I think this series is going the right way but there seems to be quite a
> lot of breakage introduced to the cross compiles:
>
> https://app.shippable.com/github/stsquad/qemu/runs/939/summary/console
>
> I guess there is more subtlety involved when host != target. I'd
> recommend setting up a shippable account:
>
> https://wiki.qemu.org/Testing/CI/Shippable
The failures I can see there are actually anything but subtle:
* 32 bit builds are broken
Culprit is PATCH 04. memory.h's inline functions need qemu/bswap.h.
Before this patch, they reliably get it indirectly from
hw/qdev-core.h. After this patch, they still get it from
qemu/int128.h, but only ifdef CONFIG_INT128. Meh. I hate conditional
includion in headers.
The obvious fix is to have memory.h include qemu/bswap.h directly.
Perhaps we should make qemu/int128.h include it unconditionally
regardless.
Fun fact: I used the GCC compile farm's last 32 bit x86 box to debug
this one.
* net/netmap.c is broken
Philippe found it first :)
* target/i386/hax-all.c is broken
Likewise.
* hw/intc/s390_flic_kvm.c is broken
Patchew found it first.
> You can of course just run:
>
> make docker-test-build J=n
>
> And watch your machine slowly grind through all the options.
>
> --
> Alex Bennée
- Re: [Qemu-devel] [PATCH v2 29/29] sysemu: Split sysemu/runstate.h off sysemu/sysemu.h, (continued)
- [Qemu-devel] [PATCH v2 15/29] Include migration/vmstate.h less, Markus Armbruster, 2019/08/06
- [Qemu-devel] [PATCH v2 18/29] Include hw/hw.h exactly where needed, Markus Armbruster, 2019/08/06
- [Qemu-devel] [PATCH v2 21/29] Include hw/qdev-properties.h less, Markus Armbruster, 2019/08/06
- Re: [Qemu-devel] [PATCH v2 00/29] Tame a few "touch this, recompile the world" headers, no-reply, 2019/08/06
- Re: [Qemu-devel] [PATCH v2 00/29] Tame a few "touch this, recompile the world" headers, no-reply, 2019/08/06
- Re: [Qemu-devel] [PATCH v2 00/29] Tame a few "touch this, recompile the world" headers, Alex Bennée, 2019/08/07