[llvm-commits] [compiler-rt] r163391 - /compiler-rt/trunk/lib/asan/asan_rtl.cc

Alexander Potapenko glider at google.com
Fri Sep 7 13:28:32 PDT 2012


Yes, already reverted this.

On Fri, Sep 7, 2012 at 10:02 PM, Kostya Serebryany <kcc at google.com> wrote:
>
>
> On Fri, Sep 7, 2012 at 7:34 PM, Alexander Potapenko <glider at google.com>
> wrote:
>>
>> Author: glider
>> Date: Fri Sep  7 10:34:40 2012
>> New Revision: 163391
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=163391&view=rev
>> Log:
>> Two minor changes:
>>  -- exit from infinite recursion in CHECK()
>>  -- print a verbose message if mapping of the shadow memory has failed.
>>
>>
>> Modified:
>>     compiler-rt/trunk/lib/asan/asan_rtl.cc
>>
>> Modified: compiler-rt/trunk/lib/asan/asan_rtl.cc
>> URL:
>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_rtl.cc?rev=163391&r1=163390&r2=163391&view=diff
>>
>> ==============================================================================
>> --- compiler-rt/trunk/lib/asan/asan_rtl.cc (original)
>> +++ compiler-rt/trunk/lib/asan/asan_rtl.cc Fri Sep  7 10:34:40 2012
>> @@ -53,6 +53,9 @@
>>  void CheckFailed(const char *file, int line, const char *cond, u64 v1,
>> u64 v2) {
>>    Report("AddressSanitizer CHECK failed: %s:%d \"%s\" (0x%zx, 0x%zx)\n",
>>               file, line, cond, (uptr)v1, (uptr)v2);
>> +  static __thread int recursion_count = 0;
>
>
> Not all platforms where we use asan have __thread (Mac OS 10.6 and Android)
>
> --kcc
>
>
>>
>> +  RAW_CHECK_MSG(recursion_count == 0, "Infinite recursion detected in
>> CHECK\n");
>> +  recursion_count++;
>>    PRINT_CURRENT_STACK();
>>    ShowStatsAndAbort();
>>  }
>> @@ -171,7 +174,11 @@
>>    CHECK(((end + 1) % kPageSize) == 0);
>>    uptr size = end - beg + 1;
>>    void *res = MmapFixedNoReserve(beg, size);
>> -  CHECK(res == (void*)beg && "ReserveShadowMemoryRange failed");
>> +  if (res != (void*)beg) {
>> +    Report("ReserveShadowMemoryRange failed while trying to map 0x%zx
>> bytes. "
>> +           "Perhaps you're using ulimit -v\n", size);
>> +    Abort();
>> +  }
>>  }
>>
>>  // --------------- LowLevelAllocateCallbac ---------- {{{1
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>



-- 
Alexander Potapenko
Software Engineer
Google Moscow



More information about the llvm-commits mailing list