https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63948
Bug ID: 63948 Summary: Sanitizer testsuite full of failures on darwin Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: fxcoudert at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org sanitizer's testsuite is full of failures on x86_64-apple-darwin14, to the point of making test results hardly readable: https://gcc.gnu.org/ml/gcc-testresults/2014-11/msg01921.html Maybe there are some real failures in there, but it seems they're mostly failures to match output, like global-overflow-1.c, where we output this: ==41438==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000101ce122a at pc 0x000101ce0d88 bp 0x7fff5df1fa10 sp 0x7fff5df1fa08 READ of size 1 at 0x000101ce122a thread T0 #0 0x101ce0d87 (/Users/fx/devel/gcc/irun2/./a.out+0x100000d87) #1 0x7fff942575c8 (/usr/lib/system/libdyld.dylib+0x35c8) #2 0x0 (<unknown module>) 0x000101ce122a is located 0 bytes to the right of global variable 'YYY' defined in 'global-overflow-1.c:15:15' (0x101ce1220) of size 10 0x000101ce122a is located 54 bytes to the left of global variable 'ZZZ' defined in 'global-overflow-1.c:16:15' (0x101ce1260) of size 10 and I believe this does not match the regexp in the testcase: /* { dg-output "READ of size 1 at 0x\[0-9a-f\]+ thread T0.*(\n|\r\n|\r)" } */ /* { dg-output " #0 0x\[0-9a-f\]+ (in _*main (\[^\n\r]*global-overflow-1.c:20|\[^\n\r]*:0)|\[(\])\[^\n\r]*(\n|\r\n|\r).*" } */ /* { dg-output "0x\[0-9a-f\]+ is located 0 bytes to the right of global variable" } */ /* { dg-output ".*YYY\[^\n\r]* of size 10\[^\n\r]*(\n|\r\n|\r)" } */ (though that second line is hard to parse). I suppose the dg-output expects symbol names, and they are not produced on darwin. In the meantime, the testcases should be amended.