qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 000/150] Meson-based build system


From: Paolo Bonzini
Subject: Re: [PULL 000/150] Meson-based build system
Date: Tue, 18 Aug 2020 22:10:32 +0200

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.maydell@linaro.org> ha scritto:
On Tue, 18 Aug 2020 at 15:14, Paolo Bonzini <pbonzini@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

[Prev in Thread] Current Thread [Next in Thread]