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: PATCH: PR driver/46712: exec-tool.in doesn't work with -fuse-linker-plugin in a gcc+binutils combined tree


* H.J. Lu wrote on Mon, Nov 29, 2010 at 09:36:28PM CET:
> exec-tool.in uses LT_RCU to check recursive calls on as/ld in a
> gcc+binutils combined tree. However, it doesn't work with
> -fuse-linker-plugin, which calls ld, which calls as.  This patch
> checks and exports LT_RCU_$id instead of LT_RCU.  OK for trunk?

I'm not sure if a build maintainer can approve this, but it looks good
to me with one nit below.

Thanks,
Ralf

> 2010-11-29  H.J. Lu  <hongjiu.lu@intel.com>
> 
>     	PR driver/46712
> 	* exec-tool.in (id): New.
> 	Check and export LT_RCU_$id instead of LT_RCU.

> --- a/gcc/exec-tool.in
> +++ b/gcc/exec-tool.in
> @@ -28,6 +28,7 @@ fast_install=@enable_fast_install@
>  objdir=@objdir@
>  
>  invoked=`basename "$0"`
> +id=$invoked
>  case "$invoked" in
>    as)
>      original=$ORIGINAL_AS_FOR_TARGET
> @@ -44,6 +45,7 @@ case "$invoked" in
>      fi
>      prog=ld-new$exeext
>      dir=ld
> +    id=ld
>      ;;
>    nm)
>      original=$ORIGINAL_NM_FOR_TARGET
> @@ -68,9 +70,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*.
> +      eval LT_RCU="\${LT_RCU_$id}"
>        test x"$LT_RCU" = x"1" && exec $scriptdir/../prev-$dir/$prog ${1+"$@"}
>  
> -      LT_RCU=1; export LT_RCU
> +      eval LT_RCU_$id=1
> +      eval export LT_RCU_$id

FWIW, this last eval is not necessary.

>        $scriptdir/../$dir/$prog ${1+"$@"}
>        result=$?
>        exit $result


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