diff --git a/gnu/local.mk b/gnu/local.mk index a011000bc87..0b954bf0c98 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1110,8 +1110,6 @@ dist_patch_DATA = \ %D%/packages/patches/clang-runtime-12-remove-crypt-interceptors.patch \ %D%/packages/patches/clang-runtime-13-glibc-2.36-compat.patch \ %D%/packages/patches/clang-runtime-14-glibc-2.36-compat.patch \ - %D%/packages/patches/clang-runtime-9-glibc-2.36-compat.patch \ - %D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \ %D%/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch \ %D%/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch \ %D%/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index e0cbf5d11c9..9a477c31a5f 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1049,13 +1049,6 @@ Library.") `(("config" ,config)) '()))))) -(define-public clang-runtime-6 - (clang-runtime-from-llvm - llvm-6 - "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl" - '("clang-runtime-9-libsanitizer-mode-field.patch" - "clang-runtime-9-glibc-2.36-compat.patch"))) - (define-public llvm-3.8 (package (inherit llvm-6) (name "llvm") diff --git a/gnu/packages/patches/clang-runtime-9-glibc-2.36-compat.patch b/gnu/packages/patches/clang-runtime-9-glibc-2.36-compat.patch deleted file mode 100644 index 9d0ab942221..00000000000 --- a/gnu/packages/patches/clang-runtime-9-glibc-2.36-compat.patch +++ /dev/null @@ -1,50 +0,0 @@ -This commit is from upstream and is included in the llvm-15 release - -commit b379129c4beb3f26223288627a1291739f33af02 -Author: Fangrui Song -Date: Mon Jul 11 11:38:28 2022 -0700 - - [sanitizer] Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 - - It is generally not a good idea to mix usage of glibc headers and Linux UAPI - headers (https://sourceware.org/glibc/wiki/Synchronizing_Headers). In glibc - since 7eae6a91e9b1670330c9f15730082c91c0b1d570 (milestone: 2.36), sys/mount.h - defines `fsconfig_command` which conflicts with linux/mount.h: - - .../usr/include/linux/mount.h:95:6: error: redeclaration of ‘enum fsconfig_command’ - - Remove #include which pulls in linux/mount.h. Expand its 4 macros manually. - - Fix https://github.com/llvm/llvm-project/issues/56421 - - Reviewed By: #sanitizers, vitalybuka, zatrazz - - Differential Revision: https://reviews.llvm.org/D129471 - -diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -index 4bd425435d56..81740bf4ab39 100644 ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -73,7 +73,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -876,10 +875,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - 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/gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch b/gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch deleted file mode 100644 index ebb080ed9d7..00000000000 --- a/gnu/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch +++ /dev/null @@ -1,60 +0,0 @@ -Adjust libsanitizer to ABI change in glibc 2.31. - -Taken from this upstream commit: -https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce - -diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -1126,8 +1126,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); - CHECK_SIZE_AND_OFFSET(ipc_perm, gid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); --#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) --/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ -+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) -+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit -+ on many architectures. */ - CHECK_SIZE_AND_OFFSET(ipc_perm, mode); - #endif - -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -203,28 +203,15 @@ namespace __sanitizer { - u64 __unused1; - u64 __unused2; - #elif defined(__sparc__) --#if defined(__arch64__) -- unsigned mode; -- unsigned short __pad1; --#else -- unsigned short __pad1; -- unsigned short mode; -- unsigned short __pad2; --#endif -- unsigned short __seq; -- unsigned long long __unused1; -- unsigned long long __unused2; --#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__) -- unsigned int mode; -- unsigned short __seq; -- unsigned short __pad1; -- unsigned long __unused1; -- unsigned long __unused2; -+ unsigned mode; -+ unsigned short __pad2; -+ unsigned short __seq; -+ unsigned long long __unused1; -+ unsigned long long __unused2; - #else -- unsigned short mode; -- unsigned short __pad1; -- unsigned short __seq; -- unsigned short __pad2; -+ unsigned int mode; -+ unsigned short __seq; -+ unsigned short __pad2; - #if defined(__x86_64__) && !defined(_LP64) - u64 __unused1; - u64 __unused2;