gas: Update tests for big-endian arc targets
[external/binutils.git] / include / dis-asm.h
index c4fb9f3..60bbc8d 100644 (file)
@@ -1,11 +1,10 @@
 /* Interface between the opcode library and its callers.
 
-   Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010
-   Free Software Foundation, Inc.
+   Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -35,7 +34,7 @@ extern "C" {
 #include <stdio.h>
 #include "bfd.h"
 
-  typedef int (*fprintf_ftype) (void *, const char*, ...) /*ATTRIBUTE_FPTR_PRINTF_2*/;
+  typedef int (*fprintf_ftype) (void *, const char*, ...) ATTRIBUTE_FPTR_PRINTF_2;
 
 enum dis_insn_type
 {
@@ -213,6 +212,14 @@ typedef struct disassemble_info
   /* Command line options specific to the target disassembler.  */
   char * disassembler_options;
 
+  /* If non-zero then try not disassemble beyond this address, even if
+     there are values left in the buffer.  This address is the address
+     of the nearest symbol forwards from the start of the disassembly,
+     and it is assumed that it lies on the boundary between instructions.
+     If an instruction spans this address then this is an error in the
+     file being disassembled.  */
+  bfd_vma stop_vma;
+
 } disassemble_info;
 
 \f
@@ -220,12 +227,13 @@ typedef struct disassemble_info
    target address.  Return number of octets processed.  */
 typedef int (*disassembler_ftype) (bfd_vma, disassemble_info *);
 
+extern int print_insn_aarch64          (bfd_vma, disassemble_info *);
 extern int print_insn_alpha            (bfd_vma, disassemble_info *);
 extern int print_insn_avr              (bfd_vma, disassemble_info *);
 extern int print_insn_bfin             (bfd_vma, disassemble_info *);
 extern int print_insn_big_arm          (bfd_vma, disassemble_info *);
 extern int print_insn_big_mips         (bfd_vma, disassemble_info *);
-extern int print_insn_big_or32         (bfd_vma, disassemble_info *);
+extern int print_insn_big_nios2                (bfd_vma, disassemble_info *);
 extern int print_insn_big_powerpc      (bfd_vma, disassemble_info *);
 extern int print_insn_big_score         (bfd_vma, disassemble_info *);
 extern int print_insn_cr16              (bfd_vma, disassemble_info *);
@@ -233,8 +241,10 @@ extern int print_insn_crx               (bfd_vma, disassemble_info *);
 extern int print_insn_d10v             (bfd_vma, disassemble_info *);
 extern int print_insn_d30v             (bfd_vma, disassemble_info *);
 extern int print_insn_dlx              (bfd_vma, disassemble_info *);
+extern int print_insn_epiphany         (bfd_vma, disassemble_info *);
 extern int print_insn_fr30             (bfd_vma, disassemble_info *);
 extern int print_insn_frv              (bfd_vma, disassemble_info *);
+extern int print_insn_ft32             (bfd_vma, disassemble_info *);
 extern int print_insn_h8300            (bfd_vma, disassemble_info *);
 extern int print_insn_h8300h           (bfd_vma, disassemble_info *);
 extern int print_insn_h8300s           (bfd_vma, disassemble_info *);
@@ -251,7 +261,7 @@ extern int print_insn_ip2k          (bfd_vma, disassemble_info *);
 extern int print_insn_iq2000           (bfd_vma, disassemble_info *);
 extern int print_insn_little_arm       (bfd_vma, disassemble_info *);
 extern int print_insn_little_mips      (bfd_vma, disassemble_info *);
-extern int print_insn_little_or32      (bfd_vma, disassemble_info *);
+extern int print_insn_little_nios2     (bfd_vma, disassemble_info *);
 extern int print_insn_little_powerpc   (bfd_vma, disassemble_info *);
 extern int print_insn_little_score      (bfd_vma, disassemble_info *); 
 extern int print_insn_lm32             (bfd_vma, disassemble_info *);
@@ -259,12 +269,13 @@ extern int print_insn_m32c                (bfd_vma, disassemble_info *);
 extern int print_insn_m32r             (bfd_vma, disassemble_info *);
 extern int print_insn_m68hc11          (bfd_vma, disassemble_info *);
 extern int print_insn_m68hc12          (bfd_vma, disassemble_info *);
+extern int print_insn_m9s12x           (bfd_vma, disassemble_info *);
+extern int print_insn_m9s12xg          (bfd_vma, disassemble_info *);
 extern int print_insn_m68k             (bfd_vma, disassemble_info *);
 extern int print_insn_m88k             (bfd_vma, disassemble_info *);
-extern int print_insn_maxq_big         (bfd_vma, disassemble_info *);
-extern int print_insn_maxq_little      (bfd_vma, disassemble_info *);
 extern int print_insn_mcore            (bfd_vma, disassemble_info *);
 extern int print_insn_mep              (bfd_vma, disassemble_info *);
+extern int print_insn_metag            (bfd_vma, disassemble_info *);
 extern int print_insn_microblaze       (bfd_vma, disassemble_info *);
 extern int print_insn_mmix             (bfd_vma, disassemble_info *);
 extern int print_insn_mn10200          (bfd_vma, disassemble_info *);
@@ -272,8 +283,9 @@ extern int print_insn_mn10300               (bfd_vma, disassemble_info *);
 extern int print_insn_moxie            (bfd_vma, disassemble_info *);
 extern int print_insn_msp430           (bfd_vma, disassemble_info *);
 extern int print_insn_mt                (bfd_vma, disassemble_info *);
+extern int print_insn_nds32            (bfd_vma, disassemble_info *);
 extern int print_insn_ns32k            (bfd_vma, disassemble_info *);
-extern int print_insn_openrisc         (bfd_vma, disassemble_info *);
+extern int print_insn_or1k             (bfd_vma, disassemble_info *);
 extern int print_insn_pdp11            (bfd_vma, disassemble_info *);
 extern int print_insn_pj               (bfd_vma, disassemble_info *);
 extern int print_insn_rs6000           (bfd_vma, disassemble_info *);
@@ -288,20 +300,30 @@ extern int print_insn_tic4x               (bfd_vma, disassemble_info *);
 extern int print_insn_tic54x           (bfd_vma, disassemble_info *);
 extern int print_insn_tic6x            (bfd_vma, disassemble_info *);
 extern int print_insn_tic80            (bfd_vma, disassemble_info *);
+extern int print_insn_tilegx           (bfd_vma, disassemble_info *);
+extern int print_insn_tilepro          (bfd_vma, disassemble_info *);
 extern int print_insn_v850             (bfd_vma, disassemble_info *);
 extern int print_insn_vax              (bfd_vma, disassemble_info *);
+extern int print_insn_visium           (bfd_vma, disassemble_info *);
 extern int print_insn_w65              (bfd_vma, disassemble_info *);
 extern int print_insn_xc16x            (bfd_vma, disassemble_info *);
+extern int print_insn_xgate             (bfd_vma, disassemble_info *);
 extern int print_insn_xstormy16                (bfd_vma, disassemble_info *);
 extern int print_insn_xtensa           (bfd_vma, disassemble_info *);
 extern int print_insn_z80              (bfd_vma, disassemble_info *);
 extern int print_insn_z8001            (bfd_vma, disassemble_info *);
 extern int print_insn_z8002            (bfd_vma, disassemble_info *);
 extern int print_insn_rx               (bfd_vma, disassemble_info *);
+extern int print_insn_rl78             (bfd_vma, disassemble_info *);
+extern int print_insn_rl78_g10         (bfd_vma, disassemble_info *);
+extern int print_insn_rl78_g13         (bfd_vma, disassemble_info *);
+extern int print_insn_rl78_g14         (bfd_vma, disassemble_info *);
 
-extern disassembler_ftype arc_get_disassembler (void *);
+extern disassembler_ftype arc_get_disassembler (bfd *);
 extern disassembler_ftype cris_get_disassembler (bfd *);
+extern disassembler_ftype rl78_get_disassembler (bfd *);
 
+extern void print_aarch64_disassembler_options (FILE *);
 extern void print_i386_disassembler_options (FILE *);
 extern void print_mips_disassembler_options (FILE *);
 extern void print_ppc_disassembler_options (FILE *);
@@ -311,7 +333,9 @@ extern void print_s390_disassembler_options (FILE *);
 extern int  get_arm_regname_num_options (void);
 extern int  set_arm_regname_option (int);
 extern int  get_arm_regnames (int, const char **, const char **, const char *const **);
+extern bfd_boolean aarch64_symbol_is_valid (asymbol *, struct disassemble_info *);
 extern bfd_boolean arm_symbol_is_valid (asymbol *, struct disassemble_info *);
+extern void disassemble_init_powerpc (struct disassemble_info *);
 
 /* Fetch the disassembler for a given BFD, if that support is available.  */
 extern disassembler_ftype disassembler (bfd *);