summaryrefslogtreecommitdiffstats
path: root/source/d
diff options
context:
space:
mode:
Diffstat (limited to 'source/d')
-rw-r--r--source/d/FTBFSlog4
-rwxr-xr-xsource/d/llvm/llvm.SlackBuild3
-rw-r--r--source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff27
-rw-r--r--source/d/rust/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff27
-rwxr-xr-xsource/d/rust/rust.SlackBuild3
5 files changed, 64 insertions, 0 deletions
diff --git a/source/d/FTBFSlog b/source/d/FTBFSlog
index 264fb7834..b6ca69df1 100644
--- a/source/d/FTBFSlog
+++ b/source/d/FTBFSlog
@@ -1,3 +1,7 @@
+Sat Aug 6 04:18:11 UTC 2022
+ llvm: patched to fix the build with glibc-2.36.
+ rust: patched to fix the build with glibc-2.36.
++--------------------------+
Thu Aug 4 19:14:56 UTC 2022
gcc: applied upstream patches to fix the build with glibc-2.36 (although it's
unlikely we'll need to rebuild this before gcc-12.2.0 comes along).
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;
diff --git a/source/d/rust/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff b/source/d/rust/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
new file mode 100644
index 000000000..6f68c0d84
--- /dev/null
+++ b/source/d/rust/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
@@ -0,0 +1,27 @@
+--- ./src/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp.orig 2022-07-16 03:50:21.000000000 -0500
++++ ./src/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp 2022-08-05 23:15:14.928568611 -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>
+@@ -860,10 +862,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;
diff --git a/source/d/rust/rust.SlackBuild b/source/d/rust/rust.SlackBuild
index f999f2852..4e3eafb66 100755
--- a/source/d/rust/rust.SlackBuild
+++ b/source/d/rust/rust.SlackBuild
@@ -142,6 +142,9 @@ if [ "${SYSTEM_LLVM}" = "YES" ]; then
zcat $CWD/link_libffi.diff.gz | patch -p1 --verbose || exit 1
fi
+# Fix build with glibc-2.36:
+zcat $CWD/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff.gz | patch -p1 --verbose || exit 1
+
if [ "$LOCAL_BOOTSTRAP" != "yes" ] ; then
# rust requires bootstrapping with the previous rust version.
# versions are defined in src/stage0.txt.