RFR: 8366777: Build fails unknown pseudo-op with old AS on linux-aarch64 [v4]

SendaoYan syan at openjdk.org
Thu Sep 4 13:57:42 UTC 2025


On Thu, 4 Sep 2025 13:45:57 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:
> 
>   Add the original comments for -ftrivial-auto-var-init=zero

I have updated this PR which add configure parameter --enable-aarch64-sve to enable '-march=armv8-a+sve' forcely.

Testing:

1. On linux-aarch64 gcc12.3.1 as2.37

- [x] On linux-aarch64 gcc12.3.1 as2.37, and run 'bash configure --enable-aarch64-sve', config.log shows SVE_CFLAGS='-march=armv8-a+sve'
- [x] On linux-aarch64 gcc12.3.1 as2.37, and run 'bash configure --disable-aarch64-sve', config.log shows SVE_CFLAGS=''
- [x] On linux-aarch64 gcc12.3.1 as2.37, and run 'bash configure', config.log shows SVE_CFLAGS='-march=armv8-a+sve'


2. On linux-aarch64 gcc10.3.0 as2.30
- [x] On linux-aarch64 gcc10.3.0 as2.30, and run 'bash configure --enable-aarch64-sve', configure report error "--enable-aarch64-sve=yes but compiler does not support SVE"
- [x]  On linux-aarch64 gcc10.3.0 as2.30, and run 'bash configure --enable-aarch64-sve', configure report error "--enable-aarch64-sve=yes but compiler does not support SVE", config.log shows SVE_CFLAGS=''

-------------

PR Comment: https://git.openjdk.org/jdk/pull/27073#issuecomment-3253851324


More information about the build-dev mailing list