[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