From 79ae32abcc24b0ba8d615334b863bd73515beed8 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Mon, 22 Jan 1996 23:19:04 +0000 Subject: [PATCH] * disassemble.c (disassembler, case bfd_arch_sparc): bfd_mach_sparc64 renamed to bfd_mach_sparc_v9. Check for bfd_mach_sparc_v9a. --- opcodes/ChangeLog | 3 +++ opcodes/disassemble.c | 22 +++++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index e03f342a99..8370285359 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,8 @@ Mon Jan 22 08:29:59 1996 Doug Evans + * disassemble.c (disassembler, case bfd_arch_sparc): bfd_mach_sparc64 + renamed to bfd_mach_sparc_v9. Check for bfd_mach_sparc_v9a. + * sparc-opc.c (architecture_pname): Add v9a. Fri Jan 12 14:35:58 1996 David Mosberger-Tang diff --git a/opcodes/disassemble.c b/opcodes/disassemble.c index 9d2cde523c..8abfbd837c 100644 --- a/opcodes/disassemble.c +++ b/opcodes/disassemble.c @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "ansidecl.h" #include "dis-asm.h" @@ -68,14 +68,18 @@ disassembler (abfd) #ifdef ARCH_arc case bfd_arch_arc: { - disassemble = arc_disassembler (abfd); + disassemble = arc_get_disassembler (bfd_get_mach (abfd), + bfd_big_endian (abfd)); break; } #endif /* end-sanitize-arc */ #ifdef ARCH_arm case bfd_arch_arm: - disassemble = print_insn_arm; + if (bfd_big_endian (abfd)) + disassemble = print_insn_big_arm; + else + disassemble = print_insn_little_arm; break; #endif #ifdef ARCH_h8300 @@ -123,7 +127,7 @@ disassembler (abfd) #endif #ifdef ARCH_mips case bfd_arch_mips: - if (abfd->xvec->byteorder_big_p) + if (bfd_big_endian (abfd)) disassemble = print_insn_big_mips; else disassemble = print_insn_little_mips; @@ -131,7 +135,7 @@ disassembler (abfd) #endif #ifdef ARCH_powerpc case bfd_arch_powerpc: - if (abfd->xvec->byteorder_big_p) + if (bfd_big_endian (abfd)) disassemble = print_insn_big_powerpc; else disassemble = print_insn_little_powerpc; @@ -144,7 +148,7 @@ disassembler (abfd) #endif #ifdef ARCH_sh case bfd_arch_sh: - if (abfd->xvec->byteorder_big_p) + if (bfd_big_endian (abfd)) disassemble = print_insn_sh; else disassemble = print_insn_shl; @@ -152,7 +156,11 @@ disassembler (abfd) #endif #ifdef ARCH_sparc case bfd_arch_sparc: - disassemble = print_insn_sparc; + if (bfd_get_mach (abfd) == bfd_mach_sparc_v9 + || bfd_get_mach (abfd) == bfd_mach_sparc_v9a) + disassemble = print_insn_sparc64; + else + disassemble = print_insn_sparc; break; #endif #ifdef ARCH_w65