RFR: 8225035: Thread stack size issue caused by large TLS size

Florian Weimer fweimer at redhat.com
Tue Jun 11 09:08:28 UTC 2019


* David Holmes:

>  827 static void pthread_get_minstack_init() {
>  828   // The code below uses the static symbol if available.
>  829   // If not, it will use dlsym to search for the symbol at runtime.
>  830   p_pthread_get_minstack = &__pthread_get_minstack;
>
> I don't understand this part. If at runtime the "static" symbol
> doesn't exist, won't this generate an error from the loader and
> prevent the VM from starting?

It's a weak reference, so execution will continue.  However, it will
result in this:

   125: 0000000000000000     0 FUNC    WEAK   DEFAULT  UND __pthread_get_minstack at GLIBC_PRIVATE (14)

References to GLIBC_PRIVATE symbol versions cause red flags for certain
RPM-based distributions.  Using dlvsym avoids  this issue.

Thanks,
Florian


More information about the hotspot-runtime-dev mailing list