[compiler-rt] r261073 - [compiler-rt][msan] Ensure initialisation before calling __msan_unpoison
Evgenii Stepanov via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 17 11:00:44 PST 2016
Sounds like a good idea.
On Wed, Feb 17, 2016 at 8:58 AM, Hans Wennborg <hans at chromium.org> wrote:
> Yes, if Evgenii approves.
>
> Thanks,
> Hans
>
> On Tue, Feb 16, 2016 at 11:21 PM, Hahnfeld, Jonas
> <Hahnfeld at itc.rwth-aachen.de> wrote:
>> Hi,
>>
>> Can this be merged for 3.8?
>>
>> Cheers,
>> Jonas
>>
>>> -----Original Message-----
>>> From: llvm-commits [mailto:llvm-commits-bounces at lists.llvm.org] On Behalf
>>> Of Jonas Hahnfeld via llvm-commits
>>> Sent: Wednesday, February 17, 2016 8:12 AM
>>> To: llvm-commits at lists.llvm.org
>>> Subject: [compiler-rt] r261073 - [compiler-rt][msan] Ensure initialisation
>>> before calling __msan_unpoison
>>>
>>> Author: hahnfeld
>>> Date: Wed Feb 17 01:12:18 2016
>>> New Revision: 261073
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=261073&view=rev
>>> Log:
>>> [compiler-rt][msan] Ensure initialisation before calling __msan_unpoison
>>>
>>> __msan_unpoison uses intercepted memset which currently leads to a SEGV
>>> when linking with libc++ under CentOS 7.
>>>
>>> Differential Revision: http://reviews.llvm.org/D17263
>>>
>>> Modified:
>>> compiler-rt/trunk/lib/msan/msan_interceptors.cc
>>>
>>> Modified: compiler-rt/trunk/lib/msan/msan_interceptors.cc
>>> URL: http://llvm.org/viewvc/llvm-project/compiler-
>>> rt/trunk/lib/msan/msan_interceptors.cc?rev=261073&r1=261072&r2=261073
>>> &view=diff
>>> ==========================================================
>>> ====================
>>> --- compiler-rt/trunk/lib/msan/msan_interceptors.cc (original)
>>> +++ compiler-rt/trunk/lib/msan/msan_interceptors.cc Wed Feb 17 01:12:18
>>> +++ 2016
>>> @@ -1433,12 +1433,12 @@ int OnExit() {
>>> __msan_unpoison(ptr, size)
>>> #define COMMON_INTERCEPTOR_ENTER(ctx, func, ...) \
>>> if (msan_init_is_running) return REAL(func)(__VA_ARGS__); \
>>> + ENSURE_MSAN_INITED(); \
>>> MSanInterceptorContext msan_ctx = {IsInInterceptorScope()}; \
>>> ctx = (void *)&msan_ctx; \
>>> (void)ctx; \
>>> InterceptorScope interceptor_scope; \
>>> - __msan_unpoison(__errno_location(), sizeof(int)); /* NOLINT */ \
>>> - ENSURE_MSAN_INITED();
>>> + __msan_unpoison(__errno_location(), sizeof(int)); /* NOLINT */
>>> #define COMMON_INTERCEPTOR_DIR_ACQUIRE(ctx, path) \
>>> do { \
>>> } while (false)
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list