Ok I can see the -mms-bitfields here too, hopefully that's enough to debug it.
Il mar 18 ago 2020, 21:27 Peter Maydell <peter.mayd...@linaro.org> ha scritto: > 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 > >