public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi
@ 2010-12-08 22:31 Nathan Froyd
  2010-12-10 15:44 ` Richard Earnshaw
  2010-12-10 19:48 ` Ulrich Weigand
  0 siblings, 2 replies; 7+ messages in thread
From: Nathan Froyd @ 2010-12-08 22:31 UTC (permalink / raw)
  To: gcc-patches; +Cc: uweigand, richard.earnshaw

The patch below implements Joseph's suggestion in:

http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00619.html

for fixing the bootstrap failures seen on ARM.  I'm currently trying
this with a cross compilation and attempting a bootstrap on an ARM
machine; the bootstrap is progressing *very* slowly, so if anybody
(Ulrich?) wanted to try a bootstrap on their (probably faster) machine,
that would be appreciated.

OK to commit if testing succeeds?

-Nathan

	PR target/46040
	* config.gcc (arm*-*-linux-*eabi): Adjust path to bpabi.h.
	(arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.

diff --git a/gcc/config.gcc b/gcc/config.gcc
index dfbf2c5..45bdc6c 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -792,7 +792,7 @@ arm*-*-linux*)			# ARM GNU/Linux with ELF
 	tmake_file="${tmake_file} t-linux arm/t-arm"
 	case ${target} in
 	arm*-*-linux-*eabi)
-	    tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
+	    tm_file="$tm_file ../../gcc/config/arm/bpabi.h arm/linux-eabi.h"
 	    tm_file="$tm_file ../../libgcc/config/arm/bpabi.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.
@@ -820,7 +820,7 @@ arm*-*-uclinux*)		# ARM ucLinux
 	tmake_file="arm/t-arm arm/t-arm-elf"
 	case ${target} in
 	arm*-*-uclinux*eabi)
-	    tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
+	    tm_file="$tm_file ../../gcc/config/arm/bpabi.h arm/uclinux-eabi.h"
 	    tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
 	    tmake_file="$tmake_file arm/t-bpabi"
   	    # The BPABI long long divmod functions return a 128-bit value in
@@ -844,7 +844,8 @@ arm*-*-eabi* | arm*-*-symbianelf* )
 	# TImode.
 	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="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h"
+	tm_file="$tm_file ../../gcc/config/arm/bpabi.h"
 	tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
 	tmake_file="arm/t-arm arm/t-arm-elf"
 	case ${target} in

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi
  2010-12-08 22:31 [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi Nathan Froyd
@ 2010-12-10 15:44 ` Richard Earnshaw
  2010-12-10 21:14   ` Nathan Froyd
  2010-12-10 19:48 ` Ulrich Weigand
  1 sibling, 1 reply; 7+ messages in thread
From: Richard Earnshaw @ 2010-12-10 15:44 UTC (permalink / raw)
  To: Nathan Froyd; +Cc: gcc-patches, uweigand


On Wed, 2010-12-08 at 16:31 -0500, Nathan Froyd wrote:
> The patch below implements Joseph's suggestion in:
> 
> http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00619.html
> 
> for fixing the bootstrap failures seen on ARM.  I'm currently trying
> this with a cross compilation and attempting a bootstrap on an ARM
> machine; the bootstrap is progressing *very* slowly, so if anybody
> (Ulrich?) wanted to try a bootstrap on their (probably faster) machine,
> that would be appreciated.
> 
> OK to commit if testing succeeds?
> 
> -Nathan
> 
> 	PR target/46040
> 	* config.gcc (arm*-*-linux-*eabi): Adjust path to bpabi.h.
> 	(arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
> 

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.

R.

> diff --git a/gcc/config.gcc b/gcc/config.gcc
> index dfbf2c5..45bdc6c 100644
> --- a/gcc/config.gcc
> +++ b/gcc/config.gcc
> @@ -792,7 +792,7 @@ arm*-*-linux*)			# ARM GNU/Linux with ELF
>  	tmake_file="${tmake_file} t-linux arm/t-arm"
>  	case ${target} in
>  	arm*-*-linux-*eabi)
> -	    tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
> +	    tm_file="$tm_file ../../gcc/config/arm/bpabi.h arm/linux-eabi.h"
>  	    tm_file="$tm_file ../../libgcc/config/arm/bpabi.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.
> @@ -820,7 +820,7 @@ arm*-*-uclinux*)		# ARM ucLinux
>  	tmake_file="arm/t-arm arm/t-arm-elf"
>  	case ${target} in
>  	arm*-*-uclinux*eabi)
> -	    tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
> +	    tm_file="$tm_file ../../gcc/config/arm/bpabi.h arm/uclinux-eabi.h"
>  	    tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
>  	    tmake_file="$tmake_file arm/t-bpabi"
>    	    # The BPABI long long divmod functions return a 128-bit value in
> @@ -844,7 +844,8 @@ arm*-*-eabi* | arm*-*-symbianelf* )
>  	# TImode.
>  	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="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h"
> +	tm_file="$tm_file ../../gcc/config/arm/bpabi.h"
>  	tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
>  	tmake_file="arm/t-arm arm/t-arm-elf"
>  	case ${target} in


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi
  2010-12-08 22:31 [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi Nathan Froyd
  2010-12-10 15:44 ` Richard Earnshaw
@ 2010-12-10 19:48 ` Ulrich Weigand
  1 sibling, 0 replies; 7+ messages in thread
From: Ulrich Weigand @ 2010-12-10 19:48 UTC (permalink / raw)
  To: Nathan Froyd; +Cc: gcc-patches, richard.earnshaw

Nathan Froyd wrote:

> for fixing the bootstrap failures seen on ARM.  I'm currently trying
> this with a cross compilation and attempting a bootstrap on an ARM
> machine; the bootstrap is progressing *very* slowly, so if anybody
> (Ulrich?) wanted to try a bootstrap on their (probably faster) machine,
> that would be appreciated.

I've been out of the office the last two days, sorry.  I've now started
a bootstrap including your patch, but my machine is also slow ...

In any case, bootstrap has now at least proceeded past the point where
unpatched sources run into the problem.

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi
  2010-12-10 15:44 ` Richard Earnshaw
@ 2010-12-10 21:14   ` Nathan Froyd
  2010-12-11 13:40     ` Richard Earnshaw
  2010-12-13 10:25     ` Ken Werner
  0 siblings, 2 replies; 7+ messages in thread
From: Nathan Froyd @ 2010-12-10 21:14 UTC (permalink / raw)
  To: Richard Earnshaw; +Cc: gcc-patches, uweigand

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi
  2010-12-10 21:14   ` Nathan Froyd
@ 2010-12-11 13:40     ` Richard Earnshaw
  2010-12-13 10:25     ` Ken Werner
  1 sibling, 0 replies; 7+ messages in thread
From: Richard Earnshaw @ 2010-12-11 13:40 UTC (permalink / raw)
  To: Nathan Froyd; +Cc: Richard Earnshaw, gcc-patches, uweigand

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. 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi
  2010-12-10 21:14   ` Nathan Froyd
  2010-12-11 13:40     ` Richard Earnshaw
@ 2010-12-13 10:25     ` Ken Werner
  2010-12-13 16:39       ` Nathan Froyd
  1 sibling, 1 reply; 7+ messages in thread
From: Ken Werner @ 2010-12-13 10:25 UTC (permalink / raw)
  To: Nathan Froyd, Richard Earnshaw; +Cc: uweigand, gcc-patches

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi
  2010-12-13 10:25     ` Ken Werner
@ 2010-12-13 16:39       ` Nathan Froyd
  0 siblings, 0 replies; 7+ messages in thread
From: Nathan Froyd @ 2010-12-13 16:39 UTC (permalink / raw)
  To: Ken Werner; +Cc: Richard Earnshaw, uweigand, gcc-patches

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-12-13 16:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-08 22:31 [PATCH] fix PR target/46040, build failure on arm-linux-gnueabi Nathan Froyd
2010-12-10 15:44 ` Richard Earnshaw
2010-12-10 21:14   ` Nathan Froyd
2010-12-11 13:40     ` Richard Earnshaw
2010-12-13 10:25     ` Ken Werner
2010-12-13 16:39       ` Nathan Froyd
2010-12-10 19:48 ` Ulrich Weigand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).