[PATCH] D43025: [tsan] Add support for linux/powerpc64 in buildgo.sh

Dmitry Vyukov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 12 03:11:13 PDT 2018


dvyukov added inline comments.


================
Comment at: lib/tsan/rtl/tsan_platform.h:468
+  static const uptr kLoAppMemEnd   = 0x010000000000ull;
+  static const uptr kHiAppMemBeg   = 0x7e8000000000ull;
+  static const uptr kHiAppMemEnd   = 0x800000000000ull; // 47 bits
----------------
cseo wrote:
> dvyukov wrote:
> > What lives in kHiAppMemBeg-kHiAppMemEnd range?
> ld.so and shared libraries.
> 
> Actually, let me ask you about this, since it seems I'm understanding wrongly how this should work. Is it necessary to map these memory areas for shared libraries? Or just executable/heap/shadow/meta are enough for the Go sanitizer?
For Go we care about and only need shadow for Go's heap and data/bss segment. All other addresses never passed to tsan runtime, they are filtered here:
https://github.com/golang/go/blob/master/src/runtime/race_amd64.s#L147

So I think we don't need vdso, HiAppMem and HeapMem, we probably need something closer to x86_64 Go mapping.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D43025





More information about the llvm-commits mailing list