This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: libsanitizer merge from upstream r191666
- From: Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- To: Jack Howarth <howarth at bromo dot med dot uc dot edu>
- Cc: Konstantin Serebryany <konstantin dot s dot serebryany at gmail dot com>, '@bromo.med.uc.edu, Alexander Potapenko <glider at google dot com>, Jakub Jelinek <jakub at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Dodji Seketeli <dodji at redhat dot com>, Dmitry Vyukov <dvyukov at google dot com>
- Date: Tue, 05 Nov 2013 08:31:01 -0600
- Subject: Re: libsanitizer merge from upstream r191666
- Authentication-results: sourceware.org; auth=none
- References: <CAGQ9bdzrx07_OfvCcxm_uFUt3MRhg1gwqdHvmK_9kHDmz1vPVw at mail dot gmail dot com> <CAGQ9bdxj-DmEaoo0mOWfSVXsrhVShWj3onHZRxiwt97Vq6J45w at mail dot gmail dot com> <20131029121355 dot GY30970 at tucnak dot zalov dot cz> <CAGQ9bdw+VW=yF+vaqE_0GkyHUChL_vp3cABZf-FuNYoHo3g=eg at mail dot gmail dot com> <CAGQ9bdzHaBmaTnnX3=npLngK+8K1P2EWWMX-GmOLz0S1vWcHVA at mail dot gmail dot com> <CAGQ9bdxBgJJxv2gWzAsxuECoAV_zk4TWUVGeZiAnNF1gcEQJ7g at mail dot gmail dot com> <20131030070317 dot GA27813 at tucnak dot zalov dot cz> <CAGQ9bdz1FMOngnBBmuCU4UqyTNh_jvRr0=_psZMjCpoQj6zBiQ at mail dot gmail dot com> <20131102172515 dot GA13302 at bromo dot med dot uc dot edu> <CAGQ9bdyaNob-Q_e0_YAhM9NUX3gLpj7eHD5JXfamKNGOXqa5iw at mail dot gmail dot com> <20131104164622 dot GA22037 at bromo dot med dot uc dot edu>
Hi Kostya,
As an aside, all of these asan tests have failed on
powerpc64le-unknown-linux-gnu since we began testing that target. I
have not yet had time to investigate why. Do you think there may be an
implicit or explicit assumption anywhere that PowerPC64 is big endian?
This is generally not safe to assume. Anyway, I hope it's something
easy like that, and thought you might have an idea.
Thanks,
Bill
On Mon, 2013-11-04 at 11:46 -0500, Jack Howarth wrote:
> On Mon, Nov 04, 2013 at 06:47:13AM -0800, Konstantin Serebryany wrote:
> > +glider, our Mac expert.
> >
> > Hi Jack,
> >
> > This patch has not been tested on Mac and we generally do not claim
> > that gcc-asan is supported on Mac.
> > clang-asan *is* supported on Mac and our bots are green (this patch is
> > a merge of the sources which are regularly tested on Mac,
> > but the build procedure is different).
> >
> > The failing assertion is weird, I haven't seen it since last year
> > (https://code.google.com/p/address-sanitizer/issues/detail?id=117),
> > but Alexander should know more.
> >
> > What is your version of Mac OS?
>
> I am testing on MacOS X 10.8.5 with FSF gcc trunk built as...
>
> % gcc-fsf-4.9 -v
> Using built-in specs.
> COLLECT_GCC=gcc-fsf-4.9
> COLLECT_LTO_WRAPPER=/sw/lib/gcc4.9/libexec/gcc/x86_64-apple-darwin12.5.0/4.9.0/lto-wrapper
> Target: x86_64-apple-darwin12.5.0
> Configured with: ../gcc-4.9-20131101/configure --prefix=/sw --prefix=/sw/lib/gcc4.9 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.9/info --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-isl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --enable-checking=yes --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.9
> Thread model: posix
> gcc version 4.9.0 20131101 (experimental) (GCC)
>
> >
> > --kcc
> >
> > On Sat, Nov 2, 2013 at 10:25 AM, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
> > > On Fri, Nov 01, 2013 at 04:13:05PM -0700, Konstantin Serebryany wrote:
> > >> Jukub,
> > >>
> > >> This works!
> > >> New patch attached.
> > >
> > > Konstantin,
> > > This patch, when applied on top of r204305, bootstraps fine on x86_64-apple-darwin12 but
> > > produces a lot of regressions with...
> > >
> > > make -k check RUNTESTFLAGS="asan.exp --target_board=unix'{-m64}'"
> > >
> > > Native configuration is x86_64-apple-darwin12.5.0
> > >
> > > === g++ tests ===
> > >
> > >
> > > Running target unix/-m64
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -Os execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -Os execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -Os execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -Os execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -Os execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/sleep-before-dying-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/sleep-before-dying-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/sleep-before-dying-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -Os execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/strip-path-prefix-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/strip-path-prefix-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/strip-path-prefix-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -Os execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -Os execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O2 -flto execution test
> > > FAIL: g++.dg/asan/deep-stack-uaf-1.C -O0 execution test
> > > FAIL: g++.dg/asan/deep-stack-uaf-1.C -O1 execution test
> > > FAIL: g++.dg/asan/deep-stack-uaf-1.C -O2 execution test
> > > FAIL: g++.dg/asan/deep-stack-uaf-1.C -O3 -fomit-frame-pointer execution test
> > > FAIL: g++.dg/asan/deep-stack-uaf-1.C -O3 -g execution test
> > > FAIL: g++.dg/asan/deep-stack-uaf-1.C -Os execution test
> > > FAIL: g++.dg/asan/deep-tail-call-1.C -O0 execution test
> > > FAIL: g++.dg/asan/deep-tail-call-1.C -O1 execution test
> > > FAIL: g++.dg/asan/deep-tail-call-1.C -O2 execution test
> > > FAIL: g++.dg/asan/deep-tail-call-1.C -O3 -fomit-frame-pointer execution test
> > > FAIL: g++.dg/asan/deep-tail-call-1.C -O3 -g execution test
> > > FAIL: g++.dg/asan/deep-tail-call-1.C -Os execution test
> > > FAIL: g++.dg/asan/deep-tail-call-1.C -O2 -flto -flto-partition=none execution test
> > > FAIL: g++.dg/asan/deep-tail-call-1.C -O2 -flto execution test
> > > FAIL: g++.dg/asan/deep-thread-stack-1.C -O0 execution test
> > > FAIL: g++.dg/asan/deep-thread-stack-1.C -O1 execution test
> > > FAIL: g++.dg/asan/deep-thread-stack-1.C -O2 execution test
> > > FAIL: g++.dg/asan/deep-thread-stack-1.C -O3 -fomit-frame-pointer execution test
> > > FAIL: g++.dg/asan/deep-thread-stack-1.C -O3 -g execution test
> > > FAIL: g++.dg/asan/deep-thread-stack-1.C -Os execution test
> > > FAIL: g++.dg/asan/deep-thread-stack-1.C -O2 -flto -flto-partition=none execution test
> > > FAIL: g++.dg/asan/deep-thread-stack-1.C -O2 -flto execution test
> > > FAIL: g++.dg/asan/interception-failure-test-1.C -O0 output pattern test, is ==15047==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: g++.dg/asan/interception-failure-test-1.C -O1 output pattern test, is ==15061==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: g++.dg/asan/interception-failure-test-1.C -O2 output pattern test, is ==15075==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: g++.dg/asan/interception-failure-test-1.C -O3 -fomit-frame-pointer output pattern test, is ==15090==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: g++.dg/asan/interception-failure-test-1.C -O3 -g output pattern test, is ==15104==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: g++.dg/asan/interception-failure-test-1.C -Os output pattern test, is ==15118==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: g++.dg/asan/interception-failure-test-1.C -O2 -flto -flto-partition=none output pattern test, is ==15142==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: g++.dg/asan/interception-failure-test-1.C -O2 -flto output pattern test, is ==15168==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: g++.dg/asan/large-func-test-1.C -O0 execution test
> > > FAIL: g++.dg/asan/large-func-test-1.C -O1 execution test
> > > FAIL: g++.dg/asan/large-func-test-1.C -O2 execution test
> > > FAIL: g++.dg/asan/large-func-test-1.C -O3 -fomit-frame-pointer execution test
> > > FAIL: g++.dg/asan/large-func-test-1.C -O3 -g execution test
> > > FAIL: g++.dg/asan/large-func-test-1.C -Os execution test
> > > FAIL: g++.dg/asan/large-func-test-1.C -O2 -flto -flto-partition=none execution test
> > > FAIL: g++.dg/asan/large-func-test-1.C -O2 -flto execution test
> > > FAIL: g++.dg/asan/symbolize-callback-1.C -O2 execution test
> > > FAIL: g++.dg/asan/symbolize-callback-1.C -O2 -flto -flto-partition=none execution test
> > > FAIL: g++.dg/asan/symbolize-callback-1.C -O2 -flto execution test
> > >
> > > === g++ Summary ===
> > >
> > > # of expected passes 259
> > > # of unexpected failures 111
> > > # of unsupported tests 132
> > > /sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/testsuite/g++/../../xg++ version 4.9.0 20131101 (experimental) (GCC)
> > >
> > > === gcc tests ===
> > >
> > >
> > > Running target unix/-m64
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -Os execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/global-overflow-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -Os execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/heap-overflow-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -Os execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/memcmp-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -Os execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/null-deref-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -Os execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/sanity-check-pure-c-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/sleep-before-dying-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/sleep-before-dying-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/sleep-before-dying-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -Os execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/stack-overflow-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/strip-path-prefix-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/strip-path-prefix-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/strip-path-prefix-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -Os execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/strncpy-overflow-1.c -O2 -flto execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O0 execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O1 execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O2 execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O3 -fomit-frame-pointer execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O3 -g execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -Os execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O2 -flto -flto-partition=none execution test
> > > FAIL: c-c++-common/asan/use-after-free-1.c -O2 -flto execution test
> > >
> > > === gcc Summary ===
> > >
> > > # of expected passes 178
> > > # of unexpected failures 70
> > > # of unsupported tests 101
> > > /sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/xgcc version 4.9.0 20131101 (experimental) (GCC)
> > >
> > >
> > > /sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/xgcc version 4.9.0 20131101 (experimental) (GCC)
> > >
> > >
> > > Compiler version: 4.9.0 20131101 (experimental) (GCC)
> > > Platform: x86_64-apple-darwin12.5.0
> > > configure flags: --prefix=/sw --prefix=/sw/lib/gcc4.9 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.9/info --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-isl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --enable-checking=yes --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.9
> > >
> > > Oddly executing...
> > >
> > > make -k check RUNTESTFLAGS="asan.exp --target_board=unix'{-m32}'"
> > >
> > > results in no regressions on x86_64-apple-darwin12.
> > >
> > > Native configuration is x86_64-apple-darwin12.5.0
> > >
> > > === g++ tests ===
> > >
> > >
> > > Running target unix/-m32
> > >
> > > === g++ Summary ===
> > >
> > > # of expected passes 473
> > > # of unsupported tests 132
> > > /sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/testsuite/g++/../../xg++ version 4.9.0 20131101 (experimental) (GCC)
> > >
> > > === gcc tests ===
> > >
> > >
> > > Running target unix/-m32
> > >
> > > === gcc Summary ===
> > >
> > > # of expected passes 318
> > > # of unsupported tests 101
> > > /sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/xgcc version 4.9.0 20131101 (experimental) (GCC)
> > >
> > > === gfortran tests ===
> > >
> > >
> > > Compiler version: 4.9.0 20131101 (experimental) (GCC)
> > > Platform: x86_64-apple-darwin12.5.0
> > > configure flags: --prefix=/sw --prefix=/sw/lib/gcc4.9 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.9/info --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-isl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --enable-checking=yes --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.9
> > >
> > > Has this patch been test on any darwin targets?
> > > Jack
> > > ps The failures all appear to be of the form...
> > >
> > >
> > > Executing on host: /sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/ /sw/src/fink.build/gcc49-4.9.0-1000/gcc-4.9-20131101/gcc/testsuite/c-c++-common/asan/memcmp-1.c -B/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/x86_64-apple-darwin12.5.0/./libsanitizer/asan/ -L/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/x86_64-apple-darwin12.5.0/./libsanitizer/asan/.libs -fsanitize=address -g -fno-diagnostics-show-caret -fdiagnostics-color=never -O0 -fno-builtin-memcmp -lm -m64 -o ./memcmp-1.exe (timeout = 300)
> > > spawn /sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc/ /sw/src/fink.build/gcc49-4.9.0-1000/gcc-4.9-20131101/gcc/testsuite/c-c++-common/asan/memcmp-1.c -B/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/x86_64-apple-darwin12.5.0/./libsanitizer/asan/ -L/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/x86_64-apple-darwin12.5.0/./libsanitizer/asan/.libs -fsanitize=address -g -fno-diagnostics-show-caret -fdiagnostics-color=never -O0 -fno-builtin-memcmp -lm -m64 -o ./memcmp-1.exe^M
> > > PASS: c-c++-common/asan/memcmp-1.c -O0 (test for excess errors)
> > > Setting LD_LIBRARY_PATH to :/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc:/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/x86_64-apple-darwin12.5.0/./libsanitizer/asan/.libs::/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/gcc:/sw/src/fink.build/gcc49-4.9.0-1000/darwin_objdir/x86_64-apple-darwin12.5.0/./libsanitizer/asan/.libs
> > > spawn [open ...]^M
> > > ==23392==AddressSanitizer CHECK failed: ../../../../gcc-4.9-20131101/libsanitizer/sanitizer_common/sanitizer_mac.cc:146 "((env_ptr)) != (0)" (0x0, 0x0)
> > > FAIL: c-c++-common/asan/memcmp-1.c -O0 execution test
> > >
> > >>
> > >> Tested:
> > >> make -C gcc check-g{cc,++}
> > >> RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} asan.exp'
> > >> make check -C gcc RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} ubsan.exp'
> > >>
> > >> =========== gcc/testsuite/ChangeLog
> > >>
> > >> 2013-10-XX Kostya Serebryany <kcc@google.com>
> > >>
> > >> * g++.dg/asan/asan_test.cc: Update the test
> > >> to match the fresh asan run-time.
> > >> * c-c++-common/asan/stack-overflow-1.c: Ditto.
> > >>
> > >> =========== gcc/ChangeLog
> > >>
> > >> 2013-10-XX Kostya Serebryany <kcc@google.com>
> > >>
> > >> Update to match the changed asan API.
> > >> * asan.c:
> > >> (asan_function_start): New function.
> > >> (asan_emit_stack_protection): Update the string stored in the
> > >> stack red zone to match new API. Store the PC of the current
> > >> function in the red zone.
> > >> (asan_global_struct): Update the __asan_global definition to match
> > >> the new API.
> > >> (asan_add_global): Ditto.
> > >> * asan.h: Declare asan_function_start.
> > >> * final.c:
> > >> (final_start_function): Call asan_function_start.
> > >> * sanitizer.def: Rename __asan_init_v1 to __asan_init_v3.
> > >>
> > >> =========== libsanitizer/ChangeLog
> > >>
> > >> 2013-10-XX Kostya Serebryany <kcc@google.com>
> > >>
> > >> * All source files: Merge from upstream r191666.
> > >> * merge.sh: Added lsan.
> > >> * configure.ac: Added lsan.
> > >> * Makefile.am: Added lsan.
> > >> * sanitizer_common/Makefile.am: Added lsan.
> > >> * asan/Makefile.am: Added dependency on lsan.
> > >> * lsan/Makefile.am: New file.
> > >> * asan/Makefile.in: Regenerate.
> > >> * lsan/Makefile.in: Regenerate.
> > >> * Makefile.in: Regenerate.
> > >> * configure: Regenerate.
> > >> * sanitizer_common/Makefile.in: Regenerate.
> > >>
> > >> On Wed, Oct 30, 2013 at 12:03 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> > >> > On Tue, Oct 29, 2013 at 05:15:24PM -0700, Konstantin Serebryany wrote:
> > >> >> Actually, I guessed the flags:
> > >> >
> > >> > You don't have to guess them, if you look into
> > >> > testsuite/g++/g++.log (or testsuite/gcc/gcc.log etc.), you can find them
> > >> > there.
> > >> >
> > >> >> % ../gcc-inst/bin/g++ -g -fsanitize=address -static-libasan -O2 -flto
> > >> >> -fno-use-linker-plugin -flto-partition=none
> > >> >> ../gcc/gcc/testsuite/c-c++-common/asan/stack-overflow-1.c; ./a.out
> > >> >> 2>&1
> > >> >>
> > >> >> /tmp/ccgSw6NI.lto.o: In function `main':
> > >> >> ../gcc/gcc/testsuite/c-c++-common/asan/stack-overflow-1.c:13:
> > >> >> undefined reference to `.LASANPC0.2585'
> > >> >> collect2: error: ld returned 1 exit status
> > >> >>
> > >> >> Looks like this patch is not friendly to -flto
> > >> >
> > >> > I guess if you do:
> > >> > ...
> > >> > - tree str_cst;
> > >> > + tree str_cst, decl, id;
> > >> > ...
> > >> > + ASM_GENERATE_INTERNAL_LABEL (buf, "LASANPC", current_function_funcdef_no);
> > >> > + id = get_identifier (buf);
> > >> > + decl = build_decl (DECL_SOURCE_LOCATION (current_function_decl),
> > >> > + VAR_DECL, id, char_type_node);
> > >> > + SET_DECL_ASSEMBLER_NAME (decl, id);
> > >> > + TREE_ADDRESSABLE (decl) = 1;
> > >> > ...
> > >> >
> > >> > it might work even for -flto. The problem with -flto is that the default
> > >> > set_decl_assembler_name langhook for -flto appends dot and some number to
> > >> > the non-exported names, which is undesirable here, because we already make
> > >> > sure those first numbers are unique for the whole compilation unit.
> > >> >
> > >> > Jakub
> > >
> > >
>