This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH RFC: Remove fork from collect2
- From: Dale Johannesen <dalej at apple dot com>
- To: Andrew Pinski <apinski at apple dot com>
- Cc: "gcc at gcc dot gnu dot org list" <gcc at gcc dot gnu dot org>, Caroline Tice <ctice at apple dot com>, Dale Johannesen <dalej at apple dot com>, Ian Lance Taylor <ian at wasabisystems dot com>
- Date: Fri, 19 Mar 2004 14:09:57 -0800
- Subject: Re: PATCH RFC: Remove fork from collect2
- References: <20040317023814.10143.qmail@gossamer.airs.com> <20040317092131.GA95030@lorien.int.gecko.de> <m3smg7r5cw.fsf@gossamer.airs.com> <20040317133116.GA15850@lorien.int.gecko.de> <m3k71jr29k.fsf@gossamer.airs.com> <20040317170336.GA16667@lorien.int.gecko.de> <87d67bw7bd.fsf@egil.codesourcery.com> <m3vfl3kyfr.fsf@gossamer.airs.com> <A7570576-79EC-11D8-9F81-000393BB90B6@apple.com> <009F425B-79EE-11D8-92E2-00039372607E@apple.com>
On Mar 19, 2004, at 1:40 PM, Andrew Pinski wrote:
On Mar 19, 2004, at 1:30 PM, Caroline Tice wrote:
Actually this is an issue with Apple versus FSF libgcc and the name of
the
function which saves/restores the FP so to resolve this issue either
the FSF's gcc has to have the functions in Darwin's libgcc or have
libiberty
be built like the rest of the compiler, in each stage.
OK, let me see if I understand this:
1) libiberty.a is built with the installed system compiler. That
generates some undefined
references, which the system compiler expects to be resolved by
(shared, in this case)
libraries that it knows about and knows to link in.
2) This libiberty.a is used by subsequent passes, that don't use the
system compiler
to link and don't know about its libraries. Link failure.
This must have come up before; HP, for example, has a lot of magic
library routines.
What's the expected resolution? Just don't put things in libiberty
that do that?
(Because Apple's system compiler is a version of gcc, this particular
problem could be
solved by making the system compiler and the FSF compiler agree, as
Andrew says,
but clearly that's not a general solution.)