[compiler-rt] r261073 - [compiler-rt][msan] Ensure initialisation before calling __msan_unpoison

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 17 08:58:03 PST 2016


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