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

Re: gcc10 build issue for Arm64



On 27/08/2020 09:01, Jan Beulich wrote:
Stefano, Julien,

Hi Jan,

since it was touching code potentially also affecting Arm, prior
to my push of a couple of commits a few minutes ago I also wanted
to build-test Arm. While as a fallback all went well with gcc
9.3, with my first (default) attempt with 10.2 I ran into

ld: prelink.o: in function `_spin_lock_cb':
/build/xen/staging-arm64/xen/common/spinlock.c:164: undefined reference to 
`__aarch64_ldadd4_acq_rel'
ld: /build/xen/staging-arm64/xen/common/spinlock.c:164: undefined reference to 
`__aarch64_ldadd4_acq_rel'
make[3]: *** [/build/xen/staging-arm64/xen/xen-syms] Error 1
make[2]: *** [/build/xen/staging-arm64/xen/xen] Error 2
make[1]: *** [install] Error 2
make: *** [install-xen] Error 2

I have no idea how recent the introduction of the issue is, but
I hope you'll be able to pinpoint the offending change (and a
possible fix) much easier than I would be.

It looks like GCC10 will outline atomic helpers by default. The following hack will do the trick:

diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index e69de29bb2..8dfd9713af 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -0,0 +1 @@
+c_flags+=-mno-outline-atomics

I will clean it up to check it also works with older GCC.

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.