> >> > 3) there is still a failure for -m32: >> > FAIL: g++.dg/asan/asan_test.C -O2 AddressSanitizer_UAF_long_double >> > Ident(p)[12] = 0 output pattern test >> > Output should match: WRITE of size 1[06] >> > FAIL: g++.dg/asan/asan_test.C -O2 AddressSanitizer_UAF_long_double >> > Ident(p)[0] = Ident(p)[12] output pattern test >> > Output should match: READ of size 1[06] >> > That sounds like something to fix in upstream, it should allow also size >> > 12 which is the size of long double on ia32 (16 bytes on x86_64), >> > thus 1[026]. Kostya, can you please change it, I'll then apply it >> > to the testsuite patch too? >> Like this? >> >> --- lib/asan/tests/asan_test.cc (revision 209430) >> +++ lib/asan/tests/asan_test.cc (working copy) >> @@ -183,8 +183,8 @@ >> TEST(AddressSanitizer, UAF_long_double) { >> if (sizeof(long double) == sizeof(double)) return; >> long double *p = Ident(new long double[10]); >> - EXPECT_DEATH(Ident(p)[12] = 0, "WRITE of size 1[06]"); >> - EXPECT_DEATH(Ident(p)[0] = Ident(p)[12], "READ of size 1[06]"); >> + EXPECT_DEATH(Ident(p)[12] = 0, "WRITE of size 1[026]"); >> + EXPECT_DEATH(Ident(p)[0] = Ident(p)[12], "READ of size 1[026]"); >> delete [] Ident(p); >> } >> > > Yep, exactly.
done, r209445.