[aarch64-port-dev ] Build failure: invalid register name for ‘r_exchange_value’
Aleksey Shipilev
shade at redhat.com
Sun Dec 24 15:33:14 UTC 2017
On 12/08/2017 06:54 PM, Andrew Haley wrote:
> On 07/12/17 15:00, Aleksey Shipilev wrote:
>> /pool/buildbot/slaves/sobornost/jdk8u-rh-int/build/hotspot/src/os_cpu/linux_aarch64/vm/atomic_linux_aarch64.inline.hpp:
>> In member function ‘void AccessFlags::atomic_set_bits(jint)’:
>> /pool/buildbot/slaves/sobornost/jdk8u-rh-int/build/hotspot/src/os_cpu/linux_aarch64/vm/atomic_linux_aarch64.inline.hpp:128:18:
>> error: invalid register name for ‘r_exchange_value’
>> register jint r_exchange_value asm("w0") = exchange_value;
>
> w0 is a legitimate register name. This is a bug in GCC. You can
> try "x0" to see what happens.
Indeed. The configure log identifies the smoking gun: while the builds is configured with aarch64
target, it still tries to use x86_64 compiler:
configure: Using x86_64-linux-gnu-gcc-6 (Debian 6.3.0-18) 6.3.0 C compiler version 6.3.0 (located at
/usr/bin/x86_64-linux-gnu-gcc-6)
checking for aarch64-linux-gnu-/usr/bin/x86_64-linux-gnu-gcc-6... /usr/bin/x86_64-linux-gnu-gcc-6
...
A new configuration has been successfully created in
/pool/buildbot/slaves/sobornost/jdk8u-rh-int/build/build/linux-aarch64-normal-server-fastdebug
using configure arguments '--with-jtreg=jtreg/ --with-cacerts-file=/etc/ssl/certs/java/cacerts
--with-freetype-include=/usr/include/freetype2/ --with-extra-cflags=-Wno-deprecated-declarations
-Wno-maybe-uninitialized -Wno-misleading-indentation -Wno-shift-negative-value -Wno-deprecated
--with-debug-level=fastdebug --openjdk-target=aarch64-linux-gnu
--with-freetype-lib=/usr/lib/aarch64-linux-gnu/'.
Configuration summary:
* Debug level: fastdebug
* JDK variant: normal
* JVM variants: server
* OpenJDK target: OS: linux, CPU architecture: aarch64, address length: 64
Tools summary:
* Boot JDK: openjdk version "1.8.0_151" OpenJDK Runtime Environment (build
1.8.0_151-8u151-b12-1~deb9u1-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) (at
/usr/lib/jvm/java-8-openjdk-amd64)
* C Compiler: x86_64-linux-gnu-gcc-6 (Debian 6.3.0-18) 6.3.0 version 6.3.0 (at
/usr/bin/x86_64-linux-gnu-gcc-6)
* C++ Compiler: x86_64-linux-gnu-g++-6 (Debian 6.3.0-18) 6.3.0 version 6.3.0 (at
/usr/bin/x86_64-linux-gnu-g++-6)
This seems to only affect jdk8 builds on Debian 9 and GCC 6.3.0. Maybe there is some easy patch missing?
Thanks,
-Aleksey
More information about the aarch64-port-dev
mailing list