This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libsanitizer merge from upstream r191666


On Mon, Nov 4, 2013 at 8:46 AM, Jack Howarth <howarth@bromo.med.uc.edu> 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...

Jack,

Have you been able to figure out what's wrong?
Also, does asan from the clang trunk work for you?
I suspect that this is some kind of build/Makefile issue.
I'll commit this patch now and let's follow up on the Mac problem
separately (with help from Alexander)

--kcc

>
> % 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
>> >
>> >


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]