/* Target-dependent code for GNU/Linux on Tilera TILE-Gx processors.
- Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Copyright (C) 2012-2021 Free Software Foundation, Inc.
This file is part of GDB.
#include "tramp-frame.h"
#include "trad-frame.h"
#include "tilegx-tdep.h"
+#include "gdbarch.h"
/* Signal trampoline support. */
struct trad_frame_cache *this_cache,
CORE_ADDR func)
{
- CORE_ADDR pc = get_frame_register_unsigned (this_frame, 64);
CORE_ADDR sp = get_frame_register_unsigned (this_frame, 54);
/* Base address of register save area. */
CORE_ADDR base = sp
- + 16 /* Skip ABI_SAVE_AREA. */
- + 128 /* Skip SIGINFO. */
- + 40; /* Skip UCONTEXT. */
+ + 16 /* Skip ABI_SAVE_AREA. */
+ + 128 /* Skip SIGINFO. */
+ + 40; /* Skip UCONTEXT. */
/* Address of saved LR register (R56) which holds previous PC. */
CORE_ADDR prev_pc = base + 56 * 8;
trad_frame_set_reg_addr (this_cache, i, base + i * 8);
trad_frame_set_reg_value (this_cache, 64,
- get_frame_memory_unsigned (this_frame, prev_pc, 8));
+ get_frame_memory_unsigned (this_frame, prev_pc, 8));
/* Save a frame ID. */
trad_frame_set_id (this_cache, frame_id_build (base, func));
SIGTRAMP_FRAME,
8,
{
- { 0x00045fe551483000ULL, -1 }, /* { moveli r10, 139 } */
- { 0x286b180051485000ULL, -1 }, /* { swint1 } */
- { TRAMP_SENTINEL_INSN, -1 }
+ { 0x00045fe551483000ULL, ULONGEST_MAX }, /* { moveli r10, 139 } */
+ { 0x286b180051485000ULL, ULONGEST_MAX }, /* { swint1 } */
+ { TRAMP_SENTINEL_INSN, ULONGEST_MAX }
},
tilegx_linux_sigframe_init
};
void *cb_data,
const struct regcache *regcache)
{
- cb (".reg", TILEGX_LINUX_SIZEOF_GREGSET, &tilegx_linux_regset,
- NULL, cb_data);
+ cb (".reg", TILEGX_LINUX_SIZEOF_GREGSET, TILEGX_LINUX_SIZEOF_GREGSET,
+ &tilegx_linux_regset, NULL, cb_data);
}
/* OS specific initialization of gdbarch. */
{
int arch_size = gdbarch_addr_bit (gdbarch);
- linux_init_abi (info, gdbarch);
+ linux_init_abi (info, gdbarch, 0);
tramp_frame_prepend_unwinder (gdbarch, &tilegx_linux_rt_sigframe);
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
}
-/* Provide a prototype to silence -Wmissing-prototypes. */
-extern initialize_file_ftype _initialize_tilegx_linux_tdep;
-
+void _initialize_tilegx_linux_tdep ();
void
-_initialize_tilegx_linux_tdep (void)
+_initialize_tilegx_linux_tdep ()
{
gdbarch_register_osabi (bfd_arch_tilegx, bfd_mach_tilegx, GDB_OSABI_LINUX,
tilegx_linux_init_abi);