[RFC] Proposal to backport JEP 386 (Alpine Linux Port) to 11u
aleksei.voitylov at bell-sw.com
Thu Feb 17 14:12:17 UTC 2022
Following recent backports of JEP 388 (Windows/AArch64 Port) and JEP 391
(macOS/AArch64 Port), I’d like to propose a backport of JEP 386 (Alpine
Linux Port)  to OpenJDK 11u. Support for this port was baked in the
Portola project and integrated into OpenJDK 16.
Motivation for 11u backport: the importance of this platform is
explained by wide adoption of Alpine Linux in container environments
. Several OpenJDK vendors (Liberica, Corretto, Zulu) include patches
that enable Alpine/MUSL for 11u and 8u for quite some time, without any
issues. Others (MS) have recently added it. In our case the user demand
for Alpine/musl support for both 11u and 8u was at least as strong as
Mac/AArch64 and Windows/AArch64, I’d also like to hear if other OpenJDK
vendors share our view of the importance of this platform in 11u.
The set of JBS issues required to be backported for Alpine/MUSL support
in 11u is:
JDK-8217340 Compilation failed: tools/launcher/Test7029048.java
- Test-only fix
JDK-8247592 refactor test/jdk/tools/launcher/Test7029048.java
- Test-only fix
JDK-8245938 Remove unused print_stack(void) method from XToolkit.c
- Code fix, removal of dead code, applies cleanly
JDK-8252248 __SIGRTMAX is not declared in musl libc
- Code fix
JDK-8252250 isnanf is obsolete
- Code fix, substitutes isnanf with isnan which was proven to be ok
at least since GLIBC 2.8/GCC 4.6 on Linux and any reasonable LLVM
version – see the discussion in JDK-8178689 for further details.
JDK-8247589 Implementation of Alpine Linux/x64 Port
- The actual build and code changes that tidy up code for MUSL
JDK-8247591 Document Alpine Linux build steps in OpenJDK build guide
- Docs only fix
All patches combined: +480 lines, -146 lines.
All source code changes: +133 lines, -43 lines.
For risk assessment and preliminary examination of the 11u maintainers,
the full patchset can be observed in , separate 11u backports can be
found in . I plan to submit the actual PRs for individual backports
one by one unless I hear reasonable concerns from 11u maintainers on the
The patchset passes full JCK+jtreg set without any regressions to other
platforms (Windows, Linux, Mac, Solaris), including non-Intel where
applicable. During integration of JEP 386 SAP kindly verified that these
changes do not break AIX/XLC.
On the maintenance side, BellSoft will be happy to support this platform
in 11u. But I’ll equally happily share the burden with other OpenJDK
vendors that currently support Alpine/MUSL.
More information about the jdk-updates-dev