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  <k...@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  <k...@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  <k...@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 <ja...@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


Reply via email to