[PATCH] D105629: [TSan] Add SystemZ support
Ilya Leoshkevich via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 13 02:41:20 PDT 2021
iii added inline comments.
================
Comment at: compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp:123
+#if defined(__s390x__)
+ ProtectRange(HiAppMemEnd(), 0xfffffffffffff000ull);
+#endif
----------------
uweigand wrote:
> Did you test this on older kernels without 5-level page table support? I believe the allocation / mprotect may fail on those ...
No, not really. Would it make sense to probe here? E.g. first try 0xfffffffffffff000, then 0x20000000000000. Or is there a way to query user_addr_max() / TASK_SIZE_MAX / TASK_SIZE?
================
Comment at: compiler-rt/lib/tsan/rtl/tsan_rtl_s390x.S:22
+ CFI_REL_OFFSET(%r2, R2_REL_OFFSET)
+ CFI_REL_OFFSET(%r3, R3_REL_OFFSET)
+ stmg %r14, %r15, R14_REL_OFFSET(%r15)
----------------
uweigand wrote:
> Do we need CFI for r2/r3 ? Those are call-clobbered any cannot be unwound normally anyway ...
I'm not quite sure, but glibc does this (e.g. in sysdeps/s390/s390-64/dl-trampoline.h), so I figured I'll do this here as well just in case.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105629/new/
https://reviews.llvm.org/D105629
More information about the cfe-commits
mailing list