diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d61e4f4eb2d..9d29edca4fc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-05-30 DJ Delorie + + * exec-tool.in: Use an environment variable (private) instead of a + file (shared) as a semaphore, so as to not break parallel builds. + 2008-05-30 Steven Bosscher * optabs.c (maybe_encapsulate_block): Remove. diff --git a/gcc/exec-tool.in b/gcc/exec-tool.in index 6bdddd1d063..98b4500e75e 100644 --- a/gcc/exec-tool.in +++ b/gcc/exec-tool.in @@ -61,12 +61,11 @@ case "$original" in # 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+"$@"} + test x"$LT_RCU" = x"1" && exec $scriptdir/../prev-$dir/$prog ${1+"$@"} - touch $lt_prog-recursive + LT_RCU=1; export LT_RCU $scriptdir/../$dir/$prog ${1+"$@"} result=$? - rm -f $lt_prog-recursive exit $result else