On Mon, 2014-11-24 at 09:21 -0700, Eric Blake wrote:
On 11/24/2014 02:43 AM, Ian Campbell wrote:
>>>>
>>>> I think this change breaks build on FreeBSD:
>>>>
>>>> CC util/libvirt_util_la-virdbus.lo
>>>> util/virdbus.c:956:13: error: cast from 'bool *' to
'dbus_bool_t *' (aka 'unsigned int *') increases required alignment from 1
to 4 [-Werror,-Wcast-align]
>>>> GET_NEXT_VAL(dbus_bool_t, bool_val, bool, "%d");
>>>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>> util/virdbus.c:858:17: note: expanded from macro 'GET_NEXT_VAL'
>>>> x = (dbustype *)(*xptrptr + (*narrayptr - 1));
\
>>>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error
generated.
>>>
>>> Valid complaint, so I'll have to figure something out to avoid it. :(
> I'm, guessing that this is the same underlying issue as:
> util/virdbus.c: In function 'virDBusMessageIterDecode':
> util/virdbus.c:956:346: error: cast increases required alignment of target
type [-Werror=cast-align]
Yes.
>
> which we are seeing in the Xen automated tests [0, 1] (on armhf only,
> probably compiler dependent?).
So, do I have an ACK on my proposed fix yet? :)
https://www.redhat.com/archives/libvir-list/2014-November/msg00838.html
Well, FWIW it looks good to me:
Acked-by: Ian Campbell <ian.campbell(a)citrix.com>
Ian.