This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Bootstrap is STILL broken...


Dale Johannesen <dalej@apple.com> writes:

> > 128bit long double support is in the FSF's (both 3.4.0 and 3.5.0)
> > libgcc so this is non issue at all.
> 
> That's irrelevant.  The point is long double is implemented as library
> calls in many other compilers.
> So if you build libiberty on a system where the system compiler does
> that, you'll get dangling
> references to that compiler's library.  Which will be unresolved on
> later passes because you're
> linking with gcc, which doesn't know about that library.

No.  If such a case failed, then gcc would in general be unable to
link files compiled by the system compiler.  In particular, we would
in general be unable to link files in -lc, if those files were
compiled by the system compiler.  We normally try to avoid this
problem.  Normally we arrange to have gcc link against all necessary
libraries, or otherwise provide all code required to link files
compiled by the system compiler.

Puting saveFP and restFP into libgcc is simply one example of this
general approach.  We could also implement the same operation by
arranging for gcc to link against the libgcc used by Apple's version
of gcc.  However, that turns out to be more complex than simply
putting saveFP and restFP into libgcc.

On most systems it is relatively easy to link against all required
libraries.  Darwin is an exception because the system compiler is gcc
and libgcc is squirreled away in a more or less hidden location.  Most
system compilers do not work that way.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]