JDK-8321688 : Build on linux with GCC 7.5.0 fails after 8319577
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2023-12-11
  • Updated: 2023-12-26
  • Resolved: 2023-12-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 23
23 b03Fixed
Related Reports
Relates :  
Description
After JDK-8319577, my local build (linux & GCC 7.5.0) fails with the following error message. It seems the old GCC (such as 7.5.0 locally) can't identify the constants well.

```
/home/lgx/source/java/jdkvm/src/java.base/linux/native/libsimdsort/avx512-64bit-qsort.hpp:313:17: error: the last argument must be an 8-bit immediate
             v = _mm512_permutex_epi64(v, mask);
                 ^
/home/lgx/source/java/jdkvm/src/java.base/linux/native/libsimdsort/avx512-64bit-qsort.hpp: In static member function 'static typename vtype::reg_t avx512_64bit_swizzle_ops::reverse_n(typename vtype::reg_t) [with vtype = zmm_vector<double>; int scale = 4]':
/home/lgx/source/java/jdkvm/src/java.base/linux/native/libsimdsort/avx512-64bit-qsort.hpp:313:17: error: the last argument must be an 8-bit immediate
             v = _mm512_permutex_epi64(v, mask);
                 ^
```
Comments
Changeset: 97db6709 Author: Guoxiong Li <gli@openjdk.org> Date: 2023-12-20 03:58:12 +0000 URL: https://git.openjdk.org/jdk/commit/97db670956d83749ec3fe1485bacd046662c6856
20-12-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/17047 Date: 2023-12-11 02:36:30 +0000
11-12-2023

> Should it be under java.util maybe? (just like the original fix) `java.util` is better. Thanks.
11-12-2023

How is this related to java.lang.foreign? Should it be under java.util maybe? (just like the original fix)
11-12-2023