X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fdisasm.h;h=9c6777cd70e48b07284954b62873535a5f6ff4c9;hb=012d8ebc4bd1a1afb95d902604007b04762207f0;hp=c08af3dc8b3a19ee87e15ed2f54c9071d9f3d46a;hpb=0fb0cc7590113e9b459dfcc48dc71c9d419d9580;p=platform%2Fupstream%2Fbinutils.git diff --git a/gdb/disasm.h b/gdb/disasm.h index c08af3d..9c6777c 100644 --- a/gdb/disasm.h +++ b/gdb/disasm.h @@ -1,5 +1,5 @@ /* Disassemble support for GDB. - Copyright (C) 2002, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This file is part of GDB. @@ -19,21 +19,44 @@ #ifndef DISASM_H #define DISASM_H +#include "dis-asm.h" + +#define DISASSEMBLY_SOURCE (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) + +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); +/* 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