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

Kostya Serebryany kcc at google.com
Fri Sep 7 11:02:37 PDT 2012


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120907/1b86bb59/attachment.html>


More information about the llvm-commits mailing list