diff options
| author | emmett1 <emmett1.2iligrams@protonmail.com> | 2025-03-12 04:01:18 +0100 |
|---|---|---|
| committer | emmett1 <emmett1.2iligrams@protonmail.com> | 2025-03-12 04:01:18 +0100 |
| commit | ddd8e1a8fab2ac39396282a7c09ddf6eca219613 (patch) | |
| tree | 12796519575126d60e06d02e9eab68856229cf58 /repos/clang/llvm/fix-msan-with-musl.patch | |
| parent | b5a8a6c29e40f786ceb808c0b95f01c4251111d1 (diff) | |
| download | alicelinux-ddd8e1a8fab2ac39396282a7c09ddf6eca219613.tar.gz alicelinux-ddd8e1a8fab2ac39396282a7c09ddf6eca219613.zip | |
clang repos updated
Diffstat (limited to 'repos/clang/llvm/fix-msan-with-musl.patch')
| -rwxr-xr-x | repos/clang/llvm/fix-msan-with-musl.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/repos/clang/llvm/fix-msan-with-musl.patch b/repos/clang/llvm/fix-msan-with-musl.patch new file mode 100755 index 00000000..0def1610 --- /dev/null +++ b/repos/clang/llvm/fix-msan-with-musl.patch @@ -0,0 +1,37 @@ +From 8904ed80c262e973c0da7758337f586c9854f38a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net> +Date: Thu, 15 Jun 2023 09:28:57 +0200 +Subject: [PATCH] msan: fix ifdef guard for getrlimit etc interceptors + +These interceptors need struct_ustat_sz, struct_rlimit64_sz, and +struct_statvfs64_sz which are defined in the following file: + + compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp + +However, these variables are only defined for GLIBC sanitizers. +As such, if we attempt to use MSAN on a Linux system that does not +utilize glibc (e.g. Alpine Linux) then we will get a linker error +complaining about undefined references to __sanitizer::struct_rlimit64_sz +and __sanitizer::struct_rlimit64_sz. + +This patch fixes this by only defining the interceptors that require +these constants if SANITIZER_GLIBC is defined. Thereby aligning the +macro guards of msan_interceptors.cpp with those of +sanitizer_platform_limits_posix.cpp. +--- + compiler-rt/lib/msan/msan_interceptors.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/compiler-rt/lib/msan/msan_interceptors.cpp b/compiler-rt/lib/msan/msan_interceptors.cpp +index 6f57c33ee..349eff549 100644 +--- a/compiler-rt/lib/msan/msan_interceptors.cpp ++++ b/compiler-rt/lib/msan/msan_interceptors.cpp +@@ -908,7 +908,7 @@ INTERCEPTOR(int, getrlimit, int resource, void *rlim) { + INTERCEPTOR_GETRLIMIT_BODY(getrlimit, resource, rlim); + } + +-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD ++#if SANITIZER_GLIBC + INTERCEPTOR(int, __getrlimit, int resource, void *rlim) { + INTERCEPTOR_GETRLIMIT_BODY(__getrlimit, resource, rlim); + } |