Jakub Jelinek <ja...@redhat.com> writes:
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > > 2013-01-22 Jakub Jelinek <ja...@redhat.com> > > PR sanitizer/55374 > * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if > LIBASAN_EARLY_SPEC is defined. > (LIBASAN_EARLY_SPEC): Define to empty string if not already defined. > (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address, > before %o. > * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define. > > * g++.dg/asan/large-func-test-1.C: Allow both _Zna[jm] in addition > to _Znw[jm] in the backtrace. Allow _Zna[jm] to be the first frame > printed in backtrace. > * g++.dg/asan/deep-stack-uaf-1.C: Use malloc instead of operator new > to avoid errors about mismatched allocation vs. deallocation. This looks okay for me. Sorry for the delay. As an aside, I am curious why about ... > --- gcc/testsuite/g++.dg/asan/deep-stack-uaf-1.C.jj 2012-12-14 > 16:24:38.000000000 +0100 > +++ gcc/testsuite/g++.dg/asan/deep-stack-uaf-1.C 2013-01-22 > 16:43:03.337091101 +0100 > @@ -27,7 +27,7 @@ struct DeepFree<0> { > }; > > int main() { > - char *x = new char[10]; > + char *x = (char*)malloc(10); > // deep_free(x); > DeepFree<200>::free(x); > return x[5]; ... why/how this is falling when -lasan comes before -lstdc++? -- Dodji