This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Problems compiling elfxx-sparc.c
On 22 Apr 2005 09:23:29 -0400
Ian Lance Taylor <ian@airs.com> wrote:
> I do see now that there is a special case for mips at the very end of
> config.bfd:
>
> case "${targ_defvec} ${targ_selvecs}" in
> *bfd_elf64* | *bfd_elf32_n*mips*)
>
> Perhaps we need to add a special case for sparc there as well.
Yep, that seems to be the missing bit. I wish I could somehow
deal better with the 24 hour turnaround time for testing with
Nick. He seems to go to sleep when I wake up and work on
test fix patches. :-)
Anyways, Nick, please give this a test.
2005-04-22 David S. Miller <davem@davemloft.net>
* config.bfd (sparc*-*-*): If 32-bit elf specified, set
want64 to true. When bfd_elf32_sparc is specified add
64-bit vectors to targ_selvecs.
--- config.bfd.~1.183.~ 2005-03-23 07:35:43.000000000 -0800
+++ config.bfd 2005-04-22 11:59:36.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
@@ -1400,7 +1411,7 @@
# to be used on an arbitrary ELF file for anything other than
# relocation information.
case "${targ_defvec} ${targ_selvecs}" in
- *bfd_elf64* | *bfd_elf32_n*mips*)
+ *bfd_elf64* | *bfd_elf32_n*mips* | *bfd_elf32_sparc*)
targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
;;
*bfd_elf32*)