[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