diff options
author | Ricard Wanderlof <ricard@sourceware.org> | 2013-09-06 10:50:10 +0000 |
---|---|---|
committer | Ricard Wanderlof <ricard@sourceware.org> | 2013-09-06 10:50:10 +0000 |
commit | 749c8b38fa890781f09f237e0ac2c4b00b666557 (patch) | |
tree | a43bf731d8ab9608c5306b93444217eade74c7bc /gdb/cris-tdep.c | |
parent | 43df09d9373b3e235948e67093ad93f417e3b02b (diff) | |
download | gdb-749c8b38fa890781f09f237e0ac2c4b00b666557.zip gdb-749c8b38fa890781f09f237e0ac2c4b00b666557.tar.gz gdb-749c8b38fa890781f09f237e0ac2c4b00b666557.tar.bz2 |
Extract Linux-specific portitions of cris-tdep.c to a new file.
This brings in some standard functionality hitherdo missing from
the CRIS/CRISv32 port thanks to the new call to gdbarch_init_osabi,
as well as clearly showing that there is Linux support for this
platform by virtue of the existence of a cris-linux-tdep.c file.
2013-09-06 Ricard Wanderlof <ricardw@axis.com>
* Makefile.in (ALL_TARGET_OBS): Add cris-linux-tdep.o.
* configure.tgt: Add cris-linux-tdep.o and linux-tdep.o to
gdb_target_obs for cris target.
* cris-tdep.c (struct gdbarch_tdep): Move to cris-tdep.h.
(cris_gdbarch_init): Move calls to
set_gdbarch_fetch_tls_load_module_address and
set_solib_svr4_fetch_link_map_offsets to cris-linux-tdep.c.
Add call to gdbarch_init_osabi.
* cris-linux-tdep.c: New file.
* cris-tdep.h: New file.
Diffstat (limited to 'gdb/cris-tdep.c')
-rw-r--r-- | gdb/cris-tdep.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index ef2746d..8ba1677 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -34,6 +34,7 @@ #include "target.h" #include "value.h" #include "opcode/cris.h" +#include "osabi.h" #include "arch-utils.h" #include "regcache.h" #include "gdb_assert.h" @@ -45,6 +46,8 @@ #include "gdb_string.h" #include "dis-asm.h" +#include "cris-tdep.h" + enum cris_num_regs { /* There are no floating point registers. Used in gdbserver low-linux.c. */ @@ -164,14 +167,6 @@ static const char *usr_cmd_cris_mode = cris_mode_normal; /* Whether to make use of Dwarf-2 CFI (default on). */ static int usr_cmd_cris_dwarf2_cfi = 1; -/* CRIS architecture specific information. */ -struct gdbarch_tdep -{ - unsigned int cris_version; - const char *cris_mode; - int cris_dwarf2_cfi; -}; - /* Sigtramp identification code copied from i386-linux-tdep.c. */ #define SIGTRAMP_INSN0 0x9c5f /* movu.w 0xXX, $r9 */ @@ -4137,11 +4132,6 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_single_step_through_delay (gdbarch, crisv32_single_step_through_delay); - /* FIXME: Ricard W/2013-09-03: Linux-specific stuff like this - should really go in (a new) cris-linux-tdep.c. */ - set_gdbarch_fetch_tls_load_module_address (gdbarch, - svr4_fetch_objfile_link_map); - break; default: @@ -4181,9 +4171,9 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) frame_unwind_append_unwinder (gdbarch, &cris_frame_unwind); frame_base_set_default (gdbarch, &cris_frame_base); - set_solib_svr4_fetch_link_map_offsets - (gdbarch, svr4_ilp32_fetch_link_map_offsets); - + /* Hook in ABI-specific overrides, if they have been registered. */ + gdbarch_init_osabi (info, gdbarch); + /* FIXME: cagney/2003-08-27: It should be possible to select a CRIS disassembler, even when there is no BFD. Does something like "gdb; target remote; disassmeble *0x123" work? */ |