[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 11:09:56 PST 2016


r261138. Thanks.

On Wed, Feb 17, 2016 at 11:00 AM, Evgenii Stepanov <eugenis at google.com> wrote:
> 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