JDK-8314021 causes build errors on Linux Alpine/musl (Linux ALPINE 3.17.4 gcc12.2.1):
/linuxmuslx86_64/jdk/src/hotspot/os/linux/os_linux.cpp: In static member function 'static jlong os::Linux::sendfile(int, int, jlong*, jlong)':
/linuxmuslx86_64/jdk/src/hotspot/os/linux/os_linux.cpp:4375:7: error: infinite recursion detected [-Werror=infinite-recursion]
4375 | jlong os::Linux::sendfile(int out_fd, int in_fd, jlong* offset, jlong count) {
| ^~
/linuxmuslx86_64/jdk/src/hotspot/os/linux/os_linux.cpp:4376:20: note: recursive call
4376 | return sendfile64(out_fd, in_fd, (off64_t*)offset, (size_t)count);
On Alpine Linux 3.17.4 we have just this definition for sendfile64 :
sys/sendfile.h:11:ssize_t sendfile(int, int, off_t *, size_t);
sys/sendfile.h:14:#define sendfile64 sendfile
So it would be better to use ::sendfile directly.