On Tue, 18 Aug 2020 at 15:14, Paolo Bonzini <pbonz...@redhat.com> wrote: > > The following changes since commit d0ed6a69d399ae193959225cdeaa9382746c91cc: > > Update version for v5.1.0 release (2020-08-11 17:07:03 +0100) > > are available in the Git repository at: > > https://gitlab.com/bonzini/qemu.git tags/for-upstream > > for you to fetch changes up to 3aecbe785d65e3b92a3617c60e4d226362d9bdd5: > > docs: convert build system documentation to rST (2020-08-18 10:02:43 -0400)
With what I think is the latest version of this pullreq (commit ea922aa50b2a8688) w32 crossbuilds still fail, even after a complete blow-away-builddir and rebuild from scratch. ccache cc -Itarget/s390x/gen-features.p -Itarget/s390x -I../../target/s390x -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -g -MD -MQ target/s390x/gen-features.p/gen-features.c.o -MF target/s390x/gen-features.p/gen-features.c.o.d -o target/s390x/gen-features.p/gen-features.c.o -c ../../target/s390x/gen-features.c cc -Ilibqemu-s390x-softmmu.fa.p -I. -I../.. -Itarget/s390x -I../../target/s390x -Iqapi -Itrace -Iui -Iui/shader -I/usr/lib/mxe/usr/i686-w64-mingw32.shared/include/pixman-1 -I/home/petmay01/qemu-for-merges/dtc/libfdt -I/usr/lib/mxe/usr/i686-w64-mingw32.shared/include/glib-2.0 -I/usr/lib/mxe/usr/i686-w64-mingw32.shared/lib/glib-2.0/include -I/home/petmay01/qemu-for-merges/capstone/include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -g -Werror -mms-bitfields -m32 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wno-missing-include-dirs -Wno-psabi -fstack-protector-strong -iquote /home/petmay01/qemu-for-merges/tcg/i386 -iquote . -iquote /home/petmay01/qemu-for-merges -iquote /home/petmay01/qemu-for-merges/accel/tcg -iquote /home/petmay01/qemu-for-merges/include -iquote /home/petmay01/qemu-for-merges/disas/libvixl -DNEED_CPU_H '-DCONFIG_TARGET="s390x-softmmu-config-target.h"' '-DCONFIG_DEVICES="s390x-softmmu-config-devices.h"' -MP -o target/s390x/gen-features target/s390x/gen-features.p/gen-features.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined /usr/bin/ld: i386:x86-64 architecture of input file `target/s390x/gen-features.p/gen-features.c.o' is incompatible with i386 output /usr/bin/ld: target/s390x/gen-features.p/gen-features.c.o: file class ELFCLASS64 incompatible with ELFCLASS32 /usr/bin/ld: final link failed: File in wrong format collect2: error: ld returned 1 exit status This is supposed to be building an executable for the host, but something has gone wrong with the flags passed to cc for the link. In particular: -I/usr/lib/mxe/usr/i686-w64-mingw32.shared/include/pixman-1 and similar are for target-compiles, not host-compiles; -m32 is the immediate cause of the linker failure since it's asking the host cc to do a 32-bit build, which then barfs when fed the 64-bit .o file; -mms-bitfields is an option that only makes sense for the target windows builds. The flags used for the cc-to-build-o-file look more reasonable (though they're missing a lot of -W options that we could probably pass it). thanks -- PMM