me
/
guix
Archived
1
0
Fork 0

gnu: clang-runtime-3.5: Fix build.

* gnu/packages/patches/clang-runtime-3.5-libsanitizer-mode-field.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/llvm.scm (clang-runtime-3.5): Add patch.
master
Ricardo Wurmus 2020-08-11 17:47:50 +02:00
parent 145484e8f5
commit 5f022a51c4
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
3 changed files with 31 additions and 0 deletions

View File

@ -855,6 +855,7 @@ dist_patch_DATA = \
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \
%D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \
%D%/packages/patches/clang-runtime-3.5-libsanitizer-mode-field.patch \
%D%/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch \
%D%/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch \
%D%/packages/patches/classpath-aarch64-support.patch \

View File

@ -781,6 +781,7 @@ components which highly leverage existing libraries in the larger LLVM Project."
llvm-3.5
"1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal"
'("clang-runtime-asan-build-fixes.patch"
"clang-runtime-3.5-libsanitizer-mode-field.patch"
"clang-3.5-libsanitizer-ustat-fix.patch"))))
(package
(inherit runtime)

View File

@ -0,0 +1,29 @@
Adjust libsanitizer to ABI change in glibc 2.31.
Adapted to 3.x from this upstream commit:
https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
--- a/lib/sanitizer_common/saniniitizer_platform_limits_posix.h.orig 2020-08-11 16:01:32.494882282 +0200 #
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h 2020-08-11 16:32:49.711383554 +0200
@@ -176,8 +176,7 @@
unsigned long __unused1;
unsigned long __unused2;
#else
- unsigned short mode;
- unsigned short __pad1;
+ unsigned int mode;
unsigned short __seq;
unsigned short __pad2;
#if defined(__x86_64__) && !defined(_LP64)
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc 2020-08-11 16:01:07.926821829 +0200
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc.orig 2020-08-11 16:01:03.698811421 +0200
@@ -1056,7 +1056,9 @@
CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
+#endif
CHECK_TYPE_SIZE(shmid_ds);
CHECK_SIZE_AND_OFFSET(shmid_ds, shm_perm);