diff options
Diffstat (limited to 'main/ccache/ioctl.patch')
-rw-r--r-- | main/ccache/ioctl.patch | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/main/ccache/ioctl.patch b/main/ccache/ioctl.patch new file mode 100644 index 00000000000..1abfc45ae22 --- /dev/null +++ b/main/ccache/ioctl.patch @@ -0,0 +1,18 @@ +musl uses an `int` instead of a `unsigend long` for the ioctl function +prototype, contrary to glibc, since POSIX mandates the former. This +causes a spurious error on ppc64le which can be silenced by casting to +int explicitly. + +See https://www.openwall.com/lists/musl/2020/01/20/2 + +--- a/src/storage/local/LocalStorage.cpp ++++ b/src/storage/local/LocalStorage.cpp +@@ -263,7 +263,7 @@ + } + } + +- if (ioctl(*dest_fd, FICLONE, *src_fd) != 0) { ++ if (ioctl(*dest_fd, (int)FICLONE, *src_fd) != 0) { + throw core::Error(strerror(errno)); + } + |