Fix djgpp gdb build
[deliverable/binutils-gdb.git] / gdb / disasm.h
index 1504f24801966b4dbf39791997fdcf13ecc61c1b..a2b72b94418d43b5aebf1d43a0583a5cfe87c895 100644 (file)
@@ -1,5 +1,5 @@
 /* Disassemble support for GDB.
-   Copyright (C) 2002, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2002-2016 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef DISASM_H
 #define DISASM_H
 
+#include "dis-asm.h"
+
+#define DISASSEMBLY_SOURCE_DEPRECATED (0x1 << 0)
+#define DISASSEMBLY_RAW_INSN   (0x1 << 1)
+#define DISASSEMBLY_OMIT_FNAME (0x1 << 2)
+#define DISASSEMBLY_FILENAME   (0x1 << 3)
+#define DISASSEMBLY_OMIT_PC    (0x1 << 4)
+#define DISASSEMBLY_SOURCE     (0x1 << 5)
+#define DISASSEMBLY_SPECULATIVE        (0x1 << 6)
+
+struct gdbarch;
 struct ui_out;
 struct ui_file;
 
-extern void gdb_disassembly (struct ui_out *uiout,
-                            char *file_string,
-                            int line_num,
-                            int mixed_source_and_assembly,
-                            int how_many, CORE_ADDR low, CORE_ADDR high);
+/* An instruction to be disassembled.  */
+
+struct disasm_insn
+{
+  /* The address of the memory containing the instruction.  */
+  CORE_ADDR addr;
+
+  /* An optional instruction number.  If non-zero, it is printed first.  */
+  unsigned int number;
+
+  /* True if the instruction was executed speculatively.  */
+  unsigned int is_speculative:1;
+};
+
+/* Prints the instruction INSN into UIOUT and returns the length of the
+   printed instruction in bytes.  */
+
+extern int gdb_pretty_print_insn (struct gdbarch *gdbarch, struct ui_out *uiout,
+                                 struct disassemble_info * di,
+                                 const struct disasm_insn *insn, int flags,
+                                 struct ui_file *stb);
+
+/* Return a filled in disassemble_info object for use by gdb.  */
+
+extern struct disassemble_info gdb_disassemble_info (struct gdbarch *gdbarch,
+                                                    struct ui_file *file);
+
+extern void gdb_disassembly (struct gdbarch *gdbarch, struct ui_out *uiout,
+                            char *file_string, int flags, int how_many,
+                            CORE_ADDR low, CORE_ADDR high);
 
 /* Print the instruction at address MEMADDR in debugged memory,
    on STREAM.  Returns the length of the instruction, in bytes,
    and, if requested, the number of branch delay slot instructions.  */
 
-extern int gdb_print_insn (CORE_ADDR memaddr,
-                          struct ui_file *stream,
-                          int *branch_delay_insns);
+extern int gdb_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
+                          struct ui_file *stream, int *branch_delay_insns);
+
+/* Return the length in bytes of the instruction at address MEMADDR in
+   debugged memory.  */
+
+extern int gdb_insn_length (struct gdbarch *gdbarch, CORE_ADDR memaddr);
+
+/* Return the length in bytes of INSN, originally at MEMADDR.  MAX_LEN
+   is the size of the buffer containing INSN.  */
+
+extern int gdb_buffered_insn_length (struct gdbarch *gdbarch,
+                                    const gdb_byte *insn, int max_len,
+                                    CORE_ADDR memaddr);
 
 #endif
This page took 0.024387 seconds and 4 git commands to generate.