[Bug lto/49992] lto-bootstrap reveals duplicate symbols on x86_64-apple-darwin11
iains at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Aug 8 17:57:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992
--- Comment #6 from Iain Sandoe <iains at gcc dot gnu.org> 2011-08-08 17:57:06 UTC ---
Created attachment 24951
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24951
make errors.c match core-diagnostic.c in the shared interfaces
OK. So Darwin's ld is telling the truth - the routine does exist in both
errors.o and the libcommon.a.
I guess, the issue is that (a) the implementations are subtly different, and
(b) there could be causes that would get core-diagnostic.o and errors.o both
included (e.g. a reference to fatal_error).
I'm testing out the attached patch on i686-linux, x86-64-linux and
*-darwin{9,10}.
What is _not_ obvious to me is why x86_64-darwin{10,11} is bitten by this, but
*-darwin9 and linux are not.
===
the patch makes the errors.c interface match the core-diagnostic.c ones (and
more rigorously checks that the relevant headers are included on
GENERATOR_FILE).
of course, I'm not terribly familiar with the generator programs - there could
be some excellent reason that errors.c:fatal () is declared differently from
core-diagnostics.c:fatal_error ().
More information about the Gcc-bugs
mailing list