This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Problems compiling elfxx-sparc.c
On 21 Apr 2005 09:42:30 -0400
Ian Lance Taylor <ian@airs.com> wrote:
> Eric Botcazou <ebotcazou@libertysurf.fr> writes:
>
> > > This is when building gas for a toolchain configured as "sparc-elf" and
> > > built on a 32bit host using GCC 3.4.
> >
> > Yeah, sparc-elf is not multiarch so I presume the 64-bit BFD code is not
> > compiled. How does MIPS address this problem?
>
> By setting "want64=true" in config.bfd for all MIPS targets which
> don't happen to already include a 64-bit target.
Ok. So I went through the sparc targets and for each one that includes
elf32 and no 64-bit targets I added the want64=true thing.
Nick, does this fix your build? I'll cons up a changelog entry and
check this in if it fixes things.
--- config.bfd.~1.183.~ 2005-03-23 07:35:43.000000000 -0800
+++ config.bfd 2005-04-21 11:38:52.000000000 -0700
@@ -1208,14 +1208,17 @@
;;
sparclite-*-elf* | sparc86x-*-elf*)
targ_defvec=bfd_elf32_sparc_vec
+ want64=true
;;
sparc*-*-chorus*)
targ_defvec=bfd_elf32_sparc_vec
+ want64=true
;;
sparc-*-linux*aout*)
targ_defvec=sparclinux_vec
targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
targ_underscore=yes
+ want64=true
;;
sparc-*-linux-*)
targ_defvec=bfd_elf32_sparc_vec
@@ -1228,11 +1231,13 @@
sparc-*-netbsdelf*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs=sparcnetbsd_vec
+ want64=true
;;
sparc-*-netbsdaout* | sparc-*-netbsd*)
targ_defvec=sparcnetbsd_vec
targ_selvecs=bfd_elf32_sparc_vec
targ_underscore=yes
+ want64=true
;;
sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
targ_defvec=sparcnetbsd_vec
@@ -1241,10 +1246,12 @@
sparc-*-openbsd*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs=sparcnetbsd_vec
+ want64=true
;;
sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs=sunos_big_vec
+ want64=true
;;
#ifdef BFD64
sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
@@ -1254,10 +1261,12 @@
#endif
sparc-*-sysv4*)
targ_defvec=bfd_elf32_sparc_vec
+ want64=true
;;
sparc-*-netware*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs="nlm32_sparc_vec sunos_big_vec"
+ want64=true
;;
#ifdef BFD64
sparc64-*-aout*)
@@ -1280,10 +1289,12 @@
targ_defvec=sunos_big_vec
targ_selvecs="bfd_elf32_sparc_vec sparccoff_vec"
targ_underscore=yes
+ want64=true
;;
sparc*-*-rtems* | sparc*-*-rtemself*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs="sunos_big_vec sparccoff_vec"
+ want64=true
;;
sparc*-*-* | sparc*-*-rtems*)
targ_defvec=sunos_big_vec