RFR: 8366777: Build fails unknown pseudo-op with old AS on linux-aarch64 [v9]
SendaoYan
syan at openjdk.org
Wed Sep 10 13:13:15 UTC 2025
On Wed, 10 Sep 2025 09:38:59 GMT, SendaoYan <syan at openjdk.org> wrote:
>> Hi all,
>>
>> Build jdk on linux-aarch64 with older assembler version(as 2.30) will report compilation failre, shows as [JDK-8366777](https://bugs.openjdk.org/browse/JDK-8366777).
>>
>> This PR add the expression `svfloat64_t a() {}` to makefile which will trigger the compilation during configure stage. After this PR, at configure stage will check the gcc and assember support `-march=armv8-a+sve` or not more comprehensive.
>>
>> Testing:
>> - [x] On linux-aarch64 gcc12.3.1 as2.37, configure set SVE_CFLAGS as '-march=armv8-a+sve'
>> - [x] On linux-aarch64 gcc10.3.0 as2.30, configure set SVE_CFLAGS as empty
>>
>>
>> The compilation fails demo as below:
>>
>>
>> # cat sve.c
>> #include <arm_sve.h>
>> svfloat64_t a() {}
>> # gcc -march=armv8-a+sve sve.c
>> /tmp/ccVOzMzb.s: Assembler messages:
>> /tmp/ccVOzMzb.s:6: Error: unknown pseudo-op: `.variant_pcs'
>
> SendaoYan has updated the pull request incrementally with one additional commit since the last revision:
>
> Include the prefix argument when calling FLAGS_COMPILER_CHECK_ARGUMENTS
GHA job [linux-cross-compile / build (aarch64)](https://github.com/sendaoYan/jdk-ysd/actions/runs/17609624612/job/50028351829#logs) fails:
configure:178281: /usr/bin/cc -c -march=armv8-a+sve -Werror -ffp-contract=off --sysroot=/home/runner/work/jdk-ysd/jdk-ysd/sysroot conftest.c >&5
cc1: error: bad value (‘armv8-a+sve’) for ‘-march=’ switch
cc1: note: valid arguments to ‘-march=’ switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client icelake-server cascadelake tigerlake cooperlake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm x86-64 x86-64-v2 x86-64-v3 x86-64-v4 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 znver3 btver1 btver2 native
/usr/bin/cc is native compiler.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/27073#issuecomment-3274916747
More information about the build-dev
mailing list