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