From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127055 invoked by alias); 23 Nov 2015 12:16:50 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 126980 invoked by uid 89); 23 Nov 2015 12:16:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_50,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-qg0-f50.google.com Received: from mail-qg0-f50.google.com (HELO mail-qg0-f50.google.com) (209.85.192.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 23 Nov 2015 12:16:43 +0000 Received: by qgcc31 with SMTP id c31so68869333qgc.3 for ; Mon, 23 Nov 2015 04:16:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=7nYs0bgCGIw+aVTLrm33SyppE4jEUxjJz+ZRshCU5Fk=; b=f0qC2sAkwGStVugeMb6mHkqNUCg+KNjL0pIpuvOVPom44kJf9um2il9u8S5Myee9DS BC4JPm4WlAXCHG8of7AgooQKGm6jsDyGEXb+fyAHP9CTapmuuPy5VzZo2Bxkcz1f5abK mKQfXbOUGQcahvz6p23HHaHY3giuZ61GB1T77Fyt8BlywZZ2ihFxB1a2q8iu+9NNG9Uh IYcuE3ZhKKjhI8X0OMVgFZGBWhJyKqhGBYNxNrsoOiH8YTiDT8IfJyu0ZtQ+4JtWqhBC jW1GutJbB+WIkziOx4nTu669rB0rxR84kpEOOvkoGWlRK1q4l8fyw3sBKPE11yPMu0Ev x0cQ== X-Gm-Message-State: ALoCoQmH5zrtoDlj4xEDpqfdJau+b/EdHLoXDsFNiV1en2hY4SZ0i3UBwGQWf4PuuD9C+5JAj4N3 MIME-Version: 1.0 X-Received: by 10.140.160.69 with SMTP id g66mr26705036qhg.86.1448281000248; Mon, 23 Nov 2015 04:16:40 -0800 (PST) Received: by 10.140.109.200 with HTTP; Mon, 23 Nov 2015 04:16:40 -0800 (PST) In-Reply-To: <20151123080753.GS5675@tucnak.redhat.com> References: <5652C3E0.4030000@partner.samsung.com> <5652C459.8090500@partner.samsung.com> <20151123080753.GS5675@tucnak.redhat.com> Date: Mon, 23 Nov 2015 12:24:00 -0000 Message-ID: Subject: Re: [PATCH 1/2] Libsanitizer merge from upstream r253555. From: Christophe Lyon To: Jakub Jelinek Cc: Maxim Ostapenko , Kostya Serebryany , GCC Patches , Yury Gribov , Vyacheslav Barinov , Slava Garbuzov Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-11/txt/msg02699.txt.bz2 On 23 November 2015 at 09:07, Jakub Jelinek wrote: > 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. Since this commit (r230739), I've noticed that the arm*linux* builds fail: libtool: compile: /tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/./gcc/xgcc -shared-libgcc -B/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/g cc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/./gcc -nostdinc++ -L/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/arm-none-linux-gnueabi/ libstdc++-v3/src -L/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/arm-none-linux-gnueabi/libstdc++-v3/src/.libs -L/tmp/1800227_1.tmpdir/ aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/arm-none-linux-gnueabi/libstdc++-v3/libsupc++/.libs -B/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/t ools/arm-none-linux-gnueabi/bin/ -B/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/arm-none-linux-gnueabi/lib/ -isystem /tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gc c-fsf-gccsrc/tools/arm-none-linux-gnueabi/include -isystem /tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/arm-none-linux-gnueabi/sys-include -D_GNU_SOURCE -D_DEBU G -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=1 -DHAVE_TIRPC_RPC_XDR_H=0 -I. -I/tmp/1800227_1.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsr c/libsanitizer/sanitizer_common -I.. -I /tmp/1800227_1.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libsanitizer/include -isystem /tmp/1800227_1.tmpdir/aci-gcc-fsf/sources/gcc-fsf/ gccsrc/libsanitizer/include/system -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -fun wind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/arm-none-linux-gnueabi -I/tmp/1800227_1.tmpdir/aci-gcc-fsf/sources /gcc-fsf/gccsrc/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I /tmp/1800227_1.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/ libsanitizer/../libbacktrace -I ../libbacktrace -I /tmp/1800227_1.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libsanitizer/../include -include /tmp/1800227_1.tmpdir/aci-gcc-fsf/so urces/gcc-fsf/gccsrc/libsanitizer/libbacktrace/backtrace-rename.h -g -O2 -D_GNU_SOURCE -MT sanitizer_platform_limits_posix.lo -MD -MP -MF .deps/sanitizer_platform_limits_posix.T po -c /tmp/1800227_1.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -fPIC -DPIC -o .libs/sanitizer_platform_limits_p osix.o /tmp/1800227_1.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:326:44: error: 'ARM_VFPREGS_SIZE' was not declared in t his scope unsigned struct_user_vfpregs_struct_sz = ARM_VFPREGS_SIZE; ^~~~~~~~~~~~~~~~ make[4]: *** [sanitizer_platform_limits_posix.lo] Error 1 make[4]: Leaving directory `/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/arm-none-linux-gnueabi/libsanitizer/sanitizer_common' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/arm-none-linux-gnueabi/libsanitizer' make[2]: *** [all] Error 2 make[2]: Leaving directory `/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3/arm-none-linux-gnueabi/libsanitizer' make[1]: *** [all-target-libsanitizer] Error 2 make[1]: Leaving directory `/tmp/1800227_1.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-linux-gnueabi/gcc3' make: *** [all] Error 2 > > Jakub