On Mon, Jan 23, 2012 at 05:20:50PM -0700, Eric Blake wrote: > On 01/23/2012 03:29 PM, Marc-André Lureau wrote: > > Hi, > > > > I tried to update the fedora mingw package to follow the mingw64 > > packaging guideline and allow build for x86 and x64. But I got into > > build warning and errors for x86_64. (using Fedora Cross project repo: > > http://build1.openftd.org/fedora-cross/fedora-cross.repo, > > x86_64-w64-mingw32-gcc (GCC) 4.6.2 20110908 and later) > > > > > The somewhat worrying error is: > > > > util/command.c:54:1: error: static assertion failed: "verify > > (sizeof(pid_t) <= sizeof(int))" > > > > /* We have quite a bit of changes to make if this doesn't hold. */ > > verify(sizeof(pid_t) <= sizeof(int)); > > Oh my. I guess it makes sense - while Linux pid_t is just a > (linearly-incrementing) index into an array of kernel structs, other > OS's use pid_t as the actual kernel pointer to the location in physical > memory where the process information is stored; so if you have 64-bit > pointers, you have a 64-bit pid_t. > > Alas, this means that any interface where we are operating on pid_t, but > passed an int, are broken. Thankfully, I don't see any interface like > that in libvirt.c, and we are free to change any internal functions > without breaking the ABI. Arguably, we could even change the public API, provided that we hide the change behind an #ifdef WIN64, since we have never done a release that is officially working on WIN64. That would obviously want to be something of a last resort though. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list