Hmm actually the fedora-i386-cross image is: gcc (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9)
with CROSS_CC_GUEST_CFLAGS=-m32 so I wonder what the difference is between that and: i686-linux-gnu-gcc -m32 i686-linux-gnu-gcc --version i686-linux-gnu-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. They are both pretty new. On Tue, 30 Mar 2021 at 16:58, Richard Henderson <richard.hender...@linaro.org> wrote: > > On 3/29/21 5:03 AM, Alex Bennée wrote: > > Newer compilers complain about non-matching constraints: > > > > test-i386.c:1393:5: error: asm operand 2 probably doesn’t match > > constraints [-Werror] > > 1393 | asm volatile ("lcall %1, %2" > > | ^~~ > > The problem is that the newer compiler is defaulting to -fpie, so > &code16_func1 > is not a constant. > > Need to add -fno-pie to compile this. Which of course adds the confusion of > old compilers that don't support that. We have CFLAGS_NOPIE in configure, but > that doesn't directly help cross-compile. > > > r~ -- Alex Bennée KVM/QEMU Hacker for Linaro