SixWeining added a comment. I haven't check the correctness of `tsan_rtl_loongarch64.S`.
================ Comment at: compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:1513 + + register int res __asm__("$a0"); + register int __flags __asm__("$a0") = flags; ---------------- I'm not sure if this is necessary. Maybe `int res;` is enough? ================ Comment at: compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:1543 + "r"(__fn), "r"(__arg), "r"(nr_clone), "i"(__NR_exit) + : "memory"); + return res; ---------------- Shall we list $t0-$t8 here? Ref D137396. ================ Comment at: compiler-rt/lib/sanitizer_common/sanitizer_linux.h:80 void internal_sigdelset(__sanitizer_sigset_t *set, int signum); -#if defined(__x86_64__) || defined(__mips__) || defined(__aarch64__) || \ - defined(__powerpc64__) || defined(__s390__) || defined(__i386__) || \ - defined(__arm__) || SANITIZER_RISCV64 +# if defined(__x86_64__) || defined(__mips__) || defined(__aarch64__) || \ + defined(__powerpc64__) || defined(__s390__) || defined(__i386__) || \ ---------------- May be it's better to keep original indention. Otherwise the paired `#endif` doesn't look good. ================ Comment at: compiler-rt/test/sanitizer_common/print_address.h:12 + defined(__s390x__) || (defined(__riscv) && __riscv_xlen == 64) || \ + defined(__loongarch__) // On FreeBSD, the %p conversion specifier works as 0x%x and thus does not ---------------- Should be __loongarch64? ================ Comment at: compiler-rt/test/tsan/mmap_large.cpp:20 const size_t kLog2Size = 39; -#elif defined(__mips64) || defined(__aarch64__) +#elif defined(__mips64) || defined(__aarch64__) || defined(__loongarch__) const size_t kLog2Size = 32; ---------------- Should be __loongarch64? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138489/new/ https://reviews.llvm.org/D138489 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits