Am 28.08.2011 23:43, schrieb Blue Swirl:
On Sun, Aug 28, 2011 at 8:43 PM, Stefan Weil <address@hidden>
wrote:
These patches fix the packing of structures which were affected by
the new compiler attribute -mms-bitfields (which is needed for
glib-2.0).
I compiled qemu.exe with and without -mms-bitfields and compared
the resulting struct alignment using pahole and codiff.
If a structure is only used internally by QEMU (not used in network,
disk or guest interfaces), changes in padding don't matter. In fact,
in those cases it may be better to remove the packing, because then
the fields may be naturally aligned and that gives better performance
on most architectures. Could you please check if this is the case for
any of the structs?
I did this already, but also forward your question to the maintainers.
Here is my result:
[PATCH 2/7] block/vvfat: Fix packing for w32: needs packing (disk)
[PATCH 3/7] acpi: Fix packing for w32: needs packing (bios interface)
[PATCH 4/7] hpet: Fix packing for w32: needs packing (bios interface)
[PATCH 5/7] usb: Fix packing for w32: needs packing (usb interface)
[PATCH 6/7] virtio: Fix packing for w32: needs packing? (guest
interface?)
[PATCH 7/7] slirp: Fix packing for w32: needs packing (network interface)
All those struct statements need the pack attribute (otherwise the code
would have to be rewritten which is of course always possible).