Patchwork fix PR target/46040, build failure on arm-linux-gnueabi

login
register
mail settings
Submitter Nathan Froyd
Date Dec. 10, 2010, 8:02 p.m.
Message ID <20101210200248.GC5324@codesourcery.com>
Download mbox | patch
Permalink /patch/75132/
State New
Headers show

Comments

Nathan Froyd - Dec. 10, 2010, 8:02 p.m.
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.
Richard Earnshaw - Dec. 11, 2010, 11:48 a.m.
On 10 Dec 2010, at 20:02, "Nathan Froyd" <froydnj@codesourcery.com> 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
> 

Yes

OK if testing is successful. 

R.
Ken Werner - Dec. 13, 2010, 8:46 a.m.
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
Nathan Froyd - Dec. 13, 2010, 4:24 p.m.
On Mon, Dec 13, 2010 at 09:46:09AM +0100, Ken Werner wrote:
> On Friday, December 10, 2010 9:02:48 pm Nathan Froyd wrote:
> > 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.
> 
> 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

Thanks for testing!  Patch applied at r167751.

Sorry about the breakage.

-Nathan

Patch

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*)