This patchset fixes the remaining clang warnings in the block/ code about taking the address of a packed struct member, which are all in block/vpc and block/vdi code handling UUIDs. Mostly I fix these by copying the unaligned field to/from a local variable. In the case of qemu_uuid_bswap() I opted to change the API to take and return the QemuUUID rather than taking a pointer to it, which makes almost all the callsites simpler. This does mean a struct copy but the struct is only 16 bytes and I didn't judge any of the callsites performance-sensitive enough to care about a struct copy of that size.
As usual, tested with "make check" only. thanks -- PMM Peter Maydell (3): block/vpc: Don't take address of fields in packed structs block/vdi: Don't take address of fields in packed structs uuid: Make qemu_uuid_bswap() take and return a QemuUUID include/qemu/uuid.h | 2 +- block/vdi.c | 54 +++++++++++++++++++++++++++----------------- block/vpc.c | 4 +++- hw/acpi/vmgenid.c | 6 ++--- tests/vmgenid-test.c | 2 +- util/uuid.c | 10 ++++---- 6 files changed, 45 insertions(+), 33 deletions(-) -- 2.19.2