sh64-elf (SH5) port: directory opcodes

Andrew Cagney ac131313@cygnus.com
Mon Feb 4 21:19:00 GMT 2002


> diff -u -p -r1.29 configure.in
> --- opcodes/configure.in 31 Jan 2002 17:33:08 -0000 1.29
> +++ opcodes/configure.in 2 Feb 2002 04:00:48 -0000
> @@ -209,6 +209,12 @@ if test x${all_targets} = xfalse ; then
>  	bfd_rs6000_arch)	ta="$ta ppc-dis.lo ppc-opc.lo" ;;
>  	bfd_s390_arch)		ta="$ta s390-dis.lo s390-opc.lo" ;;
>  	bfd_sh_arch)
> +	  # We can't decide what we want just from the CPU family.
> +	  case " $target $canon_targets " in
> +            *" all "* | *" sh64-"* )
> +				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)		;;
> 


Why is this necessary?  Shouldn't all disassemblers be included and 
then, perhaps, just tweak the default arch/mach?

The same would apply for INCLUDE_SHMEDIA:

@@ -277,6 +278,16 @@ disassembler (abfd)
  #endif
  #ifdef ARCH_sh
      case bfd_arch_sh:
+#ifdef INCLUDE_SHMEDIA
+      if (bfd_get_mach (abfd) == bfd_mach_sh5)
+ 
{
+ 
   if (bfd_big_endian (abfd))
+ 
     disassemble = print_insn_sh64;
+ 
   else
+ 
     disassemble = print_insn_sh64l;
+ 
   break;
+ 
}
+#endif
        if (bfd_big_endian (abfd))
  	disassemble = print_insn_sh;
        else

enjoy,
Andrew



More information about the Binutils mailing list