/* Target dependent code for GDB on TI C6x systems.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Yao Qi <yao@codesourcery.com>
#include "linux-tdep.h"
#include "solib.h"
#include "objfiles.h"
-#include "gdb_assert.h"
#include "osabi.h"
#include "tic6x-tdep.h"
#include "language.h"
struct tic6x_unwind_cache *cache;
if (*this_prologue_cache)
- return *this_prologue_cache;
+ return (struct tic6x_unwind_cache *) *this_prologue_cache;
cache = FRAME_OBSTACK_ZALLOC (struct tic6x_unwind_cache);
(*this_prologue_cache) = cache;
if (*this_cache == NULL)
*this_cache = tic6x_make_stub_cache (this_frame);
- cache = *this_cache;
+ cache = (struct tic6x_unwind_cache *) *this_cache;
*this_id = frame_id_build (cache->cfa, get_frame_pc (this_frame));
}
{
if (type != NULL)
{
- CHECK_TYPEDEF (type);
+ type = check_typedef (type);
if (language_pass_by_reference (type))
return RETURN_VALUE_STRUCT_CONVENTION;
}
return sp;
}
-/* This is the implementation of gdbarch method in_function_epilogue_p. */
+/* This is the implementation of gdbarch method stack_frame_destroyed_p. */
static int
-tic6x_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+tic6x_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
unsigned long inst = tic6x_fetch_instruction (gdbarch, pc);
/* Normally, the epilogue is composed by instruction `b .S2 b3'. */
return arches->gdbarch;
}
- tdep = xcalloc (1, sizeof (struct gdbarch_tdep));
+ tdep = XCNEW (struct gdbarch_tdep);
tdep->has_gp = has_gp;
gdbarch = gdbarch_alloc (&info, tdep);
frame_unwind_append_unwinder (gdbarch, &tic6x_stub_unwind);
frame_unwind_append_unwinder (gdbarch, &tic6x_frame_unwind);
+ frame_base_set_default (gdbarch, &tic6x_frame_base);
dwarf2_frame_set_init_reg (gdbarch, tic6x_dwarf2_frame_init_reg);
set_gdbarch_get_longjmp_target (gdbarch, tic6x_get_longjmp_target);
- set_gdbarch_in_function_epilogue_p (gdbarch, tic6x_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, tic6x_stack_frame_destroyed_p);
set_gdbarch_return_in_first_hidden_param_p (gdbarch,
tic6x_return_in_first_hidden_param_p);