Detect the absence of a symbol hash table.
[deliverable/binutils-gdb.git] / include / dis-asm.h
index 43ec142fb83c32dba6f3fc34f8ea783063dda4cf..63b6eb031a34eeb7ed3c6258f0a26b14e56d650b 100644 (file)
@@ -51,14 +51,21 @@ typedef struct disassemble_info {
   unsigned long mach;
   /* Endianness (for bi-endian cpus).  Mono-endian cpus can ignore this.  */
   enum bfd_endian endian;
-  /* The symbol at the start of the function being disassembled.  This
-     is not set reliably, but if it is not NULL, it is correct.  */
-  asymbol *symbol;
+
+  /* An array of pointers to symbols either at the location being disassembled
+     or at the start of the function being disassembled.  The array is sorted
+     so that the first symbol is intended to be the one used.  The others are
+     present for any misc. purposes.  This is not set reliably, but if it is
+     not NULL, it is correct.  */
+  asymbol **symbols;
+  /* Number of symbols in array.  */
+  int num_symbols;
 
   /* For use by the disassembler.
      The top 16 bits are reserved for public use (and are documented here).
      The bottom 16 bits are for the internal use of the disassembler.  */
   unsigned long flags;
+#define INSN_HAS_RELOC 0x80000000
   PTR private_data;
 
   /* Function used to get bytes to disassemble.  MEMADDR is the
@@ -155,6 +162,9 @@ extern int print_insn_i960          PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_sh               PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_shl              PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_hppa             PARAMS ((bfd_vma, disassemble_info*));
+/* start-sanitize-fr30 */
+extern int print_insn_fr30             PARAMS ((bfd_vma, disassemble_info*));
+/* end-sanitize-fr30 */
 extern int print_insn_m32r             PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_m88k             PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_mn10200          PARAMS ((bfd_vma, disassemble_info*));
@@ -165,13 +175,17 @@ extern int print_insn_little_powerpc      PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_rs6000           PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_w65              PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_d10v             PARAMS ((bfd_vma, disassemble_info*));
-/* start-sanitize-d30v */
 extern int print_insn_d30v             PARAMS ((bfd_vma, disassemble_info*));
-/* end-sanitize-d30v */
 extern int print_insn_v850             PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_tic30            PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_vax              PARAMS ((bfd_vma, disassemble_info*));
 /* start-sanitize-tic80 */
 extern int print_insn_tic80            PARAMS ((bfd_vma, disassemble_info*));
 /* end-sanitize-tic80 */
+/* start-sanitize-sky */
+extern int print_insn_dvp              PARAMS ((bfd_vma, disassemble_info*));
+extern int dvp_insn_p                  PARAMS ((disassemble_info*));
+/* end-sanitize-sky */
 
 /* Fetch the disassembler for a given BFD, if that support is available.  */
 extern disassembler_ftype disassembler PARAMS ((bfd *));
@@ -200,9 +214,6 @@ extern void generic_print_address
 extern int generic_symbol_at_address
   PARAMS ((bfd_vma, struct disassemble_info *));
 
-/* Pass through the symbol associated with the address being disassembled:  */
-extern void disasm_symaddr PARAMS ((asymbol *sym, disassemble_info *info));
-
 /* Macro to initialize a disassemble_info struct.  This should be called
    by all applications creating such a struct.  */
 #define INIT_DISASSEMBLE_INFO(INFO, STREAM, FPRINTF_FUNC) \
@@ -220,7 +231,8 @@ extern void disasm_symaddr PARAMS ((asymbol *sym, disassemble_info *info));
 #define INIT_DISASSEMBLE_INFO_NO_ARCH(INFO, STREAM, FPRINTF_FUNC) \
   (INFO).fprintf_func = (FPRINTF_FUNC), \
   (INFO).stream = (STREAM), \
-  (INFO).symbol = NULL, \
+  (INFO).symbols = NULL, \
+  (INFO).num_symbols = 0, \
   (INFO).buffer = NULL, \
   (INFO).buffer_vma = 0, \
   (INFO).buffer_length = 0, \
This page took 0.025591 seconds and 4 git commands to generate.