[PATCH 1/2] Libsanitizer merge from upstream r253555.

Jakub Jelinek jakub@redhat.com
Mon Nov 23 08:19:00 GMT 2015


On Mon, Nov 23, 2015 at 10:46:33AM +0300, Maxim Ostapenko wrote:
> Index: libsanitizer/configure.ac
> ===================================================================
> --- libsanitizer/configure.ac	(revision 230597)
> +++ libsanitizer/configure.ac	(working copy)
> @@ -136,6 +136,12 @@
>  esac
>  AM_CONDITIONAL(USING_MAC_INTERPOSE, $MAC_INTERPOSE)
>  
> +case "$target" in
> +  aarch64-*-linux*) tsan_aarch64=true ;;
> +  *) tsan_aarch64=false ;;
> +esac
> +AM_CONDITIONAL(TSAN_AARCH64, $tsan_aarch64)
> +

I don't understand the purpose of the above.

> Index: libsanitizer/configure.tgt
> ===================================================================
> --- libsanitizer/configure.tgt	(revision 230597)
> +++ libsanitizer/configure.tgt	(working copy)
> @@ -37,6 +37,8 @@
>    aarch64*-*-linux*)
>  	if test x$ac_cv_sizeof_void_p = x8; then
>  		TSAN_SUPPORTED=yes
> +		LSAN_SUPPORTED=yes
> +		TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_aarch64.lo
>  	fi
>  	;;
>    x86_64-*-darwin[1]* | i?86-*-darwin[1]*)

You already have this.

> Index: libsanitizer/tsan/Makefile.am
> ===================================================================
> --- libsanitizer/tsan/Makefile.am	(revision 230597)
> +++ libsanitizer/tsan/Makefile.am	(working copy)
> @@ -21,6 +21,8 @@
>  	tsan_interface_atomic.cc \
>  	tsan_interface.cc \
>  	tsan_interface_java.cc \
> +	tsan_libdispatch_mac.cc \
> +	tsan_malloc_mac.cc \
>  	tsan_md5.cc \
>  	tsan_mman.cc \
>  	tsan_mutex.cc \
> @@ -28,6 +30,7 @@
>  	tsan_new_delete.cc \
>  	tsan_platform_linux.cc \
>  	tsan_platform_mac.cc \
> +	tsan_platform_posix.cc \
>  	tsan_platform_windows.cc \
>  	tsan_report.cc \
>  	tsan_rtl.cc \
> @@ -41,7 +44,11 @@
>  	tsan_sync.cc 
>  
>  libtsan_la_SOURCES = $(tsan_files)
> +if TSAN_AARCH64
> +EXTRA_libtsan_la_SOURCES = tsan_rtl_aarch64.S
> +else
>  EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S
> +endif

And if I understand automake manual, you can list in there both
EXTRA_libtsan_la_SOURCES = tsan_rtl_amd64.S tsan_rtl_aarch64.S
unconditionally, and what object actually gets linked in is picked from the
$(TSAN_TARGET_DEPENDENT_OBJECTS) (and similarly dependencies).

Otherwise LGTM.

	Jakub



More information about the Gcc-patches mailing list