/* GNU/Linux on TI C6x target support.
- Copyright (C) 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2011-2020 Free Software Foundation, Inc.
Contributed by Yao Qi <yao@codesourcery.com>
This file is part of GDB.
#include "tic6x-tdep.h"
#include "trad-frame.h"
#include "tramp-frame.h"
-#include "gdb_assert.h"
#include "elf-bfd.h"
#include "elf/tic6x.h"
-
-#include "features/tic6x-c64xp-linux.c"
-#include "features/tic6x-c64x-linux.c"
-#include "features/tic6x-c62x-linux.c"
+#include "gdbarch.h"
/* The offset from rt_sigframe pointer to SP register. */
#define TIC6X_SP_RT_SIGFRAME 8
size_t respectively. */
#define TIC6X_STACK_T_SIZE (3 * 4)
-const gdb_byte tic6x_bkpt_illegal_opcode_be[] = { 0x56, 0x45, 0x43, 0x14 };
-const gdb_byte tic6x_bkpt_illegal_opcode_le[] = { 0x14, 0x43, 0x45, 0x56 };
-
static const gdb_byte tic6x_bkpt_bnop_be[] = { 0x00, 0x00, 0xa1, 0x22 };
static const gdb_byte tic6x_bkpt_bnop_le[] = { 0x22, 0xa1, 0x00, 0x00 };
else if (regnum == TIC6X_B5_REGNUM || regnum == TIC6X_B5_REGNUM + 2
|| regnum == TIC6X_B5_REGNUM + 4)
return 4 * (regnum - TIC6X_B5_REGNUM + 19); /* B5, B7, B9 */
- else if (regnum >= 0 && regnum < TIC6X_A4_REGNUM)
+ else if (regnum < TIC6X_A4_REGNUM)
return 4 * (regnum - 0 + 8); /* A0 - A3 */
else if (regnum >= TIC6X_B0_REGNUM && regnum < TIC6X_B4_REGNUM)
return 4 * (regnum - TIC6X_B0_REGNUM + 15); /* B0 - B3 */
4,
{
{0x000045aa, 0x0fffffff}, /* mvk .S2 139,b0 */
- {0x10000000, -1}, /* swe */
+ {0x10000000, ULONGEST_MAX}, /* swe */
{TRAMP_SENTINEL_INSN}
},
tic6x_linux_rt_sigreturn_init
&tic6x_linux_rt_sigreturn_tramp_frame);
}
-/* Provide a prototype to silence -Wmissing-prototypes. */
-extern initialize_file_ftype _initialize_tic6x_linux_tdep;
-
+void _initialize_tic6x_linux_tdep ();
void
-_initialize_tic6x_linux_tdep (void)
+_initialize_tic6x_linux_tdep ()
{
gdbarch_register_osabi (bfd_arch_tic6x, 0, GDB_OSABI_LINUX,
tic6x_uclinux_init_abi);
-
- initialize_tdesc_tic6x_c64xp_linux ();
- initialize_tdesc_tic6x_c64x_linux ();
- initialize_tdesc_tic6x_c62x_linux ();
}