summaryrefslogtreecommitdiffstats
path: root/source/d/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/llvm')
-rwxr-xr-xsource/d/llvm/llvm.SlackBuild3
-rw-r--r--source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff27
2 files changed, 30 insertions, 0 deletions
diff --git a/source/d/llvm/llvm.SlackBuild b/source/d/llvm/llvm.SlackBuild
index 0a343646f..f19643635 100755
--- a/source/d/llvm/llvm.SlackBuild
+++ b/source/d/llvm/llvm.SlackBuild
@@ -169,6 +169,9 @@ fi
# Won't build without this. See https://github.com/llvm/llvm-project/issues/54941
#zcat $CWD/llvm.bypass.broken.benchmarks.diff.gz | patch -p1 --verbose || exit 1
+# Patch to fix build with glibc-2.36:
+zcat $CWD/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff.gz | patch -p1 --verbose || exit 1
+
# These hackish links seem to be required...
cd ..
ln -sf */utils/gn/secondary/third-party .
diff --git a/source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff b/source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
new file mode 100644
index 000000000..901741a06
--- /dev/null
+++ b/source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
@@ -0,0 +1,27 @@
+--- ./projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp.orig 2022-06-22 11:46:24.000000000 -0500
++++ ./projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp 2022-08-05 22:46:21.288664504 -0500
+@@ -73,7 +73,9 @@
+ #include <sys/vt.h>
+ #include <linux/cdrom.h>
+ #include <linux/fd.h>
++#if SANITIZER_ANDROID
+ #include <linux/fs.h>
++#endif
+ #include <linux/hdreg.h>
+ #include <linux/input.h>
+ #include <linux/ioctl.h>
+@@ -857,10 +859,10 @@
+ unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
+ unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
+ #endif
+- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
+- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
+- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
+- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
++ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
++ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
++ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
++ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
+ unsigned IOCTL_GIO_CMAP = GIO_CMAP;
+ unsigned IOCTL_GIO_FONT = GIO_FONT;
+ unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;