[PATCH 35/40] libxl: convert libxlMigrationDstArgs to GObject

Rafael Fonseca r4f4rfs at gmail.com
Mon May 18 13:28:29 UTC 2020


On Mon, May 18, 2020 at 11:31 AM Daniel P. Berrangé <berrange at redhat.com> wrote:
>
> On Sun, May 17, 2020 at 11:03:57PM +0200, Rafael Fonseca wrote:
> > On Fri, May 15, 2020 at 5:24 PM Daniel P. Berrangé <berrange at redhat.com> wrote:
> > > Since we're using GitLab now, if you just fork the libvirt repo
> > > and push a branch to your gitlab fork, it will run CI which will
> > > check for these mistakes.
> >
> > Good to know. I did that and the CI is only failing now in the
> > cross-compilation phase with 32-bit systems:
> >
> > ../../src/util/virstoragefile.h: In function 'VIR_STORAGE_SOURCE':
> > /usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0/gobject/gtype.h:2301:6:
> > error: cast increases required alignment of target type
> > [-Werror=cast-align]
> > 2301 | ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
> > | ^
> > /usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0/gobject/gtype.h:484:66:
> > note: in expansion of macro '_G_TYPE_CIC'
> > 484 | #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)
> > (_G_TYPE_CIC ((instance), (g_type), c_type))
> > | ^~~~~~~~~~~
> > /usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0/gobject/gtype.h:1412:12:
> > note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
> > 1412 | return G_TYPE_CHECK_INSTANCE_CAST (ptr,
> > module_obj_name##_get_type (), ModuleObjName); } \
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> > ../../src/util/virstoragefile.h:390:1: note: in expansion of macro
> > 'G_DECLARE_FINAL_TYPE'
> > 390 | G_DECLARE_FINAL_TYPE(virStorageSource, vir_storage_source, VIR,
> > STORAGE_SOURCE, GObject);
> > | ^~~~~~~~~~~~~~~~~~~~
> >
> > Any ideas on how to solve that?
>
> This is odd and I can't tell why. Assyuming only virStorageSource shows
> the issue though, there must be something in the way the struct is
> arranged that causes alignment issues.

I disabled the virStorageSource patch and tried again. On armv7l it
failed with the same error but in a different part:

../../src/qemu/qemu_conf.h: In function 'VIR_QEMU_DRIVER_CONFIG':
/usr/include/glib-2.0/gobject/gtype.h:2301:6: error: cast increases
required alignment of target type [-Werror=cast-align]
2301 | ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
| ^
/usr/include/glib-2.0/gobject/gtype.h:484:66: note: in expansion of
macro '_G_TYPE_CIC'
484 | #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)
(_G_TYPE_CIC ((instance), (g_type), c_type))
| ^~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1412:12: note: in expansion of
macro 'G_TYPE_CHECK_INSTANCE_CAST'
1412 | return G_TYPE_CHECK_INSTANCE_CAST (ptr,
module_obj_name##_get_type (), ModuleObjName); } \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/qemu/qemu_conf.h:222:1: note: in expansion of macro
'G_DECLARE_FINAL_TYPE'
222 | G_DECLARE_FINAL_TYPE(virQEMUDriverConfig,
| ^~~~~~~~~~~~~~~~~~~~

It didn't occur in mingw32-fedora-rawhide because I guess the QEmu
driver it's not compiled there?


Att.
-- 
Rafael Fonseca





More information about the libvir-list mailing list