[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Severe performance problem and proposed solution
From: |
Zack Weinberg |
Subject: |
Re: Severe performance problem and proposed solution |
Date: |
Mon, 25 Feb 2002 11:27:46 -0800 |
User-agent: |
Mutt/1.3.27i |
On Mon, Feb 25, 2002 at 07:32:30PM +0100, Akim Demaille wrote:
> >>>>> "Zack" == Zack Weinberg <address@hidden> writes:
>
> Zack> It may well be good enough. I cannot test it because (a) I have
> Zack> no access to any of the affected machines, and (b) for other
> Zack> reasons, libstdc++ cannot currently migrate away from autoconf
> Zack> 2.13. (See the discussion at
> Zack> <http://gcc.gnu.org/ml/gcc-patches/2001-05/msg01986.html>;
> Zack> suggestions would be appreciated.)
>
> I just had a look, and could find exactly what advice you'd like.
> Also, we are working on 2.53. If you need special features, please
> let us help you by specifying them!
I assume you meant "couldn't"?
The show-stopper problem we had was something like this:
The configure script for a target library (i.e. a library which might
be being built with a just-created cross compiler) does AC_PROG_CC,
but that is likely to fail with a just-created cross compiler, because
we're in the process of building the runtime libraries that AC_PROG_CC
will try to link against. The configure scripts and Makefiles are
aware of this and do not try to do things that will not work. They
have a kluge in place to prevent AC_PROG_CC from failing spuriously.
The kluge does not work anymore with Autoconf 2.5x. That's fine. It
provides what was intended to be a better replacement, the
AC_NO_EXECUTABLES macro. Unfortunately, *any* use of AC_TRY_LINK or
AC_TRY_RUN is forbidden - at generation time - in a configure.ac that
uses AC_NO_EXECUTABLES, and that's too extreme. Some of the runtime
libraries need to do AC_TRY_LINK tests to probe libraries that they
depends on. (For instance, the C++ runtime library needs to find out
some characteristics of the C runtime library.) The configure script
takes precautions when it is executed to prevent spurious link
failures (in the simplest case, hardwiring results to use when being
cross compiled) but AC_NO_EXECUTABLES won't let us use AC_TRY_LINK at
all.
I'm not sure what the _right_ thing to put into autoconf 2.53 would be
to solve this problem. I don't use cross compilers myself. You can
look at libstdc++-v3/configure.in to see some of the things it does
right now.
zw
Re: Severe performance problem and proposed solution, Zack Weinberg, 2002/02/26
- Re: Severe performance problem and proposed solution, Paul Eggert, 2002/02/26
- Re: Severe performance problem and proposed solution, Zack Weinberg, 2002/02/26
- Re: Severe performance problem and proposed solution, Paul Eggert, 2002/02/26
- Re: Severe performance problem and proposed solution, Akim Demaille, 2002/02/27
- Re: Severe performance problem and proposed solution, Paul Eggert, 2002/02/27