/* Target dependent code for GDB on TI C6x systems.
- Copyright (C) 2010, 2011.
- Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Yao Qi <yao@codesourcery.com>
#define INST_S_BIT(INST) ((INST >> 1) & 1)
#define INST_X_BIT(INST) ((INST >> 12) & 1)
+const gdb_byte tic6x_bkpt_illegal_opcode_be[] = { 0x56, 0x45, 0x43, 0x14 };
+const gdb_byte tic6x_bkpt_illegal_opcode_le[] = { 0x14, 0x43, 0x45, 0x56 };
+
struct tic6x_unwind_cache
{
/* The frame's base, optionally used by the high-level debug info. */
Bail out early if CURRENT_PC is reached. Returns the address of the first
instruction after the prologue. */
-CORE_ADDR
+static CORE_ADDR
tic6x_analyze_prologue (struct gdbarch *gdbarch, const CORE_ADDR start_pc,
const CORE_ADDR current_pc,
struct tic6x_unwind_cache *cache,
/* This is the implementation of gdbarch method skip_prologue. */
-CORE_ADDR
+static CORE_ADDR
tic6x_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
{
CORE_ADDR limit_pc;
/* This is the implementation of gdbarch method breakpiont_from_pc. */
-const unsigned char*
+static const unsigned char*
tic6x_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *bp_addr,
int *bp_size)
{
/* Frame base handling. */
-struct tic6x_unwind_cache*
+static struct tic6x_unwind_cache*
tic6x_frame_unwind_cache (struct frame_info *this_frame,
void **this_prologue_cache)
{
/* This is the implementation of gdbarch method software_single_step. */
-int
+static int
tic6x_software_single_step (struct frame_info *frame)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
return gdbarch;
}
+/* -Wmissing-prototypes */
+extern initialize_file_ftype _initialize_tic6x_tdep;
+
void
_initialize_tic6x_tdep (void)
{