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] fix PR target/46040, build failure on arm-linux-gnueabi


On Friday, December 10, 2010 9:02:48 pm Nathan Froyd wrote:
> On Fri, Dec 10, 2010 at 02:35:52PM +0000, Richard Earnshaw wrote:
> > So presumably the problem here is that we have two different files, both
> > of which have the common tail sequence arm/bpabi.h and that sometimes we
> > can't resolve this unambiguously.
> > 
> > Wouldn't it be better just to rename the one in libgcc to
> > arm/bpabi-lib.h (or something similar)?  Then we won't be depending so
> > much on the precise relative layout of the two subdirs.
> 
> Like this?  Testing in progress.
> 
> -Nathan
> 
> gcc/
> 	PR target/46040
> 	* config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
> 	(arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
> 
> libgcc/
> 	PR target/46040
> 	* config/arm/bpabi.h: Rename to...
> 	* config/arm/bpabi-lib.h: ...this.
> 
> Index: config.gcc
> ===================================================================
> --- config.gcc	(revision 167600)
> +++ config.gcc	(working copy)
> @@ -793,7 +793,7 @@ arm*-*-linux*)			# ARM GNU/Linux with EL
>  	case ${target} in
>  	arm*-*-linux-*eabi)
>  	    tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
> -	    tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
> +	    tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h"
>  	    tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi
> t-slibgcc-libgcc" # Define multilib configuration for
> arm-linux-androideabi.
>  	    case ${target} in
> @@ -821,7 +821,7 @@ arm*-*-uclinux*)		# ARM ucLinux
>  	case ${target} in
>  	arm*-*-uclinux*eabi)
>  	    tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
> -	    tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
> +	    tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h"
>  	    tmake_file="$tmake_file arm/t-bpabi"
>    	    # The BPABI long long divmod functions return a 128-bit value in
>  	    # registers r0-r3.  Correctly modeling that requires the use of
> @@ -845,7 +845,7 @@ arm*-*-eabi* | arm*-*-symbianelf* )
>  	need_64bit_hwint=yes
>  	default_use_cxa_atexit=yes
>  	tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
> -	tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
> +	tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h"
>  	tmake_file="arm/t-arm arm/t-arm-elf"
>  	case ${target} in
>  	arm*-*-eabi*)

Thanks for working on this! With these two patches applied, the GCC trunk 
r167715 bootstrapped fine for me (having c,c++ enabled):
 * http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00915.html
   (PR46040: crtstuff.c:308:26: error: '__DTOR_LIST__' undeclared)
 * http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00402.html
   (PR46667: libstdc++ section type conflict during)

The test results can be found at:
http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01076.html

Regards
Ken


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