JDK 17: First Release Candidate

David Holmes david.holmes at oracle.com
Sat Aug 14 09:21:05 UTC 2021


On 14/08/2021 6:06 pm, Matthias Klose wrote:
> On 8/14/21 2:58 AM, David Holmes wrote:
>> Hi Matthias,
>>
>> On 14/08/2021 2:00 am, Matthias Klose wrote:
>>> On 8/6/21 7:09 PM, mark.reinhold at oracle.com wrote:
>>>> There are no unresolved P1 bugs in build 35, so that is our
>>>> first JDK 17 Release Candidate.
>>>>
>>>> Binaries available here, as usual: https://jdk.java.net/17
>>>
>>> this fails to build with glibc 2.34, i.e. on recent Fedora and Ubuntu
>>> development versions:
>>>
>>> /<<PKGBUILDDIR>>/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c: In
>>> function 'set_signal_handler':
>>> /<<PKGBUILDDIR>>/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c:72:15:
>>> error: storage size of 'altstack' isn't constant
>>>      72 |   static char altstack[SIGSTKSZ];
>>>         |               ^~~~~~~~
>>> gmake[4]: *** [test/JtregNativeHotspot.gmk:1525:
>>> /<<PKGBUILDDIR>>/build/support/test/hotspot/jtreg/native/support/exeinvoke/exeinvoke.o]
>>>
>>> Error 1
>>
>> That seems like a glibc bug to me as SIGSTKSZ is supposed to be a constant.
> 
> No, this change is intentional according to the glibc 2.34 release notes:
> * Add _SC_MINSIGSTKSZ and _SC_SIGSTKSZ.  When _DYNAMIC_STACK_SIZE_SOURCE
>    or _GNU_SOURCE are defined, MINSIGSTKSZ and SIGSTKSZ are no longer
>    constant on Linux.  MINSIGSTKSZ is redefined to sysconf(_SC_MINSIGSTKSZ)
>    and SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ).  This supports
>    dynamic sized register sets for modern architectural features like
>    Arm SVE.

Well that is annoying ... I wonder if we can stop building with 
_GNU_SOURCE so that we maintain Posix compatibility?

We can look at working around this somehow, but not being able to build 
is not, I believe, a showstopper in terms of the JDK 17 release. Can you 
file a bug? Otherwise I will.

Thanks,
David

> Matthias
> 


More information about the jdk-dev mailing list