This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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]

Committed, SH: bfd bits for sh64 on sh-*, shl-* ELF targets. Fixopcodes too.


This patch lets sh-elf compile again.  I see ld failures (grr!):

Running /home/hp/cvs_areas/binutils/cvs_write/src/ld/testsuite/ld-sh/rd-sh.exp ...
XPASS: ld-sh/merge1
FAIL: ld-sh/shared-1

but they remain when disabling sh64 completely, so seems not
caused by this patch.  Checking against snapshots, the
ld-sh/shared-1 one was there on Feb 5 too.

I think this should go on the 2.12 branch too or alternatively,
Alexandre's opcodes patch should be reverted there.  Either way
would make sh-elf compile.

opcodes:
	* configure.in <bfd_sh_arc>: For sh-* and shl-*, enable sh64
	support only for sh-*-*elf*, shl-*-*elf*, sh-*-linux* and
	shl-*-linux*.
	* configure: Regenerate.

bfd:
	* config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
	vectors.
	(sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
	vectors.

Index: config.bfd
===================================================================
RCS file: /cvs/src/src/bfd/config.bfd,v
retrieving revision 1.85
diff -p -c -r1.85 config.bfd
*** config.bfd	2002/02/08 05:33:22	1.85
--- config.bfd	2002/02/10 20:03:35
*************** case "${targ}" in
*** 857,862 ****
--- 857,865 ----
    sh-*-linux*)
      targ_defvec=bfd_elf32_shblin_vec
      targ_selvecs=bfd_elf32_shlin_vec
+ #ifdef BFD64
+     targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
+ #endif
      ;;
    sh*eb-*-linux*)
      targ_defvec=bfd_elf32_shblin_vec
*************** case "${targ}" in
*** 869,874 ****
--- 872,884 ----
      targ_defvec=bfd_elf32_shlnbsd_vec
      targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
      ;;
+   sh-*-netbsdelf*)
+     targ_defvec=bfd_elf32_shnbsd_vec
+     targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
+ #ifdef BFD64
+     targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
+ #endif
+     ;;
    sh*-*-netbsdelf*)
      targ_defvec=bfd_elf32_shnbsd_vec
      targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
*************** case "${targ}" in
*** 877,882 ****
--- 887,895 ----
    sh-*-elf* | sh-*-rtemself*)
      targ_defvec=bfd_elf32_sh_vec
      targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
+ #ifdef BFD64
+     targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
+ #endif
      targ_underscore=yes
      ;;
    sh-*-pe)
Index: configure.in
===================================================================
RCS file: /cvs/src/src/opcodes/configure.in,v
retrieving revision 1.31
diff -p -c -r1.31 configure.in
*** configure.in	2002/02/09 03:25:25	1.31
--- configure.in	2002/02/10 20:07:21
*************** if test x${all_targets} = xfalse ; then
*** 212,222 ****
  	  # We can't decide what we want just from the CPU family.
  	  # We want SH5 support unless a specific version of sh is
  	  # specified, as in sh3-elf, sh3b-linux-gnu, etc.
! 	  case " $target $canon_targets " in
!             *" all "* | *" sh64-"* | *" sh-"* | *" shl-"*)
  				ta="$ta sh64-dis.lo sh64-opc.lo"
! 				archdefs="$archdefs -DINCLUDE_SHMEDIA";;
! 	  esac;
  				ta="$ta sh-dis.lo" ;;
  	bfd_sparc_arch)		ta="$ta sparc-dis.lo sparc-opc.lo" ;;
  	bfd_tahoe_arch)		;;
--- 212,226 ----
  	  # We can't decide what we want just from the CPU family.
  	  # We want SH5 support unless a specific version of sh is
  	  # specified, as in sh3-elf, sh3b-linux-gnu, etc.
! 	  # Include it just for ELF targets, since the SH5 bfd:s are ELF only.
! 	  for t in $target $canon_targets; do
! 	    case $t in
! 	      all |  sh64-* | sh-*-*elf* | shl-*-*elf* | sh-*-linux* | shl-*-linux*)
  				ta="$ta sh64-dis.lo sh64-opc.lo"
! 				archdefs="$archdefs -DINCLUDE_SHMEDIA"
! 				break;;
! 	    esac;
! 	  done
  				ta="$ta sh-dis.lo" ;;
  	bfd_sparc_arch)		ta="$ta sparc-dis.lo sparc-opc.lo" ;;
  	bfd_tahoe_arch)		;;

brgds, H-P


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