LoongArch: libsanitizer: Enable build lsan and tsan for loongarch64.
Checks
Commit Message
From: chenguoqi <chenguoqi@loongson.cn>
libsanitizer/ChangeLog:
* configure.tgt: Enable tsan and lsan for loongarch64.
* tsan/Makefile.am: Add tsan_rtl_loongarch64.S to EXTRA_libtsan_la_SOURCES.
* tsan/Makefile.in: Regenerate.
---
libsanitizer/configure.tgt | 5 +++++
libsanitizer/tsan/Makefile.am | 2 +-
libsanitizer/tsan/Makefile.in | 3 ++-
3 files changed, 8 insertions(+), 2 deletions(-)
Comments
Ping?
在 2024/1/30 上午10:09, Lulu Cheng 写道:
> From: chenguoqi <chenguoqi@loongson.cn>
>
> libsanitizer/ChangeLog:
>
> * configure.tgt: Enable tsan and lsan for loongarch64.
> * tsan/Makefile.am: Add tsan_rtl_loongarch64.S to EXTRA_libtsan_la_SOURCES.
> * tsan/Makefile.in: Regenerate.
> ---
> libsanitizer/configure.tgt | 5 +++++
> libsanitizer/tsan/Makefile.am | 2 +-
> libsanitizer/tsan/Makefile.in | 3 ++-
> 3 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/libsanitizer/configure.tgt b/libsanitizer/configure.tgt
> index 38fc7001ff7..77a0e68222b 100644
> --- a/libsanitizer/configure.tgt
> +++ b/libsanitizer/configure.tgt
> @@ -79,6 +79,11 @@ case "${target}" in
> fi
> ;;
> loongarch64-*-linux*)
> + if test x$ac_cv_sizeof_void_p = x8; then
> + TSAN_SUPPORTED=yes
> + LSAN_SUPPORTED=yes
> + TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_loongarch64.lo
> + fi
> ;;
> *)
> UNSUPPORTED=1
> diff --git a/libsanitizer/tsan/Makefile.am b/libsanitizer/tsan/Makefile.am
> index cb8bf2e705e..e8fca16be5f 100644
> --- a/libsanitizer/tsan/Makefile.am
> +++ b/libsanitizer/tsan/Makefile.am
> @@ -50,7 +50,7 @@ tsan_files = \
> tsan_vector_clock.cpp
>
> libtsan_la_SOURCES = $(tsan_files)
> -EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S tsan_rtl_s390x.S tsan_rtl_riscv64.S
> +EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_loongarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S tsan_rtl_s390x.S tsan_rtl_riscv64.S
> libtsan_la_LIBADD = $(top_builddir)/sanitizer_common/libsanitizer_common.la $(top_builddir)/interception/libinterception.la $(TSAN_TARGET_DEPENDENT_OBJECTS)
> libtsan_la_DEPENDENCIES = $(top_builddir)/sanitizer_common/libsanitizer_common.la $(top_builddir)/interception/libinterception.la $(TSAN_TARGET_DEPENDENT_OBJECTS)
> if LIBBACKTRACE_SUPPORTED
> diff --git a/libsanitizer/tsan/Makefile.in b/libsanitizer/tsan/Makefile.in
> index 5cc6f95a40a..5bbdf3915b8 100644
> --- a/libsanitizer/tsan/Makefile.in
> +++ b/libsanitizer/tsan/Makefile.in
> @@ -456,7 +456,7 @@ tsan_files = \
> tsan_vector_clock.cpp
>
> libtsan_la_SOURCES = $(tsan_files)
> -EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S tsan_rtl_s390x.S tsan_rtl_riscv64.S
> +EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_loongarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S tsan_rtl_s390x.S tsan_rtl_riscv64.S
> libtsan_la_LIBADD = \
> $(top_builddir)/sanitizer_common/libsanitizer_common.la \
> $(top_builddir)/interception/libinterception.la \
> @@ -614,6 +614,7 @@ distclean-compile:
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_aarch64.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_access.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_amd64.Plo@am__quote@
> +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_loongarch64.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_mips64.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_mutex.Plo@am__quote@
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_ppc64.Plo@am__quote@
On Tue, Jan 30, 2024 at 10:09:51AM +0800, Lulu Cheng wrote:
> From: chenguoqi <chenguoqi@loongson.cn>
>
> libsanitizer/ChangeLog:
>
> * configure.tgt: Enable tsan and lsan for loongarch64.
> * tsan/Makefile.am: Add tsan_rtl_loongarch64.S to EXTRA_libtsan_la_SOURCES.
This line is too long and should read
* tsan/Makefile.am (EXTRA_libtsan_la_SOURCES): Add
tsan_rtl_loongarch64.S.
> * tsan/Makefile.in: Regenerate.
Otherwise LGTM.
Jakub
在 2024/2/2 下午6:01, Jakub Jelinek 写道:
> On Tue, Jan 30, 2024 at 10:09:51AM +0800, Lulu Cheng wrote:
>> From: chenguoqi <chenguoqi@loongson.cn>
>>
>> libsanitizer/ChangeLog:
>>
>> * configure.tgt: Enable tsan and lsan for loongarch64.
>> * tsan/Makefile.am: Add tsan_rtl_loongarch64.S to EXTRA_libtsan_la_SOURCES.
> This line is too long and should read
> * tsan/Makefile.am (EXTRA_libtsan_la_SOURCES): Add
> tsan_rtl_loongarch64.S.
>
>> * tsan/Makefile.in: Regenerate.
> Otherwise LGTM.
>
> Jakub
Thanks for your review.
I will send a patch for the V2 version immediately.
在 2024/2/2 下午6:01, Jakub Jelinek 写道:
> On Tue, Jan 30, 2024 at 10:09:51AM +0800, Lulu Cheng wrote:
>> From: chenguoqi <chenguoqi@loongson.cn>
>>
>> libsanitizer/ChangeLog:
>>
>> * configure.tgt: Enable tsan and lsan for loongarch64.
>> * tsan/Makefile.am: Add tsan_rtl_loongarch64.S to EXTRA_libtsan_la_SOURCES.
> This line is too long and should read
> * tsan/Makefile.am (EXTRA_libtsan_la_SOURCES): Add
> tsan_rtl_loongarch64.S.
Modify the description here and submit it to r14-8816.
Thanks!
>
>> * tsan/Makefile.in: Regenerate.
> Otherwise LGTM.
>
> Jakub
@@ -79,6 +79,11 @@ case "${target}" in
fi
;;
loongarch64-*-linux*)
+ if test x$ac_cv_sizeof_void_p = x8; then
+ TSAN_SUPPORTED=yes
+ LSAN_SUPPORTED=yes
+ TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_loongarch64.lo
+ fi
;;
*)
UNSUPPORTED=1
@@ -50,7 +50,7 @@ tsan_files = \
tsan_vector_clock.cpp
libtsan_la_SOURCES = $(tsan_files)
-EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S tsan_rtl_s390x.S tsan_rtl_riscv64.S
+EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_loongarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S tsan_rtl_s390x.S tsan_rtl_riscv64.S
libtsan_la_LIBADD = $(top_builddir)/sanitizer_common/libsanitizer_common.la $(top_builddir)/interception/libinterception.la $(TSAN_TARGET_DEPENDENT_OBJECTS)
libtsan_la_DEPENDENCIES = $(top_builddir)/sanitizer_common/libsanitizer_common.la $(top_builddir)/interception/libinterception.la $(TSAN_TARGET_DEPENDENT_OBJECTS)
if LIBBACKTRACE_SUPPORTED
@@ -456,7 +456,7 @@ tsan_files = \
tsan_vector_clock.cpp
libtsan_la_SOURCES = $(tsan_files)
-EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S tsan_rtl_s390x.S tsan_rtl_riscv64.S
+EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S tsan_rtl_loongarch64.S tsan_rtl_mips64.S tsan_rtl_ppc64.S tsan_rtl_s390x.S tsan_rtl_riscv64.S
libtsan_la_LIBADD = \
$(top_builddir)/sanitizer_common/libsanitizer_common.la \
$(top_builddir)/interception/libinterception.la \
@@ -614,6 +614,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_aarch64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_access.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_amd64.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_loongarch64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_mips64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_mutex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_rtl_ppc64.Plo@am__quote@