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
>
>

Reply via email to