https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71767

--- Comment #25 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Dominique d'Humieres from comment #24)
> The patch in comment 20 (and SDK 10.9) causes the failures of the tests
> gcc.dg/torture/darwin-cfstring-3.c and g++.dg/torture/darwin-cfstring-3.C
> with -m32, see https://gcc.gnu.org/ml/gcc-testresults/2016-09/msg02290.html.
> These failures are due to the fact that lC is now emitted instead of LC and
> are silenced with the following patch
> 
> --- ../_clean/gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c        
> 2014-05-10
> 23:16:48.000000000 +0200
> +++ gcc/testsuite/gcc.dg/torture/darwin-cfstring-3.c  2016-09-24
> 17:03:58.000000000 +0200

thanks.

\n\t.quad\t.*\n\t.quad\t10\n" { target { *-*-darwin* && {  lp64 } } } } } */
> 
> I don't know if the replacement of LC with lC is really intended and if yes,
> a better fix would be to use "-mtarget-linker 85.2".

Yes, that's the intention of the patch (to make the some of the internal labels
visible to the linker - but not public); that's what using "l" instead of "L"
does.

There are almost certainly other instances that need to be fixed up (I didn't
yet review all the test-suite output).

As for using "-mtarget-linker 85.2" It would be better to test the most common
configurations in use (or both cases).  So I'd suggest your patch is a better
solution than the changing the target linker.

However, we should probably have at least one test somewhere that checks we
don't regress for older toolchains (so maybe add one for legacy toolchains,
with -mtarget-linker 85.2).

Reply via email to