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

Magnus Ihse Bursie ihse at openjdk.org
Fri Sep 12 14:53:58 UTC 2025


On Fri, 12 Sep 2025 14:49:09 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

>> SendaoYan has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - Call AC_MSG_RESULT([$AVAILABLE]) inside AC_COMPILE_IFELSE
>>  - Use CC directly
>>  - Move comment from called to macro definition
>
> make/autoconf/flags-other.m4 line 120:
> 
>> 118:     DESC: [Use SVE when compiling libsleef],
>> 119:     AVAILABLE: false,
>> 120:     CHECK_AVAILABLE: [
> 
> You are not supposed to both provide AVAILABLE and CHECK_AVAILABLE. Also, if you do setup CHECK_AVAILABLE you should always provide a value to the AVAILABLE variable; now you don't have an else clause for the cpu and toolchain tests. Also, CHECK_AVAILABLE was designed for small and simple tests; this is so long it becames hard to read.
> 
> Instead I suggest the following:
> Start by setting AARCH64_SVE_AVAILABLE to false. Then do the code that is currently in the CHECK_AVAILABLE block, but replace the assignment to AVAILABLE with an assignment to AARCH64_SVE_AVAILABLE. (Where it is true, since you defaulted it to false you can skip that line).
> 
> Then, finally, you can do like this:
> 
>  UTIL_ARG_ENABLE(NAME: aarch64-sve, DEFAULT: auto,
>     RESULT: AARCH64_SVE_ENABLED,
>     DESC: [Use SVE when compiling libsleef],
>     AVAILABLE: $AARCH64_SVE_AVAILABLE)

Oh, and also, you can extract a common:

AC_MSG_RESULT([$AARCH64_SVE_AVAILABLE])

after the compile test. This lets you get rid of the else block completely, and it makes it clear that the AC_MSG_CHECKING is always terminated. (Apart from being shorter)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27073#discussion_r2344492786


More information about the build-dev mailing list