X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fdisasm.h;h=d2d5f51a4d935d437d86d614acaaafedacb9d46d;hb=ecd75fc8eed3bde86036141228074a20e55dcfc9;hp=8fb4ae4b99ee0018e1fd30899f92f865e4323470;hpb=197e01b6dcd118b70ed3621b62b2ff3fa929d50f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/disasm.h b/gdb/disasm.h index 8fb4ae4b99..d2d5f51a4d 100644 --- a/gdb/disasm.h +++ b/gdb/disasm.h @@ -1,11 +1,11 @@ /* Disassemble support for GDB. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This file is part of GDB. 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 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -14,25 +14,41 @@ 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., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #ifndef DISASM_H #define DISASM_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 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); +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 (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); -/* Print the instruction at address MEMADDR in debugged memory, on - STREAM. Returns length of the instruction, in bytes. */ +/* Return the length in bytes of INSN, originally at MEMADDR. MAX_LEN + is the size of the buffer containing INSN. */ -extern int gdb_print_insn (CORE_ADDR memaddr, struct ui_file *stream); +extern int gdb_buffered_insn_length (struct gdbarch *gdbarch, + const gdb_byte *insn, int max_len, + CORE_ADDR memaddr); #endif