gcc/testsuite/lib/target-supports.exp checks whether the compiler spits out any messages when using -fpic/-fPIC; this doesn't cover the case where the compiler happily processes everything, but the linker cannot deal with the result (in the given case, because the specific gas (x86) in use accepts @ as a normal symbol character, and hence the usual <symbol>@<operator> syntax doesn't yield the expected result; note that the target doesn't really need PIC code, not does it support TLS, thus all the constructs are really meaningless).
Should the testsuite not instead do a test whether all involved tools are able to handle -fPIC and its results)? Or should the target simply disallow -fPIC (and if so, how is that supposed to be done)? Thanks, Jan