diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-02 10:07:58 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-02 10:07:58 +0000 |
commit | 794723c16828ffa0a7c913450704823791f54129 (patch) | |
tree | 898bb2254aaae08c8cf898c55adf2bbb800e06f5 /gcc/exec-tool.in | |
parent | 6d529d2799649367603ba2b99c1ac9d3753a6571 (diff) | |
download | gcc-794723c16828ffa0a7c913450704823791f54129.tar.gz |
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/35752
* Makefile.in (objdir): Set it here.
* configure.ac: Not here. Find dynamic linker characteristics.
* exec-tool.in: Use them.
* aclocal.m4: Regenerate.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133832 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/exec-tool.in')
-rw-r--r-- | gcc/exec-tool.in | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gcc/exec-tool.in b/gcc/exec-tool.in index f4cc7a0a9cc..6bdddd1d063 100644 --- a/gcc/exec-tool.in +++ b/gcc/exec-tool.in @@ -23,6 +23,8 @@ ORIGINAL_AS_FOR_TARGET="@ORIGINAL_AS_FOR_TARGET@" ORIGINAL_LD_FOR_TARGET="@ORIGINAL_LD_FOR_TARGET@" ORIGINAL_NM_FOR_TARGET="@ORIGINAL_NM_FOR_TARGET@" exeext=@host_exeext@ +fast_install=@enable_fast_install@ +objdir=@objdir@ invoked=`basename "$0"` case "$invoked" in @@ -50,7 +52,23 @@ case "$original" in scriptdir=`cd "$tdir" && pwd` if test -x $scriptdir/../$dir/$prog; then - exec $scriptdir/../$dir/$prog ${1+"$@"} + test "$fast_install" = yes || exec $scriptdir/../$dir/$prog ${1+"$@"} + + # if libtool did everything it needs to do, there's a fast path + lt_prog=$scriptdir/../$dir/$objdir/lt-$prog + test -x $lt_prog && exec $lt_prog ${1+"$@"} + + # libtool has not relinked ld-new yet, but we cannot just use the + # previous stage (because then the relinking would just never happen!). + # So we take extra care to use prev-ld/ld-new *on recursive calls*. + test -f $lt_prog-recursive && exec $scriptdir/../prev-$dir/$prog ${1+"$@"} + + touch $lt_prog-recursive + $scriptdir/../$dir/$prog ${1+"$@"} + result=$? + rm -f $lt_prog-recursive + exit $result + else exec $scriptdir/../prev-$dir/$prog ${1+"$@"} fi |