Hi! The darwin and PE binds_local_p targhooks signal that even for -fpic symbols can't be normally interposed, thus the testcases aren't usable on these targets, because they rely on possible symbol interposition.
Fixed thusly, committed as obvious. 2013-06-12 Jakub Jelinek <ja...@redhat.com> PR target/56564 * gcc.target/i386/pr56564-1.c: Skip on darwin, mingw and cygwin. * gcc.target/i386/pr56564-3.c: Likewise. --- gcc/testsuite/gcc.target/i386/pr56564-1.c.jj 2013-06-11 09:33:50.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr56564-1.c 2013-06-11 21:25:41.208273724 +0200 @@ -1,5 +1,6 @@ /* PR target/56564 */ /* { dg-do compile { target { fpic && lp64 } } } */ +/* { dg-skip-if "No symbol interposition for PIC" { *-*-mingw* *-*-cygwin* *-*-darwin* } } */ /* { dg-options "-O3 -fpic -fdump-tree-optimized" } */ struct S { long a, b; } s = { 5, 6 }; --- gcc/testsuite/gcc.target/i386/pr56564-3.c.jj 2013-06-11 09:33:50.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/pr56564-3.c 2013-06-11 21:26:37.259270382 +0200 @@ -1,5 +1,6 @@ /* PR target/56564 */ /* { dg-do compile { target { fpic && lp64 } } } */ +/* { dg-skip-if "No symbol interposition for PIC" { *-*-mingw* *-*-cygwin* *-*-darwin* } } */ /* { dg-options "-O3 -fpic -fdump-tree-optimized" } */ __thread struct S { long a, b; } s = { 5, 6 }; Jakub