[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